From 61c74d87b6d455c6abc325ef1ad4d2a8805a7d9d Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Wed, 20 Sep 2023 00:50:55 -0700 Subject: [PATCH 01/33] Added custom multicall and multiprovider classes --- fastlane_bot/config/multicaller.py | 25 +++++++++++++++++++++++++ fastlane_bot/config/multiprovider.py | 19 +++++++++++++++++++ fastlane_bot/data/abi.py | 6 ++++++ 3 files changed, 50 insertions(+) create mode 100644 fastlane_bot/config/multicaller.py create mode 100644 fastlane_bot/config/multiprovider.py diff --git a/fastlane_bot/config/multicaller.py b/fastlane_bot/config/multicaller.py new file mode 100644 index 000000000..3b5a09b72 --- /dev/null +++ b/fastlane_bot/config/multicaller.py @@ -0,0 +1,25 @@ +from web3 import Web3 +from typing import List, Callable, Any + +from fastlane_bot.data.abi import MULTICALL_ABI + + +class MultiCaller: + def __init__(self, provider_url: str, multicall_address: str): + self.w3 = Web3(Web3.HTTPProvider(provider_url)) + self.multicall_address = multicall_address + + def multicall(self, contract_calls: List[Callable], block_identifier: Any = 'latest') -> Any: + encoded_calls = [fn._encode_transaction_data() for fn in contract_calls] + + return self.w3.eth.call( + { + 'to': self.multicall_address, + 'data': self.w3.eth.contract( + abi=MULTICALL_ABI, address=self.multicall_address + ) + .functions.aggregate(encoded_calls) + .buildTransaction()['data'], + }, + block_identifier, + ) \ No newline at end of file diff --git a/fastlane_bot/config/multiprovider.py b/fastlane_bot/config/multiprovider.py new file mode 100644 index 000000000..f8358f38d --- /dev/null +++ b/fastlane_bot/config/multiprovider.py @@ -0,0 +1,19 @@ +from web3 import Web3 +from typing import Dict + +from web3.contract import Contract + + +class MultiProviderContractWrapper: + def __init__(self, abi: Dict, address: str, providers: Dict[str, str]): + self.abi = abi + self.contracts = {} + + for name, url in providers.items(): + w3 = Web3(Web3.HTTPProvider(url)) + self.contracts[name] = w3.eth.contract(address=address, abi=self.abi) + + def __getattr__(self, name: str) -> Contract: + if name in self.contracts: + return self.contracts[name] + raise AttributeError(f"No provider named {name}") diff --git a/fastlane_bot/data/abi.py b/fastlane_bot/data/abi.py index 36624df02..482bdb150 100644 --- a/fastlane_bot/data/abi.py +++ b/fastlane_bot/data/abi.py @@ -146,5 +146,11 @@ """ ) +MULTICALL_ABI = json.loads( + """ + [{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall2.Call[]","name":"calls","type":"tuple[]"}],"name":"aggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes[]","name":"returnData","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall2.Call[]","name":"calls","type":"tuple[]"}],"name":"blockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall2.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockCoinbase","outputs":[{"internalType":"address","name":"coinbase","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockDifficulty","outputs":[{"internalType":"uint256","name":"difficulty","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockGasLimit","outputs":[{"internalType":"uint256","name":"gaslimit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getEthBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall2.Call[]","name":"calls","type":"tuple[]"}],"name":"tryAggregate","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall2.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall2.Call[]","name":"calls","type":"tuple[]"}],"name":"tryBlockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall2.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"nonpayable","type":"function"}] + """ +) + # @formatter:on # fmt: on From 9f83946ef0da993265e5622f1f73a004c7e3c004 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Sun, 24 Sep 2023 04:08:27 -0700 Subject: [PATCH 02/33] bugfix for multicaller class --- fastlane_bot/config/multicaller.py | 66 ++++++++++++++++++++++-------- 1 file changed, 48 insertions(+), 18 deletions(-) diff --git a/fastlane_bot/config/multicaller.py b/fastlane_bot/config/multicaller.py index 3b5a09b72..3d158a19b 100644 --- a/fastlane_bot/config/multicaller.py +++ b/fastlane_bot/config/multicaller.py @@ -1,25 +1,55 @@ -from web3 import Web3 -from typing import List, Callable, Any +from functools import partial +from typing import List, Callable, ContextManager, Any +from fastlane_bot.config.multiprovider import MultiProviderContractWrapper from fastlane_bot.data.abi import MULTICALL_ABI -class MultiCaller: - def __init__(self, provider_url: str, multicall_address: str): - self.w3 = Web3(Web3.HTTPProvider(provider_url)) - self.multicall_address = multicall_address +class ContractMethodWrapper: + __DATE__ = "2022-09-24" + __VERSION__ = "0.0.1" - def multicall(self, contract_calls: List[Callable], block_identifier: Any = 'latest') -> Any: - encoded_calls = [fn._encode_transaction_data() for fn in contract_calls] + def __init__(self, original_method, multicaller): + self.original_method = original_method + self.multicaller = multicaller - return self.w3.eth.call( + def __call__(self, *args, **kwargs): + contract_call = self.original_method(*args, **kwargs) + self.multicaller.add_call(contract_call) + return contract_call + + +class MultiCaller(ContextManager): + __DATE__ = "2022-09-24" + __VERSION__ = "0.0.1" + MULTICALL_CONTRACT_ADDRESS = "0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696" + + def __init__(self, contract: MultiProviderContractWrapper, block_identifier: Any = 'latest'): + self._contract_calls: List[Callable] = [] + self.contract = contract + self.block_identifier = block_identifier + + def __enter__(self) -> 'MultiCaller': + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + if exc_type is None: + self.multicall() + + def add_call(self, fn: Callable, *args, **kwargs) -> None: + self._contract_calls.append(partial(fn, *args, **kwargs)) + + def multicall(self) -> None: + calls_for_aggregate = [ { - 'to': self.multicall_address, - 'data': self.w3.eth.contract( - abi=MULTICALL_ABI, address=self.multicall_address - ) - .functions.aggregate(encoded_calls) - .buildTransaction()['data'], - }, - block_identifier, - ) \ No newline at end of file + 'target': self.contract.address, + 'callData': fn()._encode_transaction_data() + } + for fn in self._contract_calls + ] + w3 = self.contract.web3 + return w3.eth.contract( + abi=MULTICALL_ABI, + address=self.MULTICALL_CONTRACT_ADDRESS + ).functions.aggregate(calls_for_aggregate).call(block_identifier=self.block_identifier) + From 77ab0627b56e041b6c95559860d756d5269f7b47 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Sun, 24 Sep 2023 04:09:52 -0700 Subject: [PATCH 03/33] add tests for custom`MultiCaller` and`MultiProviderContractWrapper` classes --- .../NBTest/NBTest_899_CustomMulticall.ipynb | 343 ++++++++++++++++++ .../NBTest/NBTest_899_CustomMulticall.py | 198 ++++++++++ 2 files changed, 541 insertions(+) create mode 100644 resources/NBTest/NBTest_899_CustomMulticall.ipynb create mode 100644 resources/NBTest/NBTest_899_CustomMulticall.py diff --git a/resources/NBTest/NBTest_899_CustomMulticall.ipynb b/resources/NBTest/NBTest_899_CustomMulticall.ipynb new file mode 100644 index 000000000..eca51fa15 --- /dev/null +++ b/resources/NBTest/NBTest_899_CustomMulticall.ipynb @@ -0,0 +1,343 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "c539b26e", + "metadata": { + "ExecuteTime": { + "start_time": "2023-09-24T11:06:21.220838Z" + }, + "is_executing": true + }, + "outputs": [], + "source": [ + "import json\n", + "\n", + "from fastlane_bot.config.multiprovider import MultiProviderContractWrapper\n", + "from fastlane_bot.data.abi import CARBON_CONTROLLER_ABI\n", + "import os\n", + "from unittest.mock import Mock, patch\n", + "\n", + "from dotenv import load_dotenv\n", + "load_dotenv()\n", + "import time\n", + "from fastlane_bot.config.multicaller import MultiCaller\n", + "from fastlane_bot.config.multicaller import ContractMethodWrapper\n", + "\n", + "\n", + "import pytest\n", + "\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(MultiCaller))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(ContractMethodWrapper))\n", + "\n", + "\n", + "from fastlane_bot.testing import *\n", + "\n", + "#plt.style.use('seaborn-dark')\n", + "plt.rcParams['figure.figsize'] = [12,6]\n", + "from fastlane_bot import __VERSION__\n", + "require(\"3.0\", __VERSION__)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9c8a3b4d", + "metadata": { + "is_executing": true + }, + "outputs": [], + "source": [ + "WEB3_ALCHEMY_PROJECT_ID = os.environ.get(\"WEB3_ALCHEMY_PROJECT_ID\")\n", + "\n", + "# Define ABI and address\n", + "CONTRACT_ABI = CARBON_CONTROLLER_ABI\n", + "CARBON_CONTROLLER_ADDRESS = \"0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1\"\n", + "CONTRACT_ADDRESS = CARBON_CONTROLLER_ADDRESS\n", + "\n", + "# Define providers\n", + "providers = {\n", + " \"mainnet\": f\"https://eth-mainnet.alchemyapi.io/v2/{WEB3_ALCHEMY_PROJECT_ID}\",\n", + " \"tenderly\": \"https://rpc.tenderly.co/fork/5f70ee18-8d2f-40d7-8131-58d0c8ff4736\",\n", + "}\n", + "\n", + "# Mock the Web3 and Contract classes\n", + "class MockWeb3:\n", + " class HTTPProvider:\n", + " pass\n", + "\n", + " class eth:\n", + " @staticmethod\n", + " def contract(address, abi):\n", + " return Mock()\n", + "\n", + "class MockContract:\n", + " pass" + ] + }, + { + "cell_type": "markdown", + "id": "79e31bf936dd50a2", + "metadata": {}, + "source": [ + "## test_multicaller_init" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "49a9b1b66d4195d", + "metadata": { + "is_executing": true + }, + "outputs": [], + "source": [ + "\n", + "original_method = Mock()\n", + "multicaller = Mock()\n", + "\n", + "wrapper = ContractMethodWrapper(original_method, multicaller)\n", + "\n", + "assert wrapper.original_method == original_method\n", + "assert wrapper.multicaller == multicaller" + ] + }, + { + "cell_type": "markdown", + "id": "385b334689e5ef0a", + "metadata": {}, + "source": [ + "## test_contract_method_wrapper_call" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a4016f70a05413bf", + "metadata": { + "is_executing": true + }, + "outputs": [], + "source": [ + "original_method = Mock()\n", + "multicaller = Mock()\n", + "\n", + "wrapper = ContractMethodWrapper(original_method, multicaller)\n", + "\n", + "result = wrapper('arg1', kwarg1='kwarg1')\n", + "\n", + "original_method.assert_called_with('arg1', kwarg1='kwarg1')\n", + "multicaller.add_call.assert_called_with(result)" + ] + }, + { + "cell_type": "markdown", + "id": "6f3d60160db54fbc", + "metadata": {}, + "source": [ + "## test_multi_caller_init" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34fb2250211b133d", + "metadata": { + "is_executing": true + }, + "outputs": [], + "source": [ + "contract = Mock()\n", + "\n", + "multicaller = MultiCaller(contract)\n", + "\n", + "assert multicaller.contract == contract\n", + "assert multicaller.block_identifier == 'latest'\n", + "assert multicaller._contract_calls == []" + ] + }, + { + "cell_type": "markdown", + "id": "fdaae7b9c45b4e66", + "metadata": {}, + "source": [ + "## test_multi_caller_add_call" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e7521dea3c4a1df2", + "metadata": { + "is_executing": true + }, + "outputs": [], + "source": [ + "contract = Mock()\n", + "multicaller = MultiCaller(contract)\n", + "fn = Mock()\n", + "\n", + "multicaller.add_call(fn, 'arg1', kwarg1='kwarg1')\n", + "\n", + "assert len(multicaller._contract_calls) == 1" + ] + }, + { + "cell_type": "markdown", + "id": "6928f414356dfa6a", + "metadata": {}, + "source": [ + "## test_multi_caller_multicall" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "acda89d43cf443d8", + "metadata": { + "is_executing": true + }, + "outputs": [], + "source": [ + "contract = Mock()\n", + "contract.address = \"some_address\"\n", + "fn = Mock()\n", + "fn()._encode_transaction_data.return_value = 'some_data'\n", + "\n", + "with patch('fastlane_bot.data.abi.MULTICALL_ABI', 'MULTICALL_ABI'): # Replace 'your_module' with the actual module name\n", + " multicaller = MultiCaller(contract)\n", + " multicaller._contract_calls = [fn]\n", + "\n", + " with patch.object(multicaller.contract, 'web3') as mock_web3:\n", + " mock_contract = Mock()\n", + " mock_web3.eth.contract.return_value = mock_contract\n", + "\n", + " multicaller.multicall()\n", + "\n", + " mock_contract.functions.aggregate.assert_called()" + ] + }, + { + "cell_type": "markdown", + "id": "c1103373ed034b13", + "metadata": {}, + "source": [ + "## test_multi_caller_context_manager" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "64050694894fae74", + "metadata": { + "is_executing": true + }, + "outputs": [], + "source": [ + "contract = Mock()\n", + "multicaller = MultiCaller(contract)\n", + "\n", + "with patch.object(multicaller, 'multicall') as mock_multicall:\n", + " with multicaller:\n", + " pass\n", + "\n", + " mock_multicall.assert_called_once()" + ] + }, + { + "cell_type": "markdown", + "id": "b6a2c96aabdafde8", + "metadata": {}, + "source": [ + "## test_multiprovider" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cbe1ab01", + "metadata": { + "is_executing": true + }, + "outputs": [], + "source": [ + "# Initialize the Contract wrapper\n", + "contract = MultiProviderContractWrapper(CONTRACT_ABI, CONTRACT_ADDRESS, providers)\n", + "\n", + "# Execute contract calls\n", + "mainnet_pairs = contract.mainnet.functions.pairs().call()\n", + "tenderly_pairs = contract.tenderly.functions.pairs().call()\n", + "\n", + "assert len(mainnet_pairs) > 0\n", + "assert len(tenderly_pairs) > 0" + ] + }, + { + "cell_type": "markdown", + "id": "0d05e8f8", + "metadata": {}, + "source": [ + "## test_multicaller" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e2347c4c", + "metadata": { + "is_executing": true + }, + "outputs": [], + "source": [ + "multicaller = MultiCaller(contract=contract.mainnet)\n", + "\n", + "# Time how long it takes to get all fees using multicall\n", + "start_time = time.time()\n", + "\n", + "with multicaller as mc:\n", + " for pair in mainnet_pairs:\n", + " mc.add_call(contract.mainnet.functions.pairTradingFeePPM, pair[0], pair[1])\n", + "\n", + "pair_fees_with_multicall = multicaller.multicall()\n", + "\n", + "time_with_multicall = time.time() - start_time\n", + "\n", + "# Time how long it takes to get all fees without using multicall\n", + "start_time = time.time()\n", + "\n", + "pair_fees_without_multicall = [contract.mainnet.functions.pairTradingFeePPM(pair[0], pair[1]).call() for pair in mainnet_pairs]\n", + "\n", + "time_without_multicall = time.time() - start_time\n", + "\n", + "assert len(pair_fees_with_multicall) == len(mainnet_pairs)\n", + "assert len(pair_fees_with_multicall) == len(mainnet_pairs)\n", + "assert time_with_multicall < (time_without_multicall / 10)" + ] + } + ], + "metadata": { + "jupytext": { + "formats": "ipynb,py:light" + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "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.17" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/NBTest/NBTest_899_CustomMulticall.py b/resources/NBTest/NBTest_899_CustomMulticall.py new file mode 100644 index 000000000..7990dcb24 --- /dev/null +++ b/resources/NBTest/NBTest_899_CustomMulticall.py @@ -0,0 +1,198 @@ +# --- +# jupyter: +# jupytext: +# formats: ipynb,py:light +# text_representation: +# extension: .py +# format_name: light +# format_version: '1.5' +# jupytext_version: 1.15.2 +# kernelspec: +# display_name: Python 3 (ipykernel) +# language: python +# name: python3 +# --- + +# + is_executing=true +import json + +from fastlane_bot.config.multiprovider import MultiProviderContractWrapper +from fastlane_bot.data.abi import CARBON_CONTROLLER_ABI +import os +from unittest.mock import Mock, patch + +from dotenv import load_dotenv +load_dotenv() +import time +from fastlane_bot.config.multicaller import MultiCaller +from fastlane_bot.config.multicaller import ContractMethodWrapper + + +import pytest + +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MultiCaller)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ContractMethodWrapper)) + + +from fastlane_bot.testing import * + +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + +# + is_executing=true +WEB3_ALCHEMY_PROJECT_ID = os.environ.get("WEB3_ALCHEMY_PROJECT_ID") + +# Define ABI and address +CONTRACT_ABI = CARBON_CONTROLLER_ABI +CARBON_CONTROLLER_ADDRESS = "0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1" +CONTRACT_ADDRESS = CARBON_CONTROLLER_ADDRESS + +# Define providers +providers = { + "mainnet": f"https://eth-mainnet.alchemyapi.io/v2/{WEB3_ALCHEMY_PROJECT_ID}", + "tenderly": "https://rpc.tenderly.co/fork/5f70ee18-8d2f-40d7-8131-58d0c8ff4736", +} + +# Mock the Web3 and Contract classes +class MockWeb3: + class HTTPProvider: + pass + + class eth: + @staticmethod + def contract(address, abi): + return Mock() + +class MockContract: + pass + + +# - + +# ## test_multicaller_init + +# + is_executing=true + +original_method = Mock() +multicaller = Mock() + +wrapper = ContractMethodWrapper(original_method, multicaller) + +assert wrapper.original_method == original_method +assert wrapper.multicaller == multicaller +# - + +# ## test_contract_method_wrapper_call + +# + is_executing=true +original_method = Mock() +multicaller = Mock() + +wrapper = ContractMethodWrapper(original_method, multicaller) + +result = wrapper('arg1', kwarg1='kwarg1') + +original_method.assert_called_with('arg1', kwarg1='kwarg1') +multicaller.add_call.assert_called_with(result) +# - + +# ## test_multi_caller_init + +# + is_executing=true +contract = Mock() + +multicaller = MultiCaller(contract) + +assert multicaller.contract == contract +assert multicaller.block_identifier == 'latest' +assert multicaller._contract_calls == [] +# - + +# ## test_multi_caller_add_call + +# + is_executing=true +contract = Mock() +multicaller = MultiCaller(contract) +fn = Mock() + +multicaller.add_call(fn, 'arg1', kwarg1='kwarg1') + +assert len(multicaller._contract_calls) == 1 +# - + +# ## test_multi_caller_multicall + +# + is_executing=true +contract = Mock() +contract.address = "some_address" +fn = Mock() +fn()._encode_transaction_data.return_value = 'some_data' + +with patch('fastlane_bot.data.abi.MULTICALL_ABI', 'MULTICALL_ABI'): # Replace 'your_module' with the actual module name + multicaller = MultiCaller(contract) + multicaller._contract_calls = [fn] + + with patch.object(multicaller.contract, 'web3') as mock_web3: + mock_contract = Mock() + mock_web3.eth.contract.return_value = mock_contract + + multicaller.multicall() + + mock_contract.functions.aggregate.assert_called() +# - + +# ## test_multi_caller_context_manager + +# + is_executing=true +contract = Mock() +multicaller = MultiCaller(contract) + +with patch.object(multicaller, 'multicall') as mock_multicall: + with multicaller: + pass + + mock_multicall.assert_called_once() +# - + +# ## test_multiprovider + +# + is_executing=true +# Initialize the Contract wrapper +contract = MultiProviderContractWrapper(CONTRACT_ABI, CONTRACT_ADDRESS, providers) + +# Execute contract calls +mainnet_pairs = contract.mainnet.functions.pairs().call() +tenderly_pairs = contract.tenderly.functions.pairs().call() + +assert len(mainnet_pairs) > 0 +assert len(tenderly_pairs) > 0 +# - + +# ## test_multicaller + +# + is_executing=true +multicaller = MultiCaller(contract=contract.mainnet) + +# Time how long it takes to get all fees using multicall +start_time = time.time() + +with multicaller as mc: + for pair in mainnet_pairs: + mc.add_call(contract.mainnet.functions.pairTradingFeePPM, pair[0], pair[1]) + +pair_fees_with_multicall = multicaller.multicall() + +time_with_multicall = time.time() - start_time + +# Time how long it takes to get all fees without using multicall +start_time = time.time() + +pair_fees_without_multicall = [contract.mainnet.functions.pairTradingFeePPM(pair[0], pair[1]).call() for pair in mainnet_pairs] + +time_without_multicall = time.time() - start_time + +assert len(pair_fees_with_multicall) == len(mainnet_pairs) +assert len(pair_fees_with_multicall) == len(mainnet_pairs) +assert time_with_multicall < (time_without_multicall / 10) From a7997c0593b031b2f17e23328ec5cae8e7730cfa Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Sun, 24 Sep 2023 05:35:49 -0700 Subject: [PATCH 04/33] partially complete integration. still bugs in decoding multicall output for tuples --- fastlane_bot/config/multicaller.py | 42 ++- fastlane_bot/events/managers/base.py | 65 +++-- fastlane_bot/events/managers/contracts.py | 10 +- fastlane_bot/events/managers/manager.py | 36 +-- fastlane_bot/events/utils.py | 47 ++-- main.py | 306 +++++++++++----------- 6 files changed, 284 insertions(+), 222 deletions(-) diff --git a/fastlane_bot/config/multicaller.py b/fastlane_bot/config/multicaller.py index 3d158a19b..e3badec0f 100644 --- a/fastlane_bot/config/multicaller.py +++ b/fastlane_bot/config/multicaller.py @@ -1,9 +1,19 @@ from functools import partial from typing import List, Callable, ContextManager, Any +import brownie +import web3 +from eth_abi import decode_abi + from fastlane_bot.config.multiprovider import MultiProviderContractWrapper from fastlane_bot.data.abi import MULTICALL_ABI +def get_output_types_from_abi(abi, function_name): + for item in abi: + if item['type'] == 'function' and item['name'] == function_name: + return [output['type'] for output in item['outputs']] + raise ValueError(f"No function named {function_name} found in ABI.") + class ContractMethodWrapper: __DATE__ = "2022-09-24" @@ -24,7 +34,7 @@ class MultiCaller(ContextManager): __VERSION__ = "0.0.1" MULTICALL_CONTRACT_ADDRESS = "0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696" - def __init__(self, contract: MultiProviderContractWrapper, block_identifier: Any = 'latest'): + def __init__(self, contract: MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract, block_identifier: Any = 'latest'): self._contract_calls: List[Callable] = [] self.contract = contract self.block_identifier = block_identifier @@ -39,17 +49,33 @@ def __exit__(self, exc_type, exc_val, exc_tb): def add_call(self, fn: Callable, *args, **kwargs) -> None: self._contract_calls.append(partial(fn, *args, **kwargs)) - def multicall(self) -> None: - calls_for_aggregate = [ - { + def multicall(self) -> List[Any]: + calls_for_aggregate = [] + output_types_list = [] + + for fn in self._contract_calls: + fn_name = str(fn).split('functools.partial(')[0] + print(f"fn_name: {fn_name}") + calls_for_aggregate.append({ 'target': self.contract.address, 'callData': fn()._encode_transaction_data() - } - for fn in self._contract_calls - ] + }) + output_types = get_output_types_from_abi(self.contract.abi, fn_name) + output_types_list.append(output_types) + w3 = self.contract.web3 - return w3.eth.contract( + encoded_data = w3.eth.contract( abi=MULTICALL_ABI, address=self.MULTICALL_CONTRACT_ADDRESS ).functions.aggregate(calls_for_aggregate).call(block_identifier=self.block_identifier) + if not isinstance(encoded_data, list): + raise TypeError(f"Expected encoded_data to be a list, got {type(encoded_data)} instead.") + + encoded_data = encoded_data[1] + decoded_data_list = [] + for output_types, encoded_output in zip(output_types_list, encoded_data): + decoded_data = decode_abi(output_types, encoded_output) + decoded_data_list.append(decoded_data) + + return decoded_data_list diff --git a/fastlane_bot/events/managers/base.py b/fastlane_bot/events/managers/base.py index ee754aa12..e898b23fe 100644 --- a/fastlane_bot/events/managers/base.py +++ b/fastlane_bot/events/managers/base.py @@ -15,6 +15,7 @@ from brownie.network.contract import Contract as BrownieContract from fastlane_bot import Config +from fastlane_bot.config.multicaller import MultiCaller from fastlane_bot.events.exchanges import exchange_factory from fastlane_bot.events.exchanges.base import Exchange from fastlane_bot.events.pools import pool_factory @@ -252,20 +253,20 @@ def get_tkn_info(self, address: str) -> Tuple[Optional[str], Optional[int]]: ) return tkns or (None, None) - def multicall(self, address: str): - """ - - Parameters - ---------- - address : str - The address of the contract to call. - """ - if self.replay_from_block: - return brownie.multicall( - address=address, block_identifier=self.replay_from_block - ) - else: - return brownie.multicall(address) + # def multicall(self, address: str): + # """ + # + # Parameters + # ---------- + # address : str + # The address of the contract to call. + # """ + # if self.replay_from_block: + # return brownie.multicall( + # address=address, block_identifier=self.replay_from_block + # ) + # else: + # return brownie.multicall(address) def get_rows_to_update(self, update_from_contract_block: int) -> List[int]: """ @@ -393,6 +394,7 @@ def get_carbon_pairs( @staticmethod def get_carbon_pairs_by_contract( carbon_controller: Contract, + replay_from_block: int or str = None ) -> List[Tuple[str, str]]: """ Get the carbon pairs by contract. @@ -401,6 +403,8 @@ def get_carbon_pairs_by_contract( ---------- carbon_controller : Contract The CarbonController contract object. + replay_from_block : int or str, optional + The block number to replay from, by default 'latest' Returns ------- @@ -408,7 +412,7 @@ def get_carbon_pairs_by_contract( The carbon pairs. """ - return [(second, first) for first, second in carbon_controller.pairs()] + return [(second, first) for first, second in carbon_controller.functions.pairs().call(block_identifier=replay_from_block or "latest")] def get_carbon_pairs_by_state(self) -> List[Tuple[str, str]]: """ @@ -476,23 +480,26 @@ def get_strats_by_contract( The strategies. """ - strategies_by_pair = [] + multicaller = MultiCaller(contract=carbon_controller, block_identifier=self.replay_from_block or "latest") - with self.multicall( - address=self.cfg.MULTICALL_CONTRACT_ADDRESS, - ): + with multicaller as mc: for pair in pairs: try: - # Fetch strategies for each pair from the CarbonController contract object - strategies_by_pair.append(carbon_controller.strategiesByPair(*pair)) + # Loading the strategies for each pair without executing the calls yet + mc.add_call(carbon_controller.functions.strategiesByPair, pair[0], pair[1], pair[2], pair[3]) except ValueError: print(f"Error fetching strategiesByPair {pair}") + # Fetch strategies for each pair from the CarbonController contract object + strategies_by_pair = mc.multicall() + self.carbon_inititalized = True # Log that Carbon is initialized self.cfg.logger.info(f"Carbon is initialized {self.carbon_inititalized}") - + self.cfg.logger.info(f"Retrieved {len(strategies_by_pair)} carbon strategies") + self.cfg.logger.info(f"Example strat {strategies_by_pair[0]}") + # return strategies_by_pair return [s for strat in strategies_by_pair if strat for s in strat if s] def get_strats_by_state(self, pairs: List[List[Any]]) -> List[List[int]]: @@ -594,13 +601,13 @@ def get_fees_by_pair( The fees by pair. """ - with self.multicall(address=self.cfg.MULTICALL_CONTRACT_ADDRESS): - # Fetch strategies for each pair from the CarbonController contract object - fees_by_pair = [ - carbon_controller.pairTradingFeePPM(pair[0], pair[1]) - for pair in all_pairs - ] - return fees_by_pair + multicaller = MultiCaller(contract=carbon_controller, block_identifier=self.replay_from_block or "latest") + + with multicaller as mc: + for pair in all_pairs: + mc.add_call(carbon_controller.functions.pairTradingFeePPM, pair[0], pair[1]) + + return multicaller.multicall() def get_tkn_symbol_and_decimals( self, web3: Web3, erc20_contracts: Dict[str, Contract], cfg: Config, addr: str diff --git a/fastlane_bot/events/managers/contracts.py b/fastlane_bot/events/managers/contracts.py index 63044e375..075ba7d55 100644 --- a/fastlane_bot/events/managers/contracts.py +++ b/fastlane_bot/events/managers/contracts.py @@ -48,10 +48,9 @@ def init_exchange_contracts(self): if exchange_name == "bancor_v3": self.pool_contracts[exchange_name][ self.cfg.BANCOR_V3_NETWORK_INFO_ADDRESS - ] = brownie.Contract.from_abi( + ] = self.web3.eth.contract( address=self.cfg.BANCOR_V3_NETWORK_INFO_ADDRESS, abi=BANCOR_V3_NETWORK_INFO_ABI, - name="BancorNetwork", ) elif exchange_name == "bancor_pol": self.pool_contracts[exchange_name][ @@ -60,6 +59,13 @@ def init_exchange_contracts(self): address=self.cfg.BANCOR_POL_ADDRESS, abi=BANCOR_POL_ABI, ) + elif exchange_name == 'carbon_v1': + self.pool_contracts[exchange_name][ + self.cfg.CARBON_CONTROLLER_ADDRESS + ] = self.web3.eth.contract( + address=self.cfg.CARBON_CONTROLLER_ADDRESS, + abi=self.exchanges[exchange_name].get_abi(), + ) @staticmethod def get_or_create_token_contracts( diff --git a/fastlane_bot/events/managers/manager.py b/fastlane_bot/events/managers/manager.py index 78098e64b..ce9d401ee 100644 --- a/fastlane_bot/events/managers/manager.py +++ b/fastlane_bot/events/managers/manager.py @@ -9,9 +9,12 @@ import time from typing import Dict, Any, Optional +import brownie +import web3 from web3 import Web3 from web3.contract import Contract +from fastlane_bot.config.multiprovider import MultiProviderContractWrapper from fastlane_bot.data.abi import ERC20_ABI from fastlane_bot.events.managers.contracts import ContractsManager from fastlane_bot.events.managers.events import EventManager @@ -92,7 +95,7 @@ def handle_pair_created(self, event: Dict[str, Any]): self.fee_pairs.update(fee_pairs) def update_from_pool_info( - self, pool_info: Optional[Dict[str, Any]] = None, current_block: int = None + self, pool_info: Optional[Dict[str, Any]] = None, current_block: int = None, multicall_contract: MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract = None ) -> Dict[str, Any]: """ Update the pool info. @@ -103,22 +106,19 @@ def update_from_pool_info( The pool info, by default None. current_block : int, optional The current block, by default None. + multicall_contract : MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract, optional + The multicall contract, by default None. """ pool_info["last_updated_block"] = current_block - contract = ( - self.pool_contracts[pool_info["exchange_name"]].get( - pool_info["address"], - self.web3.eth.contract( - address=pool_info["address"], - abi=self.exchanges[pool_info["exchange_name"]].get_abi(), - ), - ) - if pool_info["exchange_name"] != "bancor_v3" - else self.pool_contracts[pool_info["exchange_name"]].get( - self.cfg.BANCOR_V3_NETWORK_INFO_ADDRESS - ) + contract = multicall_contract or self.pool_contracts[pool_info["exchange_name"]].get( + pool_info["address"], + self.web3.eth.contract( + address=pool_info["address"], + abi=self.exchanges[pool_info["exchange_name"]].get_abi(), + ), ) + pool = self.get_or_init_pool(pool_info) params = pool.update_from_contract( contract, self.tenderly_fork_id, self.w3_tenderly, self.web3 @@ -233,8 +233,8 @@ def update( token_address: bool = False, pool_info: Dict[str, Any] = None, contract: Contract = None, - limiter: bool = True, block_number: int = None, + multicall_contract: MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract = None, ) -> None: """ Update the state. @@ -251,10 +251,10 @@ def update( The pool info, by default None. contract : Contract, optional The contract, by default None. - limiter : bool, optional - Whether to use the rate limiter, by default True. block_number : int, optional The block number, by default None. + multicall_contract : MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract, optional + The multicall contract, by default None. Raises @@ -264,6 +264,8 @@ def update( If no event or pool info is provided. If the pool info is invalid. """ + limiter = bool(multicall_contract) + while True: if limiter: rate_limiter = 0.1 + 0.9 * random.random() @@ -284,7 +286,7 @@ def update( ) elif pool_info: self.update_from_pool_info( - pool_info=pool_info, current_block=block_number + pool_info=pool_info, current_block=block_number, multicall_contract=multicall_contract ) else: self.cfg.logger.debug( diff --git a/fastlane_bot/events/utils.py b/fastlane_bot/events/utils.py index 5f736e09f..59afa43d8 100644 --- a/fastlane_bot/events/utils.py +++ b/fastlane_bot/events/utils.py @@ -18,6 +18,7 @@ import brownie import pandas as pd import requests +import web3 from hexbytes import HexBytes from joblib import Parallel, delayed from web3 import Web3 @@ -25,6 +26,7 @@ from fastlane_bot import Config from fastlane_bot.bot import CarbonBot +from fastlane_bot.config.multiprovider import MultiProviderContractWrapper from fastlane_bot.events.interface import QueryInterface from fastlane_bot.events.managers.manager import Manager @@ -664,7 +666,7 @@ def update_pools_from_contracts( mgr: Any, n_jobs: int, rows_to_update: List[int], - not_multicall: bool = True, + multicall_contract: MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract = None, token_address: bool = False, current_block: int = None, ) -> None: @@ -679,33 +681,33 @@ def update_pools_from_contracts( The number of jobs to run in parallel. rows_to_update : List[int] A list of rows to update. - not_multicall : bool, optional - Whether the pools are not Bancor v3 pools, by default True + multicall_contract : MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract + The multicall contract. token_address : bool, optional Whether to update the token address, by default False current_block : int, optional The current block number, by default None """ - if not_multicall: + if multicall_contract: + for idx, pool in enumerate(rows_to_update): + mgr.update( + pool_info=mgr.pool_data[idx], + block_number=current_block, + token_address=token_address, + multicall_contract=multicall_contract, + ) + else: Parallel(n_jobs=n_jobs, backend="threading")( delayed(mgr.update)( pool_info=mgr.pool_data[idx], - limiter=not_multicall, block_number=current_block, token_address=token_address, + multicall_contract=multicall_contract, ) for idx in rows_to_update ) - else: - with mgr.multicall(address=mgr.cfg.MULTICALL_CONTRACT_ADDRESS): - for idx in rows_to_update: - mgr.update( - pool_info=mgr.pool_data[idx], - limiter=not_multicall, - block_number=current_block, - token_address=token_address, - ) + def get_cached_events(mgr: Any, logging_path: str) -> List[Any]: @@ -975,12 +977,27 @@ def multicall_every_iteration( ] for idx, exchange in enumerate(multicallable_exchanges): + if exchange == "bancor_v3": + multicall_contract = mgr.pool_contracts[exchange][ + mgr.cfg.BANCOR_V3_NETWORK_INFO_ADDRESS + ] + elif exchange == "bancor_pol": + multicall_contract = mgr.pool_contracts[exchange][ + mgr.cfg.BANCOR_POL_ADDRESS + ] + elif exchange == 'carbon_v1': + multicall_contract = mgr.pool_contracts[exchange][ + mgr.cfg.CARBON_CONTROLLER_ADDRESS + ] + else: + raise ValueError(f"Exchange {exchange} not supported for multicall. Add contract to [managers.contract.init_exchange_contracts]") + update_pools_from_contracts( n_jobs=n_jobs, current_block=current_block, mgr=mgr, rows_to_update=multicallable_pool_rows[idx], - not_multicall=False, + multicall_contract=multicall_contract, ) diff --git a/main.py b/main.py index 5f29ba401..09d2055bf 100644 --- a/main.py +++ b/main.py @@ -462,170 +462,174 @@ def run( mainnet_uri = mgr.cfg.w3.provider.endpoint_uri forks_to_cleanup = [] while True: - try: - - # Save initial state of pool data to assert whether it has changed - initial_state = mgr.pool_data.copy() - - # Get current block number, then adjust to the block number reorg_delay blocks ago to avoid reorgs - start_block, replay_from_block = get_start_block( - alchemy_max_block_fetch, last_block, mgr, reorg_delay, replay_from_block - ) + # try: - # Get all events from the last block to the current block - current_block = get_current_block(last_block, mgr, reorg_delay, replay_from_block, tenderly_fork_id) + # Save initial state of pool data to assert whether it has changed + initial_state = mgr.pool_data.copy() - # Log the current start, end and last block - mgr.cfg.logger.info( - f"Fetching events from {start_block} to {current_block}... {last_block}" - ) + # Get current block number, then adjust to the block number reorg_delay blocks ago to avoid reorgs + start_block, replay_from_block = get_start_block( + alchemy_max_block_fetch, last_block, mgr, reorg_delay, replay_from_block + ) - # Set the network connection to Mainnet if replaying from a block - mgr = set_network_to_mainnet_if_replay( - last_block, - loop_idx, - mainnet_uri, - mgr, - replay_from_block, - use_cached_events, - ) + # Get all events from the last block to the current block + current_block = get_current_block(last_block, mgr, reorg_delay, replay_from_block, tenderly_fork_id) - # Get the events - latest_events = ( - get_cached_events(mgr, logging_path) - if use_cached_events - else get_latest_events( - current_block, - mgr, - n_jobs, - start_block, - cache_latest_only, - logging_path, - ) - ) + # Log the current start, end and last block + mgr.cfg.logger.info( + f"Fetching events from {start_block} to {current_block}... {last_block}" + ) - if mgr.cfg.BANCOR_POL_NAME in mgr.exchanges: - update_pools_from_contracts( - mgr, - n_jobs=n_jobs, - rows_to_update=[ - i - for i, pool_info in enumerate(mgr.pool_data) - if pool_info["exchange_name"] == mgr.cfg.BANCOR_POL_NAME - ], - current_block=current_block, - token_address=True, - ) - - # Update the pools from the latest events - update_pools_from_events(n_jobs, mgr, latest_events) - - # Set the network connection to Tenderly if replaying from a block - mgr, tenderly_uri, forked_from_block = set_network_to_tenderly_if_replay( - last_block=last_block, - loop_idx=loop_idx, - mgr=mgr, - replay_from_block=replay_from_block, - tenderly_uri=tenderly_uri, - use_cached_events=use_cached_events, - tenderly_fork_id=tenderly_fork_id, + # Set the network connection to Mainnet if replaying from a block + mgr = set_network_to_mainnet_if_replay( + last_block, + loop_idx, + mainnet_uri, + mgr, + replay_from_block, + use_cached_events, + ) + + # Get the events + latest_events = ( + get_cached_events(mgr, logging_path) + if use_cached_events + else get_latest_events( + current_block, + mgr, + n_jobs, + start_block, + cache_latest_only, + logging_path, ) + ) - # Handle the initial iteration (backdate pools, update pools from contracts, etc.) - handle_initial_iteration( - backdate_pools=backdate_pools, - current_block=current_block, - last_block=last_block, - mgr=mgr, + if mgr.cfg.BANCOR_POL_NAME in mgr.exchanges: + pol_contract = mgr.pool_contracts['bancor_pol'][ + mgr.cfg.BANCOR_POL_ADDRESS + ] + update_pools_from_contracts( + mgr, n_jobs=n_jobs, - start_block=start_block + rows_to_update=[ + i + for i, pool_info in enumerate(mgr.pool_data) + if pool_info["exchange_name"] == mgr.cfg.BANCOR_POL_NAME + ], + current_block=current_block, + token_address=True, + multicall_contract=pol_contract ) - # Run multicall every iteration - multicall_every_iteration(current_block=current_block, mgr=mgr, n_jobs=n_jobs) - - # Update the last block number - last_block = current_block - - # Write the pool data to disk - write_pool_data_to_disk(cache_latest_only=cache_latest_only, logging_path=logging_path, mgr=mgr, current_block=current_block) - - # Handle/remove duplicates in the pool data - handle_duplicates(mgr) - - # Delete the bot (if it exists) to avoid memory leaks - del bot - - # Re-initialize the bot - bot = init_bot(mgr) - - # Verify that the state has changed - verify_state_changed(bot=bot, initial_state=initial_state, mgr=mgr) - - # Verify that the minimum profit in BNT is respected - verify_min_bnt_is_respected(bot=bot, mgr=mgr) - - # Handle subsequent iterations - handle_subsequent_iterations( - arb_mode=arb_mode, - bot=bot, - flashloan_tokens=flashloan_tokens, - polling_interval=polling_interval, - randomizer=randomizer, - run_data_validator=run_data_validator, - target_tokens=target_tokens, - loop_idx=loop_idx, - logging_path=logging_path, - replay_from_block=replay_from_block, - tenderly_uri=tenderly_uri, - forks_to_cleanup=forks_to_cleanup, - mgr=mgr, - forked_from_block=forked_from_block, - ) + # Update the pools from the latest events + update_pools_from_events(n_jobs, mgr, latest_events) + + # Set the network connection to Tenderly if replaying from a block + mgr, tenderly_uri, forked_from_block = set_network_to_tenderly_if_replay( + last_block=last_block, + loop_idx=loop_idx, + mgr=mgr, + replay_from_block=replay_from_block, + tenderly_uri=tenderly_uri, + use_cached_events=use_cached_events, + tenderly_fork_id=tenderly_fork_id, + ) + + # Handle the initial iteration (backdate pools, update pools from contracts, etc.) + handle_initial_iteration( + backdate_pools=backdate_pools, + current_block=current_block, + last_block=last_block, + mgr=mgr, + n_jobs=n_jobs, + start_block=start_block + ) + + # Run multicall every iteration + multicall_every_iteration(current_block=current_block, mgr=mgr, n_jobs=n_jobs) + + # Update the last block number + last_block = current_block + + # Write the pool data to disk + write_pool_data_to_disk(cache_latest_only=cache_latest_only, logging_path=logging_path, mgr=mgr, current_block=current_block) + + # Handle/remove duplicates in the pool data + handle_duplicates(mgr) + + # Delete the bot (if it exists) to avoid memory leaks + del bot + + # Re-initialize the bot + bot = init_bot(mgr) + + # Verify that the state has changed + verify_state_changed(bot=bot, initial_state=initial_state, mgr=mgr) + + # Verify that the minimum profit in BNT is respected + verify_min_bnt_is_respected(bot=bot, mgr=mgr) + + # Handle subsequent iterations + handle_subsequent_iterations( + arb_mode=arb_mode, + bot=bot, + flashloan_tokens=flashloan_tokens, + polling_interval=polling_interval, + randomizer=randomizer, + run_data_validator=run_data_validator, + target_tokens=target_tokens, + loop_idx=loop_idx, + logging_path=logging_path, + replay_from_block=replay_from_block, + tenderly_uri=tenderly_uri, + forks_to_cleanup=forks_to_cleanup, + mgr=mgr, + forked_from_block=forked_from_block, + ) + + # Increment the loop index + loop_idx += 1 - # Increment the loop index - loop_idx += 1 - - # Sleep for the polling interval - if not replay_from_block: - time.sleep(polling_interval) - - # Check if timeout has been hit, and if so, break the loop for tests - if timeout is not None and time.time() - start_timeout > timeout: - mgr.cfg.logger.info("Timeout hit... stopping bot") - break - - # Delete all Tenderly forks except the most recent one - if replay_from_block and not tenderly_fork_id: - break - - if loop_idx == 1: - mgr.cfg.logger.info( - """ - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - - Finished first iteration of data sync. Now starting main loop arbitrage search. - - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - """ - ) - - if tenderly_fork_id: - w3 = Web3(HTTPProvider(tenderly_uri)) - - # Increase time and blocks - params = [w3.toHex(increment_time)] # number of seconds - w3.provider.make_request(method="evm_increaseTime", params=params) - - params = [w3.toHex(increment_blocks)] # number of blocks - w3.provider.make_request(method="evm_increaseBlocks", params=params) - - except Exception as e: - mgr.cfg.logger.error(f"Error in main loop: {e}") + # Sleep for the polling interval + if not replay_from_block: time.sleep(polling_interval) + # Check if timeout has been hit, and if so, break the loop for tests + if timeout is not None and time.time() - start_timeout > timeout: + mgr.cfg.logger.info("Timeout hit... stopping bot") + break + + # Delete all Tenderly forks except the most recent one + if replay_from_block and not tenderly_fork_id: + break + + if loop_idx == 1: + mgr.cfg.logger.info( + """ + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + Finished first iteration of data sync. Now starting main loop arbitrage search. + + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + """ + ) + + if tenderly_fork_id: + w3 = Web3(HTTPProvider(tenderly_uri)) + + # Increase time and blocks + params = [w3.toHex(increment_time)] # number of seconds + w3.provider.make_request(method="evm_increaseTime", params=params) + + params = [w3.toHex(increment_blocks)] # number of blocks + w3.provider.make_request(method="evm_increaseBlocks", params=params) + + # except Exception as e: + # mgr.cfg.logger.error(f"Error in main loop: {e}") + # time.sleep(polling_interval) + if __name__ == "__main__": main() From f8c1d542fd47f6c2e01aec964671f6c62e5c10d5 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Tue, 26 Sep 2023 03:54:05 -0700 Subject: [PATCH 05/33] update the multicall ABI --- fastlane_bot/data/abi.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane_bot/data/abi.py b/fastlane_bot/data/abi.py index b6bcddb9b..3e165fbdc 100644 --- a/fastlane_bot/data/abi.py +++ b/fastlane_bot/data/abi.py @@ -154,7 +154,7 @@ MULTICALL_ABI = json.loads( """ - [{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall2.Call[]","name":"calls","type":"tuple[]"}],"name":"aggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes[]","name":"returnData","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall2.Call[]","name":"calls","type":"tuple[]"}],"name":"blockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall2.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockCoinbase","outputs":[{"internalType":"address","name":"coinbase","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockDifficulty","outputs":[{"internalType":"uint256","name":"difficulty","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockGasLimit","outputs":[{"internalType":"uint256","name":"gaslimit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getEthBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall2.Call[]","name":"calls","type":"tuple[]"}],"name":"tryAggregate","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall2.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall2.Call[]","name":"calls","type":"tuple[]"}],"name":"tryBlockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall2.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"nonpayable","type":"function"}] + [{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall2.Call[]","name":"calls","type":"tuple[]"}],"name":"aggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes[]","name":"returnData","type":"bytes[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall2.Call[]","name":"calls","type":"tuple[]"}],"name":"blockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall2.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockCoinbase","outputs":[{"internalType":"address","name":"coinbase","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockDifficulty","outputs":[{"internalType":"uint256","name":"difficulty","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockGasLimit","outputs":[{"internalType":"uint256","name":"gaslimit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getEthBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall2.Call[]","name":"calls","type":"tuple[]"}],"name":"tryAggregate","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall2.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall2.Call[]","name":"calls","type":"tuple[]"}],"name":"tryBlockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall2.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"view","type":"function"}] """ ) From 5a7c00a84cc45ef053e804f4a2b8115c169fcdca Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Tue, 26 Sep 2023 03:54:38 -0700 Subject: [PATCH 06/33] fixes the encoding/decoding bug when using multicall with web3 --- fastlane_bot/config/multicaller.py | 107 +++++++++++++++++++++++++++-- 1 file changed, 103 insertions(+), 4 deletions(-) diff --git a/fastlane_bot/config/multicaller.py b/fastlane_bot/config/multicaller.py index e3badec0f..4c30b8483 100644 --- a/fastlane_bot/config/multicaller.py +++ b/fastlane_bot/config/multicaller.py @@ -1,5 +1,5 @@ from functools import partial -from typing import List, Callable, ContextManager, Any +from typing import List, Callable, ContextManager, Any, Dict import brownie import web3 @@ -8,12 +8,59 @@ from fastlane_bot.config.multiprovider import MultiProviderContractWrapper from fastlane_bot.data.abi import MULTICALL_ABI +def cast(typ, val): + """Cast a value to a type. + + This returns the value unchanged. To the type checker this + signals that the return value has the designated type, but at + runtime we intentionally don't check anything (we want this + to be as fast as possible). + """ + return val + +def collapse_if_tuple(abi: Dict[str, Any]) -> str: + """ + Converts a tuple from a dict to a parenthesized list of its types. + + >>> from eth_utils.abi import collapse_if_tuple + >>> collapse_if_tuple( + ... { + ... 'components': [ + ... {'name': 'anAddress', 'type': 'address'}, + ... {'name': 'anInt', 'type': 'uint256'}, + ... {'name': 'someBytes', 'type': 'bytes'}, + ... ], + ... 'type': 'tuple', + ... } + ... ) + '(address,uint256,bytes)' + """ + typ = abi["type"] + if not isinstance(typ, str): + raise TypeError( + "The 'type' must be a string, but got %r of type %s" % (typ, type(typ)) + ) + elif not typ.startswith("tuple"): + return typ + + delimited = ",".join(collapse_if_tuple(c) for c in abi["components"]) + # Whatever comes after "tuple" is the array dims. The ABI spec states that + # this will have the form "", "[]", or "[k]". + array_dim = typ[5:] + collapsed = "({}){}".format(delimited, array_dim) + + return collapsed + def get_output_types_from_abi(abi, function_name): for item in abi: if item['type'] == 'function' and item['name'] == function_name: - return [output['type'] for output in item['outputs']] + return [collapse_if_tuple(cast(Dict[str, Any], item)) for item in item['outputs']] raise ValueError(f"No function named {function_name} found in ABI.") +def tuple_to_list(value): + if isinstance(value, tuple): + return [tuple_to_list(v) for v in value] + return value class ContractMethodWrapper: __DATE__ = "2022-09-24" @@ -55,7 +102,6 @@ def multicall(self) -> List[Any]: for fn in self._contract_calls: fn_name = str(fn).split('functools.partial(')[0] - print(f"fn_name: {fn_name}") calls_for_aggregate.append({ 'target': self.contract.address, 'callData': fn()._encode_transaction_data() @@ -74,8 +120,61 @@ def multicall(self) -> List[Any]: encoded_data = encoded_data[1] decoded_data_list = [] + # print(f"output_types_list: {output_types_list}") for output_types, encoded_output in zip(output_types_list, encoded_data): decoded_data = decode_abi(output_types, encoded_output) decoded_data_list.append(decoded_data) - return decoded_data_list + return [i[0] for i in decoded_data_list] + + +# +# class ContractMethodWrapper: +# __DATE__ = "2022-09-24" +# __VERSION__ = "0.0.1" +# +# def __init__(self, original_method, multicaller): +# self.original_method = original_method +# self.multicaller = multicaller +# +# def __call__(self, *args, **kwargs): +# contract_call = self.original_method(*args, **kwargs) +# self.multicaller.add_call(contract_call) +# return contract_call +# +# +# class MultiCaller(ContextManager): +# __DATE__ = "2022-09-24" +# __VERSION__ = "0.0.1" +# MULTICALL_CONTRACT_ADDRESS = "0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696" +# +# def __init__(self, contract: MultiProviderContractWrapper, block_identifier: Any = 'latest'): +# self._contract_calls: List[Callable] = [] +# self.contract = contract +# self.block_identifier = block_identifier +# +# def __enter__(self) -> 'MultiCaller': +# return self +# +# def __exit__(self, exc_type, exc_val, exc_tb): +# if exc_type is None: +# self.multicall() +# +# def add_call(self, fn: Callable, *args, **kwargs) -> None: +# self._contract_calls.append(partial(fn, *args, **kwargs)) +# +# def multicall(self) -> Any: +# calls_for_aggregate = [ +# { +# 'target': self.contract.address, +# 'callData': fn()._encode_transaction_data() +# } +# for fn in self._contract_calls +# ] +# w3 = self.contract.web3 +# return w3.eth.contract( +# abi=MULTICALL_ABI, +# address=self.MULTICALL_CONTRACT_ADDRESS +# ).functions.aggregate(calls_for_aggregate).call(block_identifier=self.block_identifier) + + From 88bbc9b85df5876dc70cc435ce51c666724561e5 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Tue, 26 Sep 2023 03:55:36 -0700 Subject: [PATCH 07/33] updates tests for `MultiCaller` class --- .../NBTest/NBTest_899_CustomMulticall.ipynb | 187 ++++++++++++------ .../NBTest/NBTest_899_CustomMulticall.py | 88 +++++---- 2 files changed, 173 insertions(+), 102 deletions(-) diff --git a/resources/NBTest/NBTest_899_CustomMulticall.ipynb b/resources/NBTest/NBTest_899_CustomMulticall.ipynb index eca51fa15..67b75466a 100644 --- a/resources/NBTest/NBTest_899_CustomMulticall.ipynb +++ b/resources/NBTest/NBTest_899_CustomMulticall.ipynb @@ -2,15 +2,26 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "c539b26e", "metadata": { "ExecuteTime": { - "start_time": "2023-09-24T11:06:21.220838Z" - }, - "is_executing": true + "end_time": "2023-09-26T08:45:56.139762Z", + "start_time": "2023-09-26T08:45:51.788287Z" + } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MultiCaller v0.0.1 (2022-09-24)\n", + "ContractMethodWrapper v0.0.1 (2022-09-24)\n", + "imported m, np, pd, plt, os, sys, decimal; defined iseq, raises, require\n", + "Version = 3-b2.2 [requirements >= 3.0 is met]\n" + ] + } + ], "source": [ "import json\n", "\n", @@ -42,10 +53,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "9c8a3b4d", "metadata": { - "is_executing": true + "ExecuteTime": { + "end_time": "2023-09-26T08:45:56.143185Z", + "start_time": "2023-09-26T08:45:56.141168Z" + } }, "outputs": [], "source": [ @@ -86,10 +100,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "49a9b1b66d4195d", "metadata": { - "is_executing": true + "ExecuteTime": { + "end_time": "2023-09-26T08:45:56.148748Z", + "start_time": "2023-09-26T08:45:56.145177Z" + } }, "outputs": [], "source": [ @@ -113,10 +130,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "a4016f70a05413bf", "metadata": { - "is_executing": true + "ExecuteTime": { + "end_time": "2023-09-26T08:45:56.152098Z", + "start_time": "2023-09-26T08:45:56.149619Z" + } }, "outputs": [], "source": [ @@ -141,10 +161,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "34fb2250211b133d", "metadata": { - "is_executing": true + "ExecuteTime": { + "end_time": "2023-09-26T08:45:56.173903Z", + "start_time": "2023-09-26T08:45:56.155408Z" + } }, "outputs": [], "source": [ @@ -167,10 +190,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "e7521dea3c4a1df2", "metadata": { - "is_executing": true + "ExecuteTime": { + "end_time": "2023-09-26T08:45:56.178040Z", + "start_time": "2023-09-26T08:45:56.158160Z" + } }, "outputs": [], "source": [ @@ -183,41 +209,6 @@ "assert len(multicaller._contract_calls) == 1" ] }, - { - "cell_type": "markdown", - "id": "6928f414356dfa6a", - "metadata": {}, - "source": [ - "## test_multi_caller_multicall" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "acda89d43cf443d8", - "metadata": { - "is_executing": true - }, - "outputs": [], - "source": [ - "contract = Mock()\n", - "contract.address = \"some_address\"\n", - "fn = Mock()\n", - "fn()._encode_transaction_data.return_value = 'some_data'\n", - "\n", - "with patch('fastlane_bot.data.abi.MULTICALL_ABI', 'MULTICALL_ABI'): # Replace 'your_module' with the actual module name\n", - " multicaller = MultiCaller(contract)\n", - " multicaller._contract_calls = [fn]\n", - "\n", - " with patch.object(multicaller.contract, 'web3') as mock_web3:\n", - " mock_contract = Mock()\n", - " mock_web3.eth.contract.return_value = mock_contract\n", - "\n", - " multicaller.multicall()\n", - "\n", - " mock_contract.functions.aggregate.assert_called()" - ] - }, { "cell_type": "markdown", "id": "c1103373ed034b13", @@ -228,10 +219,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "64050694894fae74", "metadata": { - "is_executing": true + "ExecuteTime": { + "end_time": "2023-09-26T08:45:56.178275Z", + "start_time": "2023-09-26T08:45:56.161067Z" + } }, "outputs": [], "source": [ @@ -255,10 +249,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "cbe1ab01", "metadata": { - "is_executing": true + "ExecuteTime": { + "end_time": "2023-09-26T08:45:58.383144Z", + "start_time": "2023-09-26T08:45:56.168096Z" + } }, "outputs": [], "source": [ @@ -269,24 +266,57 @@ "mainnet_pairs = contract.mainnet.functions.pairs().call()\n", "tenderly_pairs = contract.tenderly.functions.pairs().call()\n", "\n", + "# Take a sample of 20 pairs to speed up testing\n", + "if len(mainnet_pairs) > 10:\n", + " mainnet_pairs = mainnet_pairs[:10]\n", + "\n", "assert len(mainnet_pairs) > 0\n", "assert len(tenderly_pairs) > 0" ] }, + { + "cell_type": "code", + "execution_count": 9, + "id": "e8aa643430d27fe5", + "metadata": { + "ExecuteTime": { + "end_time": "2023-09-26T08:46:05.092600Z", + "start_time": "2023-09-26T08:45:58.384924Z" + } + }, + "outputs": [], + "source": [ + "# Time how long it takes to get all fees without using multicall\n", + "start_time = time.time()\n", + "\n", + "pair_fees_without_multicall = [contract.mainnet.functions.pairTradingFeePPM(pair[0], pair[1]).call() for pair in mainnet_pairs]\n", + "\n", + "pair_fees_time_without_multicall = time.time() - start_time\n", + "\n", + "start_time = time.time()\n", + "\n", + "strats_by_pair_without_multicall = [contract.mainnet.functions.strategiesByPair(pair[0], pair[1], 0, 5000).call() for pair in mainnet_pairs]\n", + "\n", + "strats_by_pair_time_without_multicall = time.time() - start_time\n" + ] + }, { "cell_type": "markdown", "id": "0d05e8f8", "metadata": {}, "source": [ - "## test_multicaller" + "## test_multicaller_pairTradingFeePPM" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "e2347c4c", "metadata": { - "is_executing": true + "ExecuteTime": { + "end_time": "2023-09-26T08:46:05.875344Z", + "start_time": "2023-09-26T08:46:05.093497Z" + } }, "outputs": [], "source": [ @@ -301,18 +331,47 @@ "\n", "pair_fees_with_multicall = multicaller.multicall()\n", "\n", - "time_with_multicall = time.time() - start_time\n", + "pair_fees_time_with_multicall = time.time() - start_time\n", "\n", - "# Time how long it takes to get all fees without using multicall\n", + "assert pair_fees_with_multicall == pair_fees_without_multicall\n", + "assert pair_fees_time_with_multicall < pair_fees_time_without_multicall\n" + ] + }, + { + "cell_type": "markdown", + "id": "8081173d9636c70f", + "metadata": {}, + "source": [ + "## test_multicaller_strategiesByPair" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "3bae18bc82ad3ccc", + "metadata": { + "ExecuteTime": { + "end_time": "2023-09-26T08:46:06.521100Z", + "start_time": "2023-09-26T08:46:05.877803Z" + } + }, + "outputs": [], + "source": [ + "multicaller = MultiCaller(contract=contract.mainnet)\n", + "\n", + "# Time how long it takes to get all fees using multicall\n", "start_time = time.time()\n", "\n", - "pair_fees_without_multicall = [contract.mainnet.functions.pairTradingFeePPM(pair[0], pair[1]).call() for pair in mainnet_pairs]\n", + "with multicaller as mc:\n", + " for pair in mainnet_pairs:\n", + " mc.add_call(contract.mainnet.functions.strategiesByPair, pair[0], pair[1], 0, 5000)\n", + "\n", + "strats_by_pair_with_multicall = multicaller.multicall()\n", "\n", - "time_without_multicall = time.time() - start_time\n", + "strats_by_pair_time_with_multicall = time.time() - start_time\n", "\n", - "assert len(pair_fees_with_multicall) == len(mainnet_pairs)\n", - "assert len(pair_fees_with_multicall) == len(mainnet_pairs)\n", - "assert time_with_multicall < (time_without_multicall / 10)" + "assert len(strats_by_pair_with_multicall) == len(strats_by_pair_without_multicall)\n", + "assert strats_by_pair_time_with_multicall < strats_by_pair_time_without_multicall\n" ] } ], diff --git a/resources/NBTest/NBTest_899_CustomMulticall.py b/resources/NBTest/NBTest_899_CustomMulticall.py index 7990dcb24..c0e714654 100644 --- a/resources/NBTest/NBTest_899_CustomMulticall.py +++ b/resources/NBTest/NBTest_899_CustomMulticall.py @@ -13,7 +13,7 @@ # name: python3 # --- -# + is_executing=true +# + import json from fastlane_bot.config.multiprovider import MultiProviderContractWrapper @@ -41,7 +41,7 @@ from fastlane_bot import __VERSION__ require("3.0", __VERSION__) -# + is_executing=true +# + WEB3_ALCHEMY_PROJECT_ID = os.environ.get("WEB3_ALCHEMY_PROJECT_ID") # Define ABI and address @@ -73,7 +73,7 @@ class MockContract: # ## test_multicaller_init -# + is_executing=true +# + original_method = Mock() multicaller = Mock() @@ -86,7 +86,7 @@ class MockContract: # ## test_contract_method_wrapper_call -# + is_executing=true +# + original_method = Mock() multicaller = Mock() @@ -100,7 +100,7 @@ class MockContract: # ## test_multi_caller_init -# + is_executing=true +# + contract = Mock() multicaller = MultiCaller(contract) @@ -112,7 +112,7 @@ class MockContract: # ## test_multi_caller_add_call -# + is_executing=true +# + contract = Mock() multicaller = MultiCaller(contract) fn = Mock() @@ -122,30 +122,9 @@ class MockContract: assert len(multicaller._contract_calls) == 1 # - -# ## test_multi_caller_multicall - -# + is_executing=true -contract = Mock() -contract.address = "some_address" -fn = Mock() -fn()._encode_transaction_data.return_value = 'some_data' - -with patch('fastlane_bot.data.abi.MULTICALL_ABI', 'MULTICALL_ABI'): # Replace 'your_module' with the actual module name - multicaller = MultiCaller(contract) - multicaller._contract_calls = [fn] - - with patch.object(multicaller.contract, 'web3') as mock_web3: - mock_contract = Mock() - mock_web3.eth.contract.return_value = mock_contract - - multicaller.multicall() - - mock_contract.functions.aggregate.assert_called() -# - - # ## test_multi_caller_context_manager -# + is_executing=true +# + contract = Mock() multicaller = MultiCaller(contract) @@ -158,7 +137,7 @@ class MockContract: # ## test_multiprovider -# + is_executing=true +# + # Initialize the Contract wrapper contract = MultiProviderContractWrapper(CONTRACT_ABI, CONTRACT_ADDRESS, providers) @@ -166,13 +145,32 @@ class MockContract: mainnet_pairs = contract.mainnet.functions.pairs().call() tenderly_pairs = contract.tenderly.functions.pairs().call() +# Take a sample of 20 pairs to speed up testing +if len(mainnet_pairs) > 10: + mainnet_pairs = mainnet_pairs[:10] + assert len(mainnet_pairs) > 0 assert len(tenderly_pairs) > 0 + +# + +# Time how long it takes to get all fees without using multicall +start_time = time.time() + +pair_fees_without_multicall = [contract.mainnet.functions.pairTradingFeePPM(pair[0], pair[1]).call() for pair in mainnet_pairs] + +pair_fees_time_without_multicall = time.time() - start_time + +start_time = time.time() + +strats_by_pair_without_multicall = [contract.mainnet.functions.strategiesByPair(pair[0], pair[1], 0, 5000).call() for pair in mainnet_pairs] + +strats_by_pair_time_without_multicall = time.time() - start_time + # - -# ## test_multicaller +# ## test_multicaller_pairTradingFeePPM -# + is_executing=true +# + multicaller = MultiCaller(contract=contract.mainnet) # Time how long it takes to get all fees using multicall @@ -184,15 +182,29 @@ class MockContract: pair_fees_with_multicall = multicaller.multicall() -time_with_multicall = time.time() - start_time +pair_fees_time_with_multicall = time.time() - start_time -# Time how long it takes to get all fees without using multicall +assert pair_fees_with_multicall == pair_fees_without_multicall +assert pair_fees_time_with_multicall < pair_fees_time_without_multicall + +# - + +# ## test_multicaller_strategiesByPair + +# + +multicaller = MultiCaller(contract=contract.mainnet) + +# Time how long it takes to get all fees using multicall start_time = time.time() -pair_fees_without_multicall = [contract.mainnet.functions.pairTradingFeePPM(pair[0], pair[1]).call() for pair in mainnet_pairs] +with multicaller as mc: + for pair in mainnet_pairs: + mc.add_call(contract.mainnet.functions.strategiesByPair, pair[0], pair[1], 0, 5000) + +strats_by_pair_with_multicall = multicaller.multicall() + +strats_by_pair_time_with_multicall = time.time() - start_time -time_without_multicall = time.time() - start_time +assert len(strats_by_pair_with_multicall) == len(strats_by_pair_without_multicall) +assert strats_by_pair_time_with_multicall < strats_by_pair_time_without_multicall -assert len(pair_fees_with_multicall) == len(mainnet_pairs) -assert len(pair_fees_with_multicall) == len(mainnet_pairs) -assert time_with_multicall < (time_without_multicall / 10) From 0f66b6fb0a18ab2d7dadc977bb491ed00c5d34b3 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Tue, 26 Sep 2023 03:56:30 -0700 Subject: [PATCH 08/33] adds core logic to isolate multicalls for every search iteration --- fastlane_bot/events/multicall_utils.py | 386 +++++++++++++++++++++++++ 1 file changed, 386 insertions(+) create mode 100644 fastlane_bot/events/multicall_utils.py diff --git a/fastlane_bot/events/multicall_utils.py b/fastlane_bot/events/multicall_utils.py new file mode 100644 index 000000000..2748b4b69 --- /dev/null +++ b/fastlane_bot/events/multicall_utils.py @@ -0,0 +1,386 @@ +from decimal import Decimal +from typing import Dict, Any +from typing import List, Tuple + +from fastlane_bot.config.multicaller import MultiCaller +from fastlane_bot.data.abi import ERC20_ABI +from fastlane_bot.events.pools import CarbonV1Pool +from fastlane_bot.events.pools.base import Pool + +ONE = 2 ** 48 + + +def bit_length(value: int) -> int: + """ + Get the bit length of a value. + + Parameters + ---------- + value: int + The value to get the bit length of. + + Returns + ------- + int + The bit length of the value. + + """ + + return len(bin(value).lstrip("0b")) if value > 0 else 0 + + +def encode_float(value: int) -> int: + """ + Encode a float value. + + Parameters + ---------- + value: int + The value to encode. + + Returns + ------- + int + The encoded value. + + """ + exponent = bit_length(value // ONE) + mantissa = value >> exponent + return mantissa | (exponent * ONE) + + +def encode_rate(value: int) -> int: + """ + Encode a rate value. + + Parameters + ---------- + value: int + The value to encode. + + Returns + ------- + int + The encoded value. + + """ + data = int(value.sqrt() * ONE) + length = bit_length(data // ONE) + return (data >> length) << length + + +def encode_token_price(price: Decimal) -> int: + """ + Encode a token price. + + Parameters + ---------- + price: Decimal + The price to encode. + + Returns + ------- + int + The encoded price. + + """ + return encode_float(encode_rate((price))) + + +def get_pools_for_exchange(exchange: str, mgr: Any) -> [Any]: + """ + Handles the initial iteration of the bot. + + Parameters + ---------- + mgr : Any + The manager object. + exchange : str + The exchange for which to get pools + + Returns + ------- + List[Any] + A list of pools for the specified exchange. + """ + return [ + idx + for idx, pool in enumerate(mgr.pool_data) + if pool["exchange_name"] == exchange + ] + + +def multicall_helper(exchange: str, rows_to_update: List, multicall_contract: Any, mgr: Any, current_block: int): + """ + Helper function for multicall. + + Parameters + ---------- + exchange : str + Name of the exchange. + rows_to_update : List + List of rows to update. + multicall_contract : Any + The multicall contract. + mgr : Any + Manager object containing configuration and pool data. + current_block : int + The current block. + + """ + multicaller = MultiCaller(contract=multicall_contract) + with multicaller as mc: + for row in rows_to_update: + pool_info = mgr.pool_data[row] + pool_info["last_updated_block"] = current_block + # Function to be defined elsewhere based on what each exchange type needs + multicall_fn(exchange, mc, multicall_contract, pool_info) + result_list = mc.multicall() + process_results_for_multicall(exchange, rows_to_update, result_list, mgr) + + +def multicall_fn(exchange: str, mc: Any, multicall_contract: Any, pool_info: Dict[str, Any]) -> None: + """ + Function to be defined elsewhere based on what each exchange type needs. + + Parameters + ---------- + exchange : str + Name of the exchange. + mc : Any + The multicaller. + multicall_contract : Any + The multicall contract. + pool_info : Dict + The pool info. + + """ + if exchange == "bancor_v3": + mc.add_call(multicall_contract.functions.tradingLiquidity, pool_info["tkn1_address"]) + elif exchange == "bancor_pol": + mc.add_call(multicall_contract.functions.tokenPrice, pool_info["tkn0_address"]) + elif exchange == 'carbon_v1': + mc.add_call(multicall_contract.functions.strategy, pool_info["cid"]) + else: + raise ValueError(f"Exchange {exchange} not supported.") + + +def process_results_for_multicall(exchange: str, rows_to_update: List, result_list: List, mgr: Any) -> None: + """ + Process the results for multicall. + + Parameters + ---------- + exchange : str + Name of the exchange. + rows_to_update : List + List of rows to update. + result_list : List + List of results. + mgr : Any + Manager object containing configuration and pool data. + + + """ + for row, result in zip(rows_to_update, result_list): + pool_info = mgr.pool_data[row] + params = extract_params_for_multicall(exchange, result, pool_info, mgr) + pool = mgr.get_or_init_pool(pool_info) + pool, pool_info = update_pool_for_multicall(params, pool_info, pool) + mgr.pool_data[row] = pool_info + update_mgr_exchanges_for_multicall(mgr, exchange, pool, pool_info) + + +def extract_params_for_multicall(exchange: str, result: Any, pool_info: Dict, mgr: Any) -> Dict[str, Any]: + """ + Extract the parameters for multicall. + + Parameters + ---------- + exchange : str + Name of the exchange. + result : Any + The result. + pool_info : Dict + The pool info. + mgr : Any + Manager object containing configuration and pool data. + + """ + params = {} + if exchange == 'carbon_v1': + strategy = result + fake_event = { + "args": { + "id": strategy[0], + "order0": strategy[3][0], + "order1": strategy[3][1], + } + } + params = CarbonV1Pool.parse_event(pool_info["state"], fake_event, "None") + params["exchange_name"] = exchange + elif exchange == "bancor_pol": + params = _extract_pol_params_for_multicall( + result, pool_info, mgr + ) + elif exchange == "bancor_v3": + pool_balances = result + params = { + "fee": "0.000", + "fee_float": 0.000, + "tkn0_balance": pool_balances[0], + "tkn1_balance": pool_balances[1], + "exchange_name": exchange, + "address": pool_info["address"], + } + else: + raise ValueError(f"Exchange {exchange} not supported.") + + return params + + +def _extract_pol_params_for_multicall(result: Any, pool_info: Dict, mgr: Any) -> Dict[str, Any]: + """ + Extract the Bancor POL params for multicall. + + Parameters + ---------- + result : Any + The result. + pool_info : Dict + The pool info. + mgr : Any + Manager object containing configuration and pool data. + + Returns + ------- + Dict[str, Any] + The extracted params. + + """ + prices = result + p0, p1 = prices + token_price = Decimal(p1) / Decimal(p0) + tkn0_address = pool_info["tkn0_address"] + tkn_contract = mgr.token_contracts.get(tkn0_address, + mgr.web3.eth.contract(abi=ERC20_ABI, address=tkn0_address)) + if tkn0_address not in mgr.token_contracts: + mgr.token_contracts[tkn0_address] = tkn_contract + tkn_balance = tkn_contract.functions.balanceOf(tkn0_address).call() + result = { + "fee": "0.000", + "fee_float": 0.000, + "tkn0_balance": 0, + "tkn1_balance": 0, + "exchange_name": pool_info["exchange_name"], + "address": pool_info["address"], + "y_0": tkn_balance, + "z_0": tkn_balance, + "A_0": 0, + "B_0": int(str(encode_token_price(token_price))), + } + return result + + +def update_pool_for_multicall(params: Dict[str, Any], pool_info: Dict, pool: Any) -> Tuple[Pool, Dict]: + """ + Update the pool for multicall. + + Parameters + ---------- + params : Dict + The parameters. + pool_info : Dict + The pool info. + pool : Any + The pool. + + Returns + ------- + Tuple[Pool, Dict] + The updated pool and pool info. + + """ + for key, value in params.items(): + pool_info[key] = value + pool.state[key] = value + return pool, pool_info + + +def update_mgr_exchanges_for_multicall(mgr: Any, exchange: str, pool: Any, pool_info: Dict[str, Any]): + """ + Update the manager exchanges for multicall. + + Parameters + ---------- + mgr : Any + Manager object containing configuration and pool data. + exchange : str + Name of the exchange. + pool : Any + The pool. + pool_info : Dict + The pool info. + + """ + unique_key = pool.unique_key() + if unique_key == "token": + # Handles the bancor POL case + unique_key = "tkn0_address" + + unique_key_value = pool_info[unique_key] + exchange_pool_idx = [idx for idx in range(len(mgr.exchanges[exchange].pools)) if + mgr.exchanges[exchange].pools[unique_key_value].state[unique_key] == pool_info[unique_key]][0] + mgr.exchanges[exchange].pools[exchange_pool_idx] = pool + + +def get_multicall_contract_for_exchange(mgr: Any, exchange: str) -> str: + """ + Get the multicall contract for the exchange. + + Parameters + ---------- + mgr : Any + Manager object containing configuration and pool data. + exchange : str + Name of the exchange. + + Returns + ------- + str + The multicall contract for the exchange. + + """ + if exchange == "bancor_v3": + return mgr.pool_contracts[exchange][mgr.cfg.BANCOR_V3_NETWORK_INFO_ADDRESS] + elif exchange == "bancor_pol": + return mgr.pool_contracts[exchange][mgr.cfg.BANCOR_POL_ADDRESS] + elif exchange == "carbon_v1": + return mgr.pool_contracts[exchange][mgr.cfg.CARBON_CONTROLLER_ADDRESS] + else: + raise ValueError(f"Exchange {exchange} not supported.") + + +def multicall_every_iteration(current_block: int, mgr: Any): + """ + For each exchange that supports Multicall, use multicall to update the state of the pools on every search iteration. + + Parameters + ---------- + current_block : int + The current block. + mgr : Any + Manager object containing configuration and pool data. + + """ + multicallable_exchanges = [exchange for exchange in mgr.cfg.MULTICALLABLE_EXCHANGES if exchange in mgr.exchanges] + multicallable_pool_rows = [ + list(set(get_pools_for_exchange(mgr=mgr, exchange=ex_name))) + for ex_name in multicallable_exchanges + if ex_name in mgr.exchanges + ] + + for idx, exchange in enumerate(multicallable_exchanges): + multicall_contract = get_multicall_contract_for_exchange(mgr, exchange) + rows_to_update = multicallable_pool_rows[idx] + multicall_helper(exchange, rows_to_update, multicall_contract, mgr, current_block) From d44db60e96f92e8da0a803fea61fe520f5130b15 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Tue, 26 Sep 2023 04:10:33 -0700 Subject: [PATCH 09/33] general adjustments for multicall changes --- fastlane_bot/events/managers/base.py | 3 +- fastlane_bot/events/managers/manager.py | 72 +--- fastlane_bot/events/pools/bancor_v3.py | 2 +- fastlane_bot/events/utils.py | 514 +++++++++++++++--------- main.py | 292 +++++++------- 5 files changed, 483 insertions(+), 400 deletions(-) diff --git a/fastlane_bot/events/managers/base.py b/fastlane_bot/events/managers/base.py index e898b23fe..d88a0e761 100644 --- a/fastlane_bot/events/managers/base.py +++ b/fastlane_bot/events/managers/base.py @@ -67,6 +67,7 @@ class BaseManager: w3_tenderly: Web3 = None event_contracts: Dict[str, Contract or Type[Contract]] = field(default_factory=dict) pool_contracts: Dict[str, Contract or Type[Contract]] = field(default_factory=dict) + token_contracts: Dict[str, Contract or Type[Contract]] = field(default_factory=dict) erc20_contracts: Dict[str, Contract or Type[Contract]] = field(default_factory=dict) exchanges: Dict[str, Exchange] = field(default_factory=dict) uniswap_v2_event_mappings: Dict[str, str] = field(default_factory=dict) @@ -498,8 +499,6 @@ def get_strats_by_contract( # Log that Carbon is initialized self.cfg.logger.info(f"Carbon is initialized {self.carbon_inititalized}") self.cfg.logger.info(f"Retrieved {len(strategies_by_pair)} carbon strategies") - self.cfg.logger.info(f"Example strat {strategies_by_pair[0]}") - # return strategies_by_pair return [s for strat in strategies_by_pair if strat for s in strat if s] def get_strats_by_state(self, pairs: List[List[Any]]) -> List[List[int]]: diff --git a/fastlane_bot/events/managers/manager.py b/fastlane_bot/events/managers/manager.py index ce9d401ee..2d8d84e42 100644 --- a/fastlane_bot/events/managers/manager.py +++ b/fastlane_bot/events/managers/manager.py @@ -95,7 +95,7 @@ def handle_pair_created(self, event: Dict[str, Any]): self.fee_pairs.update(fee_pairs) def update_from_pool_info( - self, pool_info: Optional[Dict[str, Any]] = None, current_block: int = None, multicall_contract: MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract = None + self, pool_info: Optional[Dict[str, Any]] = None, current_block: int = None ) -> Dict[str, Any]: """ Update the pool info. @@ -106,12 +106,10 @@ def update_from_pool_info( The pool info, by default None. current_block : int, optional The current block, by default None. - multicall_contract : MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract, optional - The multicall contract, by default None. """ pool_info["last_updated_block"] = current_block - contract = multicall_contract or self.pool_contracts[pool_info["exchange_name"]].get( + contract = self.pool_contracts[pool_info["exchange_name"]].get( pool_info["address"], self.web3.eth.contract( address=pool_info["address"], @@ -120,9 +118,13 @@ def update_from_pool_info( ) pool = self.get_or_init_pool(pool_info) - params = pool.update_from_contract( - contract, self.tenderly_fork_id, self.w3_tenderly, self.web3 - ) + try: + params = pool.update_from_contract( + contract, self.tenderly_fork_id, self.w3_tenderly, self.web3 + ) + except Exception as e: + self.cfg.logger.error(f"Error updating pool: {e} {pool_info}") + raise e for key, value in params.items(): pool_info[key] = value return pool_info @@ -188,44 +190,6 @@ def update_from_contract( pool_info[key] = value return pool_info - def update_from_erc20_balance( - self, - current_block: int = None, - pool_info: Optional[Dict[str, Any]] = None, - ): - """ - Update the state from the contract (instead of events). - - Parameters - ---------- - current_block : int, optional - The block number, by default None. - pool_info : Optional[Dict[str, Any]], optional - The pool info, by default None. - - Returns - ------- - Dict[str, Any] - The pool info. - """ - pool = self.get_or_init_pool(pool_info) - - pool_contract = self.pool_contracts[pool.state["exchange_name"]].get( - pool.state["address"], None - ) - params = pool.update_from_contract( - contract=pool_contract, - tenderly_fork_id=self.tenderly_fork_id, - w3_tenderly=self.w3_tenderly, - w3=self.web3, - ) - params["last_updated_block"] = current_block - - for key, value in params.items(): - pool_info[key] = value - - self.update_pool_data(pool_info=pool_info, data=params) - def update( self, event: Dict[str, Any] = None, @@ -234,7 +198,6 @@ def update( pool_info: Dict[str, Any] = None, contract: Contract = None, block_number: int = None, - multicall_contract: MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract = None, ) -> None: """ Update the state. @@ -253,8 +216,6 @@ def update( The contract, by default None. block_number : int, optional The block number, by default None. - multicall_contract : MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract, optional - The multicall contract, by default None. Raises @@ -264,14 +225,10 @@ def update( If no event or pool info is provided. If the pool info is invalid. """ - limiter = bool(multicall_contract) while True: - if limiter: - rate_limiter = 0.1 + 0.9 * random.random() - time.sleep(rate_limiter) - else: - rate_limiter = 0 + rate_limiter = 0.1 + 0.9 * random.random() + time.sleep(rate_limiter) try: if event: self.update_from_event(event=event, block_number=block_number) @@ -279,14 +236,9 @@ def update( self.update_from_contract( address, contract, block_number=block_number ) - elif token_address: - self.update_from_erc20_balance( - pool_info=pool_info, - current_block=block_number, - ) elif pool_info: self.update_from_pool_info( - pool_info=pool_info, current_block=block_number, multicall_contract=multicall_contract + pool_info=pool_info, current_block=block_number ) else: self.cfg.logger.debug( diff --git a/fastlane_bot/events/pools/bancor_v3.py b/fastlane_bot/events/pools/bancor_v3.py index 0806ac900..1b236702d 100644 --- a/fastlane_bot/events/pools/bancor_v3.py +++ b/fastlane_bot/events/pools/bancor_v3.py @@ -75,7 +75,7 @@ def update_from_contract( """ See base class. """ - pool_balances = contract.tradingLiquidity(self.state["tkn1_address"]) + pool_balances = contract.functions.tradingLiquidity(self.state["tkn1_address"]).call() params = { "fee": "0.000", diff --git a/fastlane_bot/events/utils.py b/fastlane_bot/events/utils.py index 59afa43d8..14dfa5ecb 100644 --- a/fastlane_bot/events/utils.py +++ b/fastlane_bot/events/utils.py @@ -22,17 +22,22 @@ from hexbytes import HexBytes from joblib import Parallel, delayed from web3 import Web3 +from web3.contract import Contract from web3.datastructures import AttributeDict from fastlane_bot import Config from fastlane_bot.bot import CarbonBot +from fastlane_bot.config.multicaller import MultiCaller from fastlane_bot.config.multiprovider import MultiProviderContractWrapper +from fastlane_bot.data.abi import ERC20_ABI from fastlane_bot.events.interface import QueryInterface from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.multicall_utils import encode_token_price +from fastlane_bot.events.pools import CarbonV1Pool def filter_latest_events( - mgr: Manager, events: List[List[AttributeDict]] + mgr: Manager, events: List[List[AttributeDict]] ) -> List[AttributeDict]: """ This function filters out the latest events for each pool. Given a nested list of events, it iterates through all events @@ -74,20 +79,20 @@ def filter_latest_events( if event["blockNumber"] > latest_entry_per_pool[unique_key]["blockNumber"]: latest_entry_per_pool[unique_key] = event elif ( - event["blockNumber"] == latest_entry_per_pool[unique_key]["blockNumber"] + event["blockNumber"] == latest_entry_per_pool[unique_key]["blockNumber"] ): if ( - event["transactionIndex"] - == latest_entry_per_pool[unique_key]["transactionIndex"] + event["transactionIndex"] + == latest_entry_per_pool[unique_key]["transactionIndex"] ): if ( - event["logIndex"] - > latest_entry_per_pool[unique_key]["logIndex"] + event["logIndex"] + > latest_entry_per_pool[unique_key]["logIndex"] ): latest_entry_per_pool[unique_key] = event elif ( - event["transactionIndex"] - > latest_entry_per_pool[unique_key]["transactionIndex"] + event["transactionIndex"] + > latest_entry_per_pool[unique_key]["transactionIndex"] ): latest_entry_per_pool[unique_key] = event else: @@ -188,7 +193,7 @@ def read_csv_file(filepath: str, low_memory: bool = False) -> pd.DataFrame: def filter_static_pool_data( - pool_data: pd.DataFrame, exchanges: List[str], sample_size: int or str + pool_data: pd.DataFrame, exchanges: List[str], sample_size: int or str ) -> pd.DataFrame: """Helper function to filter static pool data. @@ -212,17 +217,17 @@ def filter_static_pool_data( bancor_data = filtered_data[filtered_data["exchange_name"] == "bancor_v3"] non_bancor_data = filtered_data[ filtered_data["exchange_name"] != "bancor_v3" - ].sample(n=sample_size) + ].sample(n=sample_size) filtered_data = pd.concat([bancor_data, non_bancor_data]) return filtered_data def get_static_data( - cfg: Config, - exchanges: List[str], - static_pool_data_filename: str, - static_pool_data_sample_sz: int or str, + cfg: Config, + exchanges: List[str], + static_pool_data_filename: str, + static_pool_data_sample_sz: int or str, ) -> Tuple[pd.DataFrame, pd.DataFrame, Dict[str, str]]: """ Helper function to get static pool data, tokens, and Uniswap v2 event mappings. @@ -298,9 +303,9 @@ def handle_exchanges(cfg: Config, exchanges: str) -> List[str]: def handle_target_tokens( - cfg: Config, - flashloan_tokens: List[str], - target_tokens: str, + cfg: Config, + flashloan_tokens: List[str], + target_tokens: str, ) -> List[str]: """ Handles the target tokens parameter. @@ -373,11 +378,11 @@ def handle_flashloan_tokens(cfg: Config, flashloan_tokens: str) -> List[str]: def get_config( - default_min_profit_bnt: int or Decimal, - limit_bancor3_flashloan_tokens: bool, - loglevel: str, - logging_path: str, - tenderly_fork_id: str = None, + default_min_profit_bnt: int or Decimal, + limit_bancor3_flashloan_tokens: bool, + loglevel: str, + logging_path: str, + tenderly_fork_id: str = None, ) -> Config: """ Gets the config object. @@ -448,7 +453,7 @@ def get_loglevel(loglevel: str) -> Any: def get_event_filters( - n_jobs: int, mgr: Any, start_block: int, current_block: int + n_jobs: int, mgr: Any, start_block: int, current_block: int ) -> Any: """ Creates event filters for the specified block range. @@ -509,12 +514,12 @@ def get_all_events(n_jobs: int, event_filters: Any) -> List[Any]: def save_events_to_json( - cache_latest_only, - logging_path, - mgr, - latest_events: List[Any], - start_block: int, - current_block: int, + cache_latest_only, + logging_path, + mgr, + latest_events: List[Any], + start_block: int, + current_block: int, ) -> None: """ Saves the given events to a JSON file. @@ -545,8 +550,8 @@ def save_events_to_json( try: with open(path, "w") as f: latest_events = [ - _["args"].pop("contextId", None) for _ in latest_events - ] and latest_events + _["args"].pop("contextId", None) for _ in latest_events + ] and latest_events f.write(json.dumps(latest_events)) except Exception as e: mgr.cfg.logger.error(f"Error saving events to JSON: {e}") @@ -572,7 +577,7 @@ def update_pools_from_events(n_jobs: int, mgr: Any, latest_events: List[Any]): def write_pool_data_to_disk( - cache_latest_only: bool, logging_path: str, mgr: Any, current_block: int + cache_latest_only: bool, logging_path: str, mgr: Any, current_block: int ) -> None: """ Writes the pool data to disk. @@ -602,8 +607,8 @@ def write_pool_data_to_disk( def parse_non_multicall_rows_to_update( - mgr: Any, - rows_to_update: List[Hashable], + mgr: Any, + rows_to_update: List[Hashable], ) -> List[Hashable]: """ Parses the rows to update for Bancor v3 pools. @@ -663,12 +668,12 @@ def init_bot(mgr: Any) -> CarbonBot: def update_pools_from_contracts( - mgr: Any, - n_jobs: int, - rows_to_update: List[int], - multicall_contract: MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract = None, - token_address: bool = False, - current_block: int = None, + mgr: Any, + n_jobs: int, + rows_to_update: List[int], + multicall_contract: MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract = None, + token_address: bool = False, + current_block: int = None, ) -> None: """ Updates the pools with the given indices by calling the contracts. @@ -689,25 +694,15 @@ def update_pools_from_contracts( The current block number, by default None """ - if multicall_contract: - for idx, pool in enumerate(rows_to_update): - mgr.update( - pool_info=mgr.pool_data[idx], - block_number=current_block, - token_address=token_address, - multicall_contract=multicall_contract, - ) - else: - Parallel(n_jobs=n_jobs, backend="threading")( - delayed(mgr.update)( - pool_info=mgr.pool_data[idx], - block_number=current_block, - token_address=token_address, - multicall_contract=multicall_contract, - ) - for idx in rows_to_update + Parallel(n_jobs=n_jobs, backend="threading")( + delayed(mgr.update)( + pool_info=mgr.pool_data[idx], + block_number=current_block, + token_address=token_address, + multicall_contract=multicall_contract, ) - + for idx in rows_to_update + ) def get_cached_events(mgr: Any, logging_path: str) -> List[Any]: @@ -740,20 +735,20 @@ def get_cached_events(mgr: Any, logging_path: str) -> List[Any]: def handle_subsequent_iterations( - arb_mode: str, - bot: CarbonBot, - flashloan_tokens: List[str], - polling_interval: int, - randomizer: int, - run_data_validator: bool, - target_tokens: List[str] = None, - loop_idx: int = 0, - logging_path: str = None, - replay_from_block: int = None, - tenderly_uri: str = None, - forks_to_cleanup: List[str] = None, - mgr: Any = None, - forked_from_block: int = None, + arb_mode: str, + bot: CarbonBot, + flashloan_tokens: List[str], + polling_interval: int, + randomizer: int, + run_data_validator: bool, + target_tokens: List[str] = None, + loop_idx: int = 0, + logging_path: str = None, + replay_from_block: int = None, + tenderly_uri: str = None, + forks_to_cleanup: List[str] = None, + mgr: Any = None, + forked_from_block: int = None, ): """ Handles the subsequent iterations of the bot. @@ -893,12 +888,12 @@ def get_pools_for_exchange(exchange: str, mgr: Any) -> [Any]: def handle_initial_iteration( - backdate_pools: bool, - current_block: int, - last_block: int, - mgr: Any, - n_jobs: int, - start_block: int, + backdate_pools: bool, + current_block: int, + last_block: int, + mgr: Any, + n_jobs: int, + start_block: int, ): """ Handles the initial iteration of the bot. @@ -950,62 +945,214 @@ def handle_initial_iteration( # token_address=True # ) - -def multicall_every_iteration( - current_block: int, - mgr: Any, - n_jobs: int, -): - """ - Handles the initial iteration of the bot. - - Parameters - ---------- - current_block : int - The current block number. - mgr : Any - The manager object. - n_jobs : int - The number of jobs to run in parallel. - - """ - multicallable_exchanges = [exchange for exchange in mgr.cfg.MULTICALLABLE_EXCHANGES if exchange in mgr.exchanges] - multicallable_pool_rows = [ - list(set(get_pools_for_exchange(mgr=mgr, exchange=ex_name))) - for ex_name in mgr.cfg.MULTICALLABLE_EXCHANGES - if ex_name in mgr.exchanges - ] - - for idx, exchange in enumerate(multicallable_exchanges): - if exchange == "bancor_v3": - multicall_contract = mgr.pool_contracts[exchange][ - mgr.cfg.BANCOR_V3_NETWORK_INFO_ADDRESS - ] - elif exchange == "bancor_pol": - multicall_contract = mgr.pool_contracts[exchange][ - mgr.cfg.BANCOR_POL_ADDRESS - ] - elif exchange == 'carbon_v1': - multicall_contract = mgr.pool_contracts[exchange][ - mgr.cfg.CARBON_CONTROLLER_ADDRESS - ] - else: - raise ValueError(f"Exchange {exchange} not supported for multicall. Add contract to [managers.contract.init_exchange_contracts]") - - update_pools_from_contracts( - n_jobs=n_jobs, - current_block=current_block, - mgr=mgr, - rows_to_update=multicallable_pool_rows[idx], - multicall_contract=multicall_contract, - ) +# +# def get_erc20_tkn_balance( +# contract: Contract, tkn0: str, w3_tenderly: Web3 = None, w3: Web3 = None +# ) -> int: +# """ +# Get the ERC20 token balance of the POL contract +# +# Parameters +# ---------- +# contract: Contract +# The contract object +# tkn0: str +# The token address +# w3_tenderly: Web3 +# The tenderly web3 object +# w3: Web3 +# The web3 object +# +# Returns +# ------- +# int +# The token balance +# +# """ +# if w3_tenderly: +# erc20_contract = w3_tenderly.eth.contract(abi=ERC20_ABI, address=tkn0) +# else: +# erc20_contract = w3.eth.contract(abi=ERC20_ABI, address=tkn0) +# return erc20_contract.functions.balanceOf(contract.address).call() +# # +# +# ONE = 2 ** 48 +# +# +# @staticmethod +# def bitLength(value): +# return len(bin(value).lstrip("0b")) if value > 0 else 0 +# +# +# def encodeFloat(value): +# exponent = bitLength(value // ONE) +# mantissa = value >> exponent +# return mantissa | (exponent * ONE) +# +# +# def encodeRate(value): +# data = int(value.sqrt() * ONE) +# length = bitLength(data // ONE) +# return (data >> length) << length +# +# +# def encode_token_price(price): +# return encodeFloat(encodeRate((price))) + +# +# def multicall_every_iteration( +# current_block: int, +# mgr: Any, +# n_jobs: int, +# ): +# """ +# Handles the initial iteration of the bot. +# +# Parameters +# ---------- +# current_block : int +# The current block number. +# mgr : Any +# The manager object. +# n_jobs : int +# The number of jobs to run in parallel. +# +# """ +# multicallable_exchanges = [exchange for exchange in mgr.cfg.MULTICALLABLE_EXCHANGES if exchange in mgr.exchanges] +# multicallable_pool_rows = [ +# list(set(get_pools_for_exchange(mgr=mgr, exchange=ex_name))) +# for ex_name in mgr.cfg.MULTICALLABLE_EXCHANGES +# if ex_name in mgr.exchanges +# ] +# +# for idx, exchange in enumerate(multicallable_exchanges): +# multicall_contract = None +# rows_to_update = multicallable_pool_rows[idx] +# +# if exchange == "bancor_v3": +# multicall_contract = mgr.pool_contracts[exchange][ +# mgr.cfg.BANCOR_V3_NETWORK_INFO_ADDRESS +# ] +# multicaller = MultiCaller(contract=multicall_contract) +# with multicaller as mc: +# for row in rows_to_update: +# pool_info = mgr.pool_data[row] +# pool_info["last_updated_block"] = current_block +# mc.add_call(multicall_contract.functions.tradingLiquidity, pool_info["tkn1_address"]) +# pool_balance_list = mc.multicall() +# for row, pool_balances in zip(rows_to_update, pool_balance_list): +# pool_info = mgr.pool_data[row] +# params = { +# "fee": "0.000", +# "fee_float": 0.000, +# "tkn0_balance": pool_balances[0], +# "tkn1_balance": pool_balances[1], +# "exchange_name": exchange, +# "address": pool_info["address"], +# } +# try: +# pool = mgr.get_or_init_pool(pool_info) +# except Exception as e: +# print(f"pool_info: {pool_info}") +# raise e +# for key, value in params.items(): +# pool_info[key] = value +# pool.state[key] = value +# mgr.pool_data[row] = pool_info +# unique_key = pool.unique_key() +# unique_key_value = pool_info[unique_key] +# exchange_pool_idx = [idx for idx in range(len(mgr.exchanges[exchange].pools)) if +# mgr.exchanges[exchange].pools[unique_key_value].state[unique_key] == pool_info[unique_key]][0] +# mgr.exchanges[exchange].pools[exchange_pool_idx] = pool +# +# elif exchange == "bancor_pol": +# multicall_contract = mgr.pool_contracts[exchange][ +# mgr.cfg.BANCOR_POL_ADDRESS +# ] +# multicaller = MultiCaller(contract=multicall_contract) +# with multicaller as mc: +# for row in rows_to_update: +# pool_info = mgr.pool_data[row] +# pool_info["last_updated_block"] = current_block +# mc.add_call(multicall_contract.functions.tokenPrice, pool_info["tkn0_address"]) +# prices_list = mc.multicall() +# for row, prices in zip(rows_to_update, prices_list): +# pool_info = mgr.pool_data[row] +# p0, p1 = prices +# token_price = Decimal(p1) / Decimal(p0) +# tkn0_address = pool_info["tkn0_address"] +# tkn_contract = mgr.token_contracts.get(tkn0_address, +# mgr.w3.eth.contract(abi=ERC20_ABI, address=tkn0_address) +# ) +# if tkn0_address not in mgr.token_contracts: +# mgr.token_contracts[tkn0_address] = tkn_contract +# tkn_balance = tkn_contract.functions.balanceOf(tkn0_address).call() +# params = { +# "fee": "0.000", +# "fee_float": 0.000, +# "tkn0_balance": 0, +# "tkn1_balance": 0, +# "exchange_name": pool_info["exchange_name"], +# "address": pool_info["address"], +# "y_0": tkn_balance, +# "z_0": tkn_balance, +# "A_0": 0, +# "B_0": int(str(encode_token_price(token_price))), +# } +# pool = mgr.get_or_init_pool(pool_info) +# for key, value in params.items(): +# pool_info[key] = value +# pool.state[key] = value +# mgr.pool_data[row] = pool_info +# unique_key = pool.unique_key() +# unique_key_value = pool_info[unique_key] +# exchange_pool_idx = [idx for idx in range(len(mgr.exchanges[exchange].pools)) if +# mgr.exchanges[exchange].pools[unique_key_value].state[unique_key] == pool_info[unique_key]][0] +# mgr.exchanges[exchange].pools[exchange_pool_idx] = pool +# elif exchange == 'carbon_v1': +# multicall_contract = mgr.pool_contracts[exchange][ +# mgr.cfg.CARBON_CONTROLLER_ADDRESS +# ] +# multicaller = MultiCaller(contract=multicall_contract) +# with multicaller as mc: +# for row in rows_to_update: +# pool_info = mgr.pool_data[row] +# pool_info["last_updated_block"] = current_block +# mc.add_call(multicall_contract.functions.strategy, pool_info["cid"]) +# strategy_list = mc.multicall() +# for row, strategy in zip(rows_to_update, strategy_list): +# pool_info = mgr.pool_data[row] +# fake_event = { +# "args": { +# "id": strategy[0], +# "order0": strategy[3][0], +# "order1": strategy[3][1], +# } +# } +# pool = mgr.get_or_init_pool(pool_info) +# +# params = CarbonV1Pool.parse_event(pool.state, fake_event, "None") +# params["exchange_name"] = exchange +# +# for key, value in params.items(): +# pool_info[key] = value +# pool.state[key] = value +# mgr.pool_data[row] = pool_info +# unique_key = pool.unique_key() +# unique_key_value = pool_info[unique_key] +# exchange_pool_idx = [idx for idx in range(len(mgr.exchanges[exchange].pools)) if +# mgr.exchanges[exchange].pools[unique_key_value].state[unique_key] == pool_info[unique_key]][0] +# mgr.exchanges[exchange].pools[exchange_pool_idx] = pool +# else: +# raise ValueError(f"Exchange {exchange} not supported for multicall. Add contract to [" +# f"managers.contract.init_exchange_contracts]") def get_tenderly_pol_events( - mgr, - start_block, - current_block, - tenderly_fork_id, + mgr, + start_block, + current_block, + tenderly_fork_id, ): """ Gets the Tenderly POL events. @@ -1046,12 +1193,12 @@ def get_tenderly_pol_events( def get_latest_events( - current_block: int, - mgr: Any, - n_jobs: int, - start_block: int, - cache_latest_only: bool, - logging_path: str, + current_block: int, + mgr: Any, + n_jobs: int, + start_block: int, + cache_latest_only: bool, + logging_path: str, ) -> List[Any]: """ Gets the latest events. @@ -1121,11 +1268,11 @@ def get_latest_events( def get_start_block( - alchemy_max_block_fetch: int, - last_block: int, - mgr: Any, - reorg_delay: int, - replay_from_block: int, + alchemy_max_block_fetch: int, + last_block: int, + mgr: Any, + reorg_delay: int, + replay_from_block: int, ) -> Tuple[int, int or None]: """ Gets the starting block number. @@ -1284,11 +1431,11 @@ def replace_tenderly_fork_id(file_path, fork_id): def set_network_connection_to_tenderly( - mgr: Any, - use_cached_events: bool, - tenderly_uri: str, - forked_from_block: int = None, - tenderly_fork_id: str = None, + mgr: Any, + use_cached_events: bool, + tenderly_uri: str, + forked_from_block: int = None, + tenderly_fork_id: str = None, ) -> Any: """ Set the network connection to Tenderly. @@ -1345,7 +1492,7 @@ def set_network_connection_to_tenderly( forked_from_block = mgr.cfg.w3.eth.blockNumber assert ( - mgr.cfg.w3.provider.endpoint_uri == tenderly_uri + mgr.cfg.w3.provider.endpoint_uri == tenderly_uri ), f"Failed to connect to Tenderly fork at {tenderly_uri} - got {mgr.cfg.w3.provider.endpoint_uri} instead" mgr.cfg.logger.info(f"Successfully connected to Tenderly fork at {tenderly_uri}") mgr.cfg.NETWORK = mgr.cfg.NETWORK_TENDERLY @@ -1353,7 +1500,7 @@ def set_network_connection_to_tenderly( def set_network_connection_to_mainnet( - mgr: Any, use_cached_events: bool, mainnet_uri: str + mgr: Any, use_cached_events: bool, mainnet_uri: str ) -> Any: """ Set the network connection to Mainnet. @@ -1394,7 +1541,7 @@ def set_network_connection_to_mainnet( brownie.network.web3.provider.endpoint_uri = mainnet_uri assert ( - mgr.cfg.w3.provider.endpoint_uri == mainnet_uri + mgr.cfg.w3.provider.endpoint_uri == mainnet_uri ), f"Failed to connect to Mainnet at {mainnet_uri} - got {mgr.cfg.w3.provider.endpoint_uri} instead" mgr.cfg.logger.info("Successfully connected to Mainnet") mgr.cfg.NETWORK = mgr.cfg.NETWORK_MAINNET @@ -1402,10 +1549,10 @@ def set_network_connection_to_mainnet( def handle_limit_pairs_for_replay_mode( - cfg: Config, - limit_pairs_for_replay: str, - replay_from_block: int, - static_pool_data: pd.DataFrame, + cfg: Config, + limit_pairs_for_replay: str, + replay_from_block: int, + static_pool_data: pd.DataFrame, ) -> pd.DataFrame: """ Splits, validates, and logs the `limit_pairs_for_replay` for replay mode. @@ -1437,14 +1584,14 @@ def handle_limit_pairs_for_replay_mode( def set_network_to_tenderly_if_replay( - last_block: int, - loop_idx: int, - mgr: Any, - replay_from_block: int, - tenderly_uri: str, - use_cached_events: bool, - forked_from_block: int = None, - tenderly_fork_id: str = None, + last_block: int, + loop_idx: int, + mgr: Any, + replay_from_block: int, + tenderly_uri: str, + use_cached_events: bool, + forked_from_block: int = None, + tenderly_fork_id: str = None, ) -> Tuple[Any, str or None, int or None]: """ Set the network connection to Tenderly if replaying from a block @@ -1509,12 +1656,12 @@ def set_network_to_tenderly_if_replay( def set_network_to_mainnet_if_replay( - last_block: int, - loop_idx: int, - mainnet_uri: str, - mgr: Any, - replay_from_block: int, - use_cached_events: bool, + last_block: int, + loop_idx: int, + mainnet_uri: str, + mgr: Any, + replay_from_block: int, + use_cached_events: bool, ): """ Set the network connection to Mainnet if replaying from a block @@ -1541,9 +1688,9 @@ def set_network_to_mainnet_if_replay( """ if ( - (replay_from_block or mgr.tenderly_fork_id) - and mgr.cfg.NETWORK != "mainnet" - and last_block != 0 + (replay_from_block or mgr.tenderly_fork_id) + and mgr.cfg.NETWORK != "mainnet" + and last_block != 0 ): mgr.cfg.logger.info(f"Setting network connection to Mainnet idx: {loop_idx}") mgr = set_network_connection_to_mainnet( @@ -1629,7 +1776,7 @@ def verify_min_bnt_is_respected(bot: CarbonBot, mgr: Any): """ # Verify MIN_PROFIT_BNT is set and respected assert ( - bot.ConfigObj.DEFAULT_MIN_PROFIT == mgr.cfg.DEFAULT_MIN_PROFIT + bot.ConfigObj.DEFAULT_MIN_PROFIT == mgr.cfg.DEFAULT_MIN_PROFIT ), "bot failed to update min profit" mgr.cfg.logger.debug("Bot successfully updated min profit") @@ -1656,16 +1803,16 @@ def handle_target_token_addresses(static_pool_data: pd.DataFrame, target_tokens: if target_tokens: for token in target_tokens: target_token_addresses = ( - target_token_addresses - + static_pool_data[static_pool_data["tkn0_key"] == token][ - "tkn0_address" - ].tolist() + target_token_addresses + + static_pool_data[static_pool_data["tkn0_key"] == token][ + "tkn0_address" + ].tolist() ) target_token_addresses = ( - target_token_addresses - + static_pool_data[static_pool_data["tkn1_key"] == token][ - "tkn1_address" - ].tolist() + target_token_addresses + + static_pool_data[static_pool_data["tkn1_key"] == token][ + "tkn1_address" + ].tolist() ) target_token_addresses = list(set(target_token_addresses)) return target_token_addresses @@ -1687,7 +1834,7 @@ def handle_replay_from_block(replay_from_block: int) -> (int, int, bool): """ assert ( - replay_from_block > 0 + replay_from_block > 0 ), "The block number to replay from must be greater than 0." reorg_delay = 0 use_cached_events = False @@ -1695,8 +1842,9 @@ def handle_replay_from_block(replay_from_block: int) -> (int, int, bool): return polling_interval, reorg_delay, use_cached_events -#%% -def get_current_block(last_block: int, mgr: Any, reorg_delay: int, replay_from_block: int, tenderly_fork_id: str) -> int: +# %% +def get_current_block(last_block: int, mgr: Any, reorg_delay: int, replay_from_block: int, + tenderly_fork_id: str) -> int: """ Get the current block number, then adjust to the block number reorg_delay blocks ago to avoid reorgs diff --git a/main.py b/main.py index 09d2055bf..66829fe33 100644 --- a/main.py +++ b/main.py @@ -7,6 +7,8 @@ """ from web3 import Web3, HTTPProvider +from fastlane_bot.events.multicall_utils import multicall_every_iteration + try: env_var = "TENDERLY_FORK_ID" with open(".env", "r") as file: @@ -49,7 +51,6 @@ set_network_to_tenderly_if_replay, verify_min_bnt_is_respected, handle_target_token_addresses, - multicall_every_iteration, handle_replay_from_block, update_pools_from_contracts, get_current_block, ) @@ -462,173 +463,156 @@ def run( mainnet_uri = mgr.cfg.w3.provider.endpoint_uri forks_to_cleanup = [] while True: - # try: - - # Save initial state of pool data to assert whether it has changed - initial_state = mgr.pool_data.copy() - - # Get current block number, then adjust to the block number reorg_delay blocks ago to avoid reorgs - start_block, replay_from_block = get_start_block( - alchemy_max_block_fetch, last_block, mgr, reorg_delay, replay_from_block - ) + try: - # Get all events from the last block to the current block - current_block = get_current_block(last_block, mgr, reorg_delay, replay_from_block, tenderly_fork_id) + # Save initial state of pool data to assert whether it has changed + initial_state = mgr.pool_data.copy() - # Log the current start, end and last block - mgr.cfg.logger.info( - f"Fetching events from {start_block} to {current_block}... {last_block}" - ) + # Get current block number, then adjust to the block number reorg_delay blocks ago to avoid reorgs + start_block, replay_from_block = get_start_block( + alchemy_max_block_fetch, last_block, mgr, reorg_delay, replay_from_block + ) - # Set the network connection to Mainnet if replaying from a block - mgr = set_network_to_mainnet_if_replay( - last_block, - loop_idx, - mainnet_uri, - mgr, - replay_from_block, - use_cached_events, - ) + # Get all events from the last block to the current block + current_block = get_current_block(last_block, mgr, reorg_delay, replay_from_block, tenderly_fork_id) - # Get the events - latest_events = ( - get_cached_events(mgr, logging_path) - if use_cached_events - else get_latest_events( - current_block, - mgr, - n_jobs, - start_block, - cache_latest_only, - logging_path, + # Log the current start, end and last block + mgr.cfg.logger.info( + f"Fetching events from {start_block} to {current_block}... {last_block}" ) - ) - if mgr.cfg.BANCOR_POL_NAME in mgr.exchanges: - pol_contract = mgr.pool_contracts['bancor_pol'][ - mgr.cfg.BANCOR_POL_ADDRESS - ] - update_pools_from_contracts( + # Set the network connection to Mainnet if replaying from a block + mgr = set_network_to_mainnet_if_replay( + last_block, + loop_idx, + mainnet_uri, mgr, - n_jobs=n_jobs, - rows_to_update=[ - i - for i, pool_info in enumerate(mgr.pool_data) - if pool_info["exchange_name"] == mgr.cfg.BANCOR_POL_NAME - ], - current_block=current_block, - token_address=True, - multicall_contract=pol_contract + replay_from_block, + use_cached_events, ) - # Update the pools from the latest events - update_pools_from_events(n_jobs, mgr, latest_events) - - # Set the network connection to Tenderly if replaying from a block - mgr, tenderly_uri, forked_from_block = set_network_to_tenderly_if_replay( - last_block=last_block, - loop_idx=loop_idx, - mgr=mgr, - replay_from_block=replay_from_block, - tenderly_uri=tenderly_uri, - use_cached_events=use_cached_events, - tenderly_fork_id=tenderly_fork_id, - ) - - # Handle the initial iteration (backdate pools, update pools from contracts, etc.) - handle_initial_iteration( - backdate_pools=backdate_pools, - current_block=current_block, - last_block=last_block, - mgr=mgr, - n_jobs=n_jobs, - start_block=start_block - ) - - # Run multicall every iteration - multicall_every_iteration(current_block=current_block, mgr=mgr, n_jobs=n_jobs) - - # Update the last block number - last_block = current_block - - # Write the pool data to disk - write_pool_data_to_disk(cache_latest_only=cache_latest_only, logging_path=logging_path, mgr=mgr, current_block=current_block) - - # Handle/remove duplicates in the pool data - handle_duplicates(mgr) - - # Delete the bot (if it exists) to avoid memory leaks - del bot - - # Re-initialize the bot - bot = init_bot(mgr) - - # Verify that the state has changed - verify_state_changed(bot=bot, initial_state=initial_state, mgr=mgr) - - # Verify that the minimum profit in BNT is respected - verify_min_bnt_is_respected(bot=bot, mgr=mgr) - - # Handle subsequent iterations - handle_subsequent_iterations( - arb_mode=arb_mode, - bot=bot, - flashloan_tokens=flashloan_tokens, - polling_interval=polling_interval, - randomizer=randomizer, - run_data_validator=run_data_validator, - target_tokens=target_tokens, - loop_idx=loop_idx, - logging_path=logging_path, - replay_from_block=replay_from_block, - tenderly_uri=tenderly_uri, - forks_to_cleanup=forks_to_cleanup, - mgr=mgr, - forked_from_block=forked_from_block, - ) - - # Increment the loop index - loop_idx += 1 - - # Sleep for the polling interval - if not replay_from_block: - time.sleep(polling_interval) - - # Check if timeout has been hit, and if so, break the loop for tests - if timeout is not None and time.time() - start_timeout > timeout: - mgr.cfg.logger.info("Timeout hit... stopping bot") - break - - # Delete all Tenderly forks except the most recent one - if replay_from_block and not tenderly_fork_id: - break - - if loop_idx == 1: - mgr.cfg.logger.info( - """ - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - - Finished first iteration of data sync. Now starting main loop arbitrage search. - - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - """ + # Get the events + latest_events = ( + get_cached_events(mgr, logging_path) + if use_cached_events + else get_latest_events( + current_block, + mgr, + n_jobs, + start_block, + cache_latest_only, + logging_path, + ) ) - if tenderly_fork_id: - w3 = Web3(HTTPProvider(tenderly_uri)) + # Update the pools from the latest events + update_pools_from_events(n_jobs, mgr, latest_events) + + # Set the network connection to Tenderly if replaying from a block + mgr, tenderly_uri, forked_from_block = set_network_to_tenderly_if_replay( + last_block=last_block, + loop_idx=loop_idx, + mgr=mgr, + replay_from_block=replay_from_block, + tenderly_uri=tenderly_uri, + use_cached_events=use_cached_events, + tenderly_fork_id=tenderly_fork_id, + ) - # Increase time and blocks - params = [w3.toHex(increment_time)] # number of seconds - w3.provider.make_request(method="evm_increaseTime", params=params) + # Handle the initial iteration (backdate pools, update pools from contracts, etc.) + handle_initial_iteration( + backdate_pools=backdate_pools, + current_block=current_block, + last_block=last_block, + mgr=mgr, + n_jobs=n_jobs, + start_block=start_block + ) - params = [w3.toHex(increment_blocks)] # number of blocks - w3.provider.make_request(method="evm_increaseBlocks", params=params) + # Run multicall every iteration + multicall_every_iteration(current_block=current_block, mgr=mgr) + + # Update the last block number + last_block = current_block + + # Write the pool data to disk + write_pool_data_to_disk(cache_latest_only=cache_latest_only, logging_path=logging_path, mgr=mgr, current_block=current_block) + + # Handle/remove duplicates in the pool data + handle_duplicates(mgr) + + # Delete the bot (if it exists) to avoid memory leaks + del bot + + # Re-initialize the bot + bot = init_bot(mgr) + + # Verify that the state has changed + verify_state_changed(bot=bot, initial_state=initial_state, mgr=mgr) + + # Verify that the minimum profit in BNT is respected + verify_min_bnt_is_respected(bot=bot, mgr=mgr) + + # Handle subsequent iterations + handle_subsequent_iterations( + arb_mode=arb_mode, + bot=bot, + flashloan_tokens=flashloan_tokens, + polling_interval=polling_interval, + randomizer=randomizer, + run_data_validator=run_data_validator, + target_tokens=target_tokens, + loop_idx=loop_idx, + logging_path=logging_path, + replay_from_block=replay_from_block, + tenderly_uri=tenderly_uri, + forks_to_cleanup=forks_to_cleanup, + mgr=mgr, + forked_from_block=forked_from_block, + ) - # except Exception as e: - # mgr.cfg.logger.error(f"Error in main loop: {e}") - # time.sleep(polling_interval) + # Increment the loop index + loop_idx += 1 + + # Sleep for the polling interval + if not replay_from_block: + time.sleep(polling_interval) + + # Check if timeout has been hit, and if so, break the loop for tests + if timeout is not None and time.time() - start_timeout > timeout: + mgr.cfg.logger.info("Timeout hit... stopping bot") + break + + # Delete all Tenderly forks except the most recent one + if replay_from_block and not tenderly_fork_id: + break + + if loop_idx == 1: + mgr.cfg.logger.info( + """ + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + Finished first iteration of data sync. Now starting main loop arbitrage search. + + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + """ + ) + + if tenderly_fork_id: + w3 = Web3(HTTPProvider(tenderly_uri)) + + # Increase time and blocks + params = [w3.toHex(increment_time)] # number of seconds + w3.provider.make_request(method="evm_increaseTime", params=params) + + params = [w3.toHex(increment_blocks)] # number of blocks + w3.provider.make_request(method="evm_increaseBlocks", params=params) + + except Exception as e: + mgr.cfg.logger.error(f"Error in main loop: {e}") + time.sleep(polling_interval) if __name__ == "__main__": From 89391c7872883ed2e61af0467002d3596f167cc9 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Tue, 26 Sep 2023 04:21:45 -0700 Subject: [PATCH 10/33] cleanup and formatting --- fastlane_bot/config/multicaller.py | 102 ++++++++++--------------- fastlane_bot/events/multicall_utils.py | 7 ++ 2 files changed, 46 insertions(+), 63 deletions(-) diff --git a/fastlane_bot/config/multicaller.py b/fastlane_bot/config/multicaller.py index 4c30b8483..bf9528a22 100644 --- a/fastlane_bot/config/multicaller.py +++ b/fastlane_bot/config/multicaller.py @@ -1,3 +1,10 @@ +# coding=utf-8 +""" +This is the multicaller module. + +(c) Copyright Bprotocol foundation 2023. +Licensed under MIT +""" from functools import partial from typing import List, Callable, ContextManager, Any, Dict @@ -8,6 +15,7 @@ from fastlane_bot.config.multiprovider import MultiProviderContractWrapper from fastlane_bot.data.abi import MULTICALL_ABI + def cast(typ, val): """Cast a value to a type. @@ -18,6 +26,7 @@ def cast(typ, val): """ return val + def collapse_if_tuple(abi: Dict[str, Any]) -> str: """ Converts a tuple from a dict to a parenthesized list of its types. @@ -51,20 +60,36 @@ def collapse_if_tuple(abi: Dict[str, Any]) -> str: return collapsed -def get_output_types_from_abi(abi, function_name): + +def get_output_types_from_abi(abi: List[Dict[str, Any]], function_name: str) -> List[str]: + """ + Get the output types from an ABI. + + Parameters + ---------- + abi : List[Dict[str, Any]] + The ABI + function_name : str + The function name + + Returns + ------- + List[str] + The output types + + """ for item in abi: if item['type'] == 'function' and item['name'] == function_name: return [collapse_if_tuple(cast(Dict[str, Any], item)) for item in item['outputs']] raise ValueError(f"No function named {function_name} found in ABI.") -def tuple_to_list(value): - if isinstance(value, tuple): - return [tuple_to_list(v) for v in value] - return value class ContractMethodWrapper: - __DATE__ = "2022-09-24" - __VERSION__ = "0.0.1" + """ + Wraps a contract method to be used with multicall. + """ + __DATE__ = "2022-09-26" + __VERSION__ = "0.0.2" def __init__(self, original_method, multicaller): self.original_method = original_method @@ -77,11 +102,15 @@ def __call__(self, *args, **kwargs): class MultiCaller(ContextManager): - __DATE__ = "2022-09-24" - __VERSION__ = "0.0.1" + """ + Context manager for multicalls. + """ + __DATE__ = "2022-09-26" + __VERSION__ = "0.0.2" MULTICALL_CONTRACT_ADDRESS = "0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696" - def __init__(self, contract: MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract, block_identifier: Any = 'latest'): + def __init__(self, contract: MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract, + block_identifier: Any = 'latest'): self._contract_calls: List[Callable] = [] self.contract = contract self.block_identifier = block_identifier @@ -120,61 +149,8 @@ def multicall(self) -> List[Any]: encoded_data = encoded_data[1] decoded_data_list = [] - # print(f"output_types_list: {output_types_list}") for output_types, encoded_output in zip(output_types_list, encoded_data): decoded_data = decode_abi(output_types, encoded_output) decoded_data_list.append(decoded_data) return [i[0] for i in decoded_data_list] - - -# -# class ContractMethodWrapper: -# __DATE__ = "2022-09-24" -# __VERSION__ = "0.0.1" -# -# def __init__(self, original_method, multicaller): -# self.original_method = original_method -# self.multicaller = multicaller -# -# def __call__(self, *args, **kwargs): -# contract_call = self.original_method(*args, **kwargs) -# self.multicaller.add_call(contract_call) -# return contract_call -# -# -# class MultiCaller(ContextManager): -# __DATE__ = "2022-09-24" -# __VERSION__ = "0.0.1" -# MULTICALL_CONTRACT_ADDRESS = "0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696" -# -# def __init__(self, contract: MultiProviderContractWrapper, block_identifier: Any = 'latest'): -# self._contract_calls: List[Callable] = [] -# self.contract = contract -# self.block_identifier = block_identifier -# -# def __enter__(self) -> 'MultiCaller': -# return self -# -# def __exit__(self, exc_type, exc_val, exc_tb): -# if exc_type is None: -# self.multicall() -# -# def add_call(self, fn: Callable, *args, **kwargs) -> None: -# self._contract_calls.append(partial(fn, *args, **kwargs)) -# -# def multicall(self) -> Any: -# calls_for_aggregate = [ -# { -# 'target': self.contract.address, -# 'callData': fn()._encode_transaction_data() -# } -# for fn in self._contract_calls -# ] -# w3 = self.contract.web3 -# return w3.eth.contract( -# abi=MULTICALL_ABI, -# address=self.MULTICALL_CONTRACT_ADDRESS -# ).functions.aggregate(calls_for_aggregate).call(block_identifier=self.block_identifier) - - diff --git a/fastlane_bot/events/multicall_utils.py b/fastlane_bot/events/multicall_utils.py index 2748b4b69..e2f4d3696 100644 --- a/fastlane_bot/events/multicall_utils.py +++ b/fastlane_bot/events/multicall_utils.py @@ -1,3 +1,10 @@ +# coding=utf-8 +""" +This is the multicaller utils module. + +(c) Copyright Bprotocol foundation 2023. +Licensed under MIT +""" from decimal import Decimal from typing import Dict, Any from typing import List, Tuple From e2f88b01186a32a17eb4f8562924c00a1a39a291 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Tue, 26 Sep 2023 17:05:57 -0700 Subject: [PATCH 11/33] Removing brownie from everywhere --- .../workflows/release-and-pypi-publish.yml | 4 - .github/workflows/run-pytest.yml | 10 - README.md | 12 - apple-silicon-install.sh | 1 - brownie-config.yaml | 8 - brownie_setup.py | 71 - fastlane_bot/config/brownie_setup_tenderly.py | 48 - fastlane_bot/config/connect.py | 29 +- fastlane_bot/config/multicaller.py | 3 +- fastlane_bot/config/network.py | 10 - fastlane_bot/config/provider.py | 10 +- fastlane_bot/events/exchanges/carbon_v1.py | 7 +- fastlane_bot/events/managers/base.py | 31 +- fastlane_bot/events/managers/contracts.py | 4 +- fastlane_bot/events/managers/events.py | 3 +- fastlane_bot/events/managers/manager.py | 5 - fastlane_bot/events/tests/__init__.py | 0 .../tests/convert_py_test_to_jupyter.py | 94 - fastlane_bot/events/tests/test_exchanges.py | 176 -- fastlane_bot/events/tests/test_interface.py | 154 -- fastlane_bot/events/tests/test_manager.py | 398 ---- fastlane_bot/events/tests/test_pools.py | 255 --- fastlane_bot/events/tests/test_utils.py | 132 -- fastlane_bot/events/utils.py | 8 +- fastlane_bot/helpers/submithandler.py | 14 +- fastlane_bot/helpers/txhelpers.py | 19 +- fastlane_bot/tests/nbtest/__init__.py | 0 .../nbtest/_data/NBTEST_002_Curves.csv.gz | Bin 16687 -> 0 bytes .../nbtest/_data/NBTest_006-augmented.csv.gz | Bin 437898 -> 0 bytes .../tests/nbtest/_data/NBTest_006.csv.gz | Bin 437869 -> 0 bytes fastlane_bot/tests/nbtest/_data/README.md | 19 - .../tests/nbtest/test_000_Template.py | 98 - .../tests/nbtest/test_002_CPCandOptimizer.py | 1892 ----------------- .../tests/nbtest/test_003_Serialization.py | 408 ---- .../tests/nbtest/test_004_GraphCode.py | 855 -------- fastlane_bot/tests/nbtest/test_005_Uniswap.py | 253 --- .../tests/nbtest/test_007_NoneResult.py | 148 -- fastlane_bot/tests/nbtest/test_033_Pools.py | 166 -- .../tests/nbtest/test_034_Interface.py | 129 -- fastlane_bot/tests/nbtest/test_035_Utils.py | 89 - fastlane_bot/tests/nbtest/test_036_Manager.py | 163 -- .../tests/nbtest/test_037_Exchanges.py | 158 -- .../tests/nbtest/test_038_TestBancorV3Mode.py | 381 ---- .../tests/nbtest/test_039_TestMultiMode.py | 272 --- .../tests/nbtest/test_040_TestSingleMode.py | 229 -- .../nbtest/test_042_TestBancorV3ModeTwoHop.py | 465 ---- .../nbtest/test_043_TestEmptyCarbonOrders.py | 234 -- .../tests/nbtest/test_045_Validator.py | 289 --- .../tests/nbtest/test_047_Randomizer.py | 225 -- ...st_048_RespectFlashloanTokensClickParam.py | 100 - .../nbtest/test_049_CustomTradingFees.py | 150 -- .../tests/nbtest/test_050_TestBancorV2.py | 320 --- .../nbtest/test_051_BalancerFlashloans.py | 367 ---- .../tests/nbtest/test_051_CPCBalancer.py | 661 ------ .../tests/nbtest/test_053_TknMaxTrade.py | 131 -- .../nbtest/test_054_TestAutoPoolShutdown.py | 199 -- .../tests/nbtest/test_055_Optimization.py | 458 ---- .../nbtest/test_900_OptimizerDetailedSlow.py | 743 ------- .../test_901_TestMultiTriangleModeSlow.py | 247 --- .../tests/nbtest/test_903_FlashloanTokens.py | 100 - .../nbtest/test_904_Bancor3DataValidation.py | 98 - .../tests/nbtest/test_906_TargetTokens.py | 101 - requirements.txt | 1 - resources/NBTest/NBTest_036_Manager.ipynb | 20 +- resources/NBTest/NBTest_036_Manager.py | 4 +- .../NBTest/NBTest_049_CustomTradingFees.ipynb | 71 +- .../NBTest/NBTest_049_CustomTradingFees.py | 4 +- setup.py | 1 - 68 files changed, 87 insertions(+), 11668 deletions(-) delete mode 100644 brownie-config.yaml delete mode 100644 brownie_setup.py delete mode 100644 fastlane_bot/config/brownie_setup_tenderly.py delete mode 100644 fastlane_bot/events/tests/__init__.py delete mode 100644 fastlane_bot/events/tests/convert_py_test_to_jupyter.py delete mode 100644 fastlane_bot/events/tests/test_exchanges.py delete mode 100644 fastlane_bot/events/tests/test_interface.py delete mode 100644 fastlane_bot/events/tests/test_manager.py delete mode 100644 fastlane_bot/events/tests/test_pools.py delete mode 100644 fastlane_bot/events/tests/test_utils.py delete mode 100644 fastlane_bot/tests/nbtest/__init__.py delete mode 100644 fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz delete mode 100644 fastlane_bot/tests/nbtest/_data/NBTest_006-augmented.csv.gz delete mode 100644 fastlane_bot/tests/nbtest/_data/NBTest_006.csv.gz delete mode 100644 fastlane_bot/tests/nbtest/_data/README.md delete mode 100644 fastlane_bot/tests/nbtest/test_000_Template.py delete mode 100644 fastlane_bot/tests/nbtest/test_002_CPCandOptimizer.py delete mode 100644 fastlane_bot/tests/nbtest/test_003_Serialization.py delete mode 100644 fastlane_bot/tests/nbtest/test_004_GraphCode.py delete mode 100644 fastlane_bot/tests/nbtest/test_005_Uniswap.py delete mode 100644 fastlane_bot/tests/nbtest/test_007_NoneResult.py delete mode 100644 fastlane_bot/tests/nbtest/test_033_Pools.py delete mode 100644 fastlane_bot/tests/nbtest/test_034_Interface.py delete mode 100644 fastlane_bot/tests/nbtest/test_035_Utils.py delete mode 100644 fastlane_bot/tests/nbtest/test_036_Manager.py delete mode 100644 fastlane_bot/tests/nbtest/test_037_Exchanges.py delete mode 100644 fastlane_bot/tests/nbtest/test_038_TestBancorV3Mode.py delete mode 100644 fastlane_bot/tests/nbtest/test_039_TestMultiMode.py delete mode 100644 fastlane_bot/tests/nbtest/test_040_TestSingleMode.py delete mode 100644 fastlane_bot/tests/nbtest/test_042_TestBancorV3ModeTwoHop.py delete mode 100644 fastlane_bot/tests/nbtest/test_043_TestEmptyCarbonOrders.py delete mode 100644 fastlane_bot/tests/nbtest/test_045_Validator.py delete mode 100644 fastlane_bot/tests/nbtest/test_047_Randomizer.py delete mode 100644 fastlane_bot/tests/nbtest/test_048_RespectFlashloanTokensClickParam.py delete mode 100644 fastlane_bot/tests/nbtest/test_049_CustomTradingFees.py delete mode 100644 fastlane_bot/tests/nbtest/test_050_TestBancorV2.py delete mode 100644 fastlane_bot/tests/nbtest/test_051_BalancerFlashloans.py delete mode 100644 fastlane_bot/tests/nbtest/test_051_CPCBalancer.py delete mode 100644 fastlane_bot/tests/nbtest/test_053_TknMaxTrade.py delete mode 100644 fastlane_bot/tests/nbtest/test_054_TestAutoPoolShutdown.py delete mode 100644 fastlane_bot/tests/nbtest/test_055_Optimization.py delete mode 100644 fastlane_bot/tests/nbtest/test_900_OptimizerDetailedSlow.py delete mode 100644 fastlane_bot/tests/nbtest/test_901_TestMultiTriangleModeSlow.py delete mode 100644 fastlane_bot/tests/nbtest/test_903_FlashloanTokens.py delete mode 100644 fastlane_bot/tests/nbtest/test_904_Bancor3DataValidation.py delete mode 100644 fastlane_bot/tests/nbtest/test_906_TargetTokens.py diff --git a/.github/workflows/release-and-pypi-publish.yml b/.github/workflows/release-and-pypi-publish.yml index 14bfd7367..c0ae45cb0 100644 --- a/.github/workflows/release-and-pypi-publish.yml +++ b/.github/workflows/release-and-pypi-publish.yml @@ -73,10 +73,6 @@ jobs: python -m pip install --upgrade pip pip install -r requirements.txt --force-reinstall pip install bumpversion - brownie networks import ./brownie-config.yaml true - brownie networks delete mainnet - brownie networks add "Ethereum Mainnet" "mainnet" host="https://eth-mainnet.alchemyapi.io/v2/$WEB3_ALCHEMY_PROJECT_ID" chainid=1 - brownie networks set_provider alchemy env: TENDERLY_FORK: '${{ secrets.TENDERLY_FORK }}' WEB3_ALCHEMY_PROJECT_ID: '${{ secrets.WEB3_ALCHEMY_PROJECT_ID }}' diff --git a/.github/workflows/run-pytest.yml b/.github/workflows/run-pytest.yml index 15bc13862..c55f77789 100644 --- a/.github/workflows/run-pytest.yml +++ b/.github/workflows/run-pytest.yml @@ -30,16 +30,6 @@ jobs: python -m pip install --upgrade pip pip install jupytext pip install -r requirements.txt --force-reinstall - - name: Setup Brownie - run: | - brownie networks import ./brownie-config.yaml true - brownie networks delete mainnet - brownie networks add "Ethereum Mainnet" "mainnet" host="https://eth-mainnet.alchemyapi.io/v2/$WEB3_ALCHEMY_PROJECT_ID" chainid=1 - brownie networks set_provider alchemy - env: - TENDERLY_FORK: '${{ secrets.TENDERLY_FORK }}' - WEB3_ALCHEMY_PROJECT_ID: '${{ secrets.WEB3_ALCHEMY_PROJECT_ID }}' - ETHERSCAN_TOKEN: '${{ secrets.ETHERSCAN_TOKEN }}' - name: Run Tests run: | echo TENDERLY_FORK=$TENDERLY_FORK > .env diff --git a/README.md b/README.md index 110cb9130..3a531772a 100644 --- a/README.md +++ b/README.md @@ -137,18 +137,6 @@ If you encounter import errors or `ModuleNotFound` exceptions, try: python /main.py ``` -The Fastlane Arbitrage Bot uses Brownie with Alchemy for Ethereum network calls. If you need to manually configure Brownie, follow these steps: - -```bash -brownie networks update_provider alchemy https://eth-{}.alchemyapi.io/v2/$WEB3_ALCHEMY_PROJECT_ID -brownie networks modify mainnet provider=alchemy -brownie networks set_provider alchemy -``` - -For further issues, check the [Brownie documentation][bdoc]. - -[bdoc]:https://eth-brownie.readthedocs.io/en/stable/install.html - ## Change Log We follow [semantic versioning][semver] (`major.minor.patch`), updating the major number for backward incompatible API changes, minor for compatible changes, and patch for minor patches. diff --git a/apple-silicon-install.sh b/apple-silicon-install.sh index c016ff826..da297216e 100755 --- a/apple-silicon-install.sh +++ b/apple-silicon-install.sh @@ -37,7 +37,6 @@ else exit 1 fi -# Run setup.py to configure brownie if [ -f setup.py ]; then python setup.py install else diff --git a/brownie-config.yaml b/brownie-config.yaml deleted file mode 100644 index fa6889fa9..000000000 --- a/brownie-config.yaml +++ /dev/null @@ -1,8 +0,0 @@ -networks: - default: mainnet - mainnet: - default: ${DEFAULT_NETWORK:-mainnet} - multicall: '0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696' - -dotenv: .env - diff --git a/brownie_setup.py b/brownie_setup.py deleted file mode 100644 index 9f3088ffb..000000000 --- a/brownie_setup.py +++ /dev/null @@ -1,71 +0,0 @@ -# Databricks notebook source -# MAGIC %load_ext autoreload -# MAGIC %autoreload 2 -# MAGIC %reload_ext autoreload - -# COMMAND ---------- - -import contextlib -import os - -from dotenv import load_dotenv - -load_dotenv() - -# Common environment variables -WEB3_ALCHEMY_PROJECT_ID = os.environ.get('WEB3_ALCHEMY_PROJECT_ID') -DEFAULT_MIN_PROFIT_BNT = os.environ.get('DEFAULT_MIN_PROFIT_BNT') -TENDERLY_FORK_ID = os.environ.get('TENDERLY_FORK_ID') - -try: - # Get secrets - ETH_PRIVATE_KEY = dbutils.secrets.get(scope="fastlane", key=f"ETH_PRIVATE_KEY_BE_CAREFUL") - USER_EMAIL = os.environ.get('USER_EMAIL') - bot_path = f'/Workspace/Repos/{USER_EMAIL}/carbonbot-refactor' - env_path = f'{bot_path}/.env' - - # Set environment variables - os.environ["ETH_PRIVATE_KEY_BE_CAREFUL"] = ETH_PRIVATE_KEY - os.environ["WEB3_ALCHEMY_PROJECT_ID"] = WEB3_ALCHEMY_PROJECT_ID - os.environ["DEFAULT_MIN_PROFIT_BNT"] = DEFAULT_MIN_PROFIT_BNT - os.environ["TENDERLY_FORK_ID"] = TENDERLY_FORK_ID - - # Write environment variables to .env file - with open(f'{bot_path}/.env', 'w') as f: - f.write(f'ETH_PRIVATE_KEY_BE_CAREFUL={ETH_PRIVATE_KEY} \n') - f.write(f'WEB3_ALCHEMY_PROJECT_ID={WEB3_ALCHEMY_PROJECT_ID} \n') - f.write(f'DEFAULT_MIN_PROFIT_BNT={DEFAULT_MIN_PROFIT_BNT} \n') - f.write(f'TENDERLY_FORK_ID={TENDERLY_FORK_ID} \n') - - with contextlib.suppress(FileNotFoundError): - os.remove('/root/.brownie/network-config.yaml') - -except NameError: - # If not running on Databricks, then get from local env - ETH_PRIVATE_KEY = os.environ.get("ETH_PRIVATE_KEY_BE_CAREFUL") - - # Current working directory - bot_path = os.getcwd() - env_path = '.env' - -MAINNET_URL = 'https://eth-mainnet.alchemyapi.io/v2/' -TENDERLY_URL = 'https://rpc.tenderly.co/fork/' - -if not TENDERLY_FORK_ID: - RPC_URL = f"{MAINNET_URL}{WEB3_ALCHEMY_PROJECT_ID}" -else: - RPC_URL = f"{TENDERLY_URL}{TENDERLY_FORK_ID}" - -cfg = 'tenderly' if TENDERLY_FORK_ID else 'mainnet' - -del_network = f"cd {bot_path}; brownie networks delete {cfg}" - -add_network = f'cd {bot_path}; brownie networks add "Ethereum" "{cfg}" host="{RPC_URL}" chainid=1' - -set_network = f'cd {bot_path}; brownie networks set_provider alchemy' - -# Execute commands using os.system instead of ! in Jupyter notebooks -os.system(del_network) -os.system(add_network) -os.system(set_network) - diff --git a/fastlane_bot/config/brownie_setup_tenderly.py b/fastlane_bot/config/brownie_setup_tenderly.py deleted file mode 100644 index 743609a13..000000000 --- a/fastlane_bot/config/brownie_setup_tenderly.py +++ /dev/null @@ -1,48 +0,0 @@ -import contextlib -import os -from brownie import network -from dotenv import load_dotenv - -if network.is_connected(): - network.disconnect() - -load_dotenv() - -# Common environment variables -WEB3_ALCHEMY_PROJECT_ID = os.environ.get('WEB3_ALCHEMY_PROJECT_ID') -DEFAULT_MIN_PROFIT_BNT = os.environ.get('DEFAULT_MIN_PROFIT_BNT') -TENDERLY_FORK_ID = os.environ.get('TENDERLY_FORK_ID') - -# If not running on Databricks, then get from local env -ETH_PRIVATE_KEY = os.environ.get("ETH_PRIVATE_KEY_BE_CAREFUL") - -# Current working directory -bot_path = os.getcwd() -env_path = '.env' - -MAINNET_URL = 'https://eth-mainnet.alchemyapi.io/v2/' -TENDERLY_URL = 'https://rpc.tenderly.co/fork/' - -if not TENDERLY_FORK_ID: - RPC_URL = f"{MAINNET_URL}{WEB3_ALCHEMY_PROJECT_ID}" -else: - RPC_URL = f"{TENDERLY_URL}{TENDERLY_FORK_ID}" - -cfg = 'tenderly' if TENDERLY_FORK_ID else 'mainnet' - -del_network = f"cd {bot_path}; brownie networks delete {cfg}" - -add_network = f'cd {bot_path}; brownie networks add "Ethereum" "{cfg}" host="{RPC_URL}" chainid=1' - -set_network = f'cd {bot_path}; brownie networks set_provider alchemy' - -# Execute commands using os.system instead of ! in Jupyter notebooks -os.system(del_network) -os.system(add_network) -os.system(set_network) - -if network.is_connected(): - network.disconnect() - -# network.connect(cfg) - diff --git a/fastlane_bot/config/connect.py b/fastlane_bot/config/connect.py index 0301176cc..9df574b19 100644 --- a/fastlane_bot/config/connect.py +++ b/fastlane_bot/config/connect.py @@ -9,7 +9,6 @@ import subprocess from abc import ABCMeta, ABC -from brownie import network, Contract, accounts # type: ignore from eth_typing import HexStr from hexbytes import HexBytes from web3 import Web3 @@ -17,6 +16,9 @@ import os from dotenv import load_dotenv + +from fastlane_bot.config import network + load_dotenv() import logging @@ -104,9 +106,6 @@ def __init__( nonce: int = 0, ): """ - Note that Tenderly here must be configured in brownie - you can do this in the Terminal using the following command: - brownie networks add [environment] [id] host=[host] [KEY=VALUE, ...]. For example: - brownie networks add "Ethereum" "tenderly" host=https://rpc.tenderly.co/fork/7fd3f956-5409-4496-be95 chainid=1 :param network_id: the name of the network to connect to :param network_name: the name of the network to connect to @@ -168,28 +167,6 @@ def connect_network(self): if self.is_connected: return - # add_tenderly = f'brownie networks add "Ethereum" "{self.network_id}" host="{self.provider_url}"' - # mod_tenderly = f'brownie networks modify "{self.network_id}" host="{self.provider_url}" name="{self.network_name}" chainid={self.chain_id}' - # set_tenderly = f'brownie networks set_provider "{self.provider_name}"' - - # cmds = [add_tenderly, mod_tenderly, set_tenderly] - # for cmd in cmds: - # p = subprocess.Popen( - # cmd, - # stdout=subprocess.PIPE, - # stderr=subprocess.PIPE, - # stdin=subprocess.PIPE, - # shell=True, - # ) - - # stdout, stderr = p.communicate() - - # if "already exists" in stderr.decode("utf-8"): - # logger.debug(f"network {self.network_id} already exists") - - self.network = network - self.network.connect(self.network_id) - self._is_connected = True self.web3 = Web3(Web3.HTTPProvider(self.provider_url)) logger.info(f"Connected to {self.network_id} network") logger.info(f"Connected to {self.web3.provider.endpoint_uri} network") diff --git a/fastlane_bot/config/multicaller.py b/fastlane_bot/config/multicaller.py index bf9528a22..ac52a639e 100644 --- a/fastlane_bot/config/multicaller.py +++ b/fastlane_bot/config/multicaller.py @@ -8,7 +8,6 @@ from functools import partial from typing import List, Callable, ContextManager, Any, Dict -import brownie import web3 from eth_abi import decode_abi @@ -109,7 +108,7 @@ class MultiCaller(ContextManager): __VERSION__ = "0.0.2" MULTICALL_CONTRACT_ADDRESS = "0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696" - def __init__(self, contract: MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract, + def __init__(self, contract: MultiProviderContractWrapper or web3.contract.Contract, block_identifier: Any = 'latest'): self._contract_calls: List[Callable] = [] self.contract = contract diff --git a/fastlane_bot/config/network.py b/fastlane_bot/config/network.py index 751249450..5249e61cd 100644 --- a/fastlane_bot/config/network.py +++ b/fastlane_bot/config/network.py @@ -190,15 +190,5 @@ class _ConfigNetworkTenderly(ConfigNetwork): MULTICALL_CONTRACT_ADDRESS = "0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696" BANCOR_V3_VAULT = "0x649765821D9f64198c905eC0B2B037a4a52Bc373" - - def shellcommand(self, chain_id=1): - """ - the shell command to run to allow the bot to connect to tenderly - """ - s = f'brownie networks delete {self.NETWORK_NAME}\n' - s += f'brownie networks add "Ethereum" "{self.NETWORK_NAME}" ' - s += f'host=https://rpc.tenderly.co/fork/{self.TENDERLY_FORK} chainid={chain_id}' - return s - def __init__(self, **kwargs): super().__init__(**kwargs) diff --git a/fastlane_bot/config/provider.py b/fastlane_bot/config/provider.py index 03eb421a3..789aadcfe 100644 --- a/fastlane_bot/config/provider.py +++ b/fastlane_bot/config/provider.py @@ -3,6 +3,9 @@ """ __VERSION__ = "0.9.1" __DATE__ = "30/Apr 2023" + +from web3.contract import Contract + from .base import ConfigBase from . import selectors as S from .network import ConfigNetwork @@ -16,7 +19,6 @@ CARBON_CONTROLLER_ABI, FAST_LANE_CONTRACT_ABI, ) -from brownie import Contract ETH_PRIVATE_KEY_BE_CAREFUL = os.environ.get("ETH_PRIVATE_KEY_BE_CAREFUL") WEB3_ALCHEMY_PROJECT_ID = os.environ.get("WEB3_ALCHEMY_PROJECT_ID") @@ -91,13 +93,11 @@ def __init__(self, network: ConfigNetwork, **kwargs): self.connection.connect_network() self.w3 = self.connection.web3 self.LOCAL_ACCOUNT = self.w3.eth.account.from_key(ETH_PRIVATE_KEY_BE_CAREFUL) - self.BANCOR_NETWORK_INFO_CONTRACT = Contract.from_abi( - name=N.BANCOR_V3_NAME, + self.BANCOR_NETWORK_INFO_CONTRACT = self.w3.eth.contract( address=N.BANCOR_V3_NETWORK_INFO_ADDRESS, abi=BANCOR_V3_NETWORK_INFO_ABI, ) - self.CARBON_CONTROLLER_CONTRACT = Contract.from_abi( - name=N.CARBON_V1_NAME, + self.CARBON_CONTROLLER_CONTRACT = self.w3.eth.contract( address=N.CARBON_CONTROLLER_ADDRESS, abi=CARBON_CONTROLLER_ABI, ) diff --git a/fastlane_bot/events/exchanges/carbon_v1.py b/fastlane_bot/events/exchanges/carbon_v1.py index 34cae9329..14d5caaff 100644 --- a/fastlane_bot/events/exchanges/carbon_v1.py +++ b/fastlane_bot/events/exchanges/carbon_v1.py @@ -11,7 +11,6 @@ import web3 from fastlane_bot import Config from web3.contract import Contract -from brownie.network.contract import Contract as BrownieContract from fastlane_bot.data.abi import CARBON_CONTROLLER_ABI from fastlane_bot.events.exchanges.base import Exchange @@ -63,7 +62,7 @@ def get_events(self, contract: Contract) -> List[Type[Contract]]: ] def get_fee( - self, address: str, contract: Contract or BrownieContract + self, address: str, contract: Contract ) -> Tuple[str, float]: """ Get the fee from the contract. @@ -149,7 +148,7 @@ def save_strategy( block_number: int, cfg: Config, func: Callable, - carbon_controller: BrownieContract, + carbon_controller: Contract, ) -> Dict[str, Any]: """ Add the pool info from the strategy. @@ -164,7 +163,7 @@ def save_strategy( The config. func : Callable The function to call. - carbon_controller : BrownieContract + carbon_controller : Contract The carbon controller contract. Returns diff --git a/fastlane_bot/events/managers/base.py b/fastlane_bot/events/managers/base.py index d88a0e761..0e50591fc 100644 --- a/fastlane_bot/events/managers/base.py +++ b/fastlane_bot/events/managers/base.py @@ -9,10 +9,8 @@ from dataclasses import dataclass, field from typing import List, Dict, Any, Type, Optional, Tuple -import brownie from web3 import Web3 from web3.contract import Contract -from brownie.network.contract import Contract as BrownieContract from fastlane_bot import Config from fastlane_bot.config.multicaller import MultiCaller @@ -254,21 +252,6 @@ def get_tkn_info(self, address: str) -> Tuple[Optional[str], Optional[int]]: ) return tkns or (None, None) - # def multicall(self, address: str): - # """ - # - # Parameters - # ---------- - # address : str - # The address of the contract to call. - # """ - # if self.replay_from_block: - # return brownie.multicall( - # address=address, block_identifier=self.replay_from_block - # ) - # else: - # return brownie.multicall(address) - def get_rows_to_update(self, update_from_contract_block: int) -> List[int]: """ Get the rows to update. @@ -448,10 +431,9 @@ def create_or_get_carbon_controller(self): return self.pool_contracts["carbon_v1"][self.cfg.CARBON_CONTROLLER_ADDRESS] # Create a CarbonController contract object - carbon_controller = brownie.Contract.from_abi( + carbon_controller = self.cfg.w3.eth.contract( address=self.cfg.CARBON_CONTROLLER_ADDRESS, abi=self.exchanges["carbon_v1"].get_abi(), - name="CarbonController", ) # Store the contract object in pool_contracts @@ -463,7 +445,7 @@ def create_or_get_carbon_controller(self): def get_strats_by_contract( self, pairs: List[Tuple[str, str, int, int]], - carbon_controller: BrownieContract, + carbon_controller: Contract, ) -> List[List[Any]]: """ Get the strategies by contract. @@ -472,7 +454,7 @@ def get_strats_by_contract( ---------- pairs : List[Tuple[str, str, int, int]] The pairs. - carbon_controller : BrownieContract + carbon_controller : Contract The CarbonController contract object. Returns @@ -582,7 +564,7 @@ def get_strategies( ) def get_fees_by_pair( - self, all_pairs: List[Tuple[str, str]], carbon_controller: BrownieContract + self, all_pairs: List[Tuple[str, str]], carbon_controller: Contract ): """ Get the fees by pair. @@ -591,7 +573,7 @@ def get_fees_by_pair( ---------- all_pairs : List[Tuple[str, str]] The pairs. - carbon_controller : BrownieContract + carbon_controller : Contract The carbon controller contract object. Returns @@ -861,10 +843,9 @@ def create_or_get_bancor_pol_contract(self): return self.pool_contracts["bancor_pol"][self.cfg.BANCOR_POL_ADDRESS] # Create a CarbonController contract object - bancor_pol = brownie.Contract.from_abi( + bancor_pol = self.cfg.w3.eth.contract( address=self.cfg.BANCOR_POL_ADDRESS, abi=self.exchanges["bancor_pol"].get_abi(), - name="BancorPol", ) # Store the contract object in pool_contracts diff --git a/fastlane_bot/events/managers/contracts.py b/fastlane_bot/events/managers/contracts.py index 8d2dad7b4..ea0687fc0 100644 --- a/fastlane_bot/events/managers/contracts.py +++ b/fastlane_bot/events/managers/contracts.py @@ -5,10 +5,8 @@ (c) Copyright Bprotocol foundation 2023. Licensed under MIT """ -import os -from typing import Dict, Any, Tuple, Optional +from typing import Dict, Any, Tuple -import brownie from web3 import Web3 from web3.contract import Contract diff --git a/fastlane_bot/events/managers/events.py b/fastlane_bot/events/managers/events.py index c2b297ced..c9ec3ae7c 100644 --- a/fastlane_bot/events/managers/events.py +++ b/fastlane_bot/events/managers/events.py @@ -8,14 +8,13 @@ from typing import Dict, Any, List, Type, Tuple from web3.contract import Contract -from brownie.network.contract import Contract as BrownieContract from fastlane_bot.events.managers.base import BaseManager class EventManager(BaseManager): @property - def events(self) -> List[Contract or BrownieContract]: + def events(self) -> List[Contract]: """ Get the events from the exchanges. diff --git a/fastlane_bot/events/managers/manager.py b/fastlane_bot/events/managers/manager.py index 2d8d84e42..a6045a898 100644 --- a/fastlane_bot/events/managers/manager.py +++ b/fastlane_bot/events/managers/manager.py @@ -9,13 +9,8 @@ import time from typing import Dict, Any, Optional -import brownie -import web3 -from web3 import Web3 from web3.contract import Contract -from fastlane_bot.config.multiprovider import MultiProviderContractWrapper -from fastlane_bot.data.abi import ERC20_ABI from fastlane_bot.events.managers.contracts import ContractsManager from fastlane_bot.events.managers.events import EventManager from fastlane_bot.events.managers.pools import PoolManager diff --git a/fastlane_bot/events/tests/__init__.py b/fastlane_bot/events/tests/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/fastlane_bot/events/tests/convert_py_test_to_jupyter.py b/fastlane_bot/events/tests/convert_py_test_to_jupyter.py deleted file mode 100644 index f43a56f7d..000000000 --- a/fastlane_bot/events/tests/convert_py_test_to_jupyter.py +++ /dev/null @@ -1,94 +0,0 @@ -# coding=utf-8 -""" -Converts traditional pytest test files into Jupyter notebooks. - -Example Usage: - python fastlane_bot/events/tests/convert_py_test_to_jupyter.py fastlane_bot/events/tests/test_manager.py NBTest_036_events_Manager.ipynb - -""" -import ast -import textwrap - -import nbformat as nbf -import click -from astunparse import unparse - - -class RewriteFunctions(ast.NodeTransformer): - def visit_FunctionDef(self, node): - # If the function is a test function or a pytest fixture, transform it to standalone code - if node.name.startswith("test_") or any( - decorator.__dict__["attr"] in ["fixture", "mark"] - for decorator in node.decorator_list - if hasattr(decorator, "__dict__") and "attr" in decorator.__dict__ - ): - node.decorator_list = [] # Remove decorators - return node # Return the modified function - return node # Leave the function definition unchanged for non-test functions - - def return_function_body(self, node): - # Return the body of the function as a string - if node.name.startswith("test_") or any( - decorator.__dict__["attr"] in ["fixture", "mark"] - for decorator in node.decorator_list - if hasattr(decorator, "__dict__") and "attr" in decorator.__dict__ - ): - # node.decorator_list = [] # Remove decorators - # return node # Return the modified function - return unparse(node.body) - return node # Leave the function definition unchanged for non-test functions - - -@click.command() -@click.argument("python_filename", type=click.Path(exists=True)) -@click.argument("output_notebook", type=click.Path()) -def convert_python_to_notebook(python_filename, output_notebook): - # Open and read the python file - with open(python_filename, "r") as file: - python_code = file.read() - - # Find the last import statement line (assume it's "require("3.0", __VERSION__)") - last_import_line = python_code.index('require("3.0", __VERSION__)') - last_import_line += len('require("3.0", __VERSION__)') - - # Split python_code into import statements and the rest of the code - import_statements, rest_of_code = ( - python_code[:last_import_line], - python_code[last_import_line:], - ) - - # Create a new notebook - nb = nbf.v4.new_notebook() - - # Add import statements to the first cell - nb["cells"].append(nbf.v4.new_code_cell(import_statements.strip())) - - # Parse the rest of the code into an Abstract Syntax Tree (AST) - module = ast.parse(rest_of_code) - - # Rewrite test functions and fixtures to standalone code - transformer = RewriteFunctions() - module = transformer.visit(module) - - # Unparse each function (now standalone code) back to Python code and add the Python code to a new notebook cell - for stmt in ast.iter_child_nodes(module): - if isinstance(stmt, ast.FunctionDef): # Only include function definitions - standalone_code = unparse(ast.Module(body=[stmt])) - - # Remove the function definition (first line of standalone_code) - standalone_code = "\n".join(standalone_code.split("\n")[3:]) - standalone_code = "\n".join(standalone_code.split("\n")[:-2]) - - # Dedent the code - standalone_code = textwrap.dedent(standalone_code) - - # Add the standalone code to a new notebook cell - nb["cells"].append(nbf.v4.new_code_cell(standalone_code)) - - # Write the notebook to a file - with open(output_notebook, "w") as file: - nbf.write(nb, file) - - -if __name__ == "__main__": - convert_python_to_notebook() diff --git a/fastlane_bot/events/tests/test_exchanges.py b/fastlane_bot/events/tests/test_exchanges.py deleted file mode 100644 index c523eb0fc..000000000 --- a/fastlane_bot/events/tests/test_exchanges.py +++ /dev/null @@ -1,176 +0,0 @@ -# coding=utf-8 -""" -This module contains the tests for the exchanges classes -""" -import json - -from fastlane_bot import Bot -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import ( - UniswapV2, - UniswapV3, - SushiswapV2, - CarbonV1, - BancorV3, -) -from fastlane_bot.data.abi import ( - UNISWAP_V2_POOL_ABI, - UNISWAP_V3_POOL_ABI, - SUSHISWAP_POOLS_ABI, - BANCOR_V3_POOL_COLLECTION_ABI, - CARBON_CONTROLLER_ABI, -) -from unittest.mock import Mock -import pytest - -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * - -plt.style.use("seaborn-dark") -plt.rcParams["figure.figsize"] = [12, 6] -from fastlane_bot import __VERSION__ - -require("3.0", __VERSION__) - - -@pytest.fixture -def setup_data(): - with open("fastlane_bot/data/event_test_data.json", "r") as f: - setup_data = json.load(f) - return setup_data - - -# The contract fixture creates a mocked contract with predefined return values -@pytest.fixture -def mocked_contract(): - mocked_contract = Mock() - mocked_contract.functions.token0.return_value.call.return_value = "token0" - mocked_contract.functions.token1.return_value.call.return_value = "token1" - mocked_contract.functions.fee.return_value.call.return_value = 3000 - return mocked_contract - - -def test_uniswap_v2_exchange(setup_data, mocked_contract): - uniswap_v2_exchange = UniswapV2() - assert ( - uniswap_v2_exchange.get_abi() == UNISWAP_V2_POOL_ABI - ) # replace with your constant - assert uniswap_v2_exchange.get_fee("", mocked_contract) == ("0.003", 0.003) - assert ( - uniswap_v2_exchange.get_tkn0("", mocked_contract, {}) - == mocked_contract.functions.token0().call() - ) - assert ( - uniswap_v2_exchange.get_tkn1("", mocked_contract, {}) - == mocked_contract.functions.token1().call() - ) - - -def test_uniswap_v3_exchange(setup_data, mocked_contract): - uniswap_v3_exchange = UniswapV3() - assert ( - uniswap_v3_exchange.get_abi() == UNISWAP_V3_POOL_ABI - ) # replace with your constant - assert uniswap_v3_exchange.get_fee("", mocked_contract) == ( - mocked_contract.functions.fee().call(), - float(mocked_contract.functions.fee().call()) / 1e6, - ) - assert ( - uniswap_v3_exchange.get_tkn0("", mocked_contract, {}) - == mocked_contract.functions.token0().call() - ) - assert ( - uniswap_v3_exchange.get_tkn1("", mocked_contract, {}) - == mocked_contract.functions.token1().call() - ) - - -def test_sushiswap_v2_exchange(setup_data, mocked_contract): - sushiswap_v2_exchange = SushiswapV2() - assert ( - sushiswap_v2_exchange.get_abi() == SUSHISWAP_POOLS_ABI - ) # replace with your constant - assert sushiswap_v2_exchange.get_fee("", mocked_contract) == ("0.003", 0.003) - assert ( - sushiswap_v2_exchange.get_tkn0("", mocked_contract, {}) - == mocked_contract.functions.token0().call() - ) - assert ( - sushiswap_v2_exchange.get_tkn1("", mocked_contract, {}) - == mocked_contract.functions.token1().call() - ) - - -def test_bancor_v3_exchange(setup_data, mocked_contract): - bancor_v3_exchange = BancorV3() - assert ( - bancor_v3_exchange.get_abi() == BANCOR_V3_POOL_COLLECTION_ABI - ) # replace with your constant - assert bancor_v3_exchange.get_fee("", mocked_contract) == ("0.000", 0.000) - assert ( - bancor_v3_exchange.get_tkn0("", mocked_contract, setup_data["bancor_v3_event"]) - == bancor_v3_exchange.BNT_ADDRESS - ) - assert ( - bancor_v3_exchange.get_tkn1("", mocked_contract, setup_data["bancor_v3_event"]) - == setup_data["bancor_v3_event"]["args"]["pool"] - if setup_data["bancor_v3_event"]["args"]["pool"] - != bancor_v3_exchange.BNT_ADDRESS - else setup_data["bancor_v3_event"]["args"]["tkn_address"] - ) - - -def test_carbon_v1_exchange_update(setup_data, mocked_contract): - carbon_v1_exchange = CarbonV1() - assert ( - carbon_v1_exchange.get_abi() == CARBON_CONTROLLER_ABI - ) # replace with your constant - assert carbon_v1_exchange.get_fee("", mocked_contract) == ("0.002", 0.002) - assert ( - carbon_v1_exchange.get_tkn0( - "", mocked_contract, setup_data["carbon_v1_event_update"] - ) - == setup_data["carbon_v1_event_update"]["args"]["token0"] - ) - assert ( - carbon_v1_exchange.get_tkn1( - "", mocked_contract, setup_data["carbon_v1_event_update"] - ) - == setup_data["carbon_v1_event_update"]["args"]["token1"] - ) - - -def test_carbon_v1_exchange_create(setup_data, mocked_contract): - carbon_v1_exchange = CarbonV1() - assert ( - carbon_v1_exchange.get_abi() == CARBON_CONTROLLER_ABI - ) # replace with your constant - assert carbon_v1_exchange.get_fee("", mocked_contract) == ("0.002", 0.002) - assert ( - carbon_v1_exchange.get_tkn0( - "", mocked_contract, setup_data["carbon_v1_event_create"] - ) - == setup_data["carbon_v1_event_create"]["args"]["token0"] - ) - assert ( - carbon_v1_exchange.get_tkn1( - "", mocked_contract, setup_data["carbon_v1_event_create"] - ) - == setup_data["carbon_v1_event_create"]["args"]["token1"] - ) - - -def test_carbon_v1_exchange_delete(setup_data, mocked_contract): - carbon_v1_exchange = CarbonV1() - assert carbon_v1_exchange.get_abi() == CARBON_CONTROLLER_ABI - cid = setup_data["carbon_v1_event_delete"]["args"]["id"] - assert cid not in [strat["cid"] for strat in carbon_v1_exchange.pools] - - -#%% diff --git a/fastlane_bot/events/tests/test_interface.py b/fastlane_bot/events/tests/test_interface.py deleted file mode 100644 index 65046aba1..000000000 --- a/fastlane_bot/events/tests/test_interface.py +++ /dev/null @@ -1,154 +0,0 @@ -# coding=utf-8 -""" -This module contains the tests for the exchanges classes -""" -from dataclasses import asdict -from unittest.mock import MagicMock -from unittest.mock import Mock - -import pytest - -from fastlane_bot import Bot -from fastlane_bot.events.exchanges import ( - UniswapV2, - UniswapV3, - SushiswapV2, - CarbonV1, - BancorV3, -) -from fastlane_bot.events.interface import QueryInterface, Token -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC - -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(QueryInterface)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Token)) - -from fastlane_bot.testing import * - -plt.style.use("seaborn-dark") -plt.rcParams["figure.figsize"] = [12, 6] -from fastlane_bot import __VERSION__ - -require("3.0", __VERSION__) - - -@pytest.fixture -def qi(): - cfg_mock = Mock() - cfg_mock.logger = MagicMock() - - qi = QueryInterface(mgr=None, ConfigObj=cfg_mock) - - qi.state = [ - { - "exchange_name": "uniswap_v2", - "address": "0x123", - "tkn0_key": "TKN-0x123", - "tkn1_key": "TKN-0x456", - "pair_name": "Pair-0x789", - "liquidity": 10, - }, - { - "exchange_name": "sushiswap_v2", - "address": "0xabc", - "tkn0_key": "TKN-0xabc", - "tkn1_key": "TKN-0xdef", - "pair_name": "Pair-0xghi", - "liquidity": 0, - }, - ] - return qi - - -def test_remove_unsupported_exchanges(qi): - qi.exchanges = ["uniswap_v2"] - qi.remove_unsupported_exchanges() - assert len(qi.state) == 1 - assert qi.state[0]["exchange_name"] == "uniswap_v2" - - -def test_has_balance(qi): - assert qi.has_balance(qi.state[0], "liquidity") == True - assert qi.has_balance(qi.state[1], "liquidity") == False - - -def test_filter_pools(qi): - assert len(qi.filter_pools("uniswap_v2")) == 1 - assert len(qi.filter_pools("sushiswap_v2")) == 1 - - -def test_cleanup_token_key(qi): - assert qi.cleanup_token_key("TKN-Hello-0x123") == "TKN_Hello-0x123" - assert qi.cleanup_token_key("TKN-0x123") == "TKN-0x123" - - -def test_update_state(qi): - new_state = [ - { - "exchange_name": "bancor_v2", - "address": "0xabc", - "tkn0_key": "TKN-0xabc", - "tkn1_key": "TKN-0xdef", - "pair_name": "Pair-0xghi", - "liquidity": 10, - } - ] - qi.update_state(new_state) - assert qi.state == new_state - - -def test_get_token(qi): - new_state = [ - { - "exchange_name": "bancor_v2", - "address": "0xabc", - "tkn0_key": "TKN-0x123", - "tkn1_key": "TKN-0xdef", - "pair_name": "Pair-0xghi", - "liquidity": 10, - } - ] - qi.update_state(new_state) - token = qi.get_token("TKN-0x123") - assert isinstance(token, Token) - assert token.key == "TKN-0x123" - - -def test_get_pool(qi): - new_state = [ - { - "last_updated_block": 17614344, - "address": "0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1", - "exchange_name": "carbon_v1", - "tkn0_address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", - "tkn1_address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "tkn0_symbol": "ETH", - "tkn1_symbol": "USDC", - "tkn0_decimals": 18, - "tkn1_decimals": 6, - "cid": 1701411834604692317316873037158841057365, - "tkn0_key": "ETH-EEeE", - "tkn1_key": "USDC-eB48", - "pair_name": "ETH-EEeE/USDC-eB48", - "fee_float": 0.002, - "fee": "0.002", - "descr": "carbon_v1 ETH-EEeE/USDC-eB48 0.002", - "y_0": 9882507039899549, - "y_1": 0, - "z_0": 9882507039899549, - "z_1": 17936137, - "A_0": 0, - "A_1": 99105201, - "B_0": 0, - "B_1": 11941971885, - } - ] - qi.update_state(new_state) - pool = qi.get_pool(cid=1701411834604692317316873037158841057365) - assert asdict(pool)["cid"] == 1701411834604692317316873037158841057365 diff --git a/fastlane_bot/events/tests/test_manager.py b/fastlane_bot/events/tests/test_manager.py deleted file mode 100644 index 3b8f9efc5..000000000 --- a/fastlane_bot/events/tests/test_manager.py +++ /dev/null @@ -1,398 +0,0 @@ -# coding=utf-8 -""" -This module contains the tests for the manager class methods which are multicall related -""" - -from unittest.mock import Mock, patch, call - -import brownie -import pytest -from unittest.mock import MagicMock -from brownie import multicall as brownie_multicall - -from fastlane_bot import Bot, Config -from fastlane_bot.events.exchanges import ( - UniswapV2, - UniswapV3, - SushiswapV2, - CarbonV1, - BancorV3, -) -from fastlane_bot.events.managers.manager import Manager -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC - -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * - -plt.style.use("seaborn-dark") -plt.rcParams["figure.figsize"] = [12, 6] -from fastlane_bot import __VERSION__ - -require("3.0", __VERSION__) - - -@pytest.fixture -def pool_data(): - nan = np.NaN - pool_data = [ - { - "cid": "0xb3b0dbb95f1f70e1f053360d9bccef3fbe7c5e2b615e833a9faae18c299a0fc9", - "last_updated": nan, - "last_updated_block": 17634372, - "descr": "bancor_v3 BNT-FF1C/MATIC-eBB0 0.000", - "pair_name": "BNT-FF1C/MATIC-eBB0", - "exchange_name": "bancor_v3", - "fee": "0.000", - "fee_float": 0.0, - "address": "0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2", - "anchor": nan, - "tkn0_address": "0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C", - "tkn1_address": "0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0", - "tkn0_key": "BNT-FF1C", - "tkn1_key": "MATIC-eBB0", - "tkn0_decimals": 18, - "tkn1_decimals": 18, - "exchange_id": 2, - "tkn0_symbol": "BNT", - "tkn1_symbol": "MATIC", - "timestamp": nan, - "tkn0_balance": 371729474548077247680443, - "tkn1_balance": 216554584335493056216168, - "liquidity": nan, - "sqrt_price_q96": nan, - "tick": nan, - "tick_spacing": 0, - }, - { - "cid": "0x38d373a29b8a7e621ee373ee76138184a67092259bd24ab1434ec90b98235efd", - "last_updated": nan, - "last_updated_block": 17634372, - "descr": "bancor_v3 BNT-FF1C/ENS-9D72 0.000", - "pair_name": "BNT-FF1C/ENS-9D72", - "exchange_name": "bancor_v3", - "fee": "0.000", - "fee_float": 0.0, - "address": "0xBC19712FEB3a26080eBf6f2F7849b417FdD792CA", - "anchor": nan, - "tkn0_address": "0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C", - "tkn1_address": "0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72", - "tkn0_key": "BNT-FF1C", - "tkn1_key": "ENS-9D72", - "tkn0_decimals": 18, - "tkn1_decimals": 18, - "exchange_id": 2, - "tkn0_symbol": "BNT", - "tkn1_symbol": "ENS", - "timestamp": nan, - "tkn0_balance": 104058085529730176588006, - "tkn1_balance": 4547023863756451207684, - "liquidity": nan, - "sqrt_price_q96": nan, - "tick": nan, - "tick_spacing": 0, - }, - { - "cid": "0x56f1f774ece226fac7c9940c98ead630bfc18a39fa2f2bdcdc56e6234d4477b1", - "last_updated": nan, - "last_updated_block": 17634372, - "descr": "bancor_v3 BNT-FF1C/ALPHA-0975 0.000", - "pair_name": "BNT-FF1C/ALPHA-0975", - "exchange_name": "bancor_v3", - "fee": "0.000", - "fee_float": 0.0, - "address": "0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272", - "anchor": nan, - "tkn0_address": "0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C", - "tkn1_address": "0xa1faa113cbE53436Df28FF0aEe54275c13B40975", - "tkn0_key": "BNT-FF1C", - "tkn1_key": "ALPHA-0975", - "tkn0_decimals": 18, - "tkn1_decimals": 18, - "exchange_id": 2, - "tkn0_symbol": "BNT", - "tkn1_symbol": "ALPHA", - "timestamp": nan, - "tkn0_balance": 0, - "tkn1_balance": 0, - "liquidity": nan, - "sqrt_price_q96": nan, - "tick": nan, - "tick_spacing": 0, - }, - { - "cid": "0x1b65e937b57a618d40da4236ae854d33a843042a9abc84ba72d808ad67435a42", - "last_updated": nan, - "last_updated_block": 17634372, - "descr": "bancor_v3 BNT-FF1C/HEGIC-8430 0.000", - "pair_name": "BNT-FF1C/HEGIC-8430", - "exchange_name": "bancor_v3", - "fee": "0.000", - "fee_float": 0.0, - "address": "0x5218E472cFCFE0b64A064F055B43b4cdC9EfD3A6", - "anchor": nan, - "tkn0_address": "0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C", - "tkn1_address": "0x584bC13c7D411c00c01A62e8019472dE68768430", - "tkn0_key": "BNT-FF1C", - "tkn1_key": "HEGIC-8430", - "tkn0_decimals": 18, - "tkn1_decimals": 18, - "exchange_id": 2, - "tkn0_symbol": "BNT", - "tkn1_symbol": "HEGIC", - "timestamp": nan, - "tkn0_balance": 0, - "tkn1_balance": 0, - "liquidity": nan, - "sqrt_price_q96": nan, - "tick": nan, - "tick_spacing": 0, - }, - { - "cid": "0x561b7f22cadc1359057c07c5a1f11ae4d087a753aa87629ed92b38175e60c3ae", - "last_updated": nan, - "last_updated_block": 17634372, - "descr": "bancor_v3 BNT-FF1C/ZCN-3B78 0.000", - "pair_name": "BNT-FF1C/ZCN-3B78", - "exchange_name": "bancor_v3", - "fee": "0.000", - "fee_float": 0.0, - "address": "0x1559FA1b8F28238FD5D76D9f434ad86FD20D1559", - "anchor": nan, - "tkn0_address": "0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C", - "tkn1_address": "0xb9EF770B6A5e12E45983C5D80545258aA38F3B78", - "tkn0_key": "BNT-FF1C", - "tkn1_key": "ZCN-3B78", - "tkn0_decimals": 18, - "tkn1_decimals": 10, - "exchange_id": 2, - "tkn0_symbol": "BNT", - "tkn1_symbol": "ZCN", - "timestamp": nan, - "tkn0_balance": 109709381661658805787397, - "tkn1_balance": 3264962522647673, - "liquidity": nan, - "sqrt_price_q96": nan, - "tick": nan, - "tick_spacing": 0, - }, - ] - return pool_data - - -@pytest.fixture -def carbon_events(): - carbon_events = [ - { - "last_updated_block": 17634377, - "address": "0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1", - "exchange_name": "carbon_v1", - "tkn0_address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", - "tkn1_address": "0x6B175474E89094C44Da98b954EedeAC495271d0F", - "tkn0_symbol": "ETH", - "tkn1_symbol": "DAI", - "tkn0_decimals": 18, - "tkn1_decimals": 18, - "cid": 340282366920938463463374607431768211457, - "tkn0_key": "ETH-EEeE", - "tkn1_key": "DAI-1d0F", - "pair_name": "ETH-EEeE/DAI-1d0F", - "fee_float": 0.002, - "fee": "0.002", - "descr": "carbon_v1 ETH-EEeE/DAI-1d0F 0.002", - "y_0": 1000000000000000, - "y_1": 0, - "z_0": 1000000000000000, - "z_1": 0, - "A_0": 0, - "A_1": 0, - "B_0": 6382340776412, - "B_1": 1875443170982464, - }, - { - "last_updated_block": 17634377, - "address": "0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1", - "exchange_name": "carbon_v1", - "tkn0_address": "0x6B175474E89094C44Da98b954EedeAC495271d0F", - "tkn1_address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", - "tkn0_symbol": "DAI", - "tkn1_symbol": "ETH", - "tkn0_decimals": 18, - "tkn1_decimals": 18, - "cid": 340282366920938463463374607431768211593, - "tkn0_key": "DAI-1d0F", - "tkn1_key": "ETH-EEeE", - "pair_name": "DAI-1d0F/ETH-EEeE", - "fee_float": 0.002, - "fee": "0.002", - "descr": "carbon_v1 DAI-1d0F/ETH-EEeE 0.002", - "y_0": 0, - "y_1": 0, - "z_0": 0, - "z_1": 0, - "A_0": 88739322630080, - "A_1": 30784910546, - "B_0": 1876725096051745, - "B_1": 6418617024516, - }, - { - "last_updated_block": 17634377, - "address": "0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1", - "exchange_name": "carbon_v1", - "tkn0_address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", - "tkn1_address": "0x6B175474E89094C44Da98b954EedeAC495271d0F", - "tkn0_symbol": "ETH", - "tkn1_symbol": "DAI", - "tkn0_decimals": 18, - "tkn1_decimals": 18, - "cid": 340282366920938463463374607431768211614, - "tkn0_key": "ETH-EEeE", - "tkn1_key": "DAI-1d0F", - "pair_name": "ETH-EEeE/DAI-1d0F", - "fee_float": 0.002, - "fee": "0.002", - "descr": "carbon_v1 ETH-EEeE/DAI-1d0F 0.002", - "y_0": 157076304796171508, - "y_1": 191076681422897394849, - "z_0": 257505273765924104, - "z_1": 462002783910000000000, - "A_0": 197764438468, - "A_1": 235894416821184, - "B_0": 6293971818901, - "B_1": 1873305839476414, - }, - { - "last_updated_block": 17634377, - "address": "0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1", - "exchange_name": "carbon_v1", - "tkn0_address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", - "tkn1_address": "0x6B175474E89094C44Da98b954EedeAC495271d0F", - "tkn0_symbol": "ETH", - "tkn1_symbol": "DAI", - "tkn0_decimals": 18, - "tkn1_decimals": 18, - "cid": 340282366920938463463374607431768211607, - "tkn0_key": "ETH-EEeE", - "tkn1_key": "DAI-1d0F", - "pair_name": "ETH-EEeE/DAI-1d0F", - "fee_float": 0.002, - "fee": "0.002", - "descr": "carbon_v1 ETH-EEeE/DAI-1d0F 0.002", - "y_0": 0, - "y_1": 0, - "z_0": 0, - "z_1": 0, - "A_0": 69065909368, - "A_1": 106270057837888, - "B_0": 6457478834827, - "B_1": 1874403645842739, - }, - { - "last_updated_block": 17634377, - "address": "0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1", - "exchange_name": "carbon_v1", - "tkn0_address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", - "tkn1_address": "0x6B175474E89094C44Da98b954EedeAC495271d0F", - "tkn0_symbol": "ETH", - "tkn1_symbol": "DAI", - "tkn0_decimals": 18, - "tkn1_decimals": 18, - "cid": 340282366920938463463374607431768211673, - "tkn0_key": "ETH-EEeE", - "tkn1_key": "DAI-1d0F", - "pair_name": "ETH-EEeE/DAI-1d0F", - "fee_float": 0.002, - "fee": "0.002", - "descr": "carbon_v1 ETH-EEeE/DAI-1d0F 0.002", - "y_0": 1, - "y_1": 940344, - "z_0": 9403439, - "z_1": 940344, - "A_0": 0, - "A_1": 0, - "B_0": 785475461108442, - "B_1": 2814749767, - }, - ] - return carbon_events - - -@pytest.fixture -def manager(pool_data): - cfg = Config.new(config=Config.CONFIG_MAINNET) - w3 = cfg.w3 - manager = Manager( - cfg=cfg, - pool_data=pool_data, - alchemy_max_block_fetch=20, - web3=w3, - SUPPORTED_EXCHANGES=["bancor_v3", "carbon_v1"], - ) - return manager - - -def get_rows_to_update(pool_data): - # return the index of the pool_data - rows_to_update = [idx for idx, row in enumerate(pool_data)] - return rows_to_update - - -# This is a simple counter variable that we'll increment every time we call the function. -multicall_counter = 0 - - -def my_multicall(*args, **kwargs): - # This is a wrapper function that increments the counter each time it's called, - # then calls the original function. - global multicall_counter - multicall_counter += 1 - return brownie_multicall(*args, **kwargs) - - -@patch.object(brownie, "multicall", autospec=True) -@patch("fastlane_bot.events.manager.Base.update") -def test_update_pools_directly_from_contracts_bancor_v3( - self, update_mock, manager, pool_data -): - - # Replace the original function with our wrapper function. - brownie.multicall = my_multicall - - # Now when you call your function, the counter will be incremented each time - # the brownie.multicall function is called. - manager.update_pools_directly_from_contracts( - n_jobs=2, rows_to_update=[0, 1, 2, 3], not_bancor_v3=False, current_block=1 - ) - - # And you can check the value of the counter. - assert multicall_counter == 1 - - # Check the 'update' function calls - expected_calls = [ - call(pool_info=pool_data[i], limiter=False, block_number=1) - for i in [0, 1, 2, 3] - ] - manager.update.assert_has_calls(expected_calls, any_order=True) - - -@patch.object(brownie, "multicall", autospec=True) # We mock the multicall function -def test_get_strats_by_pair(self, manager): - - manager.cfg.MULTICALL_CONTRACT_ADDRESS = ( - "0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696" - ) - all_pairs = [(1, 2), (3, 4)] - carbon_controller_mock = Mock() - carbon_controller_mock.strategiesByPair.side_effect = [[(5, 6)], [(7, 8)]] - result = manager.get_strats_by_pair(all_pairs, carbon_controller_mock) - carbon_controller_mock.strategiesByPair.assert_has_calls( - [call(*pair) for pair in all_pairs] - ) - brownie.multicall.assert_called_once_with( - address="0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696" - ) diff --git a/fastlane_bot/events/tests/test_pools.py b/fastlane_bot/events/tests/test_pools.py deleted file mode 100644 index 76b6ea15d..000000000 --- a/fastlane_bot/events/tests/test_pools.py +++ /dev/null @@ -1,255 +0,0 @@ -# coding=utf-8 -""" -This module contains the tests for the exchanges classes -""" -import json - -import pytest - -from fastlane_bot import Bot -from fastlane_bot.events.pools import ( - SushiswapV2Pool, - UniswapV2Pool, - UniswapV3Pool, - BancorV3Pool, - CarbonV1Pool, -) -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC - -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3Pool)) -from fastlane_bot.testing import * - -plt.style.use("seaborn-dark") -plt.rcParams["figure.figsize"] = [12, 6] -from fastlane_bot import __VERSION__ - -require("3.0", __VERSION__) - - -# Use pytest's fixtures to setup data for tests -@pytest.fixture -def setup_data(): - with open("fastlane_bot/data/event_test_data.json", "r") as f: - setup_data = json.load(f) - return setup_data - - -def test_uniswap_v2_pool(setup_data): - uniswap_v2_pool = UniswapV2Pool() - uniswap_v2_pool.update_from_event( - setup_data["uniswap_v2_event"], - { - "cid": "0x", - "fee": "0.000", - "fee_float": 0.0, - "exchange_name": "sushiswap_v2", - "reserve0": setup_data["uniswap_v2_event"]["args"]["reserve0"], - "reserve1": setup_data["uniswap_v2_event"]["args"]["reserve1"], - "tkn0_symbol": "tkn0", - "tkn1_symbol": "tkn1", - }, - ) - assert ( - uniswap_v2_pool.state["tkn0_balance"] - == setup_data["uniswap_v2_event"]["args"]["reserve0"] - ) - assert ( - uniswap_v2_pool.state["tkn1_balance"] - == setup_data["uniswap_v2_event"]["args"]["reserve1"] - ) - - -def test_sushiswap_v2_pool(setup_data): - sushiswap_v2_pool = SushiswapV2Pool() - sushiswap_v2_pool.update_from_event( - setup_data["sushiswap_v2_event"], - { - "cid": "0x", - "fee": "0.000", - "fee_float": 0.0, - "exchange_name": "uniswap_v2", - "reserve0": setup_data["uniswap_v2_event"]["args"]["reserve0"], - "reserve1": setup_data["uniswap_v2_event"]["args"]["reserve1"], - "tkn0_symbol": "tkn0", - "tkn1_symbol": "tkn1", - }, - ) - assert ( - sushiswap_v2_pool.state["tkn0_balance"] - == setup_data["sushiswap_v2_event"]["args"]["reserve0"] - ) - assert ( - sushiswap_v2_pool.state["tkn1_balance"] - == setup_data["sushiswap_v2_event"]["args"]["reserve1"] - ) - - -def test_uniswap_v3_pool(setup_data): - uniswap_v3_pool = UniswapV3Pool() - uniswap_v3_pool.update_from_event( - setup_data["uniswap_v3_event"], - { - "cid": "0x", - "fee": "0.000", - "fee_float": 0.0, - "exchange_name": "uniswap_v3", - "liquidity": setup_data["uniswap_v3_event"]["args"]["liquidity"], - "sqrtPriceX96": setup_data["uniswap_v3_event"]["args"]["sqrtPriceX96"], - "tick": setup_data["uniswap_v3_event"]["args"]["tick"], - "tkn0_symbol": "tkn0", - "tkn1_symbol": "tkn1", - }, - ) - assert ( - uniswap_v3_pool.state["liquidity"] - == setup_data["uniswap_v3_event"]["args"]["liquidity"] - ) - assert ( - uniswap_v3_pool.state["sqrt_price_q96"] - == setup_data["uniswap_v3_event"]["args"]["sqrtPriceX96"] - ) - assert ( - uniswap_v3_pool.state["tick"] == setup_data["uniswap_v3_event"]["args"]["tick"] - ) - - -def test_bancor_v3_pool(setup_data): - bancor_v3_pool = BancorV3Pool() - bancor_v3_pool.update_from_event( - setup_data["bancor_v3_event"], - { - "cid": "0x", - "fee": "0.000", - "fee_float": 0.0, - "exchange_name": "bancor_v3", - "tkn0_balance": setup_data["bancor_v3_event"]["args"]["newLiquidity"], - "tkn1_balance": 0, - "tkn0_symbol": "tkn0", - "tkn1_symbol": "tkn1", - }, - ) - assert ( - bancor_v3_pool.state["tkn0_balance"] - == setup_data["bancor_v3_event"]["args"]["newLiquidity"] - ) - - -def test_carbon_v1_pool_update(setup_data): - carbon_v1_pool = CarbonV1Pool() - - # assert that the strategy already exists and has 0 balances - carbon_v1_pool.update_from_event( - setup_data["carbon_v1_event_create_for_update"], {} - ) - assert ( - setup_data["carbon_v1_event_update"]["args"]["id"] - == carbon_v1_pool.state["cid"] - ) - assert carbon_v1_pool.state["y_0"] == 0 - assert carbon_v1_pool.state["z_0"] == 0 - assert carbon_v1_pool.state["A_0"] == 0 - assert carbon_v1_pool.state["B_0"] == 0 - assert carbon_v1_pool.state["y_1"] == 0 - assert carbon_v1_pool.state["z_1"] == 0 - assert carbon_v1_pool.state["A_1"] == 0 - assert carbon_v1_pool.state["B_1"] == 0 - - # update the strategy with new balances - carbon_v1_pool.update_from_event(setup_data["carbon_v1_event_update"], {}) - assert ( - carbon_v1_pool.state["y_0"] - == setup_data["carbon_v1_event_update"]["args"]["order0"][0] - ) - assert ( - carbon_v1_pool.state["z_0"] - == setup_data["carbon_v1_event_update"]["args"]["order0"][1] - ) - assert ( - carbon_v1_pool.state["A_0"] - == setup_data["carbon_v1_event_update"]["args"]["order0"][2] - ) - assert ( - carbon_v1_pool.state["B_0"] - == setup_data["carbon_v1_event_update"]["args"]["order0"][3] - ) - assert ( - carbon_v1_pool.state["y_1"] - == setup_data["carbon_v1_event_update"]["args"]["order1"][0] - ) - assert ( - carbon_v1_pool.state["z_1"] - == setup_data["carbon_v1_event_update"]["args"]["order1"][1] - ) - assert ( - carbon_v1_pool.state["A_1"] - == setup_data["carbon_v1_event_update"]["args"]["order1"][2] - ) - assert ( - carbon_v1_pool.state["B_1"] - == setup_data["carbon_v1_event_update"]["args"]["order1"][3] - ) - - -def test_carbon_v1_pool_delete(setup_data): - carbon_v1_pool = CarbonV1Pool() - - # assert that the strategy already exists and has non-zero balances - carbon_v1_pool.update_from_event( - setup_data["carbon_v1_event_create_for_delete"], {} - ) - assert ( - setup_data["carbon_v1_event_delete"]["args"]["id"] - == carbon_v1_pool.state["cid"] - ) - assert ( - carbon_v1_pool.state["y_0"] - == setup_data["carbon_v1_event_delete"]["args"]["order0"][0] - ) - assert ( - carbon_v1_pool.state["z_0"] - == setup_data["carbon_v1_event_delete"]["args"]["order0"][1] - ) - assert ( - carbon_v1_pool.state["A_0"] - == setup_data["carbon_v1_event_delete"]["args"]["order0"][2] - ) - assert ( - carbon_v1_pool.state["B_0"] - == setup_data["carbon_v1_event_delete"]["args"]["order0"][3] - ) - assert ( - carbon_v1_pool.state["y_1"] - == setup_data["carbon_v1_event_delete"]["args"]["order1"][0] - ) - assert ( - carbon_v1_pool.state["z_1"] - == setup_data["carbon_v1_event_delete"]["args"]["order1"][1] - ) - assert ( - carbon_v1_pool.state["A_1"] - == setup_data["carbon_v1_event_delete"]["args"]["order1"][2] - ) - assert ( - carbon_v1_pool.state["B_1"] - == setup_data["carbon_v1_event_delete"]["args"]["order1"][3] - ) - - # delete the strategy - carbon_v1_pool.update_from_event(setup_data["carbon_v1_event_delete"], {}) - assert carbon_v1_pool.state["y_0"] == 0 - assert carbon_v1_pool.state["z_0"] == 0 - assert carbon_v1_pool.state["A_0"] == 0 - assert carbon_v1_pool.state["B_0"] == 0 - assert carbon_v1_pool.state["y_1"] == 0 - assert carbon_v1_pool.state["z_1"] == 0 - assert carbon_v1_pool.state["A_1"] == 0 - assert carbon_v1_pool.state["B_1"] == 0 - - -#%% diff --git a/fastlane_bot/events/tests/test_utils.py b/fastlane_bot/events/tests/test_utils.py deleted file mode 100644 index 922ba01a1..000000000 --- a/fastlane_bot/events/tests/test_utils.py +++ /dev/null @@ -1,132 +0,0 @@ -# coding=utf-8 -""" -This module contains the tests for the exchanges classes -""" - -from fastlane_bot import Bot -from fastlane_bot.events.pools import ( - SushiswapV2Pool, - UniswapV2Pool, - UniswapV3Pool, - BancorV3Pool, - CarbonV1Pool, -) -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from typing import List -from web3.datastructures import AttributeDict -from web3.types import HexBytes -import pytest - -from fastlane_bot.events.utils import filter_latest_events, complex_handler - -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3Pool)) -from fastlane_bot.testing import * - -plt.style.use("seaborn-dark") -plt.rcParams["figure.figsize"] = [12, 6] -from fastlane_bot import __VERSION__ - -require("3.0", __VERSION__) - - -@pytest.fixture -def mocked_mgr(): - class MockManager: - def pool_type_from_exchange_name(self, exchange_name): - class MockPoolType: - def unique_key(self): - return "address" - - return MockPoolType() - - def exchange_name_from_event(self, event): - return "uniswap_v2" - - mocked_mgr = MockManager() - return mocked_mgr - - -@pytest.fixture -def mock_events() -> List[List[AttributeDict]]: - event1 = AttributeDict( - { - "args": {"reserve0": 100, "reserve1": 100}, - "event": "Sync", - "address": "0xabc", - "blockNumber": 5, - "transactionIndex": 0, - "logIndex": 0, - } - ) - event2 = AttributeDict( - { - "args": {"reserve0": 200, "reserve1": 200}, - "event": "Sync", - "address": "0xabc", - "blockNumber": 10, - "transactionIndex": 1, - "logIndex": 1, - } - ) - event3 = AttributeDict( - { - "args": {"reserve0": 300, "reserve1": 300}, - "event": "Sync", - "address": "0xdef", - "blockNumber": 7, - "transactionIndex": 1, - "logIndex": 1, - } - ) - mock_events = [[event1, event2, event3]] - return mock_events - - -def test_filter_latest_events(mocked_mgr, mock_events): - result = filter_latest_events(mocked_mgr, mock_events) - - # Check that we only have one event per pool - assert len(result) == len({event["address"] for event in result}) - - # Select first pool's address - pool_address = result[0]["address"] - - # Get all events for this pool - pool_events = [ - event for event in mock_events[0] if event["address"] == pool_address - ] - - # Check that the event is indeed the latest one for this pool - assert result[0] == max(pool_events, key=lambda e: e["blockNumber"]) - - -def test_complex_handler(): - # AttributeDict case - attribute_dict = AttributeDict({"a": 1, "b": 2}) - assert complex_handler(attribute_dict) == {"a": 1, "b": 2} - - # HexBytes case - hex_bytes = HexBytes(b"hello") - assert complex_handler(hex_bytes) == "0x68656c6c6f" - - # dict case - dictionary = {"a": 1, "b": HexBytes(b"hello"), "c": AttributeDict({"d": 4})} - assert complex_handler(dictionary) == {"a": 1, "b": "0x68656c6c6f", "c": {"d": 4}} - - # list case - list_ = [1, HexBytes(b"hello"), AttributeDict({"d": 4})] - assert complex_handler(list_) == [1, "0x68656c6c6f", {"d": 4}] - - # set case - set_ = {1, 2, 3} - assert complex_handler(set_) == [1, 2, 3] - - # other case - assert complex_handler(123) == 123 - assert complex_handler("abc") == "abc" diff --git a/fastlane_bot/events/utils.py b/fastlane_bot/events/utils.py index 14dfa5ecb..c6c969cd9 100644 --- a/fastlane_bot/events/utils.py +++ b/fastlane_bot/events/utils.py @@ -15,7 +15,6 @@ from typing import Any, Union, Dict, Set, Tuple, Hashable from typing import List -import brownie import pandas as pd import requests import web3 @@ -671,7 +670,7 @@ def update_pools_from_contracts( mgr: Any, n_jobs: int, rows_to_update: List[int], - multicall_contract: MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract = None, + multicall_contract: MultiProviderContractWrapper or web3.contract.Contract = None, token_address: bool = False, current_block: int = None, ) -> None: @@ -686,7 +685,7 @@ def update_pools_from_contracts( The number of jobs to run in parallel. rows_to_update : List[int] A list of rows to update. - multicall_contract : MultiProviderContractWrapper or web3.contract.Contract or brownie.Contract + multicall_contract : MultiProviderContractWrapper or web3.contract.Contract The multicall contract. token_address : bool, optional Whether to update the token address, by default False @@ -1486,7 +1485,6 @@ def set_network_connection_to_tenderly( ) connection.connect_network() mgr.cfg.w3 = connection.web3 - brownie.network.web3.provider.endpoint_uri = tenderly_uri if tenderly_fork_id and not forked_from_block: forked_from_block = mgr.cfg.w3.eth.blockNumber @@ -1538,8 +1536,6 @@ def set_network_connection_to_mainnet( connection.connect_network() mgr.cfg.w3 = connection.web3 - brownie.network.web3.provider.endpoint_uri = mainnet_uri - assert ( mgr.cfg.w3.provider.endpoint_uri == mainnet_uri ), f"Failed to connect to Mainnet at {mainnet_uri} - got {mgr.cfg.w3.provider.endpoint_uri} instead" diff --git a/fastlane_bot/helpers/submithandler.py b/fastlane_bot/helpers/submithandler.py index 54051a0b7..78aefa011 100644 --- a/fastlane_bot/helpers/submithandler.py +++ b/fastlane_bot/helpers/submithandler.py @@ -12,7 +12,6 @@ from typing import List, Any, Dict import requests -from brownie.network.transaction import TransactionReceipt from eth_utils import to_hex from web3._utils.threads import Timeout from web3._utils.transactions import fill_nonce @@ -52,9 +51,9 @@ class TxSubmitHandler(TxSubmitHandlerBase): Gets the deadline for a transaction. _get_transaction(self, tx_details: TxParams) -> TxParams: Gets the transaction details for a given transaction. - _get_transaction_receipt(self, tx_hash: str, timeout: int = DEFAULT_TIMEOUT) -> TransactionReceipt: + _get_transaction_receipt(self, tx_hash: str, timeout: int = DEFAULT_TIMEOUT) -> : Gets the transaction receipt for a given transaction. - _get_transaction_receipt_with_timeout(self, tx_hash: str, timeout: int = DEFAULT_TIMEOUT) -> TransactionReceipt: + _get_transaction_receipt_with_timeout(self, tx_hash: str, timeout: int = DEFAULT_TIMEOUT) -> : Gets the transaction receipt for a given transaction with a timeout. """ @@ -113,7 +112,7 @@ def _get_transaction(self, tx_details: TxParams) -> TxParams: def _get_transaction_receipt( self, tx_hash: str, timeout: int - ) -> TransactionReceipt: + ): """ Gets the transaction receipt for a given transaction hash. @@ -126,14 +125,13 @@ def _get_transaction_receipt( Returns ------- - TransactionReceipt The transaction receipt. """ return self.w3.eth.wait_for_transaction_receipt(tx_hash, timeout=timeout) def _get_transaction_receipt_with_timeout( self, tx_hash: str, timeout: int, poll_latency: int = 0.1 - ) -> TransactionReceipt: + ): """ Gets the transaction receipt for a given transaction hash. @@ -148,7 +146,6 @@ def _get_transaction_receipt_with_timeout( Returns ------- - TransactionReceipt The transaction receipt. """ with Timeout(timeout) as _timeout: @@ -164,7 +161,7 @@ def _get_transaction_receipt_with_timeout_and_retries( timeout: int, poll_latency: int = 0.1, retries: int = 5, - ) -> TransactionReceipt: + ): """ Gets the transaction receipt for a given transaction hash. @@ -181,7 +178,6 @@ def _get_transaction_receipt_with_timeout_and_retries( Returns ------- - TransactionReceipt The transaction receipt. """ for _ in range(retries): diff --git a/fastlane_bot/helpers/txhelpers.py b/fastlane_bot/helpers/txhelpers.py index 3490b9cb3..89885d9a4 100644 --- a/fastlane_bot/helpers/txhelpers.py +++ b/fastlane_bot/helpers/txhelpers.py @@ -1,5 +1,5 @@ """ -Brownie-related transaction handlers for the Fastlane project. +Transaction handlers for the Fastlane project. (c) Copyright Bprotocol foundation 2023. Licensed under MIT @@ -7,33 +7,28 @@ __VERSION__ = "1.0" __DATE__ = "01/May/2023" +from _decimal import Decimal # import itertools # import random # import time -from dataclasses import dataclass, asdict -from typing import List, Union, Any, Dict, Tuple, Optional +from dataclasses import dataclass +from typing import List, Any, Dict, Tuple, Optional # import eth_abi # import math # import pandas as pd import requests -from _decimal import Decimal from alchemy import Network, Alchemy -from brownie.network.transaction import TransactionReceipt -from eth_utils import to_hex from web3 import Web3 -from web3._utils.threads import Timeout -from web3._utils.transactions import fill_nonce -from web3.contract import ContractFunction from web3.exceptions import TimeExhausted -from web3.types import TxParams, TxReceipt +from web3.types import TxReceipt -from fastlane_bot.data.abi import * # TODO: PRECISE THE IMPORTS or from .. import abi # from fastlane_bot.config import * # TODO: PRECISE THE IMPORTS or from .. import config # from fastlane_bot.db.models import Token, Pool # import fastlane_bot.config as c # from fastlane_bot.tools.cpc import ConstantProductCurve from fastlane_bot.config import Config +from fastlane_bot.data.abi import * # TODO: PRECISE THE IMPORTS or from .. import abi from fastlane_bot.utils import num_format, log_format, num_format_float @@ -247,7 +242,7 @@ def _print_verbose(self, flashloan_amount: int or float, flashloan_token_address @dataclass class TxHelpers: """ - This class is used to organize web3/brownie transaction tools. + This class is used to organize web3 transaction tools. """ __VERSION__ = __VERSION__ __DATE__ = __DATE__ diff --git a/fastlane_bot/tests/nbtest/__init__.py b/fastlane_bot/tests/nbtest/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz b/fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz deleted file mode 100644 index 486f5046ca6e59422ce3fa6e73c6218358218fc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16687 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 KC4i|;yZ`_fv#3)5 diff --git a/fastlane_bot/tests/nbtest/_data/NBTest_006-augmented.csv.gz b/fastlane_bot/tests/nbtest/_data/NBTest_006-augmented.csv.gz deleted file mode 100644 index fc525c8aed65b8629889b8069b166be8819f8863..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 437898 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 HQnS&qO4j6*N^WL*f4H1Osx){ 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 z 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Μ*{ z+bd$dWEi{}K|-p?6hX-_Rt-n_48Q#JYThnu&o@PozD|09_$BP!!sUBgx2)NeJ{9=U z#W=l$XvN%w=E~0t$i!jw5(<)mBt5bu61b#*4WBI%B)~^ESQa9UEEEGafxnPuK-$E9 z4sF@o1dQVJ*^ngY(fla`r~d!`Ul$kq&5qxzDUZ573e)a0(vzAB+1{|bO?PT9*ylA? zxBH^FkbAq8Cwm*o68wU<3^2x%z%Eu`a}qH}q2mB7f(!=(WDn%aL**SNnnoVEk3*y} zr$c_k(+LhCII@q)>*3S8KWra(HFWdB^la9niZzx<8AJjViOp7`&2e8zw#}ouUJWVB zu#mf(p0$zyc}PP^>z&BnsClfPkS^(9TWuLITp}=PiorTEG#m=D(eql4?4^++6DK2v z7k+p}sLW~EHZuJ5YW?GMQHvJ8Up`E4VBFB!2~+I(yhkDS75`^5K>4;Pcy+fVA$l|H z7!{kJDBQxOoQZ~;wd*v^IxBgI;^o=9a`0&`J3Q0lwN_nqsT%pgoB>|4 zJqHXJSCxMfL*u23q1LA6h4oVj45BOIBnvaYl*#;RM5&SIUgU~>=GDs)ChM}qTWl{XZ*#1Dp7a85 zHEgmjuW@T8Y2bRpQtAL(v*QT9c-A3v<>$8=?&+p9BB_M~UGz0Q8tN#zb`|tn9|NVdd z?!W)<|Ihz+eDyzGfS<}$Y1p6pfk)Me{Vk_rsb-TlJKI$Q2Ch{i19csMa1O@q3XpW- z($Akq_*^Fj?=))Un7j%yC6(|7m+sr$_$u`hF8Akw7n$T~%Gp(H6o#g=th zs7eY){M@o>9!#8IFciidUkfF*9xdFr(iUJ+0FUzp2o3L23b9m8DW6z79!t$l zr|N{PgW^qWR3m-@A)5lT(gPf^g^DT?EFHTVA@z!)cqet!{f-JVe-3n5|AaF35={{H_VFc3qumwsYm@Vg(0lBu{>*+aYu|nT%z=yX3nR#UEtV ztkEYcDooD98eqobphmLI)hnurNp&`a&F(DqJSedQZ#K;Dsj=B_E90F^dQ^#Ip7{sX z3dT=VCFpr^nUsa=F6JsXe3X87WxS`oE|65|Zaq5&3|w%)YX!^$B-4er4Iwr@ao&?x zGQepG#Zq_V-p4tmApNpC8!<;&Tp+N4XA-}XLYY(kZ~H&}%Rm0ZrQN;c){@9u<-f5yt0`=HvACA1INXT~KQ;VOI!Vp;$ZSVYAOf4*7p7&IoLB_`av+hoJV^1$ zR}Sdp4q0osb>{j%}SMR zHFBnuO=Vc!T_{NQyIEVWBCm!kKi~0(Ktz_YS6#}{?q6z(2r7{cH^4WtX0nP4m=zA+ zTS0Wjd;;P7LwU%ma|65KNV{!2mdDVNG`<~)kz zfZaCiX_@x8BxhaX*;eg6=#8{@TiGMmadwRP7t|PEYeewyzRDW9%LoK`PChx{cMGEx zm#a{S>uf2c_iOuzY%T>B`)^hrOQj zsH%e^!-`lI?AA#^O3pQloIWID3ma{MH(bcwuVHEO1`EXyv+Kr~SadQh<+Skd!Xk}o z#E1YgEUp>7(quZo9%gx}A~9JA!8m(56o4d=8cS9IJu}jFS>0CzC!65b0Bp=y1N+4!L)bu#j~iVN93uAr)S>Vgk9?zGT@^Z z0Z)eV%50pW9;)Nbi2z0J8@B4o~Q0L>_sTLq3M5Mo6RZqtElzA6@~Ze45@&2$=DvsNt_? zzBov;!XpXO);P^mL~6gO3?nW`WU59CoM)$#|ICGOeRU#^z3)p4Ft6(r`UMVjzT{Ma zW^0AZAK*$z+2nvwMoL54AsV6K)k)+W$pEiTMgWh2lSX71hz-Nct0%kkTV)^Da~@Om zVYc1~=Nh7Y-iCL1FQxChN#m0m?3e0|zJ-K$W_4L@}}Mm79IzBj8%{I<8z zzdM=q0CPc%z90shX(JqgGtjKhF69omRZ@yndm4bv59&`t(gI1nPVxc)>qLfALn`c(5ivT%2CCyY zFC$5LhS%@jy}9UhzRCZ2GU-78XEH4;dMgHaQovluJvH7?Y}lsPT~D4Yj#$Xut$q{` zM^`jb9G|K-PF0w-B5%soc2iP7VC5krOioS6k!7ia1hQmJjpxxL3H!qN5DZVECO$T; zjP}ES+NKY0FRPE`mf_E4J!ZR4!Ee>uMOohw5H*>n@-~Ty@}+hv*i4b@xVzyGr;fOe zCo3zEH?X7&$ff}Bd($fSl*)j`uZtz~d#Y^C%p)u?Ft6XG0We!lQ^$A5GxV_~FwZmy5IEratZU zoJW;VPC>26FJzi+PrHsa7{9V5MAxI3&dG@jd5GC#v@JSYng5&Gd+en*?=zLe2px}# zJ|aYBKtZyxl85hT#N$VKB$MhFu%K)t6pZHOuiA76b3d){XIxt{Z=Bbl#%9P;vg z+ZJGRhdqvuTPF|92>)X5&-HWI+_!9vD=k@Ubypo=qg1Z7ShGdKrk)D(j(b+ENoUAg zY*OiIQcl8iIl~?hWU#!nhLdzWkl_`GwRVI%LKuSo(oA7L!C_yr_KxZP`%8$M{LBmY zJUu;`^*j5Js-<84Ap18yh}pC1HUrB|n{A~k#dVw!a%{-$SLfl+#Tsq3xgpAF1Yyw@ zk&zL>fnec(M*W?%vq%!KJpcECRmA;r$C$YgsbBO8D}Ks61_i1CN@b zUI2&eI)^2-1Fp30Yy^>22BXP-i)Vp{@#fX*AJhe*tlg$Dzn=A|Gk8$|-0RZkU`>zK zDC>YC)>L#iX7wVrnG3o1YakD+0}&b_NJNv2uss%19wuJcA$O%xGf#bxQz$V~rV>5` zE?v54-S~7$?BvOavg45i`a=_nlyJ+dPt&@+zASRS*|Bgw?_qL$Y3**B=LOzCH++oc z$lb#_O=SnHFhO!5cPE&n2NE@T1!$Pq>RQ>4Ewh)hl-Palrtvz7#5A6_)FZWVSxCm( zQ@VI~nP}i{PKGp_TzTuNNNBKbAC^msX}c*{c0K7a2a>S^1;SBQS!yzqFlC=DHc3GG zQk%E<#&R8ZRxHD|B%vy`_j-rZBek1i&u3Nw*2Z#yP8$`Qj2o#juDPcLOBywGCE@Vl zvm)EI&xUvwgOru+uTJ^!tB!?tZ@;^kI<;E|?_cJ;KpJyxU}hJ@)>@+%&0#Uc+q^8B z-)5$~hAThc<}^AGzjWBvuBdKuYe-NTVGJ*L1DTj5P`t;MMLeMBB#TWwEXi-EJ!Dzg zaW)i=B38^dcxZf2p2?GMe}ADu{S9^U&of@!sblEWY)^ZhwT>}VxKA^wnU%URPhJ=8 z6BmAd>d5*$n_QMnrPeb7X^A{@*WGozKD8Y(lSqc(9uOnpSQLwpq;Q6J*K8sIu%YVE z)d)FRDYIaN)c7Glp<(}dzlbhxmZDzIc~lrh{3_~bX6$j-aDfP4bEhDLS;#F-QgQJhsCfJ{E4*vIeP|vg&kUq%_j~hvIB}rb0yol7~*uDym4}M)5Dms%+&$D}8 z^HR`Tg-CCPC$Ys!96&RT!kFKm^%zUa7~^H< zn$f%QrVH4Ry?R{u`8~G&3?u;_kz$SxVGs6J@^JFO6`!&1Yfr`lTlEHaA3{SC1i%Vc zqNxZ!B1zQ(38`m`s|urM%`jdeXGz_EG7{r)lEY4Kd9-u>;=lj>{dNgK=374g%bXYJ z<5@sT+^H8^%sj~r&|yg%GS8*%6A}Y}daV4MIQ2OGl_nugPF^R==SL=Zm^s#3kiRyf z$bcs*;B5lwm!&cTvM+Bu_CJfvj1AWVO0mUbsVEF{!5gZI2M=OQFgHwZ~yqU!Va{>>;2p`Ud6r#Qb zws+)((a$SXmmlZtqGP|=a`tu7i)*@B5tm`eKsM*36`&wO$f{P}9L-)$2Q0zD&l6W> zPrx@yQ3#~-9EUwOz$=ZIrWDh1AA*R$PGn3aU!@gPl!tZMFU1=rMA@h7B_G+%=Z*t1 zCH&ywpq%3=CksVPG(-C5fBe@s)2CO<1psLI{nM9ip2cJwfZ8F~&;*IA26r@4rw7dVzFEuAYrkHB9$Faz8K ziyR}V+yJ&d3(aeG`t>UCKI$4fCAeW<9-7ru@g#z#^h)%A?naCe&YyubJ~iWx-usgg zbBOHXy$jmm$&GflVLn=tye=0592PhCidgE+Cllr$a)* z-7`TGT9E%k4M5!h2KZahhbo9yl_v-)Z>&xO=xHJB}nt@K@?#pLXIz z`Tg=3R}xDQzyQfAR=PPSyU0obT~3SEj-NB z+|5+!nn=AO0Q`ge@>9GK);dYSFiTz=N^~vXzq&BZy;sTAMt5%)m0Mov)xuwEw=WWh4KR#c!_S9zFJC5 zz?UG4B}X}uEBD1`NUG!rTx#s_-TMpPrE;rq?`q0JE?&!KBS1wYlZ=&H*b6*iUPM%_ zOxQo(*NMxxH(Ars_rV)JZHrAnwZ@f-T;H=YUSNMmW%2+JLoss~JUO#9aJlj$@W_Mvp z=pJ-N5HT_Hy$HAawy!2ViuceOY&9l-6qRH(w3E8kt;^X7%~I7~xR85C z%;&vseFI3ZfvN~_XV~)z{-w!?Cjmb*z`yIGZ#%MTgXzHluQVDby+rmTExi88h}JBm z#DgU1C&_V#k2>c!ulla$Jj&+(fVBBtZO#@1?**@F6;BiKrW`##Q~`paa?6pu21uk4 z%I!$5CPZ`6sFL^t=}=IT0%vC? zwIS^b9!Pj<4SU4w3m`;FOVH7<8?tg8cLyv7-K1@~ifmIh)rb~S=W&@z#$-pPGML^A zF_Ixd!es#Uu^$8v3mZkV%7*Q#*CUqo+Hgwvv5-f-aO*!WKfS*Mm+LLJ{%O)TcQ&xe zg5*goMlFnBJn_Qh0EE_EgKL6)JQx1;2Fet>Z@CmzJBbfl22{zRQw$-t=#JYYAZ<7a z%^G=rhXKx8AhGn0wFRs_JsFW?dUh0v#=kNYL3?@6_kV2{cH!K-=lf;Ow--tm3y<98 zzK{vX*a@j?*p?XZ59Y~>*?Q->@~?M$L|dveDrMv?hOAo2A~DjwhTM8#b)FRmmj=By z!>SsnDd9ZQe~GUiu&Yl-)B$?Tk-FmV1kn74>FL8|LXf^$#dJOCL4^DZ%TGmdfPg!8 z>#T)s*2A}8e^_c!)W&t(y*Zvc-CG}ujGbjK1|Mf#lOjpEt87v&JO*Y@2i*B+$<|5I zRH`&7F&^CmI)<|mcy-GwRo-rgBTf3*zrPgxNVjZ$J?BxCV=P_TCG#Sdwbin*++R#C z!l^6Sdk`xZa&LG3OlB*4sk#}Y==e>Lbw>MSI}gx($8yP%L>W*rCh-hD9=&{Ow5++& z7Jo%{2zSi4WTS)0))=)LR>n zjZ8D3j1L=f7Z#L7C$^(#=-zdcULJ(2$U{Xk0RKF2X*O%XR@H5)@E;{6>|+)j14#1H zj$6eH){&tD`&xNwvR{3!)JU!-4D;-m5;^a;_1*Mloi6N-zIontKJhVz2V^$OT;_}y zcXz&9Gle~L(hII$$xX}@8_eg$W5epX%zAyyc zLw&;Vb_z);pgk+LPe!o+DXPdLc_W1X4AlHIzq)LA*KUQ^k8{33)}<<^3TQ8v1}iSo z$|`Ct3XUP@r-&8_?){kUm@N_&@#WGKD4m@xxE=w)Yn?S$nqKuV+1q8N&J* z9x-{icf%w0*-0k%*z~%#S;s_!E@ut%NP4!#D_`@v&2dxJ;tLd=n-OK-fu^U~aOLMJ z=m)Uz@B_Ul*6W(sV@QsgiDZ!!Nz>mul6%I3ZxYzX1Zsfl0BDKiHt5ek@quI%qYI?m z7RXj#w0wN^PWyVwKYpeCSdGNrr*<9=pHd<(;%q~DWREIHcm~&4y&hZVZU$@=l8m2$ zo!i)xCXCwP6U0xNQpS@J9&Etifh3bkAbD&BKHy_rC8_ zsj3&mFl~_3%DgHcX3@CvuX~l6OqSVtwnrL4i9=wGiv8{Z<6~lR-l6Smgdc&&CCN45 zn<;rHMqcrmgR1#z#IeohsN*JCf!ASJU;XLT1#j?eq2cREkGa5r>w{_Mz6<>L$!$wo z7xviXXm&SkYA>tdI_}TSts&w zOlqFR%yrzk>i5~)p@n2jfo;1&ikow6ITaUW&8fl-50VKGsWzQD!?LlOe^jYhHSB82gB2w*UCntE7+XwQbi(I;kE(?``0>xU0-mmfY{5GHQcT%65%kl~e{-JwL1)U5g} zv2UxM=D7x2ST|U#WK_GmxQ&&^UN4~+kxYYAQEbL`F*H$1ZZgQ{vzF%*M($o@|MuvY zbnHMKkFHht{?j2vN`1V6icOVpIV2i*e`!s)+dKnb&UsWr_T09eQX8)4oQ;@+_sOfx zq$Uv3Ryo;)3wemuL$ib^tySBM(LGb5Lu%h#vKsN^Xo@tX8Hkk5vce2j9%buz3_K9f z`g%Ye?WsokfOH6fAy6C+-WuuYeaLL&a1rkU6 zBSZ^UdVR*U{Nc@V5j>v1MK}A)oNurY!yxaJ#!Un{Qm)l*Qz+{!7c(s(EY`1%E5GGl zbmjggsU6QnlFhCqYuCJyGYawrEqF>H=RNIm%Q^-uJ}~fELs*d=V$FE;SQ1JL*PO`Cy~aP!=jOexThmWvy&P2r=S1u^e_KU`{zqC zC0-TQ{q5iX_TPW)6#L5DuN(g5KmW&*QY%(jNaYj-51Qar+On50t10NIx{N4gxsp2< z*;#kc&Bk7317>8=ZfG&2jMUV~(t7WB;se=~3}p$(!WmdbG&o8Jjh1dCI_{T~5i6Y0 zqsDrK8{WVB4i4MOn*x+qa~^X9AU3;%1Prkx!)pUwuBZt(}T@h6PM` zLxvC2>!%A-)7$sbSCbx-85wEasmj4`4t&jmuwv+T?XrhoE$Axnl(-3nUw+w!p(cuOh3CHyab+10@^AgkuG7? zZ0hjG&5?Uqf-yfmT|E0Hulh2s=RBw(cvqHXoe~;JaAlUY>VOz{G|$gx|f|E=h0YHV@(TtjCfbcsEv~EprT*pJo)V&9~HdT~d$nvYR7dgp2GEJ;K$ zvebx0FnDQBhm?ZLw|KqSG_TnjHvHKB?XQ2kv>I-6nw-pfRH@^pS(IOz?`jJ$9?2?a zY%SnBt2VsBtK&lMUZ8RGM#k!~v1`!2m_uJ%DE5JiO2MG0fF3G3_?n~% zvj(W%dPk9h>mjmm3YwhAQUm?_;m!V+i&1&GW%uhjk4ja`oP*wS0d|Dj-{v0h%Chwb(L>LOjgS&DQr=}|OS7Ps1QNnaO9xLIiRH{_XA!_ zdjG2tij4{O+eL}!tm4Z%)Bj_7^Zw_Hh}%sr@n2_sgT;;sXmj$D*lUDwN_Sa0yG#~n zzrj_9gO_JJClc4{sJj#5XgQ*e^Fe&-YZ0}z#J0!o2P5gS5zO7lej4uvkA#S!8DCsD z_Dr3O*bqjZ(hJM7C4}l>e*5(F_G0IGx~YM6GV4*Eech*(L`4Ge6n4up`W%7U>}-qK zV#k}yh1}c6nCGtdY?9SvTB`|_Ih4K(~BT)rj^Y#%u=35@SJNfCa#J$mWYVKr97739pOIHjI?p!l+ax#DlAC?Zc3b9U z^<2o^?S7mS(5QGbN*AoH@TpWPvlN$elaYcOaU?|pQ={Nmd~q-Yc#1^8z=WdL0~R}H z5|!veM_z2mpR{_e}UuYjd0L`<#@sD+IGK^0NJW$JF;9UxbpL6 z-lMJ;h@)EDkP0Pi^pp}wn6z%~I6fCgFjeGwWPee#n)Lu=7?7jH-X>8py!iD9cDZGL zn4&NrmGrq|QJ5p8HcAdJgLRS&COyW>SVwb%Lxfa8P+yl;Iq`)wY+B+Shhy!6JKjuAJABssin3Boq-VPAIdCm=u04OrV39cn;GfnjT@ji?50I*e?X))apT)(y`15!Pkh zkz~Uw9lyd8ApU_<3KVbp$UKHFwxhEY4+ zQLTezT`46{4)qOkxnk%L?{LI5o@A*fBatmO5raY7&&1|$9?qXkd(^r7?_sj~9Vf+6 z=;IY&A!90RTSDfVqD-CK%ud&ONOo8YL~nTe4RabVpD+3>F9&Vl>3|;&9dpvT3$|(F zSG!P12yio!?2S52)I#LGDlL6dE2GeZdq$rlSR7kk=*LV8SCQ$PvE)kuak<&$YL?l zm=@M}um_y6xa1m>$gBot*d0B?Dc=`;T*8t{!wa&Z0#Y6v%wLXR>uVU^AZ}P;m@oYJ z(}$-EzHPsGUU@y~QAzFM!?sZv)h*fj$y7M}8hB-rZQV0dT`uGyJis|*pp=BXnfKdW zg%-Q7SWGTKQWFC1T1hr2X=4RU84kiue8M~!Scv`Z=Rgnwd zuP(vw>Gn0%*}TUb(fW1Rmg*?Yh1_OkLeGw)#I2Ev9O42 zT1T2q<@g=}UyG^-PhmtP0hlMl%~5GK7&7&+U5p$k9?y;TQxwmlLK6w~fIuyx>!|S< zh)Zeymk$5WuiiXu?=Q$M`W2Vn>8#&Er}yYnv;v%(RVHO*Zh$Czc6kMS-)d1)Y{6yE zrJwp6EkC(^V@64Kl5iAk*yFxRdTBd(QByNX)|6|58)~NMYF&mS8YvME6T@X8`0~q% zQ6pP63=0ZBjFox-$g$j6hO!d?+8%+}{gN73<>`(h{*fI1JU=a$1(D%PIQsd6xt_(x za(|9PAi8~8>}KII69Dv-nD8#WtsNjHA_OWfE?jPK5* zYEA9Dhsqv_Z~~%FwyA-_6rM-+YGg^2pso#1@`*d0Vo^vq83}M})UQNZL7J3khmY05 ze|$f^dVQI+UeD0z^{l&q(bLn2f1pbE%k~`a7FXcZV7F!#N6~{dEWU04fa~tOPM&K& zuM)8bmu)DGd2uVqsC0`+l#A6OBLzl^mIj_jdrBZ8MHxNzs~!+XfOcS2>L?g;hh2{# zw^sJZssTek{LjDskN@%K^dEn__-t;ri+pY7gU%%Y#JlRnFG)4OX8shy@3Zcvd6k5o zQ|CJFeJ&vmiW*PuCGtH03Skwo+m0Yj?aCa3lvD~G4QULJR#~zWY9oOtkIE8DP4j5a zhVYbl_7Ibkc{_Vd$z39;W)+&Y`}sE&r+nF&4>_U3K2+Qr0fDIh!q+R%!qli)%gvgxDn z1zw%Cm(p~YJw=mU(y}zf)|Lk3trG6qOT^qXDY%>w%ylOH4-x@bLPGb%qhz0@xCB4%Y4K+A6DJub1& zT*rf+f@vxGWNRj)LCy-{rr4w?GHgQSxj&l}$jmR``IV#0Swuc&9TFGw`6moj7GVKt zFkQTiFPglc-cIYKt+L(H_4_pG_tQ(pyY_j{eO9DX5?09M_70$~2Ok+z~2xJk40>UPhC+?^cQ zAKP0t6_jn2tVAUxf_s(WV-QwL0TO4~pNHVCiORS}MA!y;PhZCwu;l6W|3 z%pC$>fHU9ypBL4qn`q{0%A<~T{3he35~=KYR|JrZyhE4`yA^MzTuGaah1}bt9Q(X_ zn+jrT&KciR_N=w##ifa)#_$gjJ`Z9tuX#nQm0^|0^$;SfBhv@cV#ZonqE#z&6WiW`oNbtra9sJh-Q_dKq|XS;04&k~ z!lY2WkCNBw#S_11#j=DrQn!qKX%Z1r1L4AXBfAPB>XQL%b&7)oam3rtByZmAPZuwY zx@GZ?bG|);mpN3)W42hLn)HMS!TMF>oC>1vb@kKEm4Cg-9uEsXpf+9=9=A%(0?)|i zYwq~gZlHwXp{8xD9z_gfwdM7R87Zd-*n+Q;t4clufXmsK$et#QcB8!av(gQ5u|`S zB;~G0$c4)eEUdr}>-zI$tNLc$&h?xJQL0QKFbW|}&3j5m8(Ua}Un@L$Y(?Sfy@343~1d9O&M>Z|!01!GD!(;kUMGfa|ypyLxlz&3V zPzDtQvAk6>o(HiZ|MnIyk_><9&h=S!lqfH4l7#fEOTiz(sd9M4fu?+=v9$ ze(vL+e!h4-otr-XmpPBw<-eyVSyZj(wkA{Ibr(-&_H27hdERpO(yk(L;pYZFXoPF8 zO=c})gG-52#f8&SNS6|KJ+)HU(L$~(k0hVGV}lMO%P|2H*(DfA1$Q-K1+`VET4%BP zAjQinoDZ))TwJX;X@oz{`4;6u!#o=iq^)Weyg)6%xh9HN1wJ(NzId+u)aXGT67(Xf zWQxhnnqo_^5-47Vq*6{KukpdcJqSQ^>tuZ1(#NSi5+wW`o5xQ^97_hB;ysB44w8EK z>BspJ^n8;V{(8=%YF;~n-!?59GQlY3Aj+~#v&2tatvnKIzj7gW=V@Z-4DjN*L~V2j zcFck5p+G@E*)b#k1RB@Ol8`XL-ku%a$W&o@5_ppG-33q8;V=TK%YgkXnbsa9G|W<+ zcYHN~bmH*t{eQhwzp5Kja@SKHb@vSrL9HY|>4Y4^S6u{zJB;#Noj4 zP03VZ_1O@)Sy(0&gEj-8`Fff0$*tb-lSvP{>f1!$c-`Qwnm1AHwCrA|w0Vz*w5IN3 z;X3Z!93BrACqz|ONY0;u>2*zB=4yjUKqn0`cCd=21xIu8QH8EqRe7NJ0RQ5Ju<~RC zh9bo(9;}Ya8>`&#`u%d*QolYa`0U2%de+14o8~#^WpY#Gv4C>BGJuA0OJ!#9dzfIi ziA%Zj8}M9eN!fxDNh2&->d|ucWY9uB)w~0^LHbETO64d*HY#@%(vxc|u(pz9Hncl7 zjR1@pHT=4uvLbbg4=!8w3>fyI57V1{y#Vp&8*b-h&ZGQ}*`+D#ToEN_A2*f_NhP~= zrYqxuEpC=v$-V2H;>R9wPi1*F{jtJ>g)xUVdhJ?}cv` z6ve@W;KIN@aSI3LD5Pb+{1nbf+6a7v7l(zhZkT?8Ve=YpUi+O)dJI2;fa6_EniAck zXgh^|MOw1l0gjbfCRV>=9e1z!Bk!s)J(1a<70Q70o>Nx6;`yhFFA@$;ez=ThloQy= zPp0xnhmQ=vg~+3NJ6PD8aE3IZ4iUtXRh!hVl$#R>yb77u{xi^`S;ZgscfgIZ*L=14 zuctgL=E5P)ZgOH(dP$=0OJXU+?77?EvDdgnuH@{@MpWrASI3zB} zKG%k=iKU-Y41bi2me}86jKNE!Ko(gWt34#ZOh-P9FGTL)9%@(3x7vA>99iw*H9Se= zKXq)PC8@I`vd1$a7x9;$2H;XW2~y&a#n{H-r}^oE0M-8ZYI*ZtFL*lB3EaGz^O&t4 zj1X&t0ZSIxhpR9$!PSPQBP?R8lf1>VXWjX;ZfePXDWz{xQ_*Orz?%+A&t0iHx!G~y z=W>Yz_~Z!^iF(nh@-`$?B^uCI^1YGWYzUMvBY_j~i#d4AH4ly9unejCU}AMPWFwD; zN2~^KARfSrvhFWvDo?7q|8thg-y;?MJF2>W4@>1Uv380^7uOXp4fbNdjIO(MK9v! zx%{uQzQNvEAbmtU>~^&v36Qc&m*O_rNlGtvQe|1L{G5Bp9Cmj=l|>+{l?DdSnN1MN zhD3dd=mtMpP5CC^bbWY_!6FgUhxmd2;uA(nO};))vPz@W@UQKkd7F3fa=OVjd_M0n z4qXE#SG5ZpH_MV{o}LD|BlF1{LfXn39IoT;Tu;yT4%XM0s%_P%Vp2}XRZCByNvRvs zQ+Q|A_foeR4|Zh2N_I2h0}zeo&D80TL>5PiVkEA>Hrl!2M|D}HUH{*_cn<^oV_7;cH>uQ;kO7;e z?vsp}l4ml1-Qb~Rc%<06qr^euk*1DXCIioIE0TM7dE)`=vHf}YXr8-h1H0`#>)RyN z=C4NJT##9L7UNq&_UL~tl3d=te{*TcZYLKWS92b9M)uo_BNM4aEw6+0td^#Y+2Gb4 z;9`UwL=Q#nT=}`pk2A8SVcd)z35TsoxnP9Vtw?Nr5qleq)z}7j`$q2phT@=@TTwat z#YbcgHPl0h!=K))%O%@&yLA9_GU+!MSNx~vFUWaz=lxcS4ZEA<9)a?9BZ1F>uUrb& zI46u6O?);&_hW5FOo#hA_!yy@G<05 zFcG8vE29oT1^KHzXu4GtW_X%jy++QX-OXh5Y}R8cW;EQ%lyfxX0wt+TN7gO!Qn5+B zNZ!bP$e-NZgC9?zAoZd3k6I0Hvqb8Xko!wAvO0zI2iOB1dIa)_j0i%1l0Cn^|ffV`vDXS_-^4S)`N(2k#9`=tkZhk-~Y9Z1!fU7*E6uYxKSx zV9hUk1)T<_#21sp@-%(;0lB2UNtbmt>ro_Sr1V9?Xy-z*U#weWZ;&^fl9SmBPYptS zcfKrpv~?ia1fVNOJB>lU8AV0R!$PQzo1`7c5X{?AgUpiMGM*Ix%~G$}?VNz>P~_ETlS%-N?78MVDSxqo3 z-y^3)mV2{O<7Co<1fM61ppz#bc7SnzaNKCvZVHRBfEC4Vg6nvY%{^;~hV)u{Ko~PpT^$_niczF%fDor5OD`M)OE~-d( zJEDF$=V3MOc3#w+ScBD9<@cp{p;Vgy%p(l60mE=153+i;3L!Ly#0J%z8Zds6aP>@e zQo~Msjl)=j6WG7=RDFRydu#{e8V`rezhaL+_sxmKbiEX z%&0`|Rx@oeY_1}iQ+1XBc3$9IgG!TUiz$XJ7cktohEhkHwQRZxjUH5oP^vF9CDO~t99bI32_v+~bFrwLSB&089 zeS0bCyjho!>f63*IEOH4#YVea%!V)80GS&>(SFPDEoPG`R3Qu{wVd$E`QDJ<6kpsB zy(ZVU1%iYF)Z~UIVZjKb1<)n@^#J_&s1OVe)nPn{;pvArm(A;&R1w#69)s4?G$CDI zV+Ls3gAi*syR`-D?G=zKlFOg#c*rgfrI8mU1?2X|b{UX`0zrCTR4j0IgT!_Xp3)QX zICwYq@EgYwFrEWYp}Zb2JVf^+JAtu{ta*tVzvD-GZ8uTlr%B&nDcI`bIxD-o)hRLg zoK`KA27E+z?<97;Ub*rc8$5e)X`>?F>%dwVJj0QiAX+PAozjqF z;1IP{hd|u*h@h&ov=Kjw)dy9?@Zk+`2~X>9TK#&`gN#0}i_O!be)YL*)U)=|~G zQF=y5zj`j@?nXb@v&mDUNv-Otk+$Vj0c7CDJL?sThpPw{sFAdKBYWSm`=h3x7Duj% ze3oR1*F#E;couBX3(*Kx_zr*hiHVQuH|>5h=~19@cOA>aPMXCYvf-%!ki)V><|%0k zI&?1N?sn%{dSbz)t5TI>O-~64sjvoFEuMfZq7RysRTeHAfzf&F`~iN(lWc~i0sP&b zj8M}L4hQhX5AT>~`XJU@Z38Eh9;Cyff;79)wywf7WzF1tYA)_h?n{y}1ev&wd-n|- zSE4Wrl1)dhPEA5c!9F9vY{9xY6XBHMPVm-U#6Xr{$(>6U9{l3zIi3~p;fUZWDHwXt zX)yig?=KWSUaDxTVJPWe^OqLn*uVVqfBS#sZ`iL}!>{f5Z+rfYe{7$Ik3TVZXO-+I zST_0}`1JV)#>apC=YMGaD{|I7!k#z2x6iltG`P>^Zze)8Zww zk)+2n>@G~a0x-YCKlY()RN7a;^-O40g;q+ z%*g;+!@w>a9(p5g*b$HFY=pGxHXQYTYzaiL8NUDN^$(Y>)6Ep&WYVK9W@WMfhk|N- zn#B=G7nyda-Q+{^8&WmRh1{J>?pgJydR1a#)3Fh%W$$foUUmFJEX%B-p;&hyBdcJ| z4X_l;vCSxykQg)4oec$+i3?uY3M3AEXV)L!t``~VZ8`PpNsnSs>8{vC^%?uV&I%T( zz#Abpi^$?pb+2KR#>iLFki=C=RmJTZ{!;&vW z2Z~~l^T4uhGKRAuq{hyZDINc3%b>Nx6XNqFYk%|T=Va2Oq%wc~6>LQk#G5P0#tmbp z&9+jN;zI6S#d^p}1$Y@1vkpkZVSQd*;hX7@OHWpILyCjZX~0g>Lj=!W1v)Dj8E#au z3gNTQU?L^h&Tnwwr;9`akuikyXy}#^M-WCx&oA#)Px?5F3D|u^DG!_mcO`3|`TAY*U zJ3OV}Lhc?>X?ay+6t!D?-_Dx(9BS_rZ*iqISy*KgsBIS!Ap;BF4#6Wy(H&q<8tdUT(=H%Wf2#`TWYU9ry0^vM9Z z_lUuO9mPS(_qDX^b2X`}IgfJczr8&B_tS3I>@r*fK#4CD8%aQlStEI>1vVM zS|+k2rexnARdh(iH|jvbtcXnRWJn&A9x#|hJO+@7!fL5? z2um`1ta{ZN-``kcH!kEsXZkIa3|v|ypkKE+*Oa_1xto}|v+*-~c5e$Lm&om%IdmK4JkXtwCXRAviB;G=*HjpP$o(&<4>xgkSMIhsS5kZ$X>m}Nr zZiUW|bG}8^s{-G-+gU_-A-iZTeIdI8n=oy_OTsRUp3ZIld_&j_GxM6eV*;9`?iGQq zhw8cu9T5>*mKRR2JdlZFn<|N~;hQ~WF-iV@H6R0#j-iaQ7eHdjqJA~!yXh|%-IBg# z@{e=AJ(D+T)Oa(IgdL_a)2^o(8BK-NSNxq@W8})e?ny$8Di^C<M6R0jNpB=ulyVwnfL^YzFxO9~kPG@cjei_zVMWB&c0Y!-fVtyLb@~=F61HpTO@=<-yGYas5hFNDw(V(@FhSj4iS)b z2T?|{cF2*%!h%xblh$b?sJc6!U4Rg|xzo9uOI!i3@oMe`+nF1Z8s#$(ou}s@XTGZH9j`Mzd*E2J!%@ zAQd1tnZpe7s8K~;z^Let9;fRecHs-k1xrmvTT;Zo|LM(kF^CzrY=1K8L3Y>D+Ib3g zwR?0~RU{vzcy!aw43k-l3tY%U_I)j^_VB>hh1HWTT7(Qoie{umC8t3%k}C2+u#t~g z+YxgIF?z=fZ{hXHh{aRztOF&@3$JPI@aO3RQcIa{E7yNH=TTUZWJy5h$!rZtG_pc# zU`fCeFD5*O*>%B%+}-B#V1iKn=vhq#STGp&@nsRJKuU^rkr^0HhIGr3=@YOP&rGDH z;IX98lVthi*$_#}gZb>T_QUIUmno^6$^XYWcQCfNuL8~z_N0_ugUGS?)hIlh#$o_z zU2%4GW#Yomlh9|sqE*(VvaG|{Mn@Neb>rdP)7!sXmPOpWu{fFZAnt*wnRzGIJNA`h^wMUwe4l4g$}04h1K078 ztu1<0-AGZ$HZGX?vbGFRy|vnHEdw?v0K9}bBY}y-1MmjWlI-FvM*t{184=XsWkCr* zJNamW9oFxb*Oxiio5#2(lO9#5s^^e>HIv@eN^nCO}w_S(s<@O3SJyL-34l%NnuHPtqEwnqGlgnkx{WFN{ZYKT|j^`HmRwb1n#uR%lHX($O4Z9s%GI zt2hLN9BV(Yy-!9&9LWJq78etQlEd`$_Wi}j(r#WMT~B&cOx^vgcbmfA)}Um;PwoWO z2sJTXsIyuP7jk#UV-LQcC{hQ6C8?W*Pp_#smk=QX23bN$*Du8(Q-dc(p=rDkV+=gj ziiWgI`fNx>V@BStdcYVTvaoGt3BE5d3t3VoM4vSu?NQ=01(dHU?0bW&eOP&_qcd# zcvojnhbRF8^iIZ(_>yAg-Mb49*KTpl{4(YDo7>!1IaJ5lAa`mS?{p7Qxgv~T)eN+^ z@YD$@KiBOBDK0P0mykskz;TMgAKMB6+73Q{jxkA|9io-*D@A}l|5UbBGm z5L9t?43Y}^Qi z3DKxQsOzTdtdp^E!Hce})`7hTv*SV@!la7*Z;f<0Wz!8ZxZrwI-D(k&HYr!8PKf@% z=W^5mK0gdD@F?B8(NZ!<`Rf5*ZU_|^Z#D0v%&;J4u0h+Iot9T~9;ThEcsin&Ma|P% zw_s+#4ZCzxI~A06YJUWM@9qCwP#j?ucpWl~Bg8U)s=D*~LfImb+z(30hy*%XGNBlQ z{c2dHIs&G6ONohiIufbaI=aA4L$&4M|>DlV6flD|p7A399_l+c(>#TD{ylm-#g5+q>sj>VSoDW0_1a(h535UqZB2~l4iY@o@QyxzWFu-0wxW&8kQn- zT?E&0ZxW!x+*M+0vgL{B!s!P? zL>W?jQnXA{J&Pdo&ENk0UmKZzZ#Mg#&3aV-lYo`VBx|>BRoeH}kS@0xzae{E{92Zk z3%PskbUc_(i|bK1X`1H+6COZqO4nSYZN`K_j*=I10k&%wN~ym5T*T|o4~^|VzkPeL ztC_F%^=Fj<*R$@zbbYe7jbs0bPjq#7p?6@c5{pPG0XJ{H#tqK^E4g=NojrQ{RMVc9 z(t_+KhJ?MPW>Ri+3Jz70nZkug%BGS`)5AxQf>092PBt@H8oS9W2WrLa&lF&v4hk5P7E|u5M=SDvoDzhwstVsb# z(4=UR?Af{=FIkpf{*tmY^yn&srUj>q7W;68J(ejgbSw6EYH>C}i_7lEPXFqVRAsVl0w<7~K=`0+=KHdHa65;5E7_ zqk28(QDD3~1Ke#@Y)zCM`)1;Sw+R+oXP-iIa^gbnp57l!%FbkEN(yYTF14pd+V*IG z#k;cYAl0UYUr#9$=V}!e0f3ju_!GCX;`}}N7gH7jrgxvh|X5jcdtLJ7xo6;x-UAJ^jj{B z)ZfF7zYDB5*^b|w+j0tShg%7GlM{ZtefEJ1x%W|`bsrUJ;0q{ahK-2KmSu1Ufw*n9 zn`9z9UG6=UW}0rjbV}N4#m?V|XJhmjktZ3R69Sef!Capdo`#Y)Cqpib2eIk56kaphl^rSTR9A{h_- zgHj`DOIe$Ud{ZOa4_1MM#!{(6Y@{r26fRFXZn=1ERuR2C9^4f1?oM?6u~KU^F&G;W=Z zU(I<`?HuyGC0W7)ywsbOl@);1%t-VD`*SIBaW1s+`+Mi`E|A;0dHmntSFASl+F@-H z$@nxdd5k6mI$+8MQwc)Yk?w{u(&8069ijR=HaZ;m%sywoSbdAy`H&_-7*7vLSQU@~58wav;q^ti+-{RDTupk=Hs=M5-2G1W zRY%$69$}QePokQgNgq2iv5IDf;#Au{HP8=AEq~F!?uEL#-KpfZfT-v?6$Y&q3joJ1CxBoq z{ObX-s@_5BYS875y;`A?gn_e4;nc-3!SYUE#-npB*=Pl!%lulSvHFCT#dlz z0DuFlL?)In_%QvnzIuC^@w{#ef?dyg)ZKAN)8r+xUV&^bH)M8w-{y6*e(G`Fi*l9= zxqFGwQI`eGW=+cE=ruv$6)L3!pJI2Fw>G3dV!IsToM*+4h;$9ql;xQru(f3G+u0E5 zkv-+gS#rncqK5tbwq2Up>rH5KJ?UW-U`PO#rkzUw$f^rfwn?v2Eqm0PS(ij|kGfgNV#wc&AwtQk$$ux5o>cXjumY04^OFDp&@AEKMrB7=ARELKJ>76h@Z9 zX~a;HSs>;7VS4l3^!ic(9B&!^blRgTLpMO-6`(hSNg_tJ;EIV;*o<6vz1xuH!i7A< z^lXamtQSH?$;PA`q%*&*_g5X3X|Nox3xaNwj}*YWCeWI{m%)&(H( zAy>5>ew^O_aG?&t&1RPCNsnQscD`V>PMKNyEM3oV>BvP`{wii)R-}n+B)^Xk}(*d)?a zWqi#!BjM6brH)Sn(s15+T0K&Jhny^uqF+LgB3uX`BRq~j8$r(FMj$SBdHt$hRixykV$fmnnt#6U_uZGd*-9 zK`dg!?uV^CEs!In`?Bf$#~BT-CK_3*ID13YiXOy z5!t6)qYInJQ}OfOcaolaKZj}4cILvrZg{O!Mv|W^a!I^r@X0|RS&#ti5H<{wJKcNI z43VhM9lpf_plAwFQ=FQD4_6};7$7sXlE!L&vElXGHjmT+IQ)Y6S(ZzTG30XwPviRmVxT_Qu3PksN#gSRR{`C>cK$_P?=N?7icBnFWIe1^WYT3dOKmlD0P9w} zv4sk2NSg$b%E;>3F!)I2HA|f}aipQ-YPCqCH19?P1FAV2@|Fi?)Q6y|p}}^gY6wL?t$mss93{~2+ZS~gBW>? zWD~buG9@v?Pj6mb@N?V%HTn_RN0yoiUhhU$X>e}$a@;#-3|9N9xU7H zc(%*3Pvok?dhO3f$lOln#D5N?M1c9~65tzep3z**c~I(#*ofV(weI_T@Jz;Tg`I%e zM5Z{DnHR3(-d9MP?G;{Qr>g`^4_8y!TLgqiYNKAW;y#wJG@Ow~LP|bqW1pot@sAw# zhg2h8G0QG>7+ecP3Aih49tw)HVVBH1Rvcw@YWRMA|K?(waDRN-exBZ3La5hK;B3-w z2?T$SBxjJZBaOkEjaLBq3sQ3z7TK(1cSwah5?sky`QpCpeM5Ad*jQ@y4nRtgL#3+P z>I%rCrtk|L^3_`q!^gKklkpE&P>j6wk*v3qJW5ohu#v))MEV`sZGt!A9ZZ8~u{@y^ zBP>eBb{<1I$2xy<=TlKk>+>NNe&KENJp94?XYDXQ%^xmC+ndAzCzBp^nW{FoXtPxE zIQulut7VP9nYLvyWj0I|xsZF~e#roQ5Ey4tFUkntU$d(+101EEdJU4)yF`@i#uXGP zh{6p{uwR{t0TpSPecCRw^g?&_YyD9<$UNL&zJ5`z;{Qg1d!16~J-BQBV!`0*e19Jrcy1*#Rf&w1dW3HvZu#_zI zRWFDIryqZKx+GZO1PxtJ`VDaCv9yA_^pozJ)ou?vExA+qwiTI|=zLa7iiHb5eHiW& zjRSsiQcJUo80ImD+@VsX0rnIJ*MY>a1reKxsZ@!V*7P`FquUs~JRDA>KKVe&2B00G z1r;0wOU$GkNfkrZZ)2EHu!wbJjApGQVjrUXuaL6$fysUsv5cQ)29*jFHa*#fro*2;-F2gs+Ephvhhi}3;5AvlaX@@F7fmM0?~eoSjekrhb+moO~T6H={E<;`Qb zvssTSfM4Wf2=4&<;zE(wHt%sQeOttAS>=*;F68cI9}LI|zR7n@+L&x~7on7zQmpJE z3zekyBT@mlpoUO6;CK84&%d*U9f%npzdT~wetvgR-TPYyY#--*gH)PirEqdlyyR-g zNLQ9Mrj3W8RD!YOTg1x0-cXQ`rNxF>q=IR=1j0xb=u#vYnZ{Au9?0Xx4m@mWDq~x| z29`V91$cdPHY7%imn-n7j`WVoxZ%5}{q2RM?Kdd{t|vVv!%A=f3w~7CHoDbru?FP6 zF1of&7T#c1YvDQ`Qru3#41hvls9sDdJ;8xvBo&jaNVd}KG^cWs;^Kz@8D2TV;$97W zFDQq7G6GbFoP9*BIFJys-e1d`rq}PjpDqI7_v?-9zs~vQxM7lnm88@qBd!|lR%B@V zF4ESl!H-%bkt!Dc^(sikwzlX1oY)&i)^2Agb|l$Ls>#9tkWTGS zLGeQ*;J@(IN78*np&j50$pws(V~pe#=WRfgFE3@+*B3{v=da_+k5j%uSlQ)TEH%qF z;DX7(08QCu=e%3|pkB@RGFolOvNBFKK$^Pixmgy z@>hNSud}|nOOkn^mnY#WkN=VqZNAi`y>rbQu2STYy>b?*bq8>>oGu_#k&ORZ#M zGk}L^(&aFa>5d0*BaF&?3SgbokCOd(R0dVvELAB%-x?gV5X&AiK{) z)U3lC>CrWbtKrEli>-P2O>Ivl{MnEg5uuC=(n_AyMHh!RuU=i?B5&SfUC;R~Mz?>5 z=s>~JY!tBop4nY0F#&?@k%gpnwPKG8{keKbkYy-UI#vE*ocD>k@Vb!J!Bg00hzi&n zzFmzDuA7DMb|iZyDFwBOnp!0B0o@MNyj*3X#Pf0^^`?enhP zVmqlT{O--sxZA4hG30e!X(uhM;RUh{y! zj`7e4CUbzI=!_jLuX9;&qtAvcy!_GWFzYv|@D>6$rg%=c^rld%ZP^bN{XWns5T1n(zOxCS^?BXiWTi=3sb zG8NC2-!ghGtq4F*IQFD!c1`9|eJdg4=KVm~VK^5oLHVOMa?l8uBgG*s91CmzPDbST zTvW+AOFSr{)bMV5|L&rVxp~}mGU-wMlZz&+C8;%5;p`5(6}7mn8Tt|jcIq2B50r2pjOfJvhR4$nHgc_H%%TB z+;J(6v?V6w-jtD56q_q>?4VeAV>Nbr0Jz~DsxpSEzG75Nd`MP$Jrc&FKN!!5x)Cy( z;oZbQiD-Qjsh`by6oOe?TSQoP-AfFKCq+3C>-+d@k@hoh{9 z2lGgoVsNbsD+VJ+Dw_gTBG-b4j|1=jgr!h9LZ?&?e*R=g;LX5u^6YdW#)qr=)As(= z1*z&yCa{x9k5V}4Jm8zi;RgrXHq-pH>nh|L78odteYaf5y-PigHp*PB&ou(L0;wb) z6P~vPP=(365DD8okfnk5)Seeank|(ia)`=}UPM-{o{YfqRP}|oLH@^UsNsiKKQ713naeJ1ej`o%g8Dzl}$Ja&vKx`$QU<=Iy%ghq}*(H`bcWm7La?u}WPy z_5rV}jjHK5Nu|2!HrcX^xJ0h}-1O>bj*msUqfste>>h>JuU!wih@kHG2ppt_-puW_;-5{ zCPfO#YWB}#rNUef1k1xRDezXYBH6s`4%t>Dp(0K3<|Wg|N#7u3&v}cPxNUJUTHYJm z&JF>;HP=bgXlAbb>)t(AuZ;G(RQNiIT1nOhQsl?^;+dZYtqu_F#SV&H=IaWCuKw5P3&u-6%+6GO*N5z@kFwpjgvk zPlp6s0Y}GEJWrvTUoV+{oZd{AB^vehJEl)lzPT$VvD;PkS;d}x1z;%Xq!t%nwoqPP9Z-nPPCF*1z`6MZkbX7tekfy(78~bjig|T8e-9& zj5skOta{H|CkjQ{;qCW7zPebgZ&s_GOnR71o&{7>x$JI6+N~#~)K+BKs?h7+6WK<& zkb5^Q9BhOQJ^>ps7bBf1UMFFzmcA*t^{#UssP^T}bG!~CBCSw>br`s>-$lj!Zk*FU7`n+&hRK z$6u&@ZDKtPlGEd$WoedGMvno4M zYQ{Oz)6B1@4^J1h)tk)VXR{vE$}P?6yAj8wfC5bH2!lnk5_-=SskS`oebe3ddOQs8 zJIoS#E8PHg$6DYR3UH)xH87O&MtTG=AqQSy<=9}TD?l<3{K+k0r4+0GEI&LnEI}#$(%!LsKLxf#*bJe3}s^{FU1U{Q}FW3k->U52=FUvv(OX23J z!H{H9Hm%BKw_M1xcSSwI^#owz5$Uo+lPymOTC5Hzf5|8MFKv$>PnKOWtoLiTiM_b5XRih8el20 zV66Onr_<~*@jeNE+mNHMmk8_9~+* z-|mNmyX=ys8L9+l7)s$`8iHrbmXJyelC~7;AkZ5n(jE3qB7m}QJ~DXz`g?ga7$7l4 zH1OdolCeM1YfoCqZzo7!ro6ZWDaam2iF!LEH;e$F(#ljwMP@l9N3<=`=E2tHgC%Rb zCeipW?&9ly8a0&km;C2{|KI;_`8!V8wzmDMm*#QGudV&%ul?hlG+VRfBW~pUJXt^E9A~(0%ps0Ag>;QidU?D|BrNhR;$N& z{KHito8q73(?9t~p0mVr28;zL!oFdpF(p^{oC7x2@k5oSgtIlrbEb^&FFgleJFov= zK3^K-%X5AF=IQgqhbD<1#cBCC$%|<|KhlH5&>%;kc=_W4jK|MC9_#s^(p^^Xva5n} zXGW`(nF>YkE8HbqXhsBz)T?m#Wsz0my!a(Yl=ITCLz@AHmNN^)8;k-G2MyAThKI#VoZG?Na(nJi^? zEHo;mb%|%m-VzIp#XvtgY*uNG_F7GBtK89Z_4FG?$x$NN01k^!9N3$WuP*>+CztKl zbN&e<-?go3H^>VE<;Oyd$N*F9%1s{F!p2s7TXr~mYumYv86<2@I<{PN4~-do;4PX9 zNU$44we`T{LM!VJuHvJ!-v~2GGLrC^$|JTe)n)O?zZOE*{u6` zaM`hq=4G3^gAmynh@%OvoPc)^1+)o=m#e*-^{c zOr}LS)u3nO3wx-R8o*q3M%3C37jl>O{nR^41zpNMnJRQroo33mBt+26Gk^9;v13Y; zUFxWfB25&4F@m~cv5s>Q;gp2L=}}O=-2@a z=b0@Vh>vTW418A6@xN3D}zR56sgnVl3nmaX-!|)@K zil^+jk8^Wt!m2mD&x_$g?y}QU<5`cF5pLZ`(NZE8 zrW5cn9x$d+xDQ@kQ)5oB?gd_6nuBE#$ux3SiaehTu?0NxN}k!3mE_&ofB5m@kha}a zWVo7huXYL`0fdpceru43m9cb|7OhT*$NA{kZMriHouEs53MvB%Nc=MP||K!S)x8 zL`<<{O4JHA9O3D`m4Pf=)b9>%G$$igGp^!6@Ixrd11^95@PGc>WftP5sOZ_OI~DS{ zuvjrmco(>oeV;eol~IH+@aZ1bnZ~%4#vQEhhc(!Do3<1snYer$orxwWL{ii?ublLFU+${dSnscYU9;fU@ zJCr&)sVtSRNXoGnk#Lf;Y>r)WA=Gy| zs^jDN;h;4VQQm_Xuch~-jnk~&l$xXztd1CLGUf^GL zhwU?0sJu=3(&!F4>h7<~{&a5bKgrt<>O#-4mn5owMz1v!%_gF@^P?y+#h zlTvz6{vb&tQM7W>xa$GHPGKG8);+J2tRB|)A1|w&^3C(!t2zIKz5gypvvWHkdLdIs ze08O7rMneLdE9p)^BgSK@$5mBWtu=5O&hoxXA^^8kWP!zW6K%oO=m|wHnk5_n&&GK z03q>)An6<_-%XbE>w)7m9^M7+i&yiOtlb|k#?7}$>#yeA3$i=C1FXRr$OJ|f-Woo?uubQGV&nT&h-jKbC+y~@90Jkh!#bvL5)-*TI@^JLX~XUpun z*VW|O6nt_M&Tp1ym4a(OCu`+x65jgE@&c8eHDm+Q4g1`B*_-Ib5-Dn!+l|07a2b|G z-x9x3jt8jp#3<%;$Wld3$B4hrvVJRvSL^HTvg&v(fBBW^Po~|?_JKkc_<&~W*zUH$ z^xf!e6Ba$C74ETEF6Ftm`~hZK#EzGuAb2LSzad*qT`R**wy2UF*p4qq>47~>y)JBE z?F{vygON;2)!C4dqwp*NilnKJ4jI&kHxI8bLW`TiqbHN@nJwNQx=*|*JeC=@9}y|>L~b6*oJ_h;IL%53qjzZ{JVx%Fht#{wK*{|0 z^S(GcaUIW2`^l|tU2D}7fx2uCj!{SHKn0hcL(_2x46yJ%6k}kEiXS3CCH1Bhd7G$v zcQ!Iokra!zns?V$4L`lwUayy$mS!@(dCnol=d+djrclw!rxZ8)>xVyGDi%I#_xixO0 zC`45({M*nm728TOh2;q*!>cr)ZJ~hEy(N}n`=zJY1<;JAe7Z95^lL&5KwTX*1Vx z7mS`fC0LqoRM@c%$r;g(PC|uVSXk`Y<|=iR$p2aJLLD_=_M<4C8%g;Pj(@w-^D)-DC0b$%s=FcA?0v9G35= zx8H3Sg}m=pDe397`<%Xb?2?|g6>-OQNBLW9#i^U!+tw|>g=swdcEZE_Dn&aUR@JPAzaCL;M9SoyA0B?3US0MU>&q+<7;YNj85(1b%d?#$+lAZKsjL>%Ku!{~{$8+!SN1+_DLU&=U@79=Ha>ni~77qYH zRHsVCo6+!Q$T8mmcpZ3a;q{Su(uX6uUXL8rO6s^)q9&M@!~5?aE>Udd*8aYpbFXrY zT`$!cg*3Dx_^du#39F?UFMC2#;qsQbkmugr?$9Kqx^+r`)wP<^a&8(~DF7l_S~GQW z6jITV%)*qIP%Pw)qaYhEA}S&+tME>T02lGs1l|cD6;R_-T9xmoA6{MPfo@Vcf1dOL z$!wx1?4WN`@f%O~^6osqc}&U*Y+CJ>&Xu3r{YZ*@6b){nr;uQr9;lx2?fzz!-IqzvU~%)j zXNyw}Dnaxy|xFA$Xs&*2Tc%kWotYCZdY%eP$5xzF9S+Tpj& zVvaYE{Ftzz(3?C2^gQy6+!fdH>}-68#SOrs1dOx-nLv)I8y@+vF~dY#1-Cd-N^D^P zzbtv=0!xuc68>8V9#FE*=wyhv63@_#JY@HXy-$lVK79XbzAUC}H;Xa8%zAmn7}2KH z$tp!gz4tNaE**AD1_m&~BfmU(dN0a&!sNF!m_Ao!kUddEhn=ZzDEc;DBUz zT*$r5-nuU;k*eQPM^qZBtcYSwG33i4FSaJ#9{i4@rn*sre8CZkm6Qi<+4YDXsXZs* z?k!7}gdN^Jy#DF3%67Yf_j=O3oJ@?WExPP(vNi)U_)zM)tE~LIkQg7BgbR6gqsxO> z7~m3+C3oZq+VxyC9swYGLvY1gFdX>Bjy$R*7&n?cp7FR1!a@bvg-%ACqwXSB0Ix*N z*r&vk-%TGs%s*YU&*m0(d@}6?wj&)azpF5LEkN2xFh$q%V%6q@%OV3(?w;H|c`VS5A7Y(?`bJ;nx4yK)`R&MHikx7JFt ztTysMv4w>CMz$QCNEN@^5B{;C#pomZr2O`PzZ+OXG{W6WDGw3Rs}Uzg9?i$q2w*!?P44*=9id|Yk+#c`yoi#Wc~YK? zC`}>05zq0Ux!|R`UD|dv=UyG;K8b1dDb`*zTo974J?tt@)I06~!FjS=$g^+r z$M|9txiOvg)s&pF#6khLRgEk)7lUDC8(s#%%#iZFhVl@wrBFQT<1OFWh#W0{rek>p zdla$H-*2y{A1_*no8IMY*1beHgshttYB5n$Pg?JB_i>_P2sRvCF?Jpo^6ZA^^{}n7 zgwTAgG=D9zG;Omb8LuEW&S0>20R+5^2eB_(_oX&Raqj3m?-xgDEZ$>KqpJmNlp+BU1S2kkYWFc6jx$y}cj_n{IXeoJ_jU zt-Nfoj>~@Dh2EBp5&|LYyDtmLo~`2z6xZ?0T|Z8-Y_@cTj2lMsP8pF^>fO5x{818K zxe^9IMI#g(ix>eR^+B*T@)Rj>^XtG%hZflWu?%00>ruGZ)jcX)~oTiCi-#m|?y?j8C@j-F65;MTwRocpN*-c@g6clnQ5~G2 zkj$iG6tFxJ9p$M8;gPp_WYpAeyBe{F+mAM~=ks7m#nyc{t(V2zmTNnmb}z_MXSu4d zHBkdA2YlLjTPPM$i!Zb5Ev{V1v!C!CT-D9U&YI#{g&{SDkF}751dl)`y#4SL$Sfsx zxeg9~{HW-Jw{T-%!8Zlo{MnFJ?6s1S0#*uHQn14hN?wGSZWb(G&$*M;=U8K0v~H8C z!EFoD7?;Cj>KY`e5hllb`)R)mhn!*sJxR=vbQ)lEq@v9gja<^JPN@tvN&_Gmjqt4V zJSdYr$&v9^Sjm1kQm#JoCI5Pe@^0Q!0ZZa12+FwquuX42T}r&ICVn>SP6U2}6~PNT zPL)Auo2so;-05K|Q)U&@-CM=-i3>{DJdBFB+r>Ek_4 z9N1<;#X<~^9%c?FBcynee1QXdC@cWX$A=$2T_{`mH!c!>J?UPzW^G&KWGKvqR~tAN zCZ=|8aH%bTHqq~r3wdroa}>G3v7}O4cWkVyqEfCF83UkDiSYV$kP4of4a>A)hzP2K zLb5MZq;?O2i&3yT6_`ioh~kf0xWSTK&M@OOnr8!gDC85;&gkENCKehV58t9d$ zo&86f_5Yp*x2hAM^k!DK=GEaNmm;?We2veVrx`nF<0?*d3IBe+qU&b;_;a(qrXmkD zVgNZ1StGH#Rtjkd##zAQQy5YmS?e*(Rv-__UP`=_$IGglOkth5;nJQTxZRZWH z7GX}SB&cRXoHK1Mi(0kkN}l^22=?a(LONl=o*zXvC+e0Q;lL;oSP<73D!?QBSJyL8 zd1mA0Q6UbHN%?l9+Du{xxcWeKB_9qdWyvy?^C3iY@63<2+K zaE7{hN@%MNI!ng`Bz9EbC9#Yb*Fy?E3n4D>cJ9#I^TWIEKmKr;n!joHlS%iw;oP?k z3k)U8waHk#m|a>ek`*AhH7xK-I~Q^vyC)da0hGhtn`%RBvLqx$-LQ?ox`9BH`r|wR zqaM&Bu_)DSorMn~XNx);QU)%{lR_Gg!sEFOuRrbkPnT`3H>KXrX59z+SXP3Tbq6|& z>lP5Q!tS>@inh(cH)Yf2xQ=JH`y<*!*}i9=l}NS|9S~(x_P62KJPx3hkc}xTf?5W zLY0~4dh14I*wEt6dp6|fSjV$l{&4ZYTd|i;T~w2d$VfUWu&=Jo*5t{P00fG+0{dc= zJg5wZw3U&^wQo3z=1xX5#fXfzqyl^@Rr}-nw-<^a-;}ETJn0!+jCj`5n`T@r1bGRt z1i*0CV%eq7Qp{z|ZVAOlF8tf}mO%F^H|)qnesm-g*;13j+OA!7?Koyvyxnk&s&MfL zslkt=O5n*ToC(t2(;>uBi5;)8E@Zl26>8y&pDw@^x6S@}(#ty-u5#MvWm)2M)cE@b zOaf@c8dA4SVw&BybLF@8In~dPE26|wp>*_uvTsXt7m^rE#1?k&?C{euT8eX8_->B@ z-lmd<%bg8r#b#U!q@*<)bpb)k{Ne3oR`%vC$jPL8(dJY$lWmULt}N|0fS7g-mCTW= zDqaIuav^u|FQmlJ9yu+%h_Sh3;Miz&Ydn-zx{-7-c*J|Ub+)t+qmUoR8$2rti&4S$ zYJ~OYB1lrZdLE(b;qCUr!$li;^AzV~(%qEb<0|qjqnL^|q)SOs&Oxjy6uAJp1)sQ( z`#ANW8X3|}VVNzgYn$i^K{54+Z|YHh%StSKbgy}!Lxh62gIYNxuTZ>a{q=wwbs%+a zL_+H*^)q~Uc(ZL6`2Cw0=4{rzxF^;PXz`e{~M#D~Q~p55xl z^)|L5oto+>Y zyoE9Vt33->wF7!IIZ0oDB6D}5Ag~59(*xFzk%x~$lX#J>LkEYSP*1<4{`ez3ks+HG z>FDQ=%Vn`K{{Bzv!*|;yhV85~@nqJ0SaNuKy-$lpj$~BwUQfxGJ}h0a-1sWtl8DDrzzC631xx_Wjk{PnRXhn=LFSlkU}=h*ufg zI>5u|ttqK@;d=D8SAgWIlj~dLLY{r6AJic}11HKPkr^4hUy-G!MarZ~wxplH|H)&Y z1A1fcT9y+iq&xzf+QE4}Hia_vbnz%9AhYE$x z_+%DOfPdTh?^zMY@sE|hu@!UGwdC62Z5B9~ss#YNo4JhVCeMxX=i^_`9v`H%o<&~f zU|!74DpH?$YbskhGUX~{a2?(vHf;t=J@J5S$Ro09>S7x`lKaB*IQSqDIT?}oCBjZvI{IUJ@O}m&)_FJy!msu~ayrcQH3o937rIhBIs66SnunSYMtM%gip1AOD zUwr4BE6JowFV%DbhabAjO(XD#?1>^_Hsn2$_4Nv0lTg8s^E)CDjpR6DAif$2@H|oB zo#DAVJenKce){nObaj*I;(E@#iVb33)#e)#y*|wdr&|c~)=iVsDpfYS+^C;Yp1s(B zTfG)-y9R^|xfnr;_JJ;$@*lOZHa2N;6C z8a~ZGzP<2*`DRtk^`tw|6-{0vCC?SMDs@|f)nyhkB_z~(59DJz&W+gV0-z92z_K)zrhoD!a=C+D2SLLiGqo`3mvXz` ze|YyN*pi}-XX2N?o^&7nxqqa@?$@rwO1Jt@k&7(eua5<~^TzgYJL|6U5i^wgwwYtf zIV3IdeKN@g?Cw~A4zmn0^U6&E%qS{`;1}jL1<2{hOaq8d_xf=15ISxnvsO5F39p-8M zZhL>(tiGunbvo@{J?F-&$xh_-wI;??YG92}vSyyA02iYW7qO6M=jUei0D`6>14e7Q z7{rYvgDzH7Wt#21r$Mt%iq+}}oSOJ?AX_L!MMfgp7$Ovpo5ioor)~~J~UQd^8 znQ!)UoJ_ix&C}kOB{@^nge;|LAVs|8&Md21qKn&JB^Pp+%?@0MpCOv(?Y|5n_8eM? zDyVElt99Ttsb?!7JI^)G)B{_iVF}huve@Kg#Hi69vR%qYbrgII^3~hr`^$nyc+2W% zv+i}g`^!JRE+Qo#viG7-j&W50L@U9C+{Ns%#2#9zEu;h=V^VW1^z3vNuzRcnk|%cE zIhb=4Y+FMD5(v&~F67zw_#qmlxgjOfeS|^>cxre)i(e;sGm71bG>he4S0ga07_mi^ z;kA)8zwF{qZ>Gy0)MHcf=k2I}clGCw&9S%ku>Svc4-2y=LA|uaq}$}sd<(gU<*46Ln)<>mRJes zaWWDVaES;czxkgZK7IK9)x`j|U$w=2rJis)@mcf}&Uyzt5AlhcEs0}~Mh&)TC<`ww6P$uWV&l7o+aTwSl4-C!rNT=z20j&S1LdNHbJ)=`m|M`n^AS*Q^kd{+$#g)y)UB)T4X521v1$f()p8#EcPY+|V%_k8sI(+qlRE0jkSt$emrUClLvP37 z?Q@f^X!G;wtbm6w7~`cH$y5){XMZrMYQ;N=i1Zw3OQ7~MHZTvNC^L7E-Kw)8Du#}1 z#E2{i0APO-CEvcf?D3#DJCBk-|M`pC^x`XGmpmvR$-Bb;NM{|NDQ?kqY&@!eft-D1gbkbJb%r~X}}PDGGfL^ zA%$?T$60TWu9+w8ir>HbvEoFshU!r0R@!Cz0h&zax=9zo&0KXQKhYsKf8EkOjfc5`{vfak1# zDp|`E@@^(XF)sZ4sGGGCxioJ=W22`tUAs(LkkF7u!ZpC&1HcX3%t)dpW$}2(kxdmo z<|&$&X!2wruqf6j z=t=6Xty4O$T=}<+Ug4P?W#SUj807&6U8cb~5d5`enaC-Q3LpZupRt_*_>TRnu`o{?QFV zblF8*BG-OS24IfnUEyHhZfet}mxjb0ro|i6yKN>TaR-DJ`k(-n@ac$x&ITEk1C}B0 zyz^%xam0Q<%KNG3KxV#A-+jCQrR$sE`)ba;+UW}7;FiM_W)(`%8`q7OymWFK%B5*| z87$=4Z_)@8g~}ztCdr!!kCu~g5)r%C>O+Yo4^#~HyWmWEPkbhoHx>v)HpDA&QbXe*+sLj+p*p3{c``}bWARi?$#t-lza1kPTo9{;iNm8doF!(rJ~;1AMkKOQ z@=!k2xcS%Z(}#-^`6kK8mq{;PE&0AdI%3p8BJX$ zI-Ky8Y+3#D|Iz;A5=6eKTlUMW7s#~gTWTfFC3)aIU^PwZuEmC_@i4>pnM61_p3B9_ z$6X$q>QXybO*b-kBdA-~tC!uBMr8>ga}gw+jAS-MP7UgQ9z=CdzrjAY0H~w%hg2U- z^$P%ezr4L5wR5*X;^#Rp4kPZ-<1b@I!xQp-(ff+ey0s~|9_AL-pfwl%?G2uh0CiV$ zXfO~G9(di_LaD&xIs-IPb9GdTXMqP_k0ehKTcpW^4GG)s^c=Uoa2;nSELLme zF40qdiA8@EW?2^Rse>&X|^4nu2p)>65G7Iya0OCJi+BepfDgLMx=+R-)nN86xR4Y3|08wLSINKipEcw?tq1qO zCS`lHgtm?c0;C7L9!(WC)#AGBHsCQkUwB~X0tveC9w1n1fL&m9U`Am_W2lH=P6puU z5JN_9`Hl?B>kk)TRDV;->}t+^3WM;1&hx@MKq2*}gxBlr6KRHBL!#Ms>mAqe%!NV7 zXpXD4)_V%Ai_(mCDYjNKv;HE=A-+cvGpLE zF^PoiJ+XJC`a;z>rIV9|Lc)N5q=iS~D*|tZ_@y5Mh57Ityx<*$8!g#%NIvQrRu5|; zZ6a44tAsrK|MY2n^>CSE47W~o&t~1}TvvuPOu^+9@IlB zXVk!wn8ZVMI2twTLo1fV3|5n($}*24M~3&qkK5ae+jIEZ?|c;juBSYQ??3T7!Wk>- z*8I+HE$rz?GGlG#DKGni*Eq(+g*><4v7bwz$v77QCJ|r_C4>%#R9bHEM!f{lOtm%x z`sj)wSMpJft1SgwJ)BjDW3*&`L8@m3ToC?2*mB`?M6qz4hj1zmKQ7aHaZ?hv{Qt?M zJ5`1{8<$NQzfy(F&=y`NiwvG;CD>BhWUk}c`PS%;1X2K`2PRQMlden>$``o*Vq%9~ z=-c@_Y#=$9RD*$Qq8s|<3pujM4jEpMhjOcVdI0?4?T;6QjdXS}c0KE#Iv2Yyyk8K@ zlGm*Pwcvd)Znwx^Exc}-fKc})Qs>gYeJmCWGAIpniK#|3m*C*B$AeA^`#XifM+=nV z;q*0&Zw*zoM*KF3$caQX`m65&zR0LH!c$T56|eGFZ2tQN5VqZlu%G9=z^qj?VT;j4 zL_hNiXU(p}>XbwBpJR)5(OmgCu;-pOiAQ3s;LU+YZ%8LZfPV*0%>igt4wOT1$8muW zfwhV4U!)t9p|A!Izk(hGM%CF69|0gg;=Vt$0T5^R?YqkYANG5Gp{6r7*sCe`VYbkL z`U1q#PE2#yg!HU>okWRZvjrKrQe4K_O-HM(u3fd=0M=lK0+sZvu*Xf6`>t1wA3S}F z3YKMCws=<@9c%{AsqsFQ_hcnYG%fyBEEie6h-6>y0C{pyjmg>6EQbi3Cha&(rT zj0paCaKpbYZ>iaLv-skA&Ofu)#oso1j@$0ZnlsrZ)dui|?QK^i8c1W1Voo~jT*z~u zLmnqIwnuF3-knn3G$k^2C$_(DDK$Df)@#9zyox6Mt}us~Tp*-SEaO*!Ev9Efk_|6> z3XYG9m#S~xzq*v@Z}y&F&$$=XG&1tKPMb0+=!g_HT4XGq$F4ml3D;aJ7jhR8JM8YJ zifu+V{{BX)>5RNJq>3r2AtWNe+M}ABEV4**+rKEJrA(CM0kmQu)jdYlH%1j%G=svc zOi~w$S5PPM(MBX1+(eRV=%9Y+N!e236xKz8Y z1_-IZ1DTqKLkk-Io!S~mZzK7=56MI}&f7@xi<1!n2;})+EFQsCvG_dY|NQuu|M7qQ z2RVt{%^sI;%)F2JW31Y>=#jinfEH5sz9O{wUR|aLuu3X%9rrSSP*uyEnRBWXgKSA= z14m=9(G#${^lOCDybqyJwBcQ%B-jSUpZluXGU{ggfG)4TTt7q$`lDn;23_DkT)6GQZt5wZn^8?KSZMWEZsMz%0 z_CaF56F&w8psL--N?x*HAmjkw!+(>f=xoR%$Hjx<>4729&QtgPW?3$=iJRX2^PHD= zFe#0j{Zi-D;Up*sEWDRiRvmd$7kPldh2Ple4SxmC$91^kj(i#K7UO3J2J9tu!gpq< zii}*?$CLx5?${_oGq#&`;53?7Qq!^86N;iBg0W(CK|qsAi0cb-qYY88qR>M{zcUZ64rp$UiCpvUVi*(Hr^ftpW_P8%y z8xr*AoOMGElY-Iy0$o)Ek_>~QDvcefvIoqfkJ1?x*yqnG zaNtk2n4b(W4p6O!WvhyeNOt(}ar$AqMB8rSnX_5mTbPv{M!a-YVT^`cQITiP*WdGo z&>Dd(OKQz4gQunK?;bA8Vz!%=?LW_XdG;=O18mVGX!YA9U7eQMVQV$z;_7!1CO>iI z-`?W@>ba|wu{WCmY>C+x?0ca?aYdO-3JWBdY~j#U7l?4!4w#1hcq5N@lxB*0HKMeP zB;E;Zs2Zjp-alNdt~Vi6z`*27rlpV30%i>vl;zt z@XQ(v+mXn#zm>pAx^xbZ9dlF5%V$0Vj|93VmrdD6Y@z`bc+xQ=ITb9^Mvi6khJ zRRE;~(+gr`)yPMU(xu}0rGd1wR5==hQA(0BfFOk;+oPZy0ILR0M@TEBCHxj?rKLE+ z=f@8hQPTQ1!spejJKb+k{i8@E`!%Z+CL?DAp3qI?{VAKRtm8WFLRu87OE&7NLvW@= zmy!zjE-NIX`M6f{3WoQBvTLI`uIYU66y;^7jC0!SlM(5ngX<59%9`7U^-_^t-Eu3} zbMCXrwcGW+y0CezY|?g{y$idX5Vaz?nk{rBCre0$*giK;8n5Qu zD-negSGuxE+-JXrRc`Pwp~Y;bUV4mM(Ok$~Hh3;YG0ibL0oEmhP-=Q4Oi!j*QwJXE zhDd%zDoY#ofx)2cq$W=;vLtyn5@K{DAmx24)g7M}gZ<&vcNe_8H%qKP&v}99kk=eG zB998YmJ402K}KWtwz7Lh1(Pnt-B62KR_MUyE!!S?tPamdNAE!6drJuG#etYhVJ8bMe z?hz@r<-G&Bq}#H@MF4}Wz%#rUndknkuE?N{XF$}`;ow6ysrb}Qg~@$31-ZKlgW}Dd zH>A%Uk>jxVnk}!<3D#R9XHqhrjYRTaYQ=I@XQWcYI)D1<0!VX{$mnF!eE^Kv%4Qe4 z^f}I0`D7wusn>unwyd)&eJzFScy`&Tqt*-IQ!@){R+_GC%-T|Xs&}7qQ-b#7vC1eO zFDo3?NR(nj%~8%9;Pk!x<`5s8BXO6DX87-ar6KzkZpPKKS$A?dso_IL>=LnVdXizY z4Ig2)Tbi8eaPunT^PKyD$KO%_W|yh$z&qHsVzY7W zJgoF03oG`l^kVeFg`e|DGpZu-O%7PocBV(z(G@OT#UfNI+_v!WNGXBh4<=(1DA}v1 zh8G+)1>wI0i88K6WEhcdkXl;!U=Q}ochlRC50^B>n}PLg*1ftS%?#8iY??&Gr`)F% z2->RE$RzSq^(Ir~LY|ulMjiZgQ32>XKv$1MEvis_1DI`5#O88~tXrgmKw=6^IKsfZ z`?n5niD26@@=tp`VByUJ-%uo~qY3J1Gr{!JMeCezHWU0j=jBOL18u~nnpl*VJ-cZ~ zlI43y76BnI{42yuan(B_0i9PBf&WO(K&dJ%;3F zFQGU#eLI+Vu*lw!Sq9k7^B~;}&K>$WnuM+_L3bx3K^m&RjifLEqSQ}IdE0;aG_4oE z?&{VK|7F(8%aIlp*lmgr>6M-HHp3HmUc&Ebo|g=)us5#!yx5LrrvRODjd!Dsy}QYU zmbLFf6a$FY2G&4h=Z-4yw*Y<*Rv-a_SvASGy;nzm35OrZxrWamD0-?eivWO! z@$}l_)w0o`@w#8;dd{7?Wqu1lm#zg_OOtjM$W4*gz@Hv6XWGX(SUU%<{G6j+|Jr25ZyT@ZLe2r&KIbYVb4{ttBm#M7kR`=5NoI5>@r02GpO%`ugA$oG% zY<6=|sde_s5lKca%omrHjEMPt$zM()s2#&0Hh{=-0GC!M{2dcpcgESbkK0JK5q^*ft`n^|E z?xo(VGi8SYmCjk#f)5iWIB;uLo_AQ?k&ALA&;BqztM@tuk1?{oSHR0K))M`YaTji< z$x3=)N4+t=J;ioJ4wd1kj@DooNlDF?r^AHmIGqIOX9ICO8`6Q@Ow=8eJTrOfr?xi_ zZ!eLBXt#t0KTmprLW6FyX*RBZwMaQ?lWAwo_b#tkV|#00Z`6HAd8(yg(2=zM4;GQ1zky_r68v)7WY*!n(lDm0&U{!=&WLJ)&cJiPt zboeEr2`$+)Sxin@q>iA2ZH$?<4}mpF*xf7*md8y4Ove&$KI`lLVc27q9h}cbTES~0QGIHz> zpWa_~0Eyc|cvq9|=5@5_GxcmHx67S6J+ra9E4EO>QTeVt7xL_!;78`A1gslM0gfj} zM-o0EL++^uZ28azL}yE6X+3tj3CelcSdre%BadLQzA+~w@Kf0F1hPm>fKvDO(~p-N z<4uW&lS%i|GqJixYtyn(bed$!NH_zDV5Qtv?|11f7jhR*k8SR2>fV?Xuvv3*1o!Mo z3M_TUCRXgd83VP|A_+GKPpZD$ky{I72>+SZ%r^Vf6k zrX#D&%nc%ns@Cgi;}u0Uy!ZEh!{$CSrTo{{~e4p)%KS%^d`S=&@2 zxdTH23>qk#33u*2{Q5}VG5iP%-+eWp$#fMF5hQV^4QhDz@bLN)jA^&&^R6b{s}i+r zi=41tvv=f?jf$2#V6@w+Uy>Dh-5eM4?9#o0cqZqg0|p9WNUaOH~_YcsZ&hUn*yDyCk1#v@5O zSv^qjAR^)#Hv%jA!C9@uacU4~SQk!4jx&Tn_HhLis-+%&T;5)KmNy%s_HdR%>>^b4Hxp<2d_HX}QhCc=l(&)Ri4b4L=0iR-2Mja&Y%r){>*|A?Lvx zCDrHzG9q@o#{f4T$uoo1SrUp1buvO;88+DS*Eq7J4$JrdddX(mZ+3fJ&AFFil|5RS z_9*+RdEaTA+mXvwyW(RDyN9N^kY`tzRmZl^K;|h_YP3hGQuWQ|LSj7KTyg^mmJjf5 zc`*`L&g6v|VC_A&J&k@%`^V?-~PSr|8`N2$_U@Qoq96u#qmfY?#=tI z!m5jv(JmyB^xAC5Oq9&oZ zRpap&BVeX_BIEP0Y}4CI+|4(Ie14hn;zSDANScf=p{&SWW>RCaAwZ;Q$H#1@G?}^Z zZ!2+l0%~QDkyFCKQp^rHi#*QLMl@Ug>$ygI0ZcJ$j8%}BzX>fKNmT}13S3HS&6ZFCE< z@$Bk2ppuTIy;MA+Di7OA$+#1E`oMbilOgAs6$>Ok)KnuA)swE5pG)eLpKk)cr}JK3 zpYNtSGH=H!D@|fwRgkA5j7gw@71@g7+1`932X@Q#WjHi7R2Yxk zo}#_5F-5#tK}tFj6|cURBY7h|d#eSnpKKU@dU$s+Slq2mem&=(F!YXj;mJfelCut?M` zT{o4e5G!n8x4L7(qAZ5YaRe^OPm3V&c>N}$gQI6T@4+(rRlno>@ZsU@MbvgprhGQ( zUiTEg#ibkXSD`}%&J&B9ViQ?t>80vU0t&Kaf=fS*r^bIN)(|84VGa2iTolJUkVR)d zG?LEdjRevOJ#_8ZMbq#b)Zp3YxYO#CR1Dp0B=_)(XD47B zr*D;pUC;ULoBxc?)b2pu$n1CC8ar&hE;lx2*pgBL&QN*fGM>3I%msT~2<29hkz|E@ z#netg+7wk~e{|JF3~(=Yr0Og7wTsrv0YDpOKuSZJ4c2qmvmrPf7&;;%vvm^C#tpAu zeY`}rf8B66*K_XV;WLHiM4CmMM7IjRiFrg&DlN`-HDzq#c-|xS+b)F;`Ud6L7?mYO ztPnquCZ<-BtE%XlWTS@{jx2n}jqJ;C*uL^$(AT_qwi0_^oef1jlDC})iUB`%m|v|I zp?bP`R(>_-PBvGzNm79TteJv5#+go9BE@otP-hcYXYl1;!*JpA;C1=JaOLNRD7+I&viOjKPlyS|)tYPT zj@5mocjN$O;O(4^O2Shk@iHWSk@V?=i&o$f(Vd+Qv57AbtREfM!amiVnLmEKc=)QD ztx7-7d4YAO6fII@Z&))Dq*z(@xhxT`3Q&J@>*6C<{_U+^o9Vhcom$PNgx5k-_I2GOJlKxsN-| zNhK{IsO9ZrB(_EJ6#XFx&N42RnEJCJF*2L=B1+1);a_3+Zu)Q`Z}ly+U(dPM4JgtX zEnP7on>eqsO~n}Nb+H8rO$UwxK*2(u+p9;i$ij|U_mauDd#HF9Ui_=#ZEx`QY;BLq z%h9kZQIh$dM=dcO-oL%HWVf3qidDh$m%ey0g3sxe%U)>w`He)ajYw zI)Di!c?6BJN5zn1&CrpOUJbEvgA_fmdn7xR`ikW4L0w8J>ur|1pC`RQa=|5rhTL#s zui=WFxJMv87h1Jq!>bJ>zHsH|d;O@H&MkE8@7%gK*|sQ4_A$4_ULzyQK#e6HxsS~A z*|DKV11EB{eJD#QtLqVsjT8csSIVEz`#detefx)to@2RLq5JckmuK)DsZ^P3L>}X# zT!1qW&(yqz+UIrGK>*uu<)_){ao3-+!Y)jeoihlNc(qbXIsveXsDx@mJS1k}B-nC_ zU8^4H*m=0f;zgsW7RF=9lOenz*zyq`9uI@3VZ$G$<)@38+|7pHlSy|XFNI6D>n38^ z9l!*Vii$kkN4?KR?!5Gb$Hh9H-K`&By``MHE3B9_8UF`2?`4%PWKo-MfPV-pa1weX z7ZP;`sCp{ljo72{0#z@V@(hE<&u(2(vF%J=6 z&)lA!?GC>R{$3w9LDwTZ5)kl2$~|@BfB5wJ)%NzHwVH1dXZ$kl#i>Fzhm@m49X=GO0r|-+s#(m$g`c_=d7L+P3fo)!JtqMbvC%6Ky>w2opF7ln8U`#W8;#)= zoEhb8}gx*p=#}{N~XucD=>FslqlGO5`HITDG<@3$kZJOr2O1BedqZFSQ^3 z>%aZ=um5?mD&2JOXS43(;h8@p4POk_8m4N;D4cp(~R!KfFkxEPf>9U3WE$?7g8skMs7@aEy| z2VfHebawLu=4{%1d`eF6@bh98pDbR`Aa_4W?Xv@_P^2))hE-h8-{2LF?G9|8s|mFf zQ>#rL8`R~hYf13L6sKZ|g$)+5lW@oC0VoL8jih7$>TA*`IWuYjcZH~>pE{L!dNV&f zTvQA3mS1@??LH-2zrnY3ODc=0liYr<9@yTO8NsSYRe>M!oTB8yzrE3mE-3;0D5?h( zB>G9lSfhX&$t6e$r=n!6PuG zRE?b;5n)tpx_HMgs*SqI!5u7PfmHUy?uN2R(%O+^U%>2ulMJILLs~GIGGulbmiM17 zx)^y=?e}WVok%rR^2^a}QA|tNU7@aydrsS3YH6@JJ=gK^PDn!C$HOjuY+o%VS(gECD12K(WYr^XqoYK8(n; ztnAF+uWBSOAWz^_PuGbN;DJOsJTv`Rc$lfVo2j-%RPAL;dN$tfVJ`TzT*pNlJkbAE zDKptFO7bRCx^)NlZoL~m{q5bY zB>nIf>3+_2wf=S|6O`_vw<=~E4SDL5k!z(nfTp>Srz{GVt9l_Ax2AkXv%_Kw<+mTAb#j&|Xy50?| zrYTS=Eh+2+<&WX4;hvS#-URM@K~{kK5z@yvmS~U@X?^+b?>DX6{tt-P|2*j;s(S@j zjtFI%5^-u%Yumyh{4pKE3&P0|Zr%41PB2A|^+C96QGjjOOK3 z^{Qe{m73-NxrU<8-f|t!w)k z)2N#$xsa!~$PuZ?m@EtW6^z5C}g8Cy$y%o^J-_Z5)wrMos<% zo*teJi4opk^Cn0&sVQ)ZJ3;}=jDCC}Q6LMuA6flu)>Q?h4Pchixyt$3u6|WzbIS_2GTXc&kj2Gw zAy4o8KdN4I%Gvu$?n{HjC?Go$Df^xzY?w(PV&F3<(BnpS@5=!`1lySpgOXGMF6VxP zkWqVH+#(i8?S~KVf4CK49@FyP&AG_p*x#$(XFvxf{8rQ!x~jS$6LC%0uw-n0F68N% zkUZ)bbw?~g0vv-$E`{P+&5iwcs@PtLJ`N3JavkHTkn|NX-x)UEv1r;;ndE*15Fh~N zz#;wNgym}y^nT7acf#_|Y4aR%?4h(QJN9$4*oKZR=G^8jsE%z8qp`L~V&f_kC>ey^ zO;);*v`+xBq*gi^iL4tCf|loTyVt{C-%YnYsQXm^kJT4~ zayN6?$smz-v+O`z>xLlIxRhr*b9Y>W)`CzMcn=5f5lf_Iu<2Qo9L)wvQe*u47_oEd zr5%sVSqmE2vq;$p6?&$Up+x%qOQ}+3ZcZq6si)?TM5}!#l zVBF+_-;sjz1I}K$nJann`R(gAHx)lE`DArJ#C1|_23uSvB>lP+RB-T4?u$S}O!K7T^SGtcqiDemdCtN2?SUcybrZAa3X zC6FPa>S`G8fm%q`WGff)bQeREUQI7j+lD;Bm@Z=uJbh@&*y3bXc>r3(!)1pk4+q&r z#FGI{QbvCWJc@WS!Yq{ct4hMTQ$=(5_x0xwH=u%tilrx$u9E6m5kf1{?hV)_D|nTO zgp7LGk=%vN=`Lq3 zaKUOrQrPsB3wgRo zRyr~f=(8aeM#+{hZKUzuA&=eO?l)|&hlc?7bFS)TB#$-{@z{%7?YwPq?${i`X|)z) z&psr>g6AEcZmYL$^0Ft~P zVGRIam_jb91<6U>@ROH9-6p&g4>`F`W?fbTAk?}91+Ol1p9O3@!@K7_Y?J4SNA7|P zx#WH>cg9I40h5ZUSq9cn>f#Fk4Df#$Snh5j?XCoMY2i+gCYeA|zZirJ=OdaqDAFm5 z-1H!o`mzP%WxdJO%ZD8pzs>i5Vu@l89b){8s_~Ap!tUhdt)m$_1Mh0AhU=Y`?!I zI>eBAAt1~ouBWDYEcl30Rb);vRHTm7!H$59WZM;nXXU_ztTtj5DO@>He{(V-Mh(~q z?}EGu`zE;I^R&F&l(i2Dq)#SYbss8LR{pPk(P`Sq@@D;vq}*n07VoCCJGSyXU3LAi zy0=M-5(=|^Q(5-U69|BHSBlC+c^2A0V0gB!l$}s-btFLYp!W~kVjeH zL$?v}+cau3luE_G5=4%b+@frgp*K>aGpzdp8kgh2G7`;e>p!y2lOZoXb$bs2Z|r;j zrHlF7`yXy$%MV2Xex36Tx)?dHlPG%bN#)JMMT<^hqnU~dJIpWx1YzapR)3}JGPWtI zBUfeMw^KH)A>XpfvSFQtp~yM4iH<6chF zuaas+^jdnhMdwyiU@Vx~yd`)RF|Q=FU2lm2$+RfEzg(L0&2;(`2->2pHB4pFY2QxOKC& z$5P;TlddA^E*iGpy$_oT3Qm1Bs=BDB=req)Y&8fjmzH0z-Kz0Fi&H`TS zS5cxN_gu3_zntPJxjw2_kk-R%c-FE5N_v*QoQ>col6lQx-&^FY+J5O@KL73I!}PbC z@hv>0E&hGlH`u-FYjf+?^{ORcBKx-R%;s*fi?y19wEM!9pIiP_2tZkr3*ZU1dU8G$ zUy+rH$VQ`D4!)v8asie`jT65v&Con7s5US^%bPX~!UQXvE zv`?^l26VSs4#;vuWF>`@JcX2`8G-Gs!OqrX);UUE?uTG1tNbBT&65~|jCNgLKHY>` z9#R{fOu8yD-REr)IlIYAtC|OF7b~FdY*!OYUIa|agrit7P znb=51${t>9V?Rdrk@6Y?;9RhZ-5yQpUwk3h{bCSJEj0q90_yqv@u%hHYj_w+PbU2r zj4l2XBp9pRo1MiR+7kNCMg}EVgt?I{a8_%=;<1jW+nSe1@WP}Rffv#g>Fp5#!K9E~ z2YLy<4*ohx-j|tYS9UphEmJ4~hy?NjjT8~;c-SB@T#pGc3x)do>O0H)= zutFgk7U5Dzo$^+L5^*HIs3d0*HoJe7jUpc%fV{=qN$&sPMzS+V8%gLWF1u-cX#Z^4{-Y!J< zOWU+Io=qx8RS=V<5|d<`pY|P@RV%4<0B>uv&rO(Ifxv}BWHlP*uLO8S@k957+){Ig=gC|kJzYW$8J2hoUf_){_$a)$@u(pJkUj5TKKjpPRG``>1_bX5D!psPk$ASN`=n$JVkiDW`4_NF}nS&{PR<|5$(s zSq&tgH)NTD)3!WJXBy>#871(F5qLWCWJK!`DXL~MxFOY-8QQ0pA8)%)4{tb5CS7%} zR8#hFKiJ*VYQ(;Iit0@6dDLLY|$es#mJ@?5pXLF2(rbG8J9B$9u0*_oPbm zWUq6hidGA6*+(r{AAsBx4_ifN&qiK}sSI8r&FWwcZ~y(!hIG5OmGPUOS9=MRFpR^zKyrx)LU1%EFmJunywO3814qHJEQQxJge^ID|>3`S~-{6(u}-#piGVsZc=YS6R9KTrDtq`Y}I zH!-P2CRwvel;d3<6i~Y+d4^*%GI-M?!)ezBzt&Y`N4gHAZjfdpI4fBm@Kbkq-z!M>RG4XR8BJ#E62*j5#*TlMDV?%`p) z%mr{}ro13le$F*54~B2d?4_s*4bTipwYp{sXmK6S z?o&UAy%8LBRZW(LR7cbn8W5vR25yPXXJ&8_sFgIwhq&%RTkj9CW7wCKE{??YcOyu= z$Rps`TR`d;^?Uf_!Ip?q{d)BLb;h?BJiC=Sv$`$feNMjFHff7p=ve@5@RJ?s+3UF+ zk9uuVx1#mjSvMq80AdWu3m!SL6^WqR9xBX{M_I5UE4~z5h!LZfc=4?ACj$b&94VH9 zPdXA<%A$RmZ`#i3u`b%(q-$DtbBg$IG4?c@u3XzU_NuKWicN=O)m?HOm$avQN0*_a zpcEHHF{m6mNEQgdYR(E5G$~u|M-DRBQ3L)-9gk|G-x1!&<+i21eoa#9*MI-!B&Fs# z=Vfve%u(ogv`@e2K-|Y5SW9Ro--(FZO zYnkL6(DO7!RbV?#Cy^Guus) z;&E|E>}i3ukc=bBT{pcoWSLyZB`Ib$uyOCMvGG3(on>cRQBPi3q>E}$WJ?UAj@aj# z9a_=?h9e#Vp*wBk>mlL&&}i^xL`&*ZMQ%qoeE#(L7H9kLPVRorReaqdM?J?z$q^vc z&FVewGwYTMYu5~(MBqX$GP+T8h(ZN6^=_O+a$GHMt?@45lu& z!b>NZfhG{{BAeR=Gzlo^lWAFDyO&0ESRLsU)8MR>4nHbVcF`V;p~&8`aj|)MwyDC& zh*1&wD53yw?+ALn@ajKp>#bM#{s%t&*E!!{5m!SDPDr?CA!qg@k+p2ukX%n<*%xH% zTja{mtN#zSZp=;1;>epI zPgkCPRQqaqQbKi4bwH%^hHAMb>g;6^%_pU?wS}TofN~?L+O*JA7YR}r=|^5nP+5i| zq~6%k3u;`jYUU`=rLQM`2~k-`+kgCg1Cabvfv)@`qw$}oT&11nRnPeKFD;W$Fpo5pJXFVhj>s%%=fODXiYD z-1UkL{@5`*JeNl@&s70KKRDzdrrjzvpz5lUyItVSHug zRn4Vt;#K?{uwmTKxvGqG*`n0GYP^zeT18oz zsPt@?MJ#as4bUP#p9|xcf@zs!@JyN%6<}&I#rH0YhSyHHmcfr6V4OTU*a58DYyZN> z5CQLPL=-jgP%sT=Lq?EvM+Zm6P3BR0_~8w*(HoxLLpO6a>l$jtNoBK$smoXvfH}AH zsVptX9Uo^F%G5)F*sm8EKV^16Yp;PaW63tQ0Ov1kvJ&qAPraN0Iu9&X$7a@g;9aL1 zdFlcP#PsQ8ghEpY)Dm7Q1~xWPXzJZ|Q}|7fm8R|{UFFzy4`EWkI>{C@ZJRDix+%Fe zDo2snWHJ}>bhC%U?4As>h#>eKsbV+_HnDf=*`?T7yF%@Y(F4u1>(_@N;(yGVywLg} zU_CLtdtQYVux6Ps!~lJ!~XMUqXe>K?I+;Pf^#9twAyuO`}{RR^Ta1O7P;18MV}bG7I{st5E*ncsYb&!~KAfdK5?l zfJ^;B=krAx^>e?i6n;e@c$7(fG3^_yRyWJ4tKMr0)$i3U@C<_04o#DEaq?pBT={9q z%hCNs9unDW_ITQ+rIbTxEqCR8R{-}BHr0an$|O3%kG5=);T_V5fG8Bs8yIr;>3AqfDYma01M^eP5o7Xb>HYJF7)c*sBgqaA zd3!gk-@TjO->P38LYcE!*Mw8nagwTUS(oZemU6AwJyk7)0b%n1kCyAW#=*eeh^T<9 zr5KleblnNxivhI4uhqlRVqqxg;=LB6(ovp!ne}wRTR=r&&W0Fz1Nj>$QlcFR@PGFo z-@W|!=H{e$=wyDI^et+`PLn}MKsc@vu|b6Hdh~gg>uP3isR+rHf1SnNBU^1$4bZY6 zTMHTP7;wZjCn=P{Y9o>x!*1Bnegw1`Vx)2@X#!a5?Ls&iLHx9u4c3CE@WaPxy*V@K zM_1GLb1u4?26ot{GVgm`u}g|KIU=rlkA!}%J}kT3xQ=IEO&{C5HoQir=1@vB0_kWg zxu&KfatPlK5hJUS8zGR60FVf$Y<}^UBqe}_@FCIavmr&zY5XFZA%T!Hdi-W!-YKil;+S7Y%1`6+t3eC`%q0?R7kbD?2ZEAn%a-P@yL>WkrOwh@Pxgmt;<7K;^Ld+HhnAjpDgJdn08a zhvwVQ>=Jl+|x5iNah|+G(3~WZiGZ;m{+i8@%AK-O2nNL0Z6jkzs8uoXe zr(2xnhaUfA(p8jqDX#3qb#74;FAxxBVZ-j?<}{u`7olfqUQ$nwT0H7hIs*sQ3?*cOSm{`P0YSvP}8m z3EBOmt6DZTeAFT=;CWMB=Oq+vnZ~j&f6G{T30%mt9ekjVNg=9cRL<1^%@_%+2}ENF zcbuxR4~&fTKRjTRI-1c^s>+f%izkl&@__qiL-09NZ8Pi*5qJaqFi-Q(>&tf=;Ci)> zPY+HfUUV+JgiY#J*l?Zv-i67*sIKJXRFXXd@CmNt>7vQ%xByoo7q4VB-5@k3A1EDD zO1H7790w;fe4pcKjAlb0oHud;-b6({6ZPjWwIzf8NNHe;C#v)p8hGDtf4_ygZI1-- zex38pso!ne9=q1O`&2P3ZVJ|Ked&vwJRTIQ|1=l=^(*hp=26{j6%|;<$iRm7;;`#g z4xLnBmb8yNj2WFq`X2|t9G03|_#Etiq4miKK;=mC4RdJ5BFwts{r=&Gr~lBc-_N;7 zaxF%D%-PJw%&V&iKzNTQucZf|u3MAjO2;~$ez7VKlP8@^5wakXs!#zRl`a+jq!tZV zHv~XHPl=wW^`W#rVEY=YDAH~nM(@71qd_2u8ljlfZEjdTzTAuz51sk_oNKClk@9=J zNjQ-?u$^|AU2nn|V0C)J#Vndfefbh&C*51?&i0xTo8OJR^&+9dkHxGS(>!&#l~u3*&l2D*^nAFi)w%sJ>%-}ogXGxlZ}&)bEK1Lm!(K5DQiU&lecMU#jRAh z+jOJ{RlDyxRmY_~owERIMg`*zH(?dpn@>W~t zUzIeDcE__3UMpvQ6)AaX0_K^k?%fvpu$ZO+dGytimHb0(!6opEgZ9 z62oRnlbK6-y6s;T*t!i=^KKdMo(8}UEGbB}r$jnUc4?5Q%BxXm8z|&^)F{OOcaB$q z{DNMd4TU)3O@IpmZY1V0!*|o0n-BB;_)h!JbFQk!u7PC5KyFgn)vS{(KrV~1Yqdd5 zwl>|kkf&ccF;B8mC93m?BTw=qaIjRbud>0}2|;=(ugC@ysd0kWgk5s5)NZj9&f^cm??R^BqdTgJPvs> zBHTXz+KpeNyQk*!$0ut}!>;JY_>JH&s`WemG@J$IcF#!X|Mu*f(6qvt>^XRxJOxYSD|D^e(?rh(eLdW<9&a6pfq{M1f5H}XaU!B?|q?0$rly(FBB zN&}60HGFt^dHeU9Y3gCW!P%^Qz_)YkT$0_P??1CR3p5Lf^X4-rYaw49H|rQgufq%qhLuB`Kf?v zg!043H}Bs}w|#wF7Irr4n*1pAph7}^ZMsx@;!7OD=8R3u?sV0nJFep*o4cl>Z){^S zI`e!m*B)#XHr7&E1St=lLBJX3N1n0_nsNf<#&F~fBM08eh`_6=SuVpH@PH5Z#WnW6 zeO|u573cD!d+gt5eS@uJ3zFBI=T-WwHW#*~E=y{Yt^ol;&eD3#m4ChBHz!|VX=xMQ zC~15GP_p>0EK+mHmw|;+fH|We&yjqkc7$UeSx2po-ZFJE0%uNDs}Lj5Bi`09%x^xf zH@`flk3E@m70sY9Le_niMorSy#S1NqbsKWUy@ar2c8V|0r;mLtvu+B$J=zj_H`V8m zQfM)IwmJ1&>p(D1#$I6QttefCUo@{qsGQ4&j zunEbq28sOuK-T(jKM~m=SP89RO$m@sWrM(&1Sj2CIP6M?5Ix z-DGSt_H;;(h_DD45sy~$C}McKzTD)jAF{OH&$+5-Y>Hto^EM&ZUb-NV10aS|*=vw$ znRISD7xMJi;9zNo!>E66WvP0?vvo_?jc7k8mZVCeb6|dEL_F0sa-@MHl5G?2 z2i)ke{Nq=6-j1l@$4?(_0fGAACHCE%t4?XCtQ+*U&t|ROxh`d1lb?Li(~3{8T8v!C z)2qeIVQ~CpUAw0MhlQutt!L`PW{Jd~XN=MKz=9a9$cjuEAK=vyfq@wS2@9+|9pasy z0*q$?0uT;Tt@r!q4>yJ6_3_#7-K47!Wyo{DPTrmGewwoF75SmqmV<#)QsQ{$LawoU zNXi!#gcsSwQiJcnI3^^d{MsuwkR5~P<}|DjWY&-@gaiZzya$@W&c7Sb@J5bjzb*jl zVABkrK2JZ~+$!~BuJF4_S8eq@On_n`=*qs7b*?tH-O6QN&AiK{^Hc;2xkv%RQzzW0 zT%u{(Bu%rEFNZ%@lJZte3;PeYvso z{$ZWi-JGi`HMCz>rK_+-!NGPxHB2V}+QPgSrKdO_Gy%^x`9Z`%*e;xnY?mb)eh`)Y z^2j`MGqLeXkBXYK;OmW^JGwcrhsOw9X(-2`PDa$oreQ6RIZ>i!nEw9P9{?58_E6#X zY}Qp9o%Q%Y31JblWRb?s=4-t9vd6e6!pwyWd3w#jK~GhaFfPZIuty#8C0V?stPHX# zlS%6f5IDv_A{O95En!g7&LGnzX_ev~m^mAw<}aR}1EK+pM+z`}w@)A6shezaet7hI zHtnh=KFylvItljo13!jMkj|_)s)q|Rv1)}2dG?0)#~q)FO1RqK+bKN-PggbKX@?D~ zGNm0g?a>HDHfl$OYBmAGktiFZL?~tb%l(KQy=1ydW@|Pl4j;GoHh-E$ZbkfsOk%CfAB*rQU|AVRbbXNeEWYfG-=#O7{>7d75&flZBzF>8teX|CB? zZPQ{Rg#obk^D?|wD%oIbL!z8aHL!f}h4<*C9dalng*ArS)U17vO7oWu$1M`|e91QB zky@OLAd6LkK!FaQUD{@N`{w<0V=3jsEa`sIRla?T^P=PuGj{kQV%;_KqM&$V<7}u_ z9107UkjYkUa>a9R9q2Ka5|YOgPWYV7>t+f|F_4{lp{U*#k4g;o6gXaQ>w}Cyoess( z0+SkKR+hxp!}p)(+Z4^iMCpFcRe(J=2ehmA#Q=N(&$OUcznT5`sTDwYAP!-N8>A*JJQ^zt*m%K77{%K?SW4O7k=JK!?PDzfJ2xy~xQdaYB}hQw@!iNApT{cBos1ZGe`gVKS!Tk9rgsyZ z#S%}{@&4e-Po`Zb-oD#a^_iv3zUpOf8{k4B#EqfjU4`WfmvW7GdseyoEU0T|09;`6 zPNg?4C5jve86>%pq@#e9M<{g29q?DGnpo0|-4CcpPfqbRp410M&*|;E+p^COS!B;< zT}3tH%wFd(?K^yVA_e0FFpL!GXzj#yb#CQCE@20f_I4Mnag4U}4A?068f0dI z+c*IDSqhnw+6_Jg9&lusB$149QJ#$8&0q|Y@HGOSJVrOnfB*Q?t(&YLZ}yXE*EJBh z8YHPK01S43@<99+1Gc-F5Iyn6hrp#geY4v`!W}87t)vF1Y}X6A#e`%u;mZ(A8>0TD z01w~~P@c_V0EO`DBgLvB_47_fsN>F01QaHC+wF!oFYkZ486_X$mXk?W6=?D>gD(AOVBI{Rs zD5Te`vWSRR%fla-)-3yC$R=w5r##ZM!Kp)L7Fi`WGBSyQ3~iKV zhZon5%D^WhfVLDy@ucaJSUl9Klhc9C0lY#_SqjVD8WeXhfe_{IJe%2>iUuZ^F^t&3 zY`gaN0}_G2kY^$ivyNK3d)KiWxYoB79Do6H6qxPkw_s< zEluPFDFVc>PRr-pHn)eT=qHmdYBx2yxZ0@ptaI@dAz!o%e^IL5=Qb~13$EkY`}-G* zV|SMnYhzd4Q8Vwn%s~UmXtKK;ypV8B!YVZax&k{=*D+dZKai8^pa8ocik8t9u|WyG z6!8D=-oZJiC?1xSo=o~LSl$08`mB>Ec4lQ@uM#gZ0AiAIo24sy4>Fn98rN}=)uSo7 zMCS_r0)Q?Pk|oz0+rY>S27Io(Ag>w|9XRU&uGv{TI^axcbh!JPT%04%C*fSS>AP^- zkmWscC?}Kt`4){6ha#qsrOV2%7BQ!U#bt}XV`D6vmTO??5SQ_EhawL{i^$5pUJA7{ zBIT(<=LMB*vdE6DE98jaD@oQKd8fe>EH_3Kc-X*GVB=4RMonZ(2V*_C+ug9f{P5<6 zApfun>15JXHx^}^gXvLC!aCWLUJ8qk(;VT}y_;adz=b@0haZO5Eyr$3a4i}Muu{}f z_h*uBFdL8w#q&&%BLL((7QPoH^OJNlC69vHa(4`TmAX;2|hK znRL~8q6%(`&0&`zv7X$DfDilQfBSL%Ssgiyo{q|YGdmz<($$t~T=j`y1OA~ECtS(A zo|BB8B8&zPpUi5Meu&uBBg>^(o^djQCmx^$sM+WbLXda$62-qHI zVMPu#OE_udl`wd-I&k4%7h&^BW#coTQ35#cBB<#6X2!@*@jL zVsOVhj6Z$ls3NOjrHGfq+doK{zJK%6&8H=twoU(e(lve4|AdC=x~^^#+fo4QcehBP zHhWY`Puv<2axw=&Mm+@7*cH;<4Ade+RBj9uvXSu1cJQQn z8L9T@mB0H^3EnqTxrcQkQj=8h({{6cT^`c{+)cVB2O>+NU|H;J)`nl`lGE!Z_sCLK zMRe5_*YR{u!W_SM)qo14sNExW=47$At4N6j{R(y=3ESZlnD*P~;3HUf9^KJNbkOge zi~zd>oWt>uGuaD-gW>Im&$n6WhlGOnbFM1M4cSd$VvCM;ahUVNa8}|% zF0#3#hMZ&Ydz2pH;1IekjdPK6LB0F0S;sT|41A%B5c_wf_gonU>Q$$O} zQZ%@nd$;=gIS6s*?W)D#pf((#vTVW2Z9PnZ7gX`oH-jZLLOqK9#M&%UjEA-ul2)Ex4H!R zsJi0UIp1D?*Vc;4o28g;^Bu5Whb9q-b++qfVikVsT=_Y5AafwLisoWn%?|HZccJq7 zGlc5BFzu+5voN4^6d4R6P=3v7gKUU8_ju&2-yR6rMnvIa|XNeeuq{sIbwy;d=K>{tN*=|0$s5dU;*=1Y7 z{nBh?;kL)%JnIT15QjRPj%G=-&RViGx6s>>L%1t8XGAejk6j{RRpeC*aqwh(JYE*3H8Nm~?YBb6_V9x*R<>#B+XZy(K+|Rkj=a>x%e>KA9I489O62o5_>B&DN?9_zb zGuQESpQ8`b#-QOMV4;fah<9_|H(OE@u8Pv_;9x%>NEy_@V+;T8;kdEmrDVIbqF~bf z2(YgmS#A+{Ydw7Y+ozjHiu}(XkHvSM&`tyh&O}hcccRX@rK0Pcy zz1#r)ANIN2&$)`V&TShK4AvzlA9Ex1PHQSMRpNWRhvNYI>1{3tL$74T7GDV@qecQc z!OgdV%sn~RRO4CU ztkTI4UJffpR&acQ1LNu9wGT(=RCpO=BYq_mAb$j3g{ge+%Gm&B{Q2sv$F`; zs!W*+f3U-O0m16TYIvd?Qf$h#ZV;F$W0eOoLQ*G&O@E^y_YR<;pl`Iwj{ug)i|$9H zf*X?-kCcqx2D#O+1D<#3+ru)WyE)gC1I$uaZ#+J)o_9ILU9PZK_hv!BTi{uRv0TR` zPQ@CJ6ds7fg$6_u@^MkyGReJ!>J5RD=Ua-Mpd$spcx?eUBcmP-$tKx9eK(@CMhXjr zgV3Q61DqZ9cv}|vumIz3%0)#lVT#C>)Fk5;y(rR{b*o}l>q?4$Bv4Xv9Z#=auX?IO)wUSdnVfQaMFJy2;X;9Y=)#sgF7Uz ze}DNn-E3+P)qa1QbWN)C&-n7N>3!B&gf>qxsGUbBkw+?GwTQrlXN6e!xnm*MbgZw} z{imjBcS6UBL3@NU>ZbPR)U3tW!=~>E=jld zpKfvWr)IvN^BsH1rY+L8zg_a{zuZqa z%qkw;^6USzxBPxD4wrkz%~$LdT&CaF`* z2+b|l9J|m8A@kU8c=3Z{71MEmiydpIWrbV}xco*|x<3y9_z5=#06|Gn>#j6i=VQLoxG968#R>fr9DThsId5{8-$R82dW^ppYjv)a+;;1-+%u;-rpt<;2Y`sIeu39*-YKd&YV7@y)LR;Pzdad2x&s`@PA|!qz(_az z_|w~)%K9-q)ZLuRNW7ONuq*)xVuP2!3%br_jx{(+VQzsp=vc_p^BwN^5W5MwgvMOm zs+@}tF`1^Tv<*mPU=4!xYP69xD`fRU3S+1%LUL&M4|zT^MkMr9ct*JN`uDzyNAb(McBY+gyN@DFBTvsKBv81dfeKzG@0%eUUvp})C;|$mz zjfwXoLhH!DJCcw0C`9_*b^NgX{OJ~4?~nY;ZzD|BdVgf~TFH-|Qh~9O&agSaw#q>8q8Bnp3uk#&;zyXD!j7!tXY2%8As=H9`ecN9 zv5}|2f|(}I{)f*m(|T*Ge0Z30GU=M^e(tl%j{G!2Cbwf(OC?tzyGcyOCZr#+aUB;HLEdV8prc{1srH}z?$g%d$;Y@y5~I4B!pRGir^uO?aR6t2lg>;CTERq7Fn zVtVtb=H6QD8mKd;^vXw1<~Vq`(J1U!s^_TJexlJw9)Gdn;(iFR)I}ch1Fc80O%0#6 zkGJp-$`$YDTy+(PeFIodqappp=M`PTS{BL3Ed1;v^5bwpxneljalA>akvsVP6_Gga zEK}A+7k2XxmSxMMBohb)c+_DjE>&7~HViMX+%;T>00H9ult}M9(%N8aNVuHi=A3 z_pI=DIF(TZ;nB2MvQme6%6(&ROIAghB2{q=Ks<&ANzQQP|54|KIfX z$J=TitC5~ex~%`%t+Fqh%!pgaOf+1JvwNK3ptW8$%Tsd`{Uugsfv7JYMz-CM#KL4D zO=I_5huQK#LM=yL5i^oeo$QwSpg3XGkeAlPvk|^6l(-`ik9VXCnBRX|Z$R-6ySPp! zU3F6K!kTx9Fsf}w8Zzl%JW%_Zc15vD!5TpMbd4SCVQ%$Qm3F=ML#JLf_$L{t!`lJd zYbHK{v(bmt0_#6zq>Q?-2%Qdl+k1gTzCrKj|W?&zpo-MQTA| zgg9k#?%BHQ709q5r*qRXaUstxUX&~wB_)*dxfJUQvMRt)rb`jun{7x{4$STy>z*}2 zBiZK$OI-#`wN6^f0JxJ8Ns9C_5Wm}jRF$_$n)MN2KbdsRX;%Vjqeh%odC?Qz#6VFX zn>PHlIG*sy$aOp!u?Kma?q=8Ud|lL{86jkhHdJ0=reu8(g+#;wp3TQNN}lnu;**X2 zj+KakEkw?r4N;^7@l)`I&pWTR9+v6zzubDR5Bn}oCSBI7=n%&M0Mg#vq>dY&u3Z7+UI4OxSW}_ufu&lMYsA zX+9S6bWY0yzsN&2yoZ>R$-0Nqk+O*%5+EYW(q*KM2y2=tAfkgDkV>1t!a1Ixxl7XVE$NkR3BeF-_N@4;<;Oyvm{TeS3dd1=1)tXYI@d2?$*s*$|d}B)sVW? zIK&2Tij%2^8Y!Jtg)FgSyHiKqo6*|ic#d@}z~4%Z4zMsHgmQD=jhGQnQo_|U(<4>Y z@ZI~L+y5v^+^nn*yV1Wg@v?)N4v#xE);#PotHojOZ6Qn^@T&pIVb5?OPbYKbaab=l zv05F)Sd#EfBKpYNPGtH`@_3+zs*L< zM{GLxbFM*;GLiPgFXV-g4618PTasl1K&Kv1P_=U%PnTtkuN%CXlzK_UnFQ#LR|4Spf=lv_MoHdCT$T^Q6uXtXDSZTC689`W82n2BOMvtDHB)^|2e!sna^YRHf ze|lIS@Wr%m@APqTRd%`BWL#~+Z&a_rKw%@Hih5Q;cdq>FJG=w&!>=PjD@faGk2cn3 zvr7({lg>tj2xA!+Awuj{b zzs~sv3o};f+9G!6Hj9+U>IT>E0LM3q(pyWKHLm>YR>zycHX#zsv-OiLt#H2s$%qX= zdZfOzGn!g0_e0*nQI80h_+=#8{i3|+?T7ED8?ob8>x+Jy@y!(&B}uJesY`|#v1Qh- z!oG{NHDC!(S>D-j;a@K>@`zuotd-VjEiLj!UN&2DmxrUqf@OuyoQ#ly2>X_o{87M3 zNA(3W%g4_*1BdiAlm7be-<&~9G-iupab{LU5P3~NUAa*Jc3!(+w-FcqmHy9PT2e62 zw}dEXW6C~|$E;8<#1#toX&yXLertp=@f+M=n5IjmsCX`@q2T zyguR)E0qw0i%8@nCdH>mLP_Ef?U~(6){K(}fGu)7HHpffjM$^k} zsw&y#qmEvayCKO0Q&WOP1@i@m);fLoaAWoJ*Ie~)6aIN$ZJz3?0jy?ZHm#8@xs!mY zz)`MhMyj)D@;a-`b${Jemspx9iCl*MU=v1?Qt`i{E7gb9KxoXa})3Kv~MRWW9&2uWb@PD&Na&8gw1iGCwCB(^y(l6k)B4srRD z5q(gGT8T&Q*fVa2x6}M_x>dY252>9_W?d5*5wj~opsPx)YF!0cXS&j>-)(flTb2`Z z9Z%24k8_Z!nzN?)q@)QA@vtLN(b;rrCd!6x|0kM4lX})PYr$;n#zfJn*Y2u#S{*Y6w%;0;PO;@h%tl^R?;?}0g>K0s= zT=ye01K{YK9NaSrJ7XXzf)U-e1c2TLHXri#|trZUot* zH^{?T+c~`d?(NOFv^{br_j4}tC0J>QQVFvg$HJSWcGC?2hcj8m##fT-csj+$tF=v+ zMpmF63LfU1qpU<1#Y^B1b|D9*GepiKi@_r@MdbN_qA)Mg$b$mpbjayZd!t$LOm<;> z$u37be|o`h?1ig zTr??K|#2JIT2ph~Xe>5t$b{*#h@Ch*nIj1Aa0x9`f-6@4=Hh_-D zMrjCcBRe}q)Pv#H$5-r#JHo)p2rHO184?^h`agX9=@xzHk8UncCS3#H@v*4LqvVb( z$6!y_WmogwW|@I3eWA=6*YRv2kXLgPuOlk!1f&8Glbn>U`7C&2ExI1qyP>^TmQBmR zCZt0gsXGN&4@Y7#@npnNN!x1t3_G$-*ZyITzgfP2bE_)5$GiNuY2V=0rP(%-CLryo zOY#TGj!hBlM!~r86FBaJcLhdPqxFRR)?Ds*)e6Pskm(@)k+4I-(npyg;I|psiULo~Dnbe& zoQ*`oH|}63i{THq#2??he7>nIKfEUXZPK^5#XHZT0(-QBFEg33BP9vqVzXTw0&ggS zD?c|nYnZc76j3nF0V5WAr)GQAAs1~h(1!?$ImHBEMaHSr@TR`=fWl)QkjESXcHbPgbN<^~RN- zm((6L5y2Ur2v|cXE^OvOOtlW1o7!4xh@<8m5B1XVM={e6NQw+gu33#oSQ38e(mEZ5 z=>so9SXE9~69zcyk1scm_xfQ?^U17>ShTDJ2&2>Dz zbYH)!RA77N9up8u74*?Q!L2BV7#n;=_QTl#;t>&7MnNjX-~q+iF!Xv1=FUdgP=`%V zx@bJjVC?W4;R>Dihg*o-Nj1>Pq^pEi|2J4x{$zIee=k<&cjv?!Et0BckFM@jv_)ii zji9*lb8ka#q1L_Uk}K0y$y7tMbPy%PFj+kfIkm9a4N0MS|EVoInh-TlMud-e zOvjDs_TzLTvBE>uzPmZspqT2)wA;BVz3f27-R@;sHWlq!iWQ5H3;E8)vt>YEnc~=J z>vGN2vwmFGYzwe?kX2E5h{8g`L?t3p($Q+?4H-iyX6`j?8$Biu)F4)4I26k@JLHbb zWY46Omr&NnIDGp4&3s!-*&dP&pUk?3Z8+MrIwV6$T2XyOHiQhxnN4o^okDgoJHvH6 z+nZbS3)`?(^a@rOL`!NFzp`uO;L;_Ot=Tv##*jvn*1Vw|fG_xi9&4?5V3mQleM+OmUI|~At zlMzZr0n(3#+!j>U3B$Xev7Py0{`I?e+jdjh>yyIf`$<>zAx=iFwF@`udxB#&h^HyaB%0cUc6Co>F?RPNw918_+FARjJYF>))ITD zso;UhHt;$cz9u^M&y3iy12(y$ZUPVq6%p0hh}7(|Wn0jZD;Y0``LEyK@UA{=vb~>k zSvxtfxLA~$v$SQEdGa#G1$a5=bqNv4Mdw1Ee!zQp@MfwfPg9A2c)g@Z9!x+_RVol) z90JQ}DRD-X6#^5IYYFm`D`d4iY6&MJ1|VGo3;0B_IlMf>y8rzC2LJz1FX3d;WsF$-!co+46 zFpeD!ByyaDv61s^NQ~?!imb~s$ZTQ%;m7IiU$9v=jp&ARFaDQ*<+(|%i;Py43H zT4r{$=@v}Do&lWXLay2CwP&DkpcJ1?Mk0zW9(wAj`Qv+;_v5Nwd+{{tL-$!u$GV#cGkQCJoK;&B^j?a&xKrM^z5A~(IS$NDGqrq zaVPIXx{6YeCV_WJ9=qO1Hs}td!P6sYv_ts)FTgS64`WWtV+zb&zI%7e)1)4sG=4ef z8ps$XrF^Ug5PJrGlZ%-(i#nYsOYBG}@LF>nm)N-^N2#YIYVHRawn&ZGPgW9UW%~8V zf^}o$r~}nYS&tqgS<2xC0skHO6i$Y`0W2Cd5U0T>1*H8SzW?Dim9+eEp5D&S&o|Y= z2~hNMaV^dHwXq9S&eBcs#F_iJ>EHL|Rm`ik0ou@awQ0()m$PA`!VLTbx+{sSsu( zkJ8os0Jgm3X#he8xkO1G^8EVg#*6NUBt&;}{sxQxTR>xKvlZR)NP$3^|MbC_V9BL50*ELHmx0VvQx0K7e&wjI zVory&8#M(KDTWrE4`%r3hg(+DL-=wxkN=jT>&#HEE`hW4e#LtGs zT`H0p6Cw5eU*3_SPd|hzCzGx^-U{=SL^B7oo=A50)ZKiXSMOLiOS zOb;zne8t(K8bAx2I(b+;-v(qjK!}p$3G!$mV1;uLsL=>`^7WUaLVVIAE$WA>Vfhij*O9B=tC?oq25g``-*tw=6G=v@wzU`G@Dfyt}cX z^pOuanRE>dClkI_d)OB@?>3fT7pr{V79<#AlG!KixQ-WhAs?+x6?4Jve`|d1Nyh+h zU8n@FY(u)EkmZhoBobr~c89)R91%lcN%pz??l*x$??~{ifsYA1bf>GUpqtO|%7HLM~rT#0wAtyC(1>y!OPEpIh7=7H8Y7Wuu+vm0M1g9DBVo0k?3g9^2RiItKt~ zFJc%%81XB0nz4~dy?-)-WLOGh@vKmk%y52J6#8nrQC047N$4+=zPVG{K2?K6)MHZP zA*$v_8C{(1vzEf`vQ#eo>o#}2rNpK#*P3ZYgoXjteIqrOVZsQEP0&onCgeGScMnvu zg{StC#Hy6SIvb)kqSs!KcR?_-9KL@&Pq)s}#wcb0z#;e@*f0wGotXJ?e**bXifq<^Tt!{&ikN~-BZz>|P8Ozy%o1lHIiO9~wog)BQ=fIg7e;3ETa z2lY{w&$77ueh7wEY}z9Er?zB?`svN{(=D#{At(RIq>J2&cDB$InSS(%$vNr?B@M!kc_B6fwaGTQ-9v>B+OuOo|5I)-lE4OmAYFZ`MLUrmS zrjSDQ>zpJP^5RXQ>Nujct<)kiPY5M2yR->-QK*QtzrpmBYDS3UJ=9U6LYf7KpaT#; zQZtvl+Gj&bIJkZ)4dJ;B`(HlX5}f5jmiW6lSJCE>C~?!Cv{iKVCLw*6CJNb>B2j9W~aBOb%) z5dLb$+eo~N&_fx}<@p_p3fG5aS|^jPs?*|q&sMz^cI(AS1l83#pqK#H7?zTHpSX}0 z7s%#5S2p80dtZEU*w`r+iw6&v)8TS>Xc!qOjp9|YJdR!m>|8%acM!K=GwX0R62-`^ zuMcK^M&9Y&({c;jX8!o;Ci4uTe>vx>W(pH63{?UxC6E*4)f8;uDtQ&b!`I1j9cM>~ z|BlPidy^mRA|2+<4f!XwtIIlNjXf)ZYff1msnBPsQS3%5J}Rrikx23JRFRG86a$Q> zLuv%F#Jd4-6oIhf@cxJI-o3tMy**4v&t_d@`7nu6J8vM`s%;M1tqUcrc*%amu_Z_@ z-S44S;x|wG=fz>rH6sl%|I_em7(1zXA9uX|Nn9vF>w3St@z*{ zC!F`Q{syy(e}h$pU0A==v6+-IE8I440wum@BWJbq8kXyL@k839b3&UM8`+?`MYir@ zm(|#kdubI3fF?K$nz9#Th>^^PgQv(*h+&M#n%LcZGGa$OG~gSGX5ke8YfBobCnD6Q=GB7G{If?4!00m*)}$*RJTUBZ!Niy7dLr0Os;jyqL!Gc(=4LMnQDMJ z8~m8aM@fr~nxvk_k;@hq22dHPTFbi*0q1Z(Lf%m9bj$i?)|Knw)!XgH{*{NI@NUjk zm-a2YylHD{2pyZ;vqHzL8@5%le)4{?Jf#*F*<4i2jTko>Ww zZ_;Ki&H+fRB({!oL=>HC=sZMPFWTtp;D4`CksYQ`{=G zfoh%_!PAhP3m))(faUtejM7V_okRNxh9pDRBMg2r=^7C30A8DqQxJ=2X%>5&$n|MT z07&7T+tf+o^YXVrAFW+u_EshKc~;64A^np0L>pv+=~;V)GoP$@r!E+}cGIl?^tN1*C!^6>^NYA0LS+pVK0}$0f=63^9 zAo1jt9CLgVcr7%)d0xK1Z8wqJL#KW|?;01wBc!yG;h&*Iz=RHnY~9{3LbPu9)yIy z;#ZHf!E^+e&<9EyMo9%$vVccJ^)HtQIrUxrtVE zDlE4`8cGdea%_9H5$Hj2M=Pz#gl1SDeKKM_`?A>21($E|*gm`XpO>4O+C#dQU#5I> zm;Oy?#9gB%1Ok~>vF$~ayfp8eiJ_=kt>eNU89W4M8xnq1j4mNtCt!1H;4!?*Y<~b6 zaqj4YbMPJ{Dnjg3R(d!N$;w-EHY7gkenw%nIoK@auuf0w&o|_Q4;}m2tjqKddoeTK z#TCgM9PF0$7Jx0hudqVi!YnEm^5R>av=z>F%d#-v9cgipoFOz;(UC_uU40w^LMjO= zKNbq`wuoJlfua>WUGqZAlM(E3cAGiLnlF!6Y54A^ch5H+`onAglSx-yLFW}&v~{WJ zJtWr_w~*y&5`dC^<~0lz*So&R=#Al1Hb-(Ery_pwK$0>6`4tb)5-F%4*o+U$+rUai ztx4Fbja7g^`eX#S-C*MzBegWFk~G89Gg6@>*6raj%>AURPR|=+yx7X#=T?pGD?I1~ z&#}ay8VugL0A@j%zOY=#OB>yZ!|1iy#>-}akkndKwI?=KOPN_=I*?(=u|dy{QUKGl z;THaXl-APu(5ak^u%5_`j+@C2`@89<8(yOJ@Q&zy(nUNKR#(K#v}_%Sam~VpmIFb6 zl-uf$s&cO5rSsEI<}NDn5WvBu>yi=fSb61>(3QHuBzzK#kA@s(hIgHj<^DXE6o4s) zoJ02`056K|M9fVCd7_6O{_}L3LwUHz@8?`~5z5ASqncY|4R#^}3hcDX6T3h zF65#uj(yFGDBqevf{=?1>{71T@j?_q(;OM;sFAd>0){#_Kw5G1N4-&GYybU-9s|4( zrJoR=@CT2pid%x``d2P0zL;~7$>Fni<5~tPbTANtyl8Anm5$V@N$QXi7jl)!OO&Fw z+MBTjZoz7uDTWiR1Y#d(#L*rCTRsBz>5ni4hJcg)-OpMmHp)e$(xgfQ#vT6W|8@Sb z+{m=}$kJ!Cu4#VL*aca|O;c!n5@Mg_!eV&WZJqbY#R*tAzC2^XVe004$KT|tSJ4RF z2gB)&$}fc`R})$peeP33yX)00(m@Tpqyik9Q)m1O)+|keM-r*$GZ_0d<9Ka2FuG+h4}gY=cikk z*N5E{_j9gtN9WPzH6v-vHF3pkn*BFapJF_z->MVV3 zGQh<*qv2`>rtGA08p$M0i3C8xgDE!%9tSvNq$eX@j^>aParnCgvd?+>ao%oXiVp+n z*{rLQe!U?6*iE_J`pQz;;@2K#5)@gXUJ#Wb5j zj5g;%$%6zTP_mYCat1(=q7-T*6)0WAlc}gMkD~2YcM_!H>fU9x@@plQThmyq_jz;s99h zv@ifilDx*q{+$GhKd46n)w{GD{^jYXw>OoM>K~l)i>dCue)?q6MfKANqB`t4TWq(v z<)WO*3?8=CWB@P&`B*GcA|tK!g4};B#ZVgW3C~?% z>0^%@L~w=#_Qdc+jO6H=%sJGN=bhDOhrj=_?5}Rx?Bee2IGJ^Eok zz67yuN&~LUaK}E)Yo#Uh%B7z^4JUtj8pwo3Qq7S~+v6?OM;#cPRcOdRn==T_C6pMe z>&moVn$JM+QNn2n3S1&IlglDf=2(p^_~o64ITQ`^g(RsZ?F{`3Fzo9^Y^tgqYk^FR2v#NB^K zyUR-!@E(@U3NETRI5q{3l3VIkhSo$>HupeKuk^_KT;|lCyifo)a2$Z18X#Xf(pQ{} zP%IE`J|ZS~7C%@weE0LsBGr9(*#6~|tDsJ{fc7fRBBzxhts{Mv$X7k{ZC5O8&V{@* zvJbzw577gOp)+3gB63A48xe9FaAt0Cpnip8y)!!RGN|i_9j@7jYvJge|48w z@iI_#OJlwy=Ntjb!16oRK6+qBN}-*O7?O#?D@H37PjQAf)9df2+XkHcSW@?X)@4fHh75e}`mi(iK@;CjX5= z{v?C~mW-o}N&rK80QV0dK7}A3ZS|8$7gd=Gowr?j z?UuE6HBlJVyVCXIjP*PvbDryXade_S8XUHbp_Y(Hx0Ml4V%Ci{A{m|r8(ou)i|`RK z0Bai*OBqMY+N9(E;Nwq*q^1ywjm}5>Az)TLyq#XXUT#x~58I~CW?jV*C5lgaPKMOb zZcB4=Wi=_f#o9#44&enCa*^ewt;U4p#e7lQ&hF_h0F*|9DvbFO% zFFb$8)>mndg$udH@U1tM;Z5K@OtB>^OQx4xV6Q4gA1HH%6lX-{FJMx7a!p?{;w6MD zBD=3S8-icg0bn!g;N>9?_%H8YZ%(F670HuMgvw4u_|yF=vWCybO>#Tk&enq72GnA{kFcU~$4G!=o`g4{s@zK{=7L z5l_}B^7W9D9^Pn}r#By-Z=pUe!8@CEk=bnoj`USaMW#tJ3t=j(uv!K**icNyb0OE5 zow(YiP8|``GWq`5L{l^N09-{UxtvAVBuOZF&LBZ*S9Sub5@)8#gwbc zm1gc4Z?=PJZ!u;~5eBwqYqd=a8xN?Oc-Bp`Ryox;DY*dut3@I-9BB`n$J~r6qOWJVqxXA}`6E%x|nQzaF)JjW*`j3Ev!V%)jUC{@&UjVGYR$MQOe=-47|Tw6_~w zifV;~qJeoQ@+$ZfeF$>-Fv2;(dGL6LKK^9HjBGYUvimuc-9NQ|WR1+M{6ogk&!)YA zPkGr~b(_sX*`|hYIAL=w@E8o4uk zNvaM`A;t?qDjuLhKr1+C=~=1{cYycekoLYCk(T$|WLyDAVkq{!_}hQJb=Bv`+`9L( zF3MOJb`@rJx-G_UNIHPwtro)KVXSuYi*sDZi$j^i>}>swEr%3Y;>zvcV?ubAi9AS^ zOc((n*9p3A1YK4+N^2e5kftM|`tj)y+zJCQ;tgR}k*h|(pzyKsRL|6ap~Jep+MaH3Sr5wtuVhNY}NBrI6eK^`NDL5~91QL}1>jYua$RK6IUVb?Vvj^%mT zuek5&?YkR5ru-T%{Pgd?IanwWnws2|>qwR4Wa}Qw%9B3o-?&=!k_{Jr4hxz16q$SW zM`bUC9{}a?Hsu=OxnL_Y{qt~Ec|3qoQBGG5-jes4hbx*of=G_;N05DuEX$S>=v}Z& z``z}ZTSSWW(0$y^xhhn$MMI`N&n!?16+6jHY8EWl&l8-d_K6F5aZ1d12-G8E%AGvZ zcvX@}R?BF5cU9EfA`l9NpQ$Go;;5v@lNl^org?xe@|r^6Dcp}JGdi#Ip``{N0v9yA z`tx$LVeSvBAMfT|W%OFGw~d!>gG1EO%oz~D=D=&RMYg22#D%7zT04*c1AET&fD zGPZaVSqf^S8{kvyVej}4GW$a;lyydOM1};8cE8U0_O9%zHf{^kI>CL4sHe4bfJzxim%GVn)gsPZ`PU5}ef7RMpK>5+ zM2ymgu2q7Gb9AmyOaYisSTkw>YZ8(UEQ5{5(UySwl1`tD;PXf7TwpQCgUBEFzrFtv zro0&>v5yO2PA6Vg1B3J!IYumMb9iN8&OZC8n%IC|>PkiIy>lrqUIRl|9;FdTe==UK zY>p!qldBeZhz$VU)FDLn-pQyni|C>zIfIr6o>3ncOzyZcx*tODwE{_$Gn)Nk(*G7s z*X^h6w&Y)n9Y4iJ^@sZ@U$^?Nf9k()M6JziTM*RILZW)mE(oMfVUM2FiFUG!;=;dj zrVEpYUUJH!wE*B@+M)E)j1>w08qt=wp-ghDr~ETA`e@ zxS2|ZtSXEz&9)YF_*7zwP0rhBoc+ln~;$n}4k^9?%w8a+ib zRZ~E3wM};SGQ*Q0US|g%9Nf&6pVw-bqwL*^R<%te2e5b#LQ|z8Z%V${npywCrd~zL zU7pBL1rwS62#;>?u4!rj9(=smKNKG29fqb%sq*wYN@^F6&=H1LPtP|-ldntg;4QeD z^8)X{8BJ9nGdD67@>H>Fd^LWZVY*&~h0Po5!?BK+*5HZ19;uW5n+=WFmAsP*N4-)M zx$}8+#PLeP2D}TkDL_#?V0RRgs=$7wU;YX0rT{WWJh_{6zx|*_X;r(4&s8*DJ>9A> z=Fvv~Wy&{4rcv0xNUgQ(?WzMzQ-k(%Xh>S>Rvg@e<-#9qbKn<)UD)9j49i)Zik*DA zz$z6x7p@!-1;cXGoT^Ft=p7|7SfU;S)w)kcv>J7!>M`C7ASXM_Z(rXwY^#U&)pv8Q zI(|`b4Nf<$idS`A^dw{6l2i+M2R&OB8yE7@Ri=lgK*bAIJd0r>{kaLPmfW#8y zkpR-lY!dKIs78cTi^57$iASA4Jj5N?uu2YmfKKwb9T0iMM71O{gWEm!`H;si6ntgrj3kUSo!JxKYC_D z0Bkx0pe~i(kZSHu8U#9D!v_4876o6xPHW*8r#x4FzVQ!@BzAvu zcbiT(K@uCdy%MX`aMoQ8Kqf4w8|86nO%+&u$V`*G;Sd(E{%pvRQyyMPVta=p_4>`4 zPt)7&R)bNGO#bVnZ?M!?PNvv-#@;rG_KEveXBlNTR&EHhNw)fn{`&oe(s9NvEF8N^ zj0cyS7uj|NwvJA{=)C+$l{ zrU{^0Qjr}{v<*s2)>UJl6QCFb$3WQtJt|^NCyqw=yAh&wwiSD?s3I%;u=2#wXZ`Tj z^kmXiY!7b3*Jb&gBzLs+yMQOn*jQ@kfp(nWTCtE9zc&47blI|mr@?aqTB%8QSAZRI zM|1QI;>&t=`*R&HZs>3rx~1xoWV)D;B1MWFCmAciHIR>lZ-_!m5-E?CGUJGx zNTdv}Jy@#bNWOkDVvtEG@2R)$DJ2_+>8IDX@~;rc+|RixHPYMWR^MD!_;$*swIT~q zVvD;rx;l#tzFfc_^NY!g?Y2|p&X}4+jt$tnw+x`741qO4IHIC+*y8{*mMq{FQ5t(b z9L-1WegM0Knk7nV)_+Gc{B?Wxe2ck1Oh!*8U8O1579Y0N#6_(@b3n1HajF_U+j*KJ z+{@y*kc&(nO)kkd#9m`8usI^JtEN@N$RY~d2@60x9{$L?P<^CC?3)1sN2~{oxgXE~ z?V}cS`NI#}^!;tBK0E{|_meKs**y1_e3y+#9vA(lQU>C*XqR!QGA(!lL=bBKerxvoO zD(|7I(Lw<%&$;w6AY+H0V8bE_k10@s$O$xwypkT8RNp5fYQ%~a1=oQJ9k%?3*RQsB zH?93cafh>6SAmqEi{gz-n#yDsF96bJW0&9pi5{0O%)*7dxYZBRQex1qD&855U>TBE z1%C!xGy#6A#A0*2i-GM1Z)=El_{;N~{pVZL?qPk# z*{rMVp7WA6_8qRXbfF1&Q(o_`hem=IrAV&h61yYGY={S;Si>${6_Tt`BtXB$0s=cI zp&Z-`l^m2dq^2GyqoH^KjgT2NrDkatBue-kDM`4LZIu>=UJ|+nW-e|3YY#BtA8SbVRq@UpR`3b zAdjL_EZ6&LL$5%MH6{{n0;yNsj4!1Q0ODkcWk=m{`b92$?@9g5li?AG1v`-LMzHzG z>>wPVq`|O0jE{Or&h3O8qcki;yPaX*6vVv zbhX&pJ3tXxWD{v0q-(v9X-5KB4cZ*aQ-+^90%OX-kvx1d$;PXav|4Ls@IICjhsfwClSf$Z6G{k&m#2=+}RNFRLLsHk(I9!QT8(*|3CcUzx`kT z&;R|0|Mq|WzyHVa)Bkvr#XP(^I{y>j-WmIvfKbwAXUj6YxK`P1fd7wT4#w_0Zk@RD zuRjsd5&{RHP1eP*I+8-X@O()nIK7q!>Ya>$I-WXgY{@>FU?PPF6gE6b*gjTyA?O+x zCHprNYc$}8fJ_mk0g%a4_}K%Q{`~ssdAUt`+wZSZPp4gUoBDT{ewSs6C9@&adWv-0 zLak$qNUT|XyLPL%@^jOFq9^ojj7)lw1xYKNJPw56f}-fHMQKe*KtBbDOW+;BgDNls zQrAP%^q@wC6SD)=BZY*GNT)$A>$4H8)JNf1V1VZ-Kd(~#etPrf=i9Uj|FBf)*ID1- zm1@;uiSsteDO$B}ZL6y7YH_pLdziw$n8cNzcNVY=-iPjGLkO-l8b{g>{Ds)_z`Lfm zu7^kz)5x4Jxq`dnAB7siDADW^KugrvrAo?p9_mu2RU*PR;d>W@u?&(57G=?D zfYqHERmA=WjufnWqHm^pq@*X|r8mzlc?38Thgu*aNg9aH@>c$&*N+-kU(0Pj&G`m% z+q$~A&dTm?1-zepPAkvDktwk{My}fGl}rB$y7?u<0-5`fX)W(O*e*?9-%Qrgwq#^C zy%c7*EJ|&>IT3gXU@*n2F-llbE!^<5(jFbZL^PI1oOc7Pw!(rnNV1LWG#7{!{81s2jhv81d9lcr^8lD7K}M0GTc0LQW@Ix$AjdLwQ%CDr$)SOS zj6E6Aa8wvVbigtM&n$lJwwa#3e|Ou~)qK4n=hrFUTtiM^kpKW;+hLv+8CG5K{KB52 zPu_J!>SQkb>&z!Kr_M>|;)=;N=agebi0FI_E{Q?%wiQ9u=}1OSQsTj)7LUM;j{Si^ z_9r8XO3tGf(b{4D@Zo1fQZYR`UOSm|&GA|+1>lgFAc!ui_Elh;*5C?Wab!9=yN&C3 z`5pxNm12YzHN!oVO2$T>`eXo}tW`hw^CAT~y^fk?AKrKa2Tn38ph-&Ee)coFYv6{+ zs6;Mt-si5!j+%QchIK#ZZ?LoYH-JhBmz)td_e7RP<72F*uF=FbDpf?%dgD4?Uf_V+ zni^x?kWSs0AQ?ujB0;re>r8j>-}oH51okI*vbB@OjVUTiKzK?ls1$TRBmn-g-GNgT z^$ieyhIi9npWof8Di7}n&t_f4Lm<}8A>eBpmZELfQ%n}NnULLcqu48XW&Q9m0cR?&`=0@#E9$+a7~?zNM@!yf`&Fi$*1@EflI$qp~)7;W_SzGg+{EmPri8rztAW`cC z+xNi>$~oA;dJoM*mx1jYVWhGc{0?$ie=>q?E)ig<#i9^4ts9o-w?Eum2>*&^!O67C za-@P_8O@TNQwwrCq~B_D-Flb@&Q_So6Lq|JZX(d_kxLSWUWD#qb{{r_Yhun(A@6T^;Kw<5%ecsIA|mt;kz&&N_Ok&93guUqH^Z%H>smqg76ymrYo(NhtFA=@GQ zk(?QUVGfcoa)ZI?Agv0{@`fAvj)W89)jNsk9lO!s)d3aBNJ)MXBuMiQZq**t1k zJ(+Y($Es0oU&6exC!NAN-8Gks!F!JEL+=9qHFF&=?r1)Bm0_)n zKdm~o-l)r*WsZ?oAvq{^?U98UMz-1nBuV3O$4%xccjz8^mH<-q@MH*4Vr0`G`DqbF zX!Tcree>=H`2SF&{AAKq49p$7BrYY|eGXpCy9tXVMaquk#o{;R$%Xdvx>>vlX;DZ- zoQD6($l!Ho8mX289sv~05h#Tx0@(OKE5Zmkb5a2Z@`PE$QKoZ@y(dEoct|r^9EvLr zZ_u#5eqxdEj5qxu#5tRG)j_dNH55P1E_*h-*bJD1bg8c$U&Pzu<-~>ZG;s$E?k&)kcGPoIs0X{5* zEaQM7;HidxhEKWKZsiv>#ln8>f=*`r!Cv5jte-O6gbJ%<0kjuZ)o$u;WIz_1)M{Mi zGG4f-7>@rJ55!K8U;)^%%VB8jO@`tW8|&$HLE?#bGW(`W)lH>nOBUq&<+*`FhJ_SK zAF6O8`z{SOxrHw?Ri8!TlWCVl;=iXX!4~8M ztLws;DQ|e&x8^tGsg-BEjXg|_Ykxpm<4v)>Var!%oXEN6rmM>d_^0|*2JC5y*s^Uq z!l|&P+XC6MYg-%^k@953s*&O_2+6_+^1=`AfBfr@Z?_v(_fV+vblO#|471^DjD4tA z9&+zyTG%vd;_AuDpkX~OWpT+J~o+c|H)}ws2Fx@7p znwjl7CA=qQ6K?Zd`PWTeT21KhW~utH^-W?>xp-<&8@ArV5T*M zHDo;j` zs{>oY-mEEmzfR9Lyfpix^Rtsl7u|wHI0%DSxuoQGzXMxZJpq_(86a^+pE4FXNz02Kz&{&n-1QRX=nSO-;8ly^LSB5QlkTl{ zSK%;ub*x~mWMo8zs>pv%gfB75Uw^CP1!9#5b~3)nYf3|7-VL4Gma}iXG-Cz zaW2`x&mb0Om=`Xll$^SAKKp`Px*R11M#9mt$iqm-%2Z2*ZWSci4Gilh&xVkCN6kaG z(c?uV8~<-M{nNYK3=jIq?7vL;<^t(b)-0R>_M7&yB7)7!mfY^DSmg$rQSgQfKPMAr zlInYfA4n!6voXG#AX-lFG{{wXFk1cah?IJk{&Xk;(T;c&q_1;P zd`{*0>cfH*RPPTN4u6^R4fctU0wU=Ms7Dg~81hUZmfjGLn`m+;iq`ER>kK^K z@PMg*$lIw5)TeA#p^$vfmBF!2Op~sbqVj-AgC}4Dcb?S}?60y-NQ`3XW%2V&2ND=ox$^U!POBrUOf7UI zq={nM0ckB9ePC}v$CDtv6?stuW2w}RH@Sq^)%@y+v*s ziDn|d3w+A`2%ez{BjCId2JZwlpFceRWqWt?2>pM2`!fu!_#Ez;5Kd-Y)i%hcd&QI7 zmGG@Zo8!I$C=`vb*DDF(xsa2`F;7OWwF@`{S2F-@n z0On&?-mrEMp|(4As=%pHt{DN8$+H#5?YtNr;0vNBJm(fovWMWv~8wGmx0N)4X^rMr`VI7C-z&2k1c*LnnxY? zAFVVGyNFaQRTGl$RNKyos(9SJBVLIYIHV(UZOwnNtXkjANnwgXB@LV#6}BSwZcJ=uSrT$f_I5<9EaA zDg43Do1^}c{?mVY|6l&8wg2+^AOGvEP0BrryZ5udx!ek_V#z)^^5;hc;u&zLtqNsa=+{#m*EFcU>@~j30ltZ0R zGG{1W_uY+1cJ@RHkFbQxNo@!D`f2&@w%}PkF2*^VciA1F{OuoK7l3Y$x4{dTZSpz@ zpk^hwlxuoLtf;beS5roi(7-{Wb>E!@BH-UWzDcoSiiLU-K6Upbp8$%+`mJS)mm=&T96Do*?oesfPiwzzIf-f zttk-bk%lq`qW0Ks#P6T~&KvPBewPPR{QTE!g9NH$vF zb>5|1keds*)C7+?0Y{K_CU7M$TyS6yfq5@dHXdlNt86+pG{TG4QDTz|nl7;JiapivbTnO0PjKo0AdgN8WfjY=J|G$PcfVr$6101y2v*%>AUR`i*r{aLG$4 zeUm!&z%CG=YdnRyD^({qJ1*ps(CSINY;)}yP^3i?K*x5Rp(|hzpc#1g5Do@@tcN1= zgB4MXo+md#yDxr|RG_1>c4T9gmM#qc)c*0W+j7%>d3fD)I_( zBGd-(W)`J(gT!8Kbc%UEKfIy#QNc-)2B(_-YMC>x<$*JsbaC0P-moGCIi7t znQuI73b=!nKeD?JFnCI-7?Ud7&0>uW5xQ&quSPVLDpKXcjn*N5jmJqOfs_)+jf5g% zIURBcq*{iNf?Z^P{Jg99`wzEyat}*5KF#?SRs9fubrO>_a}G01((Iml3|1BZKDK9A zuKep(Pd3A;R4b{n(vsjVFRB5}_!3l81N;$_RD{=PBTUPPX<^ZWA_%@m0GFQ*ImA_- z3P;7dR>X+m)$3Q&Etd9>-uYzGHAgZ*Q_K%5HuI8f@_x&qh-r_zoPyhgwZ?KCFYaV` zwe5OB^4=QBvJISfCjSQV0aqd{*$lR^*O9g#1r=;~NE`wQC5R;taWe`foD9+Iq%vY_ zG_PKVY5nOo`|_|b@_x=mdwp6rAr=*oK3BVJ(yv}^Mj*+VWx*?2R;jpcPg7-nb16<(CYBo-?Hx)@sE;e=quVtr}^VZc|JNuWo@JCkHqO};PS;?A$ zENst_)S^x!U)6)f^F)Yr$UYr*^bsl9fB;A{Dt->TbM8hy7InA?k1p`+5McozUy;n& zF1bBMkSEhF+V5E}MOVMMqjYIUQi@zqWsx?xS>bkw6EbH;Oe~P-L(zpLt}u~mtG5bFSoJ_~X${W}MwV+JTjE*n{g4`^L8NwqT;0Y1=FG1@Y_~OphpE%a zq>Jos+O~?GLfxcVkvYPf`mUr|R3`_Fo0HnOkZbH-N)cHFhb?Myv`Uaz` zh;YHXtlH?c>bSZod94z;UtDj^AY13k&&|#fY*U1YPBvfg87a36hn|s(wdSHUl|35< zFG5g~f=_TLs<`pFNGjelwnB*=^)fWQ82JIHH^o-or#h41YZtNPM7U))*bZ0KE~nAHvMo*Qk#cd zw)c~+a_mShbdB5Y&6;h{0O~z2ZndjvVGcTI-MNsL-s%Ti0e&dKrKGYcMpa<;po%C# zdvbWxMACAB%?kTPc6$T(-&tlgv4sm`tnwXa;rC0fwFo1UWT8hF(-7DWN7i&`^0 zN==qa)A6#XuJ*?UY*?)%bfF59@C;XtWuZp7B+YH~kIJGM-3gkZ^#?;m5c0yIa+Ed1UvKNmpI%nLKaK zb!p|S)GP@reDS;+=8;SXVqdwCm$v#xNhrYeCaX`ecmoF?O|6taD7jfG+YY>{bCQ?X zV|2{=H9HK52m{Z_jEXLtj1UC{V>SH_FZ@0)et$oGxJj)ab~SyP^X+A)CGL2IU4>a% z_kL=dw|kLts?IESD?L(7Qh()8ARHR!zUEdO4+apxV{CA1sT!MV4_VhiAzh8kdsu3% z5P$~KFUDvjX=xPiwogXv=oA&_B620ENI>?N>GggySv~BnIhk}-jSRj@oSk=Z+2_Pe z99h0Vb{8{a7kq8mxsVs$=)WkP2hu%Qnx5hlF88jrS2ER@w5pP&i!8hMyrh=YvUEok zsRxYYeV@{vg^jTH*${jVNr6e3%?bqMOv8VC|K00(x|!l1R$QM>yC!3jM!7=Rs8%^s zGkyk=T(U6L`j!lSMG}v7y!c7jA+_k6vAsp%V>h<-5M{RHE|INh(Mh%ebOP65foR|` z7&8gdslhc;5D?-1WW?~m069S<>4`rixY?Em^#AbK{cg@xyc?ynk? z>bxcgjF)m$d*wndF?sGl;{evpm5L;_XXQ;h$|#efeDM$g+%B z;4RWp!+dmPEj9Vb&EUNaitSGXK9oebA5bHSvJSphq`Y{3@1E9ox0WC8{*y^p(W;4rSTW8scwkYg50v0DxgiOXtGR8Qu@lR9`|0<0NBo? z!nQ^*JvC(C7xrMMJsA?nPt`#vHT-NUF{FW&(CIE1sP?RJA9p!Fk+K- zaj|P3mRWa#EuB{zxR7fc2!#X@Axp~D2#YrZCaa0!pxNrgVs^4W(mn9WSRqL_K=yaI z@jwC`Y4phm{LM#kXtK-*GWC7Gy}7ac^x>h`-JGk=yry}Mz=?SIbxm>0(Xrja#>vYh znhWzvW*l{u&9M~`;Y#WTV1(!E$x5F?_02aVmZU?)UJZonMq(culFw>A!kJKW%bty} zmrwGF+weueBXh(2W_tSmhVS-}ZvSl7Rd$z?UUPz{@qUBHaoVv^Q6?{XS1V~>6c=)l z-MxZKsQ`<>iYdh)WVh_HE>ulaRK-{&cGvcD7;M=kw#BC0*c5*%JnJV4L!?BPTzr8zDa=qzDj9RmzB02L3 zSxl===&a#%gdHTdI+7l75S$`yrVbOyObl#nkg}3a`gDXOg;DavOp?de4sV~QcQ-HO z!vf!vNmq5d2fy`B4v-BA(&Qvk|FHPN7dyI^ra6$eD_vvu&?`kGwC+sVeQem#Y-7y| z$q~r~eWcVXqA3fyl=g!`B4ec1}Ws@#A(`<$CfAs@=}n|WaLVq5CurKUDnWT$=30+`iT7F&0g zxkTgO+DCH4$3w|nE4b}poAG#Ck)lZz~CG$Y$i4QW1t z=Fv*~2gTe5aW)D9788Ti#+?nR@u0zumQ)>8IVO9_z&mYN!* zaI8uX(OcyGl6-l17+OWR5z-UhjYuJm8ehOl#Eaut{qW#mPZ}C>c zSGQQT>uFu1+>4#bfN)lg?ro{msA^iTkGWXz$I&|jw?Zdrl6Hs_wav7k4#>$#YB9ww{A7raO^ZC<0k(1orMJQCyEI!j7+ukd9f8 zQE{|^tYR!WHVnFVBfQt<9jgg4BA^;O{P?uIxvls@f5cBe-DbIpGx4CiNmrEzbknl& zlgx5ACIG<5j@-QIh-5KYH|<(;Aty#p>x>ZQ8{CO?K_MLML7F}nsrE)T@-TU>{E^YC z$<)hE+~=LWND3e%Ily-5N*lr`sO-!$^5Y-bZYq2>+HO*O`77q&i+=dikK6Wi^SVF0 znm(O&89kC`5Q>x8!>nepMOI(wcxcojahbfIxR6WsHy(<&od>f5h~2qpbi>P3YOpE# zm}5d!Hu7L8@N9WLU=K!~I7GO4Pl4CS>k9eNoIEEEWcLJ`1aA58{Iop3e!2lJ z$%o`@r}O@X>!W{5S!qx;cs0pcM6)j@>~`I>T=neruGW}0+Kc=Dn0vD&Nsc5*@K^d_ z-^ScZ@8i)Sd$;HFm)QcD$b?&Zbs^n}5-2J}XlO)eh^dLN zsERPJqUXFI3}ysWgu?E^uAAUp1sDGHx+6*LjRy4Odd1_d@O3Tv);n^4VD|=C;=QyZ zX5ddp(s{I0dn4S)9s{kYgs9Gj)M$86rpbIqO=!i2qz@OjTKNwelKwd9QB`((q-c@V z$Pr`KeRHc@O_MIkrRYT-4IHbzw})}+D4}+4fa`^S32`J9uvJtw;dURL#U!4fxNtJU zwy}|?yNIkhbs9vQB| z!XdLzLi2P!Hrb`YuRrdaQyVk%!ntt}vrN0y}U z+=lnhKV7`pZXT6i&v{e{ks*JoEPA)xK6+1K?Lx&G``(S<9#Ak>An+0d zd^6q=>|&o-FY1bJN~JsyMvJ4i83==N&BIYCL?29oV74p{JkfPL>5}vzULG-z)%1Zy z^+ ze+Iu?qd@-~3ZxAQzI9}ciaEsI@qPiDG;wIk=;(53-C2zvShY*Kv7rcl$FpLKZ-fhe zKx&Hc=;6&3A57E$Awk~0G=6Y=3bMSW|~zhZylY;G6joV72(-y}xXD zoL9txpE;rHIgfGs#=%<{IQ=S%5_@X!97sydzD1{zQZH6!uH)V!hT0s>yu~yh*dXcP z?R!qj9`Ia-YAK*WGmna$j->p;(-`m`z@?LV4ZGT#U{6Mv6fpuJHJzSczkR-tLhj1> ze31p6&AUsd-I)i{+OOL#-5y~b*Qc$*>FbuA(rXDwG3w5h+}Q)+Te!bz%#Qso53v*W z@j5F0ApFLh*=Q$}A0u%r%Ml~RPQ)l9Y!AHn`G<&Ep30Q^Vvr^$74~v@FauN)3O<28N4Kx4iiEoX2=^S64uXeRZrtRC9^RkdCDT4PbMLpt>tu z$KAa+w|i=Yl0~H0t*N>O?Ej2-nH6A^^_i!#dh<2a|icTMifb$ALn!GFiHYUG#}xsa<>FWGP@cUOQv zbY~3^ip^G4pW&Ry!>HhQfFGR4W532$_6>`a=GaoMFNF8us#<>>2* z+2i*&Wb@60(z9s2RAf35@Trq@*8`ozVAW{7@T7@i(jO^kYN&yIT=Aa_kqlpXOFyrW zY=3d%|NPheLMEYG_s$>Ze1~j}C8S;WiORdV)l~{JQ+ju5nlhRWsi)=2&+mv1F+y8S z#kMv@S}J2km|T&imK;Vd^UNDLDuU?ICmneHC3&h2pUrkT9`)Fh5luC=qh;EdqpEs% zJ*}4-{LK#O>p71qTAW3k1j5uJ*U6YEY|5Sh6}lOkIUi8JIq^T2YLy{ zlwJW5O|7kUrJ}$WhKOx?6uEdZq$#Tg1sF(@G>TSf1yFM`B1S`kM#G0h0YzZ+_dmV5 zB7#V86;k`-NJYU92}S*HqYereDXlwFncqJUyxX&wB#!I;&%F2Z^z`a7X}zAs$&+b+ zDo{T7Uc$S@@hLGaHw$@#>>3tdHw4*rcV6QGVd>{_^02e$0T4uHw)n%ZL_orlDo?h$ z3qB1R20yBR*duoo&LJ5h(>H5BrN`$+xU(VTsCaDt&=CuoCuPg@;o^bCZk9n`&3TkZ zaYEX8-t;15--OLYizy@|e0z-(u$J_V3%UEP1aE_E@iEAh1dG0MsU&2C??!5wWuqLA zhRGu-F^vjTZ{(E)qN+k}1PG`Ua`}@Hz7tWgrX`XiLsAE+{LjDtkN@Z5!+g_`pH6!a z=`NCw1%6y3(74^hm-^kumZmmEzu|8-ZRa}f&f0YxWXTvaUbW;{18hYK9ZvyU9bUWW zka)2SykcJD0eE1Gt<9cu)=jVg+C&z*GY3gpg{TL5b+~WRSxzKf8JA9#orgYf_) zB-(}R9|Ce5>QD))^ODlyWCVW=JEE!Dz@FVNnCbrdJYBr9HwlhE&iM|h>y4Da!6h$V zByTE#ok+lz&P}S;MEY{B{OdLk*0f%&uF0}@lsCxECi0^tBw7g$f~DpbQN>tKZa;)k z6)j+kv~b{Zbi9_n8i8M@JO&_+6I72G)~D@a(sC0aUe9?{G3bW4B}E15h#GiM8dJT_ z?3zUew+S(sjSG3uF7Lk70_>ckDXNn-T~w+7Sy3~P3*aFc8u1K9NfKW8a!m>-Sa+lf zJJmAn*^rTAjCgZB(2f_B4|x0L>4&F_wBcsQ;@PanxR-2r5jw5NIl5b$E|%JUB1Rj@I8sL95yYb- z2Mf8o;g5E6Zgm|R_OvqDv1>8coIP^0W`ai)wE=hv4hVkT8mA~Wg{0>wM<2-#6;wDG zIZ6YNLb16Yh{qT+Y;e^=Zu2d(U(b11&AIokOS9Q6HlD#Xt@|vBO0b!TRoS?5A$O+( zWGP~A#RK`+WR9E84j_rGSwbvT#116lNe0DMfC$sm#}8Bov$PjY=a|*b0@H*=pQu!t{Y=x_yZ(f50N^G5{`g2!<(Pp zTuN;DR-w`LoX6Z%*rf{=D9n=*$SHQY0fYFdu1hyFtD}SvT*sXYjqK4t)N|-kRwXpR z&%vmbkw=V)MrDmJqeHx6gfP<{TY5* z*V){<9Xgx!7@JGCElXc>Hf@truoK*ho+62KyJ@UVs?77Iqzzr;&bq7S*hE%t;$VY`FX98eKC9Hai&XEn4()W z5jfIovfEgfS&8Vdy#Zh(`-B7~Vc6@eHR(nUl|Xqi0x+Y=kEta~N9R}ndRYN%Zf*1H zIS+CyUQ=IaB8C767O-x+zx*CWV{@OD_k4j4xfa6P=5wr#!yAkmv0xhJz8 zw9EA@0Z(j=t6g}#NOCSC7aycali2fY?8JrKJA6vs%!#TKKlF$QWI}@rLAWIQN-wPn z%6&7uSZ7AVhszTHFIlvRs4q5)mh*T8J6cKq5Z0?a#4R4>Pr%RFf=85jfq(@O(6jq`| zwiQa5Dd!nPkRDF}?!g1WX%)DTd!MA6qehziX2`l=X5=lpB%jGJ8j7)@#^d-_u_8SJ zxCpKFp;Mmk5K_DuW3?^vSq*T1q#2==>qA9_9MQAAObk!yv8XXN{9 zh$}C}vYn!y_qHpeOv_xz-K(VI5k!-TO|>i(uv4+IRt>k}t3pncvVzeq8?Y=wXh4QW z!UO~%WNv^lW@K!Y@nl4dR%)l*q5a~>b2+@(KU{(pH|a#K=RBs^LdH-f>@?N5Y%Xpd zDL7^8v^VQ!qV+UDo)9z(#5l*=#K+Rjii1Jfu-xzi5-5JULmd5^`_4B$)pFV9@~|9ci4l@)i>=cHr`~G zpc7I==eJ@M*KzOj7Uf^Id1^@-Ee+gBm#hknK#bZUWsp2?q4k{hbP+r|be@tHOqM*Q zNk9KsjC4@Kn}a1PNIT3QmUowKr+l+Z>w3~-4DAssa|fJms`LV!&62g)yca9EP~>FW z#&tYqZ-)|WvQiW&7(HUsDvRcPsGdUS>V&=GWYWX({X8K=m9S={i#h@;I@@e9`zo?o+>5W>WF$I5R+E)SQd9zI*LkGtD>1j=MTBQ?;Ti5= z0wvOU=PaeQQOA=J|cRyx1HaWJS#l|+k6{M($NhfOKX{6~nRvsKmR%m${Mk-cNiAavjiahm- zow8n?j5zj`6P{aSNKv@>x#l9P;_%+eo0^LsCw+%E{^XMAX7$<3U6&H(75H}*3UFsm zwy%1%T=`eJ7HM?6R0XO1A!PwylBmg*?NM)`Gx?uLPwavENbwJ#Lvgx@RfQ1_+Zl3f znX{qbj+`HPkT%2e^!)StOTgc8>z3kd)?@bhB)H;&G{VTeG@W%#`y4cq&P7tUMv`CD zx;x)fd^EZ7 zoeI&mmXr}u;Kq?;!aGC>^9$44z2-y^s5ay0T_P8ck?SR+#Vkw=AW6S^KD86(*gBNe?^ zh(7Gk+nb9G`ewp^GU-u!y&>C%H=O~3P1}t`-jDY(*Z@%Us!9zqt5mARH$7)}rK^#1=- z7g7%1=nFlW^eC_>oYi4j*nX?2`@Q5C53}_{S35MuKwu>5Ie5umzJ>E9y2|Y(eF-Cld%4e#^*BhnPIPxiyLap()P98o6nG(_-o}eI@B0oACLbMG$JtW$ZaOi57Uac3EZVRGc z&v{fGi*k#Z^^z#ruHBkC^KRYS)OwGbSSGT~-Cqy=#p;sHnE`gL@V7`>MX5PUfOBM` zjS|~VD-(oZjh7_J@IX;k7d0t|Emd{R$%rHeF))i)K@ZdWzrm7H-U5i%a~^ct%-TK5 z#yGRr6(1xq&9f5w7VRQ8MSF1_cZY{ZKVlAD1>0Nd$pD$As$tpgUDvgAa`fqg&Xx+G zip>23`~$Tq1RE_xz?)&uhTwHHkmu35W!e5b>~Ej3X+>!_bN#bfk2*{Ad!Bgb=HuGz z?BUIKKt=o+aq9R(raCz;2K4;iS6bY?#ZMFiE?8@Y&L}mCsJnB zc01KMFUBS}Z%D=a2Hb^pJjm`L8fa>2aJPE9Kb;4edtKZi@&PuZHLCuYbKvVM%}a;q|s%l=deDL?@FT)w^Z=9JNl! zdWvB+?Chl212D&=D~}kHm0ZY))mIV&Pf_@_h;8YUF3BjHvJ$gHW@TricCP&ER?oe3 z?BjyCSxjcq?=q54-6~#z#EUq?!U>kbQT$6svJ!d5-O)wr8Bqe_WJD^f#waavQlP^h zE@b+;SwM6(=P@o_g-JNP%=r78v%VF*1Ea&hQZL#~ay5WoSjW9jwj{6jV@&^R!sD=~WNWsd;Y#spgY$ynCMyap@>f<1t{hSo{ zBa`2itl7z&$LN}U10n7|!w-0^YsT8dQnIW7M}j1O2RTboWZ-YHa>JKFQk{jBqL!A! z8)bjvt{{ly2?~CX;fdGT2q~fkdA5ne$T{`?_4NENbPL*JnSDwFMg% zjzfpCVe@QT3~t{N-t8W0SUbREOkB#{3yY3dfW-dBwPI63=1C)l7E=q(|;y&xFWB%*EF zPewMl(oH#JS<~uUUy!*(F8sWyg|+A29>=yGaNHqZmjSz!C$fPQ7LL&xzujFAAX%l3 ziyW;(WS~0eC;HVN-+s6#x2dnuvwr;gcSq0airY3=5_nF9wJGu&su?e=Tky(p71?Cr$%DEw1Htp1UZn3$+KIJ$5YBfTN0B$DI?-m%R&A zq;sccicf47&jFAy5+70mr^i7?%Uc|G$Wn;N!;+&xYeY7Guxi7a*CTZ3Vbu5rHYXBm zPp{?=7lD`YFCYH;(*=++oE@nAan8ef;8Mtl9GkJa?={$ve1mh;xh%aYVMwL7odUuN z*fPWaYGG^ISMR1xZ!#N-bKzUtQkKk>e;p74zzqN?9@s>WN3E$hq!kjH8nuLSn&pG? zY{(*482OD64~#-3zq^e8^Zw`eKR#Uy4`9CHH9nj2{qZ{c7!bva+MJ*q`_^Yau~ZH* zv#vB2ghlu0f( zqfAbC7=R#(RIK>UI`FWBy`FmXeD<0JhsQ;OFeAz0SeA7%BH{TRPmS60$qE)TynXfS zWzX`amf7{3M>Tueh_KbyxL|z?WxhpSQZ&u#g-0FAO3j7by~FlsgcAX|d@9{JIC4XV z{v1?+V+KSiIU|uIgkw=NVvCk+p4E64@KzY<4`gla*^mq)V2i|ijGWE#Y<>Rw|9C%N zC?jyQ{_|wkqppDPH(Fn)(AjV-DzqRg_wjxH>Evw91}F<8jm%`Okt3OwuM(z8|r7nX8?|B@-h zhV-kkf}BMu6hc4*QX;xT1(!rnBkNj76J<_Dc-lyQFs7a41$D!^?Y~??TW=OroJ@Mu z3F3~|llx2iT$gncwyU_1@Imhm?`Y1Vb0Lqiy0j&W<5ar>nG>WZ{63a83zb><224vR z>RHdv%Q-gG3LmLwew+ZPvmwL--XbCXMu4LI)h`$Pj+=*w*K-~N)Ag1@14h;?aaw@C zD5?x+SV;vubva3F6s+U!RIEn}zbdiWl(nkHv?OCO4vvO5#kHyiHvzySNPf#sD>CDT zf!p4adyCZ*!0-BGM43@gw@6Do29kAsc20h)h5vfe_jgYI?Yq2_qp}t$Yq2bQ4Q`;attQ6gRp-gjD30R*4eOJO5l-oO`eD0-;P%_x z30IRIC3!<7%~}pQv0#uSd2MZXY5|6TgDufJ%Y{71@IZ*UrY58?CY#Vy%2j9Bxi$|F zBT2cU0SOh`mnoS&Xy&k^SK0)!I%sz?0uYH5f;2C9oILxr!_)d|yR164o5A#Y(xYmJ z4h1nd)v2?gsljyJ=xmerW=g9RwpcFY?q)xz<+Lz8r4Ukqj{|HcAyF*6Pu5+~>@0;L z(+$<(DXyx9qqkF9(gMQV_+jpBh&k@4*oqk80(n*Odx`DerssE;wfdWNxSu9{hum_k zoz-Rn`aG^1rw}uBEo0u|BDUxzv2x{Kw|g*+oH)G5E5so|C#ia5vm9%3SuBBUlnl`9 zWe&*yiCB~rnyo5F2t{UlHsr_(D8{HoM5^|Bde4Rlf0Ml8WYUAU%_9JVY+g@Z&qk!W zo34>-Dr8A9%Wc`5;yUggP+zvXqDpbG)i!piAX5TD4P;TQtVcR}5g8N(`~|N;{a|ch zw+e6yvL^(Aa5CawQd7aJB|Jzihj%}}fB)-+v=}!_LQiHr%CXDnHehwU;&GO{GjkCn z^k`{QmgH?f0bIy~JdDoTB%MmclNJ?kN#Yi*SxA?Q9F%p^8kkeDft>AzgVfaL9!WCv z<;RGqf*}-v7XV+nVcA|?RwM#9*;%jV{0Tdo|3W8!nzng!doy9P20mP7vFIq4o_2x1 z)>jd^j=P&#A7&>1iX^?HH(kWk3@Z_XtBR+|a21xs!*aBg)IQ25$bajdgH4s!QSpB5 zYG5>Qa3tnNIz)aPvORyeq_EuPHoKbhnEp>8)h61}-y{MHNOtWu_8@KxOi_#X$#WeK zu{g3IV8RwftJ?HXa}Na}GUp5(dQ#(Sqe zZxMR`^H0;o#kSt;5&AUi4lX<1mu<-QSv#bN9SM5Xa}0Isdk8ET(mVctL-fPKZy25h z`c38-nq$W&yF48}?_Nlr=nj^LBLLRatMx)yKQI#t0ErRagY^w2%nw$;*voaHKV_~q^M zWq02H<*(DLOO>0sHvH9;M>PqFeWeTZHu^M4vmj%Zlb>ZuNyWXi-~!iiM&1v^jEr43 zC#UGkhW+a0wrStzjFdg(t{YeWb)`7l8#7Bssv1*6OrpzbOUDMNN!x(TF~WLdID7|H z$@m61JMxZ>1PR#TRFfMIDJNt|kz%|rC0djwq9Qjir4GaN{I`oXo4KW0em&<7T9v0w z{8pAJ@uqBLhq2Fa&Qh*Xsg?Y*zVzz2kbCu$qC_J6o6Lv~~`m5HKc!34WB5F-F7Mt&^cJ;#VU=Q}9_khuHjo zP3!xM5VvpaP9{By>I`5P4qkXSw{_asAZHcgBmR89uQu2aH!kGf&qK(AVh(U7!^_J= z2-BjJ2`^6|*IY84G6`(kmng&aPw6CY}SM94qv%y-K2--UesD^puTuq6hH-bTW5(e7jk!IT-qI&$~6rW7n@CX zA;aHgURfp9g_5|1eJeroF2ev_61N*T6Nv;=kbT%4Ugl~l*r$OJnrAv zr=o*rX)P@0PDYUNJD?f1CSrTTDg9n?^z>%kez};E^4AKEexLE()f)*a>Iqkqn7dZh zQaE1OPHJFRmFkq~;KIMIBad)tk=+Ae;BCpS1%$U&SU=;D9#x`6mg*l=H{8UA3R=8) zFe4m`IU3)t2H<3PfQ#f`!Uef#hjo9t;K|+WZN8rKm?M_37XUsitL2ikcPoO?0?451 z;#*pbC}HI~9HJt{BaEqk5KOvg~&nib6LqAVo`t(LIH z&Z>*;?);SEuzSg5bk4j;z&EE_Ob1+#y$0X0v+)vY*fL_X1td%;_2-lFp73A&6Rz(qKE9eM+VfXWi2Xpmn&7TqPprf zF68cJKYUCLNx>WF3?S#&VvcVU)CLVI7jqD;Izw|hQcX(MPy`zfrwz9f9FRvm8BwD! z=IHYh_=!TR;pzRW>0*%{-Mn|cp7f|1uISsY)oha9Z8D3Fb(3YrU#q(^3m|%5xR85W z{ZMuG(htn;CD7*>rFZ6NCRFTJ9ucQ`ljbSCdOhT^{}25#sd=1ee@7?3A|}?T+t;wk z$FF~X$Rrnv7z*mz3YoUut@yj=Ei7&WXm);g6BqvVO6X8TvbB>MzM3q3);c1ycL11p zoyb%s0014uJOw3Fc^P53X>B-kCjr!bI2#g3D7E3PwwAOScy7PGeSW$a(nf|WG{o0j{zuMYaP1x_;q-Xct0I9+pR=0tVkcQ zNxcWg@M^S*>hF4pkxDpfl-T`1F6MebOCGKxxhEv2(CY9bFm=m1-m>`hoW~$Sm9a+} z5JBG}aCDm{r=;n~=pDPYLos6GIv!;3U_&Udqin`@A4%TTLXoOAUqnT$QvybFI*f*e zLcDu`6SFT$eGxJHE8RM6w5YplNeRYYmPy{{9Gn zg8XXcWCRE@Vz+y;_DS-e4g2d4m&uytCOgH|oJZA6#NryjYFm_zlixyhb_3$IOEd}( z0Jt}EArG>6ba3N6Db-BMc;oN{QuD0>KZoF1Gb{Mkc?vQiL!y!phLmt}r1l%Y-u1w7 zT7r)QIjE_=>W6nf&#!*DXuXBor7G969#zjz)xxk7|H`br+K?&CzLNa3NW?H+6mTJT zH@p7L?5!Ynw#s6C6&p~fPDd>`j}V8*Qs9W`(v3l5qf5%aBTORsbg;9KCnI8HF&#$@ zypj*t`|m$Y&+jkrH0wW5h`XBgs6*Lh+1s|8UF_Y2S!^QZRmMEeEvJT8TF1_XJjm?X zbk|&_|IL(}>?$6Y#IRcEfF+~i{elgVg>cau-~JnU6Il#o{c%l1R#q1CN-6m$++jo8|d>)`O5tVuy~0?G8RixKfF9J(*qr23FOUs3)%DArGOE zz8nAMrjaH#N{_(l$3)d(3s^ZYU-IO(1sDfN0lFFtFL(eJZM5vuvgTw2m|*n4H9Rv5 zRtOKXzgjP%X>;4^SCbxfE}nGWsom`3L@`S5wl<0ASY;j!Nh}w^g*?RSY)RF*A-|X1 z6jBr@VrYzpE~(3YoOqjE7Dx6U8S0ta;r;9R z8DM3-St@rj=|Owl&3Z$CYO$#{Z7_Q?nmQG#cheUITX-TG(*wNV+9>Dg{ zfeWd2$ntS{@MRp0S%E@k<3XC?$;^5^qAj^Wk?oP-%n+6h@3%J;R3)pz%^iL=?NO-R z%+2PoXwk5(*Ct$C7b1W|XgSSWBrT^G4>Em&Pj_8O(M`h!O%{1(jVd)2TIz#F@)W4H z7d3D>R>k6GDabV!STKZ`doqIb+OTxdYdjFH-b=;d$;jlGQQ5SP*DRe~89z&PO<{SlVZFR~6d!!ZBN* zaVhZlDITPqQ!m$<*F%0psKweGHMk|dd-&|z&9AQPRa zvQ+0VZ+bi4(8A;c3wg*UZ-ms@3g8rEMor|_yd}AV;a z?&TqA6UZELJtQ6ZSSc~22r{)M}SfZ-f*^SD)S^9hi03~ zF5_BOuH!*F-T5Lyk${HCihL*yenAPXanoqY2SFYwf?2aPzY^P2oPy9#muS~~*jB<{`kVdau$lbU3 zq5o-8tfm3p^@872gDZusiK?=sqHEwio~5wv%}^o>4t+3Y#G_C!ry&q#cvxmgMQY1VgF30;%Ym5pl-=%=ZCbWdB^qlcSb_u1`w;lgj( zJtL9?yen+ULsHg7A(LVQFs#NB8+wfFTA>G0E;m3|7qg3qTvL_?>4Bt<=MFF@N zTo~T{I9*gXH}9UW=RE2*uGl<9>5STexPr>SZZ$IJn;O+PmI$bhh1}b}9Q;H@)QlaT zYan%^YZQxsdAZQZ6Af7>1;TnXHf^`4G5}yUX1k_x-->+GJq~G@@V& z8o?EwzG9;noe?)xRFp0^BC^TUlXc5cb%mr{E<{2TcFG?11pEP(!7|w3 zB8S&MzyIl?mimWN-Y=+&PUid>=A!@7UWbtjcD8OI*>wWqFfkQ|rfTNdTR(NrmE4_w zSpHTDP3dNAQ6mrXP(a6n^&C&Uz+Ds-kuV*-b6!*nP$;$Oq!posJ=}<;mPrVt6|r`N zkpe5xg_X|g(;%yWzF5~1u{4=+J*KYo(Jx@%}2wb{m>jhteKo^pW_p*?Z*l5K8$;;C~ z^%colMnD&4Mqhm5sbs811O?JEA|3mTuj>Z;^U0*|j;-=r$e&*<-E=25ud3Q?dKFn9 zXy#CbXx>F52gUkXp8F#I85tA?65!|nK*+Mtt53B;L{{WPXTS5OQp8)?(bb%9znpe= ztycWD-0098f-f)dCxXc+yA%T(6-#oiTVNW=_F9K{>fplhJv<#}nYna&3hEA@pMJ*$M-OA1Q1#L7@c^`rZ03wNNNO+jf*+gBY^2-T;QoB zj}3wd!>cD)(cqQ4W%H9sk3!}lYye@iP|az(nxLl5tU)$q*E+>8VXtx_53xF6IZ{vn zYDu9)-!l>;(QCDljElYxaip?jjE?MOk{54|w|9owCJS~EZKQU$hW!|L$3!Z}7uDh6 z$L;y;`-|&N-L8JQp7ofk3*DNv??3J+kh2==DeZhRLL4+6>|Ks634oWsm({)5 zetCO=BXU>7^4C)y!z=#{rFAm`F5ro_$x-g0$!!xon7ROKikxad2Ec`XomU=jR;)=F zS>drMHW_`Qa38=?s-5jXDv(&)je!(l!m_l^jL}ffo|&r9Nbt{wScGIpHW>-*AI-bb zPvmPua^;ROgWV8ipG z4>_vQ!}}li4;Qrtd-MM2deWmLprl_y$m;~;r^1Z%J8S~DadSzFHuZVgEf?|-KjU2k z){7O8p6Pr>B3Y?0=T(mdf%mwW=CwYNw_)kmaTaz+wm8Wm8TfKIO12*H8k#&wP7ZV~ zaPX0g9o9KFy!v_h>DP;sM*L;nmZytple=!xJ)89>+I0VMLgZ!b zFV5D^4w$*Q%4M9Ldu7f35=vf4QC79|f{m8rR1hodx`n=IuKU#HQT>*g8Vw&qjSuX3 zk68cm4g`B}Pe%tpS!i!Eg=13-g%B|KgUpCL=Yisi6mzjyGvGS1rY}Bbjj1}=FTB8y zL7*Mx?Zb!d`J!dKd0l-v?J+bulSlrUCN;T+=!8T^EZ(frA=l1mSY(sOczIkh^Ni_O`P9vyEWJ)P9i zaW=e1@U(NhdHi@i=TQY<22oV(>%6HsnFV=}Bg! zE^c%N6CXy2aAX1PV&7X__VFFeP?0&o_)D)#^=yvH= zxqqM<`o~F+YByR|QH-9&YN^UBLn#)XF?+wwu1jS$g%sjMIW~e{?{Cc`fI^8TXJ)8BY zx{PjXm6NnOB(ujJ)JE2n7`l+VqO#%4mh}4hK>m63&xB=>U$kAZ}*$XGouP!)T0$y4Aol3uo;8*52eA6#^R_QMaaKV0CZ z;*CS!>nV>q^Yv>jRu!{0(jAz&>B&uEQW-C1CcAiNB}$0*r`Y)|vPM9>5g-t7ABfT0 z7kJrY1*kEF*+8oq*_?OD_|jAX!W@8Bks^(rKS~9FbaSwE;ddf$WiMEa%AXDi3Zn_- z7;h29zQFcRAKqV-TyEa0ew_3Dq54Iuve@j!yfu@nH4~ut9H-WEWYc(+RMlS0*I$8< zb*ar0R#ubX=P8EHPB82M;d5spj0LbH@ns;Rk3f`#*QX@3XAk4iD04PsMxZAa4{K*6 zsdk5V@1|cbdd@cw4^AdMs*J#z)fw!ws@E_nId#3_)owe$W?s@n@;)x)F|LQ2<-P#c z>te8%vrWA=c%jm*k5TZVf=%!vVPs%>q=!Shi!2Mst-kz()FXVA@DF}_Bu~%lw?Dt% z{`U6y^~Kidrnmpv%mPPam%b6p7Rh5&?L)|9tz)_U4iSA8wt& zpUwLABeIiI_$r&K*hx0)I0vy%nt5uo%rQ+tPrHN3xQx4>!oQf?BNNj)vrDYC%I4C_ zBSm^}Ed_;%;V!5R!1FP(0kGdVh%vHy7XjCujEIr#rucTYcPMtW4}aaB-*16CyZS%;a5D#nz zu91VaPGB5H#KXjX9|hY@dEt(*?}6Rj$hy1hA#Fyy5=Xz1gYAd+KR(Sr>=$RNyM0h| zGVM`y1j6#NN9YD922ef8xdB#WqmA;$lt+vD z2B5s2@+d&5y-o8REZ_(QBD0+F2qH;EjSkZWIK36F8v#p; zl3`C)|H#4SFCf#Kj!26+1oC?sXD$EBtket!LQSzNr? zm3lqrQB`6<$v)v#?fc%4j##N&O2)dWJ0E!q6)hL?7)Mj8=-w)kfv&yDNtvR1?j@Aa zH1%GPeujfhoaHsvvhNp<0;AE7j)ZplY(!anDBz2fq~e`&!~g#Kzx}W2>0t0V2i8n?S3&7-5)82JHz#j_u+>QM8J;gj?^sU*4`Z{dJ{4b0FNpNMBfhE*@7LgK z;6}7GN(c7*QlLS#|3>`=a#RVHBuI*xA`QW?`s%PCgMmR@##>^e6OqX0&4=mrbOEBB z{sHzmoA{XfaNn>i+p5{%nGp=9&56?b5<}Z~XNSEWxQ@FQQ8M7xl&zBF@#N8i&=~-o z2RyyCY*Zzs38DcnRfNT}96iD+Q$9F+hw0`IpRu}?tm32d$jV`U^;sR+Eo$(yS>K+^ z#=91heG4-0#b%heRVpS8cI~LR#&`>s`<(Yi)_hCx}iY+FHOEX4`%})f2gUm z(%=uD8#@Y~)p)onzBJh8AKpIy_e&0Gx!oOqJ?k;Pe|DyID;H{CdR4G5mpxG~cQ(jK zc@ZlnuH)_-oP;OEl&qWVDRnk})C7|k)4O(FRcW$;(pQfpeB zj2tBkqdiefNA3tXI2nJo$0X_jf$m^|aZFE!m{iTZfg{QXOSlgkV#` zZUQlsJl9b_NMb44W$}iQld)5#rs~#Zv&on!DC-!dCwVGa!AZ_;dHEzAk7pvnG18`R zGU5?KB0_M~hi=JbYh}CHIr+yak7*|hyHsm09!Ox_e4N6hjqoCQpdBx}TH!spj(Z>0 z9J||h6N|M@6+^zCXu>#;M zY5HfXpsrcM4s$CxPzeLCJ-dFH{R^vyqu_2t-f1*%rhGgZA!m$X6Xj=Yus^?jf3Zs_ zU*lW*`1Nn+TQhg930tKu9NM4?LB5Y|$b1_;f zUJ3v`KL9;AigjBTHTEK6+4Tr=P0Q2>`;zDA;f}m)%mD7(C=U#GGBUd35DfXUS6ay7`Dy)OyHN4?W+nB>tjAzzmW06d8aq{Z zyed5WscZ;ZA*`gmUi4bHj(bClBilRIJgLI=9bs4U z0}5XLz!}GpN>bkc;j=(=XAbHe5*`6sykDL_TwIuM(sG~8ddzi@nnTQc$SJ_{R<$pU z0BcR!ht*OAL9;VuzBey7?D2vwT&hKu1ZS`D$^e|`s)4FwN7k5FSw~GBt$D$Z&}i6w z0ptJ(#~KAi<*w@y(n^ydLvRr>9$o8irc09Rbfcs6dd{QD*6l8~ZQbM26jSExf^wUU zVj^GTvRSJP*KzNL(xbgGlL|@*MKEV1PskH_Eu<*$XC=d}_{bIj@?KIIgX|3CVBk6I z!6t|#-k%NygQoyEiKzI?)7y*n;-=8z^_<6GI?(~k92+sy=GJVEU5T7+@f%>N*|LwB z>$vl=$xBM!k?fNqJ>vBO^e!L?tj};N%&rCK@&rRvLIq1XMDToC^RhoD66= zT6U|m%Z#_S!>bR!Tq-h{n{63aa~_i+CRVh1gi8Z&5_h58>_m2Jr+)i{-3QBX9S>>V z?F`FoHcV8;F*4RHdScOfZ@E=5=rK^{5t%t_pe?+`L5QZLARi;|7A*Wpv?n9fI7UD? zlrAN{Fn&&yK5zf}7V)uj;*C`CvuWQQMZmgf{CNO6Rs(_aYJG!m@h%9#Lq3W)u3Y#n z>o57V@>sTJ2_BFzpj_7NHlq9>d`?~>ur$Od3ZXiS=tlOg&i1FY!T z?yKPBJ{R!%3Ep}UQQxxr$2s3&UqIZ7?p^kf8yv!%8E~^f_DLsGx|c?B<>yvEc+<4% zvDsQZ2{Doiu~zEOH~75P;=%h80Q%rw1bOH!du+p@sDsR17&4UjvmpdgL{V0_Fa)!< z;&+4o^$Cf%pYzRwkx!Gp!;_J=QveaUhk^6AqAal>We$QQ8Ti(H!{3aR-!!`eTyX)r z-Gp3HY@$f(bC%7gWQRbZOWrIaM6yuY4s4@8D!D?Gj?(ETBNBiyYVr$`!8uYZ;MZxp z$Zfhwzk5CBQFXd)Ga7qUhaCu5P4g^}7pZw~lL^7f#crMpxx0IRv3bcQ!&E(KLl%r; zdnl|~Brzwv0()_pO#&?*qyUFXF>sECw}y4Cv{s&sSc-F7yc}%DVS)<4`0j!Sc$1sq zdd{N&;{?y_78$CwA=kLLC3GZ7o1C$~y7Lnr0v2+2n;+b1T97UP#-<)ba`?Af6-@7~ z`z$TxxiEtYbebVvljTU`+sQ}*UF=yuH)^IOkzK zM|I&ADmvPN1Qg5GDZ^(}=QdcR3#+-1hgcnfHYM+R)o|uADnwN5c9%_yMTd0s(0Q0# zjE*WhmTdqsutuHKu7~cz`H&w40XuIT@MHlchv)654;Ns`d^7#Op7baVHT>BQ@h^~M zbqm%BEmwz(f17o#%_}(ji_gUW^1;Z@6+$n2Fk<2DpV$t#9 zFSEv;HA?5z1}^-@-Zq}}Nyx0$fVA27HFf|8t(G4yA8)Q+%5A9SU|SLAfd8YPLyKxOzM*;2h+lVJ>k(qU5>q zTSkvLdSw5Cn^XanJN&TH*$Qeq-Gn?kgCwue4yxCIMC00xEaQ@r#i1u7Y{GDQJh;-> z66^giy_!E<1ia;6)@gsbICI8bbTa8t%@o+?+3Tbw=>y$}DF5`$o zMz)EvQxu>PfCQ0L7^bGke6B|v_P+2uWc2V!u=%Gm!y6v`dd{OP{^t)Czs;i`gi*#) zH`GPllj-meh}r^ym{s{5j$t4xJ+f1+$jD6$Z-*$OCozMMK(UC-5P7U+( zPp>W!9`DvM?#ZOboa3?;Ji$a}vEAv_YIY|^v1dJr(57ixz2-XZUH7?2{7r9lHPdMb*s&QRl74b)0=(kdV)b#&*l92YNyW1X#|$N;!N zN53p0@TcOEFTBbZofFqn?$J5n?plHJEl!1!b1yZu+S`!?uK0z4?S?OpBD9i{jXjg} zF9l(A&cGhJsH2}2%d$F>XP0D{Sl@uaYFVU&rN9jt`QoS*xuYC%(!jFkK~Z$nP$wX$ zLjv|QkC@{@@bsR;^Vk~8_PE!#~tR8b#MC`cAyZG+Jd|>Z-{}*o{+PK z;<@nKPXmD3>k;-=lv!Xd$%^x!RF*9P2O+Lg#Gu+%YlaD0XQ!vPcng3S$ukv%1-2pD zj3XN^*wwDW00<*S(x_3oQQ`p(0F!JDW7x&Bw0MSpefq$je7nR`5Ru>;E6*i! z>lSZuHzYR7gN_Wp)cN8qAJ#XpXPT@$3PXq&%AJhhRiYj;nUe7p$6DMU-+s6#w_V?< z{`>#?@Bj06sqQPm{jCRJKyz#Zz#>Hdi(zr8b)hE~>+=`+3^U61nnIlOJ4b zCeZ8jSainA2Rq|KWqJsyE7@%y$eST;B#7i$m^;K_q(GjEU>lEHYem)u`284ZU`jf^ zMB8C{^V9QXTUT?#*__OIn6puA&C#XpvANZ%P*)yV@66??+u{JYxsrQ3oA|M}#j`*T zZiYq8fCPbonDRPO`--&Io0eM4cor3DSF0gam*DsXd^gER1gY<_e;wN=2$h0YlGO#g zSJg2ZZUmNhI95F(HaHc48zkN%gS7jz^WoR8-d!j-d);YtJ?BsK89nxFc!TMb*o~jP z_M!Gx3nHaj5P1zOS>UEOF8s7$=2M?haHM^8h&7Vz=`Wq^yre}6;A=G|$4WVDWqT#q zX$Z%Mxq$4WXWL!i_W>udKuKE9f&<`F>ik|0z2F_#8Zp}(9bv=M^utB&F9;Avz=OVyij6bpTTTjxByc zjFErYpQm3gImY(#cZYa&T!%n1pf z$;c6!g!}0w+QjlBq~?KpoOJ|9UaaOhgOt%9!z`(B=5$B`o8pyFBmPih3Hd&Y$J_h& z7bCjA6^=j7`3}oH3QQk-t|~VZ;Bj=RS8J7PKG_f zuqqq#5O=7)6rvwVFbnH@OFGo?pp-%WD*|;-#c$i0{g9NAFjN{J9Gn_frpS&Z4i3rR zZM{FgzDzDG*Wvkk&STnuzu{qQcA464rVj5eHXGL-l{H?#J&8Rly%@c4;inJ7h>u`M!U&y<^SMW z7%Ekf$|^ecB820`K!V}m(3+R5=}s*niH=E$-VlE?3t5Asz8I5U{D=M3z`7%;W=Kaw z{>U-Nz%m`fb5n!o6-PWm(&^#3049geMJ3*U_+5# zy6P4@LYK0e=P-GlCocTe5I6aU>$5M>?8&TeN3&iiDhx<*@VZk87~ zVij!>xdM?ZF5}+UXXYd4B+V$0BUs+6TkX|>s*-NeO1RA!Oe`rTyc@oTSi13zI(@vB zWF`L5N`Kt6MT=JgJ{O-$=}3SpM$)dbWEP&uAj2Se4PctVD9iR-aQIQbhlQutzg&Fm z`>oLNanAP_IdOf25aqGkGZ+n#L<8$(UM0-fQO2Rc8JXLcMnfSIK^H%Uf z(X;3rLFV1|{Ej%u-+CG+lOFUq@}jX_$akt&fDRoq=MPz{^tav27YjPSytU2;IYJsGBAYYD^iXmOIWQeCA zctUs@f;X#<$nS{n)Uwy4R@Cel7=B&eUc?o(+?NmIdd|0N0Gu+*t<<{g!qv2sIc(;Q zsN-L_TEB!fyG4ozFw1><6mT@uQH+Mw%Pzb;3HT}3t5FR;-n%Sw0Je=tGZTd(c~>1_ z4Cmp$u=x#{L2(S+&|6Uk}S-R38U9FEJldl0vuE=UnCB=R^OfoO(< z<9Wo=wC>0U17Z*IeCt|4G_F9t-nD^Y7{+JAG$k4-?#-*|81ZVzK&d;VAd-rW7{FUE zsocv}Ysa=F)?xC}2q9+p+w}e-HkohK4qQ)pQ0;&yhsLl;W@{u+H2|pC@NSA;OnY>* z>w*ip`@{HnPEO5Sg*_WdnX7r*d_0V9a;l|9-%ZVk;gS^$Jw=_9m*g#0fojuy$AUPp z5^~28o{G0s)cYd$pFwVD6>BAR;F}i*9zycMPVg>PQl|I)j~9Wg^~STfp7Nk);mjIk zmuf4GtW|rIlj~ta$|RPG^jdJ?`LyZuKF@;nb0ZlD4T-qb(cR7rO^1@K>39?^CA=Y6 zC6jZ9-E7DsLasWVw;p_jdSIEQXC4uOWEnm1s*t*l65&xf8_C~t_#eDU2=;7FRmdCP zJUw0VX4S2baXshHgm3#_AVDjDA6Q&0$SUlPG~5=4B_RMYVOrUCNp>Ui2a^zkQq#(| z=9OT4v8pR8(o!(^Rqq_gy`PYtB*Q|sPM4wzPGfN{y4JeOHYw9&O{5nX<(IkxBw@R&RvkIGD9K}pbA|BS z%F+WZVL3>!PDXHZyjM_&AY#f1TRo*u4)zn6)Nnj?s87>2zIpZMXBSvEf9w9~L#HqA z{;6%#WW=n(r1&UNwO1shOP@fJz~lBweybU5YWeqqlP zAtm0=63u0iN&~|3#G&N%rYDJ34S|UuI27h6)N|B!zit80_4L(TBFpEbk0l55i)WXO zoHaMf65jXu@~RSmtrp;sreQc#T^Bvcn71U=ViOR0OhGn|{B$LhIA*-T8+Wa9~@>hxu}Hp0d$q(b(FUKMdsF9{87O?;X*T)3w1gzs^6wHN>`k3UaCQ6$Cgz|0xKTK*n@WC0Ft$n?| z{r=*mI7t?}>hho|SD0@W3!7!pdUZa^J#1k{NDup4J!uvT$8kpLBkZc&KJ!l2Ga)YG z(^XqqQA-POmlJ?KMt)<;amaEj8U7sr)Zu_M<}EZtD1n%C;ME*sVWN9Vwjb4eR3{&` zCLJb&UUSx@NR*7&I~sj(CnH?g-@Uj10g0QsVOM<~l^wI;1Uk8|E}MCFBJRoQCCEwT zCSwiMxa2_YzSDUTA$#w|wOX*@O>;mxQYM721=Cb>$OHVNBmDz&fSD4&>mIJhLEB?t zOMq0*niNyKX=Ip%aZp-)be_wrXD=@aIO$d<#)nQ{UMj}sWM8KpM|)32ctrIb-^A=W zHYXNd11y~*KV=OQoc16)-!4STq`UVpFfh#_Ap8r}!9EQ5e#|#g05brM6c!+#E;X+h zo-wL*CoTGrc4KZ>5E`x&q0SF~dUuI7-(=pn?(-;L3M=5(VmjiDlq6l`yy7+)-c+2{(Usx^_cih~@PtVF%*_y072?7@vvwhQ%7-~UGP zl@!0T!)vNko7uXrU;IQKM^4(c9MyHFM>$Pr)D%p_jF#+^w2A7X(Kr{Twe-wO9uDNJ zCVnz<1*~zi@B13!iWBX#ouZ!iwo~Z1Wsdyw^Gg~N*)*Snt0^ppS1>1n<%P18DoNsV zR0|6=GVel=U|L{3n07Qeej_a7S(9dgA7yAM3??-kGQyhzd0Gnrge za`!WH@in4EghX9Vagzv4gGNA-3deExeSJ_?8RfdDe9uL|ls)3m(iBBFDIZbn5OlOM zu<#*_mi+ZYl#~RQBVwfMKL{4cQ~L48*KaP9O8pkA@pYd+E>3cCIkx(3pM|J^&Z+=# zX}C)b=&RjcJ85r}tsKVPS&jYE#!eb|B{B2-bwP0#RRd$Gamtv8uWPC7kIM|O@ZkjC}~fc1Gb8$#wT z+Dc`iHH9`c4&)&ly8?owQZzHzO_$W}t#F$z%i=0b)u0YGUO*!Qm&XLxfmsiJ42V~y zJ-AM<8kpQ@Bcd|O$YLJ}IlO)M;>QatjlRuKf7R(xq&*vE+Ab~`C9r3=8E7{;)%qL} zPsqvU!!F+Yy~Fn3JN(lUxQbEJ+*f5#}@PlceRA*5FchHs-uXK+$X>Jvy)5# z!Vks3g|}7>-~6y%COC;(Tl~7uV>qguHw8v;TErF*$s1qYEYe)1G1*6-yALzR@fchf zYpsqigD${*vivS2AXC;<6Nr<%M;;0bqvs-KqtjaGsWCfO`c13Wjla9*tuQlN=_iT)k%L zicDR)Vp~!yYxIKb(-d*_qYlin0md9WfVihVgEI%op*v}z%sNaVvo8(v`}Oep+m}CH zcGdk&spIQTk5X9=lj>`ck`nf7tu{FU_`EAC7vV?()@Kgn?o=Abq$ee!ti1wm8$S>{42F5suw>_sVBVXo3WRW$QeTVI*?SdnD^RfB5&%?Ow zZAb7P>~4(MHZkd-+7wOf%3vlpLCT!s>_awskTn#z!yJV(y^4s)P?ET(C*J`I2kOrw zo*}k|^#-~iZ9QU7rH^nG0j{Hr#!1ttm{BI+v^|9g%&@=v@vC<~|Bv>!OM;uaeHVV- z^I`hCt1Nu%Wkvmw6y27+gjrE;8ZM3Er;as-CmrQERKF{X}~K*F43 z)02t{>q7or7RVz63gnvx*v8+%qf)ZyszvfAjPW4m7}ojOMQl%MP@i+A*L@ztN~J0* z7IH_#V`|-5nX8n@n^OnJ3PM4xIF7q})2G=^wUZB`DsM;zmWt}aWrH{@^=b!Wl>{23 z6~S+`Fh}VE@U&tVVi`Zjc?Vc=P@$9UyI}_W4 z*!RgwyCqw9j{NhJ4ts7YA{^^Uc`QQgrNXc~pR2Rp0w?0Tj_N2WflaqZg*hX9FOM7z zM{IJ|gfC)YI=m{Y|M6F5_#bb#ZM{%L>DFF9>-8wGxC?~LKo`JiRAYeShb3&fCDBY% z2&h-qsfvee_pEHGRmIXs8Vi^RW84CZ_z`{v%sh50^*u0xl()B03OUmhH9Mwe_tQH6xl&QX~z zNEU!t2K=KV|C%8y8&|`gH7O&2DJ`4>7gF**@uOXNwrm%_?l*1E`#xV_oxgMqD6lkX zXAyR-9BhO)WF^r)&InTGz>%K|fE}~$O}2=OI+ZtkYLR7xUe!_s@FZrPgi#(=hun98 zl)S^CnJZYG83Mp!ILKSHCs`qukcH%=p~4!CuvBE!Ggt^#qBffW%1G7yfQfH^{9-ZMRnHsStraYfpRcRBb9Xs-FG>6*G=U>?#=fVc?@7n~ zY$FkVi4cZQWE^h^t)F0_8~Bi?vdQ2(*$iTUdXV#m}uzAZ_Q2m>}mA6e}YD8>WS zkhEEQD%Mjl34d@G!8&GM(?sT}8m5K%_TTZT^^@@-A1Y3!I5LmKz}#Q_^3llrdI{7} z(%O#ua|sra4^+o-BZL2SlfejS zLnGY1_KsCt|MC6ni<;X_W~=KykILPfUo(HMSfA$8qNboF^K|>_zr9@#zonq54FjRTh#_ z$Eaq61Ef7dh~r06;CZs-S*rip(F$N<3iOr3qAszg(OvpQFq zTk0|*C>tCmke(aRmiroR6#H*|FOj0#R#iksI**L@!K z028d60bV;?7j{WZJD}<$TZphQVVT!u6&%RjU(FAFKILl2te2_5z^o_jBm!py3B9Ps zdwl7<6;$=Ghu{R30kJVFnEY|Kk9IQRoivT^;6e<7`E=S2`5%9&f4w+eZ{{kT^?H<3 z&4_+F%YmL;DQV4gocFmFzr>KH$SatdA2soX%9RQB#VFPuq)y)V8cU0!=^-%P#2#!E zhT*t9s%c=N#v`4N)%d4PGLkNY-13n{{4oyCr=PYr7sPotC;qJ0!*p17*L&I56jiYr zn8qeEdAkA{Adrg-V}9ozGx0r!=3w3<7T-i^a?-gqX^Mc)b&dCL2L}ktZ!PPRBXw0d zy(1#%Ky@=^Pg=xCB2a|g2%DLEDTi;Tm+Ma#p!jlY-p_hHDqlY5CKK?loGGV?s1y@u zkE_XQXTR=K%pAyr<~>q{3ttcl06NRTOv~_vMdTE7VaBkFFgK20V- zmOW|V)hJ913t@$05y_|OTKlv8-A|XIQ@V9I`mxs+r|{hUx_aX#C-t6bPgmfdWm`!w zth-aGHphXVPy3;dsC4N^y|B!f_LhKZS`z@3$|o98UoYHME%$MKNa z?o6muy)u!(QFP*xyo7RouL8zV7oVC%OR?R~-}}+uA&~$_}?bm11<13!nwdmoShAO?rV9?!DJk zO_nV?7iukmQEPOS_bkka7bYTPpjz-#(WLO$(3;FmimEFoP0}J5z+M;BpOd^u|Mbme zd%j*=-EJ0Ae(3ZCD#x!}tce8=xzPP3N0lhw7vI#TUAHxGtdt*HTf%X6_szcz&Z_U3C!1Y=im5eMgXv!AI(7g{* z_Bz0~Q?Ci3((!s|S%DKJ<$^>ck{5!Si6>3K>r6$7Oj3e-@M=hZfBEB!OO|!Lwe!z< zJ?bJ%Yrk&03=1Nt zQtddsM0x!LKYP@f%X=Cfcp`VlP$@eL2M0{qnY|*XCG{ByDvtEV3KnD#f#_ zR8ExCiWPOBO_zuC0DwQhkko83>n?c89Le3&ZQm1wT1nVAxAE}F?BdJoybW`0CJ*i2TqEUBs(6y`S!;P zMGkHTW>WKxph-LOxR?RL%DZ;rwxa;WrK67Ddp5nYBDPq zODdg=iG?@vlyiV%9S>nYO?=AKQ0!!&QSISWd?Ba^O&qj}01B&;Q)h-5YT z@V{TZcy^iGEy6hc)k&uZ^j2;+qvbUoXWc*eq7{cb)|?T zM{@5x&nH3Sj>Rk`a&DMEo?$$!cR@+)f1%qz0yrkxdg_z~V-zp(B_n6j-;%PMiJd1+ z+T%#5aHK*54=FYL>HBBvWp=+6+x@l4Kk4+Co48mp>)7C{w2L&b#PcS1DPl4^qO>hK zHz|(e-gf5~Hs~Il&Y{!-FB@8RNl_9jI_&;Z)o@TLAeI;pnMHjN^AU9c2jL4HHKU_F zYmx>=pGhU*kn|P+s!XKRm%^ON8xw!l>v4&fy3IB3vctAFRWaZD9%sGmF}fvgo>y|h zK19p4l+qRHFiS}$#TYF4Dy8iTRzCs!Go_z=77`{hFvm|*I|{zi09ubrpak z4<>qSa|P=VX;u`8%$~$zB%iQg{V}`RowUH3TOq=Dr2kU@Kn?TDcb9#a%h&Vt?h^cV zXj%<9{jL1`_d}WFw|{@^Y;m@;KYY>endcp`>gx8acd4rjm^6I0*}xLxY?BWwc@E=b zp2dof&jQgv-aH>CxVSBbs6pBJG8gQKs4p)1;W|M2{OH z3DPOK4Tnj2s=)ewesdoX<&su$l$NQo*5L1t8y`i!0GvwvSV3O2XX`e-y%cp?5RbW;_3i5_4eOu6a3sBVfb4$)K6Lowmgc^Oh7sXD zEq1fkuyS8d$(TMby{+9ZGHQy9Vch42=1Ct*WsGGd{Th$zv4Q?b`FY#)u9<8=zlM3mM(eT)DK$rO_kA5dsO#vFm2Balg;T#Q2C2;YE7*9$RN^7f#5+&4;=J{e6m*hshSggL1UyygnR&@;?Wn!e zk)l%{?~LC(dv)P+={2Ca>hgQm;=#Ad3b;+K!2Q*`s<#F4rJUm~5d`UV?!8ZqBfq^A zGVlfr(*^iP+EoI}P!MdETzsIU9jT!DQK~3fivFOqG`u=y;`D2E_D>qkeb21~-4f%2P28KGyINjPZ` zBwkaLCe%+}9lLye_3EN}pKrxbC!HSkyr^*8;}kc9d3zM|Oo{3cnQQGxEWxyO4&?4N zB~Nn>Yo2-c%Z#<=Vh!2x-dz_agb-;`Jjc8jkO$_Z7$MEc$P#F309-ft(NJV3z+aQP zR1V9}|CRoF@ow$6=KQSJV=^+~aLJ2`%>+Uzdn`T6LXmKcn%H-@dQ8zj&rm2VYh-SXaY z-Cj(L4wr$(4lba)|}p9M)z=3VQW2CW1LGR8@H_7X`6c-&|xj58U>Y? zEnWQaXlr~H5pF>z(+bRw?^e=LrXXr*gXDF9iIMp@m}Gkt_mCMqj#LkkhU5&)GC?qf zB|`WV4?Yq#^2SD5&|91rC6}1t9~TkpuG=o>KrTeO ztBNR)8U*nUza8dj{bqY};YIk3({bACVaLOG zHQ9+$mH6N>;e+!UDp@nnQ&@wgNHa!q_jlX(x@u$(VYP!LZ8SXY(}HB|hvIn(j7d3% zer)*~S(&fW;3L_z5Y@(!Hx1ej6i&w}^9}|~Kiza<$`R~RuH0h!`OfGm!ijwXoXa9a z9EI(hZ!Rv0^6Q%NUoFRVmq!Vn+OhyV76G5PY_5}%$VN@#9az~UcD*DH_;Yze(dKS7;!^8`CjTQhzOT&s4CEI`#M4BtFoi>iyRWL#bd~qBoKe;hcnT6MawuG96UHSH(wM_Iz39RJlT0|FttVcrqa6alBL4T zmQ-_`9ZYWIK<<7l-ltv#-XW8JB5FY$O#QSNSWWG!K=f-%BL`;acQZlZ3 z{0z;L1OHISWI2S${P8ie!V7^75UK$@B|kgj0m;-`N9v@=K#iQsTsnD7GqogHE`Xq$ z`9b^h*O$4hH?`xh`#fkdbdqyTDok~@vq(XzT?5C@7){Trq_g{{=G1`&FbwBNhnoZ0&^Zpm;Q4_gl9DAOCp14{wznB#0TSCi1Xw32WdbPhmlwFst;mLBs!G~^w9 z_rWOXkD3@C;S><>Bl@>Y5%pqJ7Qvl6Zkhn&53hj}NQx3lBH9p!XD{Ery9nL#&G&-q zP7gXBt{YL!L~^DDyQcT9>MX=Q(I>8L+gNvpf!uvP-m~p_Pe`Ph{VWcPe;kiogU(G9 zRzzbqeJ{E5nzbUlfXimpE^8POO9M<{iVt!z;J|2s1zG3la4O8eryU_l%4a+xL13wY z>P=|Ems0^9SnQLl)%n$Yk+YajPRMnqfB$?u_G%SFf=Nr;K55{^$zcV$v`bBkU!&SX zf=%GKZ!d=u2gNvLBMvjq<#3{_5*orj?~KbWmIB9tHEA6Ix?*s_%(!@@g$hDmVk(x# zkB;ow${T9P6Wzj3NGS>7EHC;P?6cAjYo>|dhS#rNJ-@*0wOgm-q|>AFw92-~DN1X0 z)=V@YN3$0=!mauxS&`SxaUc&n9n_t*Biyne*?s^NB5hcgEG_V^sAi}S(2`CO<||RY&vs1|8z*--ut^m-D6#Kx**K27XO14}auzf0U2Q!jpi!)p zZmGg3VMI2UI)tN+54MU)zTpTpMtn5@7TKU9*%Qr^sWFHWd2$eqBQ&R!s2Euch}iLP zHXq(Izy9&3SC`G(lRJ^?KELBo{4128|Hc#MRc#G|kdAdRVuLMLV#8;|iY?MkZWg5J zHXQi5u(|wjKV<{8mztG}Oy(ZZZ)ODN=lS@#lR#Sp#d4M+-hC7;XqC!30 zMvW}3(JbA7EAVG6FlkhV;%kuiE*{rY-(7-Rrmx?=d-Lk$Hy12-Iia38>-H$I1qmFE z;mHZxJvr-AC;3tDL2op|TiGLra@4Pc?v`3 zUnN-)n6+m393(md?`Bj_JX(zse|%ZSFCL~$FtI|8fop&`h)D2w#HZ#nU#G<(qkFXQ zw@gs-)ClySc`4b{$Mjn+sJf<&1xuu8zi|QytYvt!i&<9bk7ft z$$Sh7G)d{zaiPR?B_|kqGMtdZt8e~%k!rnpyLa8^K`=BHmPHG_u4I~`P9LfK3CHl1WG9H+nXX$>GZE8&FrL^_GCgoj1B+)_u4fD@ z>luM#S%QK`)t+KWDykz+I5IByAP383?LZBJqlyMS3|S|K>Fu-S0u1H9e*OIIdeLsW zzVtrn^Sf@n)o)fqoxVV%=y=~M+^RP2s+jQ^cH{c&m8q_Hj^t!D5Ix{?*>sRNIk)8$ z+>UP*@+K#2+kN(dLqE6v?~6AmB?6>^IaHW5AoJsB;CCUy!yr~ectLNE3CD6cubGI!XN-TTJyG+)~ zuea~tyt{1g?*M;wGEO=@=6w$PB&j;f*$cwQ1(Q?_@c5Fj_bPrrnTg{#I~mx=8OC8E zO2?6(V2NG9gfs!SygH+{l>C zl&wXCVvY|-@W*E48?-|h05hifJW8o?0k2_zMjf>qt%6TtCg1T05j4Vx5H;T(;r-RH zK70AmqqU<~p@6301uA?q{Dy_kyKbNY z2OQIg5JW{o7c=b7zX#+AUVOby&n~ix{e(^Hs?YE7)bd|gie2ER*nJMW)>H2b&VQ@U zHSEzD0a!2-br#Q@hMOhPrP)Fh(JaQS2|zU>IBT^{3%TGuM}A&*@N}Un54O%`lQyp6 zYdxttlFY6ci#>`B0lQDlYQTO9QNbFyFp}hx@1QV}ad6a#Jp=>Hp{el{EK`up!u1)f zZ;V6w`+v4e@HyT%04IGO_dM++$sN`VlhQ&!BwDAnqzSI9>TOd_CywM{WyK0^ns=s% zu$Yt$`@!YN8oSE$h%K|5ZSPhOuvNB=_ zPU5dAO-Mpe?59DEOl9Idq2OzH@Wb;zk$KXZ^%inE>GY`k?RA@iT!Qp+6?w8AL6g~b zw})(`+SOJ=;6NUxssyW!2pEB)r!L!5td?^Xh?z6_{bD1Vs1+TCM<wSV)P@4<}J(o6luDZ)L}&EsaT{yp1J?^m;R5-qNTo(EpXE3 zLFobjgUa_!nBJ2qT1{nIMBf`fo0#U+8`u^MW;$$PFPsV{}KblQkP^-$$uM&QM2}?6~ztS!GypSZ=Drws$ zIF7rYgpV~kR8l@@69Xskm*5(4Cc=4-laRa4v5VA0ZU)GS`m@TDDbK@^k9@wtW~T%O z0_QN2v>O&j!>wyFLj@L1NjPbHsE{$E5GRgLuExq?-`-uO8te^^eck0z4m-6(Hey7! zVe%OvooJZ8bq~v&m(2XSys>VF2`(`r*ja!>rPq{87mnRR-1}2nMo!7 zh~40&S=B>H1_pHlz7*$)2{jfIjvq2OtTB!k!5W|8Sig4Uh9hRj^5K`^5t5J2R{fGr#+woH zA}~|X`Qi2RxAO&Kzm9B0e1AwsaE?(?hN%9bpkNu9G%nFQICO(; zXq~!WC*Oc0rJS|h*HC&E9LU3#L*gj1cnV$sxW+%pgW9Ueh|}SQv{407a4`;{H{fnJ zG9P!`@wf|TZoa3w8E?!-rccB9NFri4=n=sM7J`p+Ec!W0Bk)5gNzXiAEVmreKmMNP z>G{QpP`{qOe=}Y5I`7vja^CMz(FLVG=RO&|M>5s;S)1tBxf`*%EGMB>!-1TxN&)UE z4PjW{#kL|6pVk^fVj#9wVjsbg-(D49B{Ncg$~v;D$0OLQ0JSpZMDdc2SkpD{lLy{) z8Np{^mAR74TUXR(V_Y(5IA`7jGB-a8=99snJl&(n5%}iD{M0$M8c8CDsNIpps_}tyorzrv-?w-E16oEf<_2fSAKn7wTk9ou#O7o;% zX@O$9O3mh|54F~2b+Fw;GBil0C>g<5XdEMPP>@irL&HwR5vxhb8hUql7#4$)l?R>% zvCH7481aFDtPYZ35{`eY#GSUwLA!LLSofDMU*22wW)t9JTo!naOl}N&Xsk^_Crq5I zOO1vj|0ioftzoPA>J0mji9T?ZDhTX&8SE?laArwSN-~)$D)uxlJVF z9$8{%5bN<=kn>T5k(8b8Q2jncYlyL!yicpe1BCBY{_Fo;-u(F@rsTioZ%VZ%uKcXm zquhp?WAWO$Nv*}11RocHG8aUFrsGiW*t8tSS^j|4I&m2c;Eu*-1p>eddGDzfAu<-n zaOCG}@_`AG#z&33+2f5^LyI^(fBW{bX(etT-Rmw7yRn_)ya^BE zpwd#Nt@_ZZ2)Do~r@U9}BF~ZB9a+6!31}cl$ky692hYWl$BaZ;~^7z`mHUTVmT)&tC6pjd?Skg1!SmNF>;OvR+KxKgzgb zJZW+9&IcsHIY?=2RE(8oNc8#SuqNS@`)1O^TCvt9prR) zlD8L%34D@*mCS7=8>gZOA(iKz%u$TN1=igi>;l7&FJ8U8%-x$C=IEr)!|YK?>!h2K zI?X*WV-nj0=RT~g9$NBRyx>Ug&JFqTnjA(RKu9t~;|2Dijswu&YKg70;2|c}TZ9KU zp_B~ofL+W?dyif1H3AaKm;pPGgccTvL^CAsyl#o%utuZ!WYfO^Fv4fPvFU&5@y9p4 zxa*!z2$0ttv)q%jnZ;=laokEWTLi&HB(1mhi+<77p7)1dE2+klPw2^f3jj74BGQ!u zz10ebOUec&1VlbdkS~5fkY=$UE|?=BB)F3nJF@5+`yR$jFtcWm&t5LyUdW*H+i>Am zM4Ttx9!5ngKmOzEA`V(!1fqRH;H44z7^wtDa_6AoiHWlXr8>e!t+;T_XOmn>CDx`9 zj=MH^M92pRX8^_rvOG%Rm^ENYLd%phb@)uyC|XO{OmcW$^!ej~1AQEf4m0~dQo~Fy zzI%5`IH)I~+I6P~fzdxgOD_GS`)0M}?RJG8r z_AEG%hft(u59jUSbZg-ywM(L9On0dGp@>xKK(>aXbRF(gd#cIP3p+#O?+hbjdC~&7 zYGIK`?X8Svp2F~EUM^Iry*2aKeI7OEh^Xd0$d3ryxsGT@U=51RH_k&f1^A{)N}~;`1A`l!TjE|8ZFZC0x-OVXIZxhj zAoo52@&kD-HBJR@3&=(*us4smms#4Fg_tKFPph8gJqo(cx#p^9wqm!uXL-hRKny3BsRl{)0Jr0;DT>xR_D$u zAlUm(fmcd*ISK-kYK+_f2Wb`BW}%*lGjNZBsFVh(?L^Wz1$Biz(Pxa#w$ z(yAtES~p%@))3n~H=p*RgK2t0Fl4hAnFDzU-(Hs0nV#xF;b!>)nT_kQ+LSR2Ls?jo zgIP*>c*mrp0AI{UmyyEAO7i0Jy1~G>v51r{kv0G8t8ccKZ!fCpa+BrotlML1$YnP0 z18q_O6k64FDxrF_uX3qOZJsKkEso>f(;j%QR(y86XluSu%AMp$4X{XSU>$8^SeUC5BvaG<| zio$TKl&)-!ioH{8&A46U3iz@s$$_6+7S49UY_l?_c1^l48B3L>@}8&k4i8I{d|W#_ zJMw`=!AJ+DUeH{v@pe~+aKAE*1fcP}sdasn=|dVG0?JjxATY2VR7 z=*=ZWzkaiZdT-Is8S|hx@LMLvuxp1d}2K<~m{r8-Kj< zMh_%oo%Vql*m^)rMP*XOoC<0!9ipN90a9?x8FXS zFAFx=*Ym5F+eL;NuaW*qr$=SF+q62F1@Gsv<8kimvLnEi8>UjoE@o#qkTZe=@;GVV znqsmV>4kg^dId0@-L5l`3CsvaetSJwhQmk1(O56Zdhm4B?{mnZN?0({dJZxr+hc(p zYFHIaD{K)~JHXZu0NDYD2@VzuBc-vDYIJ8!hz;mc;^7S>;cX^l(1_ z{Z`6P-dx_idIdjFO}Zfk`=QSlC7;IlhYVsh7}bp4tNx_Hz~LTi=`7Ze6m@iU5-h!$>~x4Ey(Qw@VM^rvB(jrw7?1II=nBSuMbGX15!hcdVlAIhZAs zQt`iu1G)DxIMQ{6j(jy!34qJwRujSvK%bCOC(4Nfc0SpLwTVhO;!HE}9#bAkp$9vQ z_XE?e9m}ju9BH?nxCfWG${*6wql1EX3j6DDe;l)ZV@$VUF4Cc5C84)A3P8 zXse<5B|6eVVa~S#guO=uPgHHLVVVF_F_3#725~%sdBiEPmlm8v(~8}Ox!2w=_H#9%o*erPqrdfEi<*Ff(I1Md7z|wB+IO)=t+=+Js9K>@*X-Pzx|^# zBl>Gjy#XkN>zLocg=)3k)NncJ^cV>j=dh!^U9guXApU8QrOQM47W;c!aPaw>wB238 z4j)a(;g4N!9ADQ**cBW| z>V6ptE67m-IAi(gZQ&+?iC#=UKD)GF^4HInx6{SNR!^=YuKL`;$;LB*T zyW4j?BfL_24Lc@*@(*2b9A{9o0FnT3v$heZqX3SS5_g}e)?pi*;AA=QbGg^|k6e+o z$SeS63bTiKrnzy<;Sa5mGzW(dv6pJLMj1p8L6?EASO7*5NK=sv$_-cxa(#_tA|?%^@$vf5*|KzBKz2~s67pl(+Dr?VY2-p9can&Zh`}-lq~SR zYQRYu$r}%>PbNFK-1RR%|E*nCxb>T;=A_qyU=8IDc2%kW*{3)G8dP$PiP_C5`M$8w z&P9LkM5-f^t$2|UOekS9CY%(nRm9HQnyy1DVPHLdR9FOFduq(&a1d=dG4h=y!V$B8 z7zY*moJQynnEHiZLb2vZOHzOhFSj3GU91xB*6aF7rw84+&5o%sP1}TRu3MAaCKy63 z7IU9d4K+v(g4%8-x1Dr)6s~7RlSu3CQx;h) zGtf^5z{8wlo0;0hws0U1x$Ja+ks@glhj){xOW3kzN_pylDvj@p%tj#l#Rx~uDo6u| ztVi-|`GeF(4{!#|oHCT5#tC6{o^&Iu7OxQEFa^eOXVtEc*K2{byUdT$=Be)OSc;Z?C&X9GKq~>EZLm!h z*|moWV&!76z)6HWOew(uV6f%jYMB5Q5Wm_Z*@T{gBv2Oq_ZLpINbW9t0}^e<;qB|` z<#!jCWVn^sbJFQyw1BEo1+KQG>4;E=Z`pgUUa#a}P&x?LIg-1-h<(U4lzg+5%sKXy zRyla|aUysv2AE6!GWcdJH6I8Bd^YT9^^>m>S zsBJd_%{dY+9O7vze5%m55Eo4_TrQfZAGaC~ObL#mMI>W=$PTr3nVUwubN(5rJ#5rQ9oAv}nA*6axSeUp}!a z&dG4pZ1EvfjKG~rYYI%9wHQDn9i0K7RYz9J@TV8k^XC@@OLa5Z>ZI3${IXKgH>yz1 zzSTaPd6rQp8d^gU8BCE_Igq>8SCBxQ7m}no!b!@!9*&q_SxIM;L(j1cz+>*oXaPR) z4}%X5vpZT3_f3viebN$1{%FZchaV$&N4jj7&j#CeQ^ohX)1xNc6~?&pzR7J)B?-N# zJmcVQ4x8F|H}}qg+zz1dugrZ985DkY7kh9V6Bm(V|;L2(AgkDBzF^huystD;I5@Yw8jx2te~XOn;E8k_nW^( ztaZ}qVd+7D%sYU>l*77pHSM~y)V=w64U?}kOB^_ohpk6|i5nTKGDj1xh2h!3*^a$# zokNrkj23Iqt`+>ggp#Pji0B|tbd?%(fj2)upk@?gk~Lf{kMMasU;a3;!O^2z7{3=14#N!U)%8Ut&D zsaa<w9gdSvLiJu&dA7A}+iS3M}=DN=v4#s`YMZ-a;P8H|nwzn8b4nx8i zSHukGnpeHg9QZ$33wlyTk&c7R*gW}fjbi{X*{ebjSp#!;TV}?ziLFEcQ5FLr?zRG7 z!D~`{2doV1eKFsX`hSN6yvC_;Xy`Le5s%Z>xKEsL#tGb+pKIrM+B76s3NKdyijCbnOI?@9f&Y`_EkGQ2 z49_{EWI=pd5QkV?c5LKsTuodPlEx-45#h-;kWoUB7}ha?Iz-DDL&M-jr|>-(_zXty zvPqD%+9+mc5BQ9uhqH(phX?UCCjBD`>94LdK0{Rc@kZkgM5XSoJf-)!>vOOxVFZZQ zq@WH@ScZhnTxrIB?7_OOACdKnm8WDe}!E4wbGuptA&`|7Ak>}r#{sd0N(ELa)jbiX_4>@uigtzNum7?Ez&A#gL zn8$1_cqt-61yuBW#&_$!YP0Q9g*i*Nz|(OY4?7uNQowpVifO0`c%-h1%nZE-(A$mb zEhzYL0IH0D-5+xAz~q?jU<2%+q?$D$E}yMkJnEUFpytC!6h#PY2(-&k2X!?KxB}XPEqDDw8zx+62dO_cT^>5TgaAj6{m; zQRh1Jrh6|jc`J2saZtvDK-x=3c3)#*fH0i|vQbd~h>Bn*Ej$vEZyb_5z`$+858sH( zBJ9m1zUw{@dN)e2IY#sz_Z{X|wSZ_AZ51RKsf{+j@k+9KM;1|31ApEYdZ(+9hnA1`oY10E&IGs3(hZ2iW1-)5FhYr&BEh}X>oxA|9p0yuTsO8iehy# zQdex^mQ2;Az{`3=`Eb}{V0^^KK)oZm*I~L98CWDKwOE~L0;@l~WMQG_o9m!0tPzVp z5XqUS!Y8Tm@3!g1rEWsqNR9u{=MJgy;jXFivoCRraZO>u2Q8cRZbD!^#Ui7|97$6n z2Yxo=ywm&za~j^n=`kXdvhr}O(bk4Dld>Tj8}_tHM)!hm*(<=!krO7Q8JQ%^IvYmE zQnRx1;9>vGA9!zzO(1}298)UcP2X%UE^c-=D=)A6{EjVe{)NnJ9pTNWAQQF8*&d%~ z3Tj$sk&N4Ru{)0AAqlA^v34in7mp}QnyiJ)fHl;yE{^5y4;%gvtEzEFy1G`t^$*9uu-a61;8+3 zN3{@I#JtcUVH|ho8X|@P?x;X60wG>9q*&A)XcAzYp>Wd~6NuQBVnBh9)O^YxSo2K* zaweOyUdVIi8LpY*+5%Wc%co*+N!2t#`4qB74R2q6|6;o^$hw&edEMz@f^*U(Y?r=c z(@oN5SC(vC+<+$PDtUFPnZ|kV$m*ljvE&AIv{JmGrsx&dB)3pu;2S^|0*aDgzOhP0 zFdNCVGQg7{ScUNscH|AUVzLo}T=I%i0$m>=5+W7E!d76l$W7-FY{6Z468t(oJLAhf zf|pk>o?Q?rw_BG$@B4gtH$ZLGHg)M@+Ko#>wM_z(R1a^>;9zxO;XOb*53b&4uzmlgUGN3{*CgP={_4`biVl^K8)QyQ^aB-inVFV6AF@>30vK{8AnT*UC~?epnk z(dRb~;@69D((5s+;i7Ll^ z+O@9USC%bd91mL!-v7f=k)_ui^hF57@MkJ~c#0-dqay+6WFcH}La~$zCnE9^&v-FX z*bINg$IgggY{YpbaTL>3HOr`Ao(PjDP^zLkG)jR6we-Wg@1DK<=CV%vP1@wMUXM~@ zq?yTUSKW~&D@TLS4Crt2+uEi==^f31JZvo#Nu^1^r5WA1rwh3*cpC@nl#AvgStt#g zxey!GTyq{`)LP1;t}wE21ktgu@XQg|i7ys_UMDS-eYYdojS$n3W9K8a-SgMaFW%1K z^VD|ldwg-!b}<6Xvj|gG8>Sc=K+Nv*=E%8uq-3PPfuA!8K0(-$l8v=`#J((Sqb^+W zp~nXN+3MhcOW{XcBpH`ce&E4{M_{$SWIj`1YK0+Lf}k~W2;_)g)lu!>B|(!zhl(E@T#LX*(`Q z%03nHs@aA=NikY#XZfyFH~9CY7@ARF$oex*5TZ2TAi!70q>Be01~w&W6bv1_J!uvc zLXSzqIMEB@-V6oO@LB$DegFDIm9yu2@qEm$*ow#I@3PzX=p5g7l8-pPaPY0Em~f*I zpBvn&$cbOyiKk)<%gFf5UU9&k5aVSpx-2QCY+E+jb_%K3+Jz25)P^XS!5|q(lmzYt zx{K{UQ>cUY1R*&ydYV+uuvSV%U?&}@5v#^_jNTNM%xVquWk1y-{q)uBrx5n}px=&Q z-CawOe#^7jr|rOB_M`}r0oVyKj2=<82%@=yuNmP2QfB5W`3lHMkuozO9EbCT2R5Ts z6?SXFrtrDmvkU{inU9=`CMj5p0DQ2OOzhWX1TNVD9T=Q1FJG^JcyauA(yNj;9{9g7 z?m@5oegm9e`<&n=5+I-tAsA1C<<=Hgp^t1hk%w)HWre&Z>$;$VM;LtLfAQhfMV2I-{0|aOKKtPr;{3-y|I5FA@ek+mC-lDv z)I57oXuuFZ;Lny1e>Rl<_>w~&Yz^3jKl`s~kQuVi@zX!fwUZ!P{;zrbsr<>G!ouNC z|B-!{Ltw$HGnJ+SEHUCprdJTlQ-fqEQNJOU>P055pllW5sY4rn7_2co3po6(=c@fWZDhf_&f-00N!IOHqr)MyG$ zZP980I52kB=ID+T^f+(81zWXqX`K4)tsqO~nFO%TFq0)NG`pqw#12VZJ0QwbTT;cv z6lOI`|<6zthj=4;$p|bdJ!-QPS!drpMX)T9gN@#aGdvaG z96Sb}Sxe!qXc?(?ftJg)J9TpRVE0v{m~ zepVfJ1nT{$0YM4r5OBcD+SynqRp(5uWzn3k2@XG$P586`I$2xb#nXI@KE2Xp=FGp$ zM+ckNUFgZgl8p2vr-V2Mw<7l*2FUX49gLcq<*+fVUyx3*I`B*oIJ(iy)sL{xRQeq4 zH4zX`PwVTKFHfQ!H0K;h_AYtX5fgf4RvpyNiQM}IUW@~u zyeH+KHC33FQb@2zZ2FQeW*T=m66;`u3=2r$jQ!-u=)vB4i?i+Ekgt3KhYt82nAMb& z+y1c8P4~?)Ge))HNP*R}VeV72%~-_9fS6wTC?)@-TrnE{-xslzjtG4CIqPj8N5XktFj6 zt3NQ4dy@jXPg28!O$&&Jr6_TP|1F4`OYA^9$>s+m1%#?X>H@bT_+lF-oNkZl2-7&ByYk06eYC{h2&Z02~dMA!44sWHj#|eY_AwqSY*(I9gB)}jc^3h zyYJt;KAG(n4X^&)l|c`BHPP0Hly}pyMhi~N%h}9TE$`OT3Sj$TC;s+tfBUB=d-QzNm(9`VfAJr0r^mTRWLkt+ zS=pNQ!)@%J+r#SiB%Skzn>mv!d!dvQ$GqCz!U+S?=s6kF7Xa6-`&CAOSjDMdE$z1q zj!VOJNH%G52>ISZNYTd%Oat86lAIJ-i4bF*E%Wb@FS*1zbiF_M)gU@RB*#Zc7Di8h zT7LNPq+7jd^{)*26;@yU9S1(Tw!(ESz-NxMqxg-hG8HUQa0`q51m|)0O4~3DjcwRR zrz>-~wMG`b0qr})7mW;Bnj*oLc2JVBmy&u+1i`PK`3OQLVQhpHMD>Wn5QMRzRFRaC zWeLKu#t_bA`hLbLdK+%>US1jVD7>SR!fkCp_BO4pxQ$uZT}Mr&$-{S@s^d%^W@ZpS zA!<5Xgq{L!^-{WHauUKefjCdHnK)=hfYqg-V?i`ccWR7=iPzi|qD{uOIN};16)T#t z){_xuSa&+-z+SI-$w}}a@%OBegJb^Y<@)Vuv(DTy`&R}%$n4{UB^TI2R4Cz&P?G{z zg2IBXX+2jX*@J5Cz90Un$yA-0Sc=qV6K<4}2*yl0R(6pY?J9MEs6L-kW5I%k<%T_p z+!Gx3f!Z#5WPCVBcq`fD1!SZ?2$Eg>*o1Rn!Gog|D*~1<{oyZZ{mXyJ>0eJ4;mS>p z>Mx9ZOl3OkMBIYwaWz_WJFkumWKJghL_i<z>^0;B~qIH z{oVZfBxYl70MsjEevPS$zx*!ici~EG>)O@s5sOvh)Ew2~HjjvHKZ4Di$KCPiC&fxi z+&tiKzxjw(?~@lu<{f_hcQCv75MDH-bb=V_%qwD0j=n( znTtD=C{ew%$uPu}bf3}FK z8!jy$PP;QfRdUt1pjfgSscgoV(;?e&Cgr1~GAW!i{QRhIBUL&d!Oe%aPSzhPmfr(% zO|Rd)Iw4ZO#b@(;$b;nKU?al8dg9==dQ|P_W!+uvZdtP2s;zw`yLEclX5i$WC0Pa7 zStRkTMlKIuNoZ!Sv2s=CVEHVGNZ{M zMcHEtiHb`Z34pH<(hq#}`vnqOaxf(e}Jrzs$4I zx)fcj)hxWq``vfsspbu?m-YOJ2-s_iAdXuC5G%;vC`vJ-l2-L3au(gm!elD&HwBml z95t0zG?PkXt45TEut*@P^n>t8o>{|=U7|FCVheXT8+L{SgiH88rKa`WYpk&G^w2O$ zt@!8p)n`KOZrtyrm;XomQ10DOBU z)wN-hE4~bA%1PeH)Zpk6W;>0fA~hl=LE0Nn{-HArT;L{>?fTOr!i<`UjsXU+(aPEn zy-QwGOBvBVpfke=c2vV#vfFHQn14=ay8rplCzDrwi_!Gsn6I!rP3X8KHxu?u#%pr~V83adwf4P577s_m@{W-S{SiusgB}S7&^i+(Q(Z)Ce(>>KBgR zoLP~B`QZjlLw?Z-)?r|my!}8h%Rnzuup*A0d*EXPHxhxP%_e5;G# z6F(Ye=%@R5WYVt+Q~n%2SsykOa+y5nxYb!wbTm6@e5T4wG3Fb&SjpDp)IG zEky|(76wQ~+D$WkyT3oRtmE(By?OEa#HY#UyYYO?uh@-Wb{i@q-fc0azQ?Xrn`br! zcfXJT6sW!!v2z+%X+Uh*B*Np^B;eOJdQf4+VKP`|l$+M9&-+4KlloXg#`k2LYl-t~ zhK8M0#is1KB5O*)QR$`YEE__-7O^7}ozUOR|=OzwdQ@NOx-B?SQ+l~mts4a5h z*Ozp3UI4cY?Kpr%JJPTe^BBT43M(iLEBh@4ww`~)CQ1TLKhTx@tOxQ1wfkml+LxB} zX~1t^(sb|m9qL&zBfKZ>KOu6<-N9CpTyhiaw-r|;)K!4Ycbk6UT# zYoi{MqMr9sl=KN+r2ubO_ExQc$396{ZCGkSn2CAZyM#i?4H5q-CrMM{7p*T_9-)py9PimBI&LuiZ%Es*>jgQ0*aBNhF?%EW2P2yYr|$p zYDiNa6cI1x$P*ujs@yqJ!h<|EZgLu5*s!7kd#NrtYJhn_c>ycMf)+phaewo6Kh;&F zTTf}%Mm?$(IPIbu)se}LC1G$80(&z@=`B+q3{+IfgvyPy3g3X*$7MN%O)Gkne{J-^&e zDuwM9Vcf?tUmamwR&F(mUK6pGc3bLkr1jg}dXKwUXD>MMt1o3kPMxpx)Me7TlUoCb zG_w;yyXu@sAt87*kvfZ(*hK=5jCV)?b@BrN0y0^5R^iGgn(zEL{7ghBOS0oHk>mb! z-LJ9ZKBjo||08nTOYN?(Ffj-Oa>D^HEhJcuYIP2+G}C3CfC&+4@(rHS+z|&EI{?dc zCd(R&(<3!1t;WG-Tazbw){r`;Fa(Ao{MBkGH61Ts|LLR`m2c7DUK{loCR|%!WScje z(+f60&a*zM4?ET}F4TOdAP?qoZzkNQ<^k%F4Sre^se3zAElCaPRHa5%GqP3eEUTgs zWBSbUxrtJ)I4}zFsT=S2lY@aIPA5?ioC2T+q67EMV6{Atxi%>EFfE}Y0is<^5{T*T$Z!kR2ZDpe;PR2dbFIuAM@ zz)f`~#g9k)IkAn5=NU0R!VwX#eFEeUPl9ESeB}fZo&MAO;{nh&v~YpVSho~Ebfr0wdoTGY4a!*B9H^3Rn5}QIA}lMS5}wyo`@}}P2$K>B zO!Wl+iQo;Wa`3dm+Fbd>4NY%(rbvOeT85v%{N>e2nSH<2p7Av3>+8%|YirFrpW9|b z;j?LXe5!+`u1wgd%&v%izfP}BYhDoB7PhK39M9Zs76`414jxE1nbxPkf?7?IB*0G+ zHBL0#E>JI4TH1|prJ%FAp^tc!C)RKbVUfmMqsS5 zWZK;!j6xg>YmXJZ@{uIb1IgO;=w}LY+LzbwPtq296G=WF^q^%&;6&9qgJ^H|TPpLo z(WF<=OWQ(bMFA&rcOF)Dz8Duvr-+P5#x$8z!l4CBs`!SvkiMDJPK@_8g+H6)M0b~vS{c(zWHdXj9$Oh!yEfzwYR z&*G;=3qRxOxiab@L_Opr3c}82M@XZrP523eIJUO>gNlGFwu95Sch$nvW+-NK&Lscz zST{W++>A*v+r;`dT#e|1PQm6%5+%faD#G)^p7SMx$|MMR?WM4g%415aQLGz2(tLUb zWVkGX!7Wfe{?zjcfs!MiGZ<`te*OAXQn>Xr`!wcj)Txg{kV+kT-nJ-@Bnzt#5>}P< zv?lHA!m0nl-JrBq_t9BsOkN8?@nIHcB3x$`H%-y^yuAg zaSO@mbq$G&6j)k@f7Sy?9JYZ~KC<1rF4uo-nAErcXGTbdxp>4>m%V5(QHVmYs{wAK zw`97KfW{%m5+>4hXmYxc>V-0gb{aZv0yo1A@e6g4>Q;jZh;@eKGBA8GIP*5K_nU$r zpJUTMQt1Mx(%!fnPh-Bq%h8W~Xlc6_yRmRT@Hwmo*xGE$E~Bc-bx!^Een_?(k@_Fb zH~``>6^C#&;eWL@QB2GUx1`ukA$3#m2aa4TifXF(?-@9XA~Dz)j}2nk9KvWev<5&W z()F+-jpd0G@atJ)cgT`xsI4Jiyjs6Ktr&5m*zMY&2VD;N=^xKbb0TYl7kzd!Q|H>i zOL8K2cN|aMHPoZ0;)Nwki1%@9hK|LAq(!p8zF2odtrFZnpNcJcGKvbtp8cz&xbigi zWO`xhpS*9;d`Pm%k=2H8wD68JRM>Vnb!-v-7qr&XQ)}K&-ywgNo_jv%x7RIPd5io< zdhzc07WuRrZfJK)DtF>;jJgFNXTC17o6lq~5Eb+wRj#h5pz=`CV<&+k`|~-%ZTm@+ zD_xPUg|32BArnKn2$;?XH9ikqz!H!YC2R=Quv63j{eS##|NDtTC$|9Zl|hecaK)+P zgN)v1(Ip(O!r3WiX^3tsuw!XQSPw;!`pwh^w3cxdXzT;dQq-8uqcn&aOI|X{^Ney(jITwsw;yY^^$xP zs$z-~%-iq<;9M`8VXCV!Q)&jWT+Ah; zoGHvvY_c#_#xWQVuvKR|7LtM}y5>NoL}NzEa58|;0h{a{i*<25*t8sR*FF1w5pQBW zUas#?y%~9X_us&7f$3MuRUd`<|&_J zLwJY(uu+w-ZVsVAcWt69v1U=k8QTs65GQTPx+<6sq`ndfq@R6ah7NaNeJ)c`;`7?` z_wT+t;Y_t#FApEbe2vdNvd;%r21fQswg5%BSQU)w8ZGQao@L_9znlU0Rrk{1uq6pH zdrP(T+zS)3GFc1w6M;v`I1gkANUA2%FDlOh^B@@*SPDBB{GO^a*eG_=dNzm)MUrT? z?dZ?y%Rkpyl2@zCpG1}((?j_i%FBO?%F-wGF|3~tB;XFr17XE3Ff<0A;acHsjH~#i z@0ztNddn9a3eXd4O;xg$61HFZB6_XNk22hXpX8zkAR6+u$O%A(#Pbx<7NpJAd}gN3 z93upLOXn|-)3`L0Rv!__^yc-C^T~v5xsgt~GUid#^er864Ll`{lqTCsnlh{A;twp? zN{GRU+&h~TRVqMPs7j^_Dhjg*D|G+H6NjnmA36)*)g+MB* zBrCbytSw#TMvp!K@e4&qp`cf)zy`HEmoo+LG_ z)m&Bb{{sUt$!B^Gm9GjWM^ki6s>D)7!p7Iy^F_GCo+AsjnH(|__RE~vFbP9NLgyj7 zgs{UhS7^yaC7DOHY(cpG+9aB%PIm_+OJc}gnbG2B znTlc~_aHZAcPynF;9C@6FxC~8i9~m}M=*;X4n*NL8s@FoX^D%49ob%=eFU0yyZJK12ZvtC{qDolcJ|4 zs)@A)on@*pXQouGZDIossjm&zJYvl)sn^KhizCm98+Es&2;gmZ9WEPCw5vWT7UGd)hc6R2i>%_H#Dyl>fH72Bd?5cIlH!A$q#iQ6k72cN zq9}=p^Zz-$`#R%rtG)GG4*O})*XOTG0^CZaVw0#O?}ixJD*Qedw^Q@&$UA3#y*&HV zp+wPCQ^~T3Qa9i0WJ&B!Mr9mk0S^UpG-xao-&o`5 zmooTBGUy%=%LuF0WDt2ocHPs#81jC-d;MyC{o>V$g`zi1()D4FaoJ4V1g~bf0QnuO z35VTwEjPV*eW)$w-FVL9-c~7mv`UJiJ!jY;gYeD6I$bIVdJO@dT4rOqtFglsAm+hV z6q7|nxJS~i!O~9}VD_-FRhUbp*tn^z$NKBY=TXTHaCqsD0)Cd#$oOXXLpS~TyLTr* zXmu;o{d~-WE=WpLM%`IsM3(O!T*fRnHP`A*&hCJ5;zaK5uk{lP#hEP()*5y+QPF^# zQH9LiB|bJ7*IMWB?ar_zOt_6;@Zt&f{85k(13Sx(VJKSZ~A=4E* zD=aGkfnp_-w`O7m3fvJZ{YDowLOhARs+9Y6BV zDl>m_JD!huP`i~?(RCL)0y_j#O6+_I(0Y}2c8drL;v>%E?irD%!c2=*Wurd)a102Y zsdMZ|8c}?a4d+BqPEl8a-DF#DT~8kh{xz$c0?S^h{)#gn%}^5$9uv9t5n}S785tVZ zoWS0FUVAn#r5_LV^oa@k=&3>{{$xCtx1r6|>}+Rg1S$DCnwtKvlN zZjGL*VQEvS1LjN^B`~8>yw)CMqFSytwU<~+$xTR>0Olm~L`@Rnr5Nd*9YSm>UjT=Z zFUR0^Xv7oJo}+ZsJ|s(|3m2p+hN37OM-Xf&I$koLaj4^F<^Hu%589DMc8NU^PR@R5 z(ylO2+J|+~FjYqByxG8s++)=SIpyKJ7L)oM1BM^ zn@c0dMgTz9+`Xom(m8|<3zXp;QWhq#PCV)W%;o4*H2Zib7LZ1K#J4Skjw+5MI+ItL z#CMDeFSK6l{zV+aZ%8@b>GisvfNuRQZq#Q(9+nI|SP!RUI-0i&$zE0LjU8%wZ+;b< zT@+_>_uY7U*b^+am({?AMBX+p|xLSF!_)@)vB{tFIL7`{N{PuPj<|n)wY=Hzs<95InQ7^CqDFFb8EOJ&& znwVUVsscPwJq_W4BOp}(uM;~k@Rwk`&JM97Wf$Nh*k66djbpc$w!pEtRKi$nmg7E} zAvE&C@%pr_dbvd&@O;c;uq;kw(_v3W3bl#S0sF83Uci|ovFo^+t~igo=Ry3_Lo4Od z+3YOXT{covR;8{=i6SA^uC)Mz6(wqoRbpa2kUhq*bH!-VQNaP|Nf9kkZN$n8e~F(w zw(J~n`2k<~;1mY|B=9Zyf0)3+ot(b?;nlm7>*=Nd&y_(Bx*lXU5@9|$?=!-o=>Q5_plobS?_WO2sf&+*+Fg5}2k6c{Uy z<)?_SB{LPAhlPV4^i<*A8y>tXN8 zmdX`fA`GSw1Q*q?2zhiFdA0^tBRXvX4)O8&$h;8=XUJBr95jgdnle-+N)SohBp!|g<^cNIb#$vA#?(Wp6MF&nUXOib7uDnExsb9 zGtATHzw|7b5^Ty=pLMZ(G3TLvcV*D82(tMKc)Sbob@h~vnUnz?u(dd&&`%Env( zi5zQQ6V@tEo&t(YGf|Bh$AIPDF;IHSlL37^3Q0KrFgh-xrGzKEh+sJ&1}RFZQmgZ` z1OH|Fb7jnf?9Xq};`}X(F6EOfq-U-U+fDWtz@|a7MA_IVb0x=oV>P}{_(zwfs<#=3 z-N3q#TssayD~XU!oHd2CD2DDM^~(A35v^iNfyI9=ja}3e!?YsHYSr}TAKtuyoe$fM zFyhLXhn1v7z_>KaO_~(o5a7kkUJS4iWiAozl`V57_h$Badc`v%3?^~4WmpiI@W@?e zp#^(hy6H70Y2gHXs8yIGa-8@I6j*|0{MqwaXrhR2AdROCe9MS(!WSOov++Wf=;IUt zY6J5s*mndG(M;)o-hX&=T1pEy`&6zCdq|^-OuiweWni?JE>*&XUva{_Zb#ieQW6QHJ{m|2LNabgDz$Mp#Vu? z@bM+itONK0`(y+DdF(1sHK_kGf?k>s_0&`Iho7s28p?{WP_s=!1wd_ z`U8ZH|w(veI^U?p&2pZ=UGzSNVBQi&Y9eML*&zAQHW6t3IXcT zT18_eBf@K#ri}0ocZV*+13JNMA>uYIO@Xpg)(yePNRTyA)*@0ENs?cl6+G8I@~lQA z-2}@OD0V)5H^16mzdr@H++--bI_xprxLR*Y=wlW-XZ*Mlzi*=NsyeW~yqS)$l$-6=o7 zhG(B$-i$GeGmZ1O`(CidqtryokKr{;mN^d6IOPlC$~K6$HEH6c4J;6chjC`IY`8XO z4a1}0`1K_aFr zS(A%;kr81V{Hlqe*hR}w55%ZZ#$_=HUdJcAt!l69=`VWjTUX@u$e{ncfHRo~XKmw~mP!w%;MavF|YFq_WD_v9O zw!{jMDp-<1z9yVnceaLlZ2+k->5}z*tT%D~`3FvrpIab&i+mZ9Kamc3^YX{jZeqSk z9QR?&SI8SDJ3>^1Lwm_Azz(z#j?uir8@QnHihCeZRxJ7!v`E~98839o)iDVYtAq%p;FS#WH{99T4aBc zaNSs&Sjx(Z;s6Ul@(Wf{2(t7kXJIp}W*MIm_R1%MMSWCwG3=a%tx?l=+xwIB;ihEy z^Dz&yEYbKGUXz{RK*>GyyxT?D&2KSmjwxZEIgz`oEYPxK6>9R4|LLaM9vb{7Zj53H zeH_#=f;{Dp4YitFC6e5UbM(~MX#($A448>2dmY)_OP3{=f#dx;sHUZ2+)y?pWR zK( zSNiwSWuk+Mk`XTuzSGn4=QpQi4nI#g{B%E_58{42AQ@Mq1N6&o1p-cHB?HvFV~rEO z9ix4K1kU5`&ty+@46tv)Bj6!@p@G}9m)&T3xY|x5q*K9PaH;C3QeAYeecZ;1ht5 z!w2xo#HQ3QXCdlnql!#m!*^T99!3ORum5<0cak@Y=%0;wR9iyRNx*p= zA{MOfia5ALvT0}eu$^G;A2IKR7Li>$?xLYq$=uoyI3rBJ*TS?CE8*d>ZKv$4V&jiG zBQ#bK$KFji?t=XFnl*Vt1(38i)co@h_DSFzBD*j701(LfY)G_I*xjI+;An>SVDmSGL4b<>Wr=Milp9r+|;mek?#d!`W`PH%sB#blQL464|G*iFt{Up8JI|^=e;3=l8JIWLSFeu z;=)AIp*TlLW8C%W?H}I2-1vU;Rp82?2d#S;3N`>2B_njs!X0||W-Desl-QiF@D`lN zLs;&U;kp{%YqG{Vb{g^yl@83*OY;*s!6Y24RpYS*#-yF3nAplQ>KLDXVb1_fngx8G z6b+-F?Neb&-d=q3%_%hbQODtL|Ms_kx>CUMY224r`}4p0D>#0BeGv;h^^RC+CR*9l zj)lQ*h4IO&4reYL#V|1St9gGn@<6`x-Cl)UVO*+D-4||Q= zy{~JQ3T8X*YlG3%B000=P;tBtEf2|=+}-u+r`S3AGeT(wPlj}O>Qcx8d&5$2#?CM} z1ZEk~5*yPydD5k@6wf*v?OET>{1GsO2Bh*P{^Zx*osD5wrv%Hd5oZ6VKfb5xn$I_- z*{+TH6}IN@Xi5M!o0DVVA_Wo<2soP#L&=+f*fa*U1kHKe`_0P_l;bd>gx;;iYQd~0 zgk&-|-*iA6Af|v&OrG6f=5!<+VPgpU`V|kmWknpzR4fhEDBd;hQhovq1ZRv7rDose zwtqkWc(S(T+ikSZM?ESA5P7eNh?8Jp|56b%=0P}H12x%k`by+P9(MGpih*EEL;y_k zIF8q^oXP5%0CO~Z4qA-aq#z=nWr9N>tjSF%6*fc#j0hnz14!Xi(r57Xn*9x4$e+<+ zeAz=^A9e>ijH_9rU(bi}+xTstHU-#)6}t#_9U18rA!-YzdCHApqfAyQnwourXE34Z zSScDnLqmMTs{*V#QCtZ|ClEMuxvzeLYk~j{-zk{s?W^xkd+_?!JN@%94|=DMwk`)> zKY}?Z=e23l%f_O)BDS!1h4Z*Kk=S@n6RGx=WwS1I6H<4}3A_ zGCF1LK>iec2Aq&&*?#s3S;;&JXaHzE;jf++W~KdVZz7{BgC67y%#m`&46CCQ6wVmH zIe$K(ba%U-fz4M=}LZqD-tCO zPpKU*B_W#|V)5|unn`f#Ub)L7JZZ!5ojj98_|c~A%{Q-3v#|ROn{#E%quhXzfZug7 zOKb{jzh#9bb4&>3pw$|-*f-AP?lq(CiS#A#nM-NuJb8nMho5UjtC#rB{vF(fa}Q|E4E}13!f>aM3o;PRdyp7cZLIS3=!bksTuSA zOB`?QX8(KqYB}L&cwRVhWz4VIjGsRmsB5wq@TJlw+wm{wb}WE9T(TkWa>o5V7Q~{M z$(7Bp`wjpSa98|h_p&FTcTtyY6w7Zz#1-nC`fUb7*k*ZVOzS0#A51!Hw364b^s$qK zK>``IM&{tqD&Oe`mkW!uU~&v@hZ<@yj2+llK&dS2DJ*v7ld}M1K%{}A!stA@>D3S4 z?WaSoH%-!&L61^DG{792#*eGk2#7uwzi#*>t4RKo%>_>6?mF6fJn`f7%fyF$Nj3~D zutwlTl2nS73BF`S&}If6Aao)rFk7DFU3v2Nll+3g&>WWh0;FI8k$dLV5f zSpb2A{seQA{c#fpJsa~N3TVC67*;^b5bLrYhi~CnLp6jS%VwzQAvuwITcjso%INq^ zJ_;QGI^`goXGImA1+xm#c^qBV12L!Us0YV}8Z$idwU79OY=u7uNpVp27Ce;(wKs3K zm#0n7?n}i(pGJIjwL>hV0w7i8SdU#~XJ+AG!K_`3&Zg8g?wu3=0)+^d6+RVSwkxOE z+ggKx?Ne;YPYp(UH05C*yo0^5d_9wlSg8On2hm#4T5 z`jTn+_~&1pVd;mWyq0&iES_X3CfBB#b4@sp`>|2W2^0TvQKHwLH6s8U%8*%z)yl&X z1GS$y3RZ%8I9ERLY^cN{M^b!PQbj&3*qc|&sWIvEg$4ci=U?4|su{;)kz35mR?3ni zc}B@flf4!NKtngniGO)P8~aNHE=UIMYqbTy!>oM)6w0>8GDQH7z{r7I%S_2kFvd8@ z=0meJY`DGl5o=4BHv|47D+J8=bj)wQJI&HOHw-^{v$`_uS3Oz%eFHqy-w{qLd*u_7reVL%k_;RaoBfo3eD_b7+X?a%8A@vV`vo8ni6v98Ns46zSvN-)4Ac8Q_EeG49h$AnpkEKncmV9 zNfgQxf7G)#o|ogA;jJiJE3tn~I|voC)>;Nk|Y+qON33>ufR90`aIUx{6dS zwjxk&yf9F!3?p8iwQ_dT9YKsDhdL+!3h!0l$Zl<(JGQ|R8RB!m!};! z?dMJHKiQ4vgZ}ZN=3nlSGgKRiX(L&gJ<96J;f{d0d&_SBYHYHc#hp9aKcVs=8*1#? zGjkX&8)1ugUEyG`rY5;A4E%1ZuCml)(3)6_g(rcDk0dwNtPcc;Vc88&yPU8s`m8jc ztQgMdaoRoWI4OSvq;4on`ffe}@ZTmsem>|?B?_WR|R)$K5t0j?pp9IO#!= z-qyQ^1xUanfmr;)a>zP_(MTj%*~c>4WOC>M$fz3Gw6UeLRB&{$!~A^wN4Aq5T)Jdb z^axUgVG?p!8%?!SFX0J7U?!i8Hj<##QW}G>>;$9t{SUAH@b)CtKHutVzcT1iNn>C} z$__+vtio@eM94ArUV;n@8+h^x(}0;gY-b`&OgqVe^l4VK&!p~QQA4Vxm>N_q&ZJH; z2%(rH^V(6_&tK%;Ndk)qiWEeMWG^)gc2KEmJ|hFY+Vc?Xl_V`3$_Jmpqd)D7J~b!g zEf%JyL0_T%P#}JH<2hFELT~v&b zHSm?QBn>AUrex)oW%P?%MKowHMaWpm>w;%~O z0QG#x!xY8oA;l3)@q2{5aod`MnPajDS|i`Eo##yM?j)Y{(X2XKM8w!Ve5fxki#76G z$Akl5bO``cWKV3oJ<6+2_6*8|!&;e9pMa=tsNTuJ*vE?{FUX0NRYU3tC*yL~nQtQf zd$ig~JN;k({r{Yo7q3o0kKz`fx<2kfPD4g*c4bwkcJB=2($~hmQDGOo1Hl+MH%{bX zn-b5#!V6QLQBtdE?1?X(jb4S^xuK_|dKIB+*sH-A$L4qXXWRfywnY-sFw#RLVc6#_ z+<1i~fxBRXF@-lx7@InF^ z_&llxr#|cx1q}!WU?xX0Neni37g@4CdM)Jy)aFNXj3Xf_0`pO#{@oAn_7faYxwR!% z20ds?W)rIiHpEoZ?q#VVEpaYZ+U8s|SXEm&k;j>>^N=9$lt&3L`P`5cun$Qn&+e#F z;MNU`?ikedUh@>lDrHF=4&y^cj!9ANz|l8{pePAB+%_y&7+rxxy%yW1%$YnBd{JO! z>gVho#}BWzlkeW%s8f6za}OsH?+dHqBD`C0MmN?lm+kOzlWX_eVU*Z+7?8x7-`)(s z9yk$TBonCZ6vt~#O>71*vE+cTxtHi^NDI!m>CO5&QR^;_I8l(sKvL0Ev89_O6=&cm zl8j#aggir<&z8(wIT5Cp->g5L!Yt~o(t2uvn6@955EOwORbL{kXk9?Y-L@+H_aOJc#r)s?Dvk0qi3zQ=&QV z7}p*mMGc?1cRRZD?3kZtBGrF zy0IY@+=U>D>Ttj+Pfo)1Vw?Cp0W%LriiijR*9*F4OhLG7pTsjM!M$L01(}qmW&Y-5 zy}H>f`FzZy$|SU1!@gsNh@^_cvf@0Z&_uS00?~Y#;Y99E+Q)=O2sz=DR+mG-+D|NaGKp0 zYI=qxv$JPkGFH&coXOp}zn?UOVCjR#DvD7@WJPcrEV3-J&nzx;aiI#Jl z05qv6&Pq7M4-PdEZZ1YAS*t3ke+-}assI!K2I`U8?O{UPI+S=L zt1KK%Jz$Uw;-|Gb=L4V*^|e zb7UEDAghpOZov!3M;$|rE%@w-q5}R*^UrOgf+J!A{5|q`!!t)aN~;kIlk%Q^AutIs zeK)^*L5#DA8$RILpog&-Y;x|iM*tRjMgUY7EoPmTBGz6I-ppz3oXG=O45WgIFo+0= z?MICUVvy0ZihBfu6k66jRX*_uSF|Z~$)s_?Q4h>eIA<=|X=X@CcZtAE`%Al+U?!Fi z7G%0-5i2a&nLHH4sH{ExiO$b=FHV#%y~W7*H0W#Od(GA_-MTneD#3ZP$|E?L*wi)K zco?CEJnQW%LeB}KVptLuNQ^rSma;4fqt0TthIy(R|m>KE@kwj(e20XVS$DAvynnBbIS1l_W_EJ`D z8e}U(I*5Ob#t$(W#Ltx3@Mq76+ai1>eFDiItzy;3$Y|4&k(^Nm=Dw%5-w#e-rB^5)zRm1cI=l|F-&9@isZE)mkeG4PR5+syzPh{Bs~c(3@jPT zICP+ZS(H=Z`igzKDeQM;(688zzX!FFczu%;9tlyoO{g9h+4tCFO^F3&*c;5_ahF5m zR-W1QVPT%&VEtt~vQ0@RnVcz(WV9>n ziA-?IEo@7KG1wR3sC0F`3x32PckMPQBK zljObe9IzMg_6XG&o00Ssx4_3pdD4-&W~-CcqX1cvXZCXJBetD+9M*PB$Gi8xd-s?B zrTxn(nG$dKk1q{;)V5f$$-;`DhL2Zr0=t(%v6VcQRL}WDoeg?G+MtwJo(dZQ04VZ zqH2H$ONr{S8x5hltSr7T9kHQz8ScL26dRu?CX%`11OW>wXQl9DRn~&NoQU+`lt=^` zCWPt$yl_!Qj>cOy09kAzE{nDo@`UN#{$^GuQmNl$A-^{4A20Vae~+kB6mgB~9{t(? z%xhXG84(uUR-cNla%r5#!)^!64lJd$XKgHf^&T(Y>?aT0 zf5VS_Y2d?xky&Km{>~O!0L0Ch9Y2Y$Nvc}J0z;MsXYx2d60JBJLto7|p`eE!VJVH) zB?2;--gPL-c57;}tTdn$j>ftIwx3~oV3`zY1{Eur9DBVYnfNWqz%(-fY>dG!2mhfD zolO=%5{jf$X8Obay%?j`e=$2+L?30zo73YpT1$dq)>W z$v9S=JQ!ru`+x;F2>zVq`x0>AGavHyPxJRDvmfn-6L}i*HA-2mMhi1j;*yfo6fTQx z_Q&pY6qJg*Y$(FATz7Hl^!fxY{5O0Q$x1Vhj6hH<5J@b#?`}XXiYwNu)K8rEzO@Y#Q}u z8xNaG&x*xJVfW@JocJ#oEOIp(RxwHVW_aDPDLCBKh~$zruvMw}Oa(#ZOARtf>;OHG z0`i61(Bnm$2gu8_LpYAW1{mS~plxfRN zv~1On`*qkIk=@#UgW zOF>$lan-1W-7D~y6S-08rH>jwMUD)19R)ZO3QNIjvl78tHajD>B5N zDM{{0Z0j7;my(sv@ILtVl%WM?_`L7vFK_=x{BjR&xz%{|Y1G%(2iD~hW79jLf>|aQ zzTGWqZ2>pSNq>mlIm4OX-VxHfoUK6+9;}1IWo!sI(cy;3sGW@HDfNQoiz-yM&9_bp zZ6IDlGBC2Xx(kmvIj+3rE3&&BatgM|A@GY3o+c3CJ6#IC{>T{}ybAEx;=VxOc zmF>+1ce{`k)d-pP!)mcM)MAk=`6T-+Z%2ju)+Dzt z*d7}Le2K}mA`GuS=Q{D#BWQL{dMB8_8mhB|wvtqxR}^R2m@%Uk_RAug~mS6+Tkr*Tc2I zYj_eA2}?m{#42Yg6(STBM`QRm%lGe2d5*Wm;;)Q)h*mu8h^fnNDZt!tNDu>RXI9Zh z&yO-{)(59?cdhuRmk>%WL={;HYXsT!1_!qRSQgqL@-W>xDz;Vpn=gQXStI(etdBSg zHq637OfFJ^he0~_TRi{0^k*~Ll}PWQN44|2H$R*-pu??8@O;d#IQ)NC5D3U0UAJlO zhq1BG8lhkJZHwxVa^5Kfh@-Tdu*GI0^VpWk3XL-O)U z;li^q535@+bde>v?FidKu4F!$sjAZg*yO_E)Xte)S$0~g19!Z4>{8l%S9@L8lGZ?h zT9~b15~qHfZ=2$$;S5v4r6f5a#Yd70MM`pPQTn}ygzM-!wJq41DkjZTc_g_!8EXW> zvp{k~Dw6On!I`)#pBUo>KBMS7Fw|$tv)X)rLU847Dgu8T^!1Sn%{!Jz2f3L=iEQ+I z%w)5Zo9jUU_{<@2;#c?KLn9aUOhY5#yy+rh(QOVUQ*BK)U8Zrq1<5-3Y%ydZ*`Ccx zO|pGbl$`PxXSe|XC0+vdsFGflR>!cGQ`27kM0kAr_TA}7!8`{>&&T`(@l4tkc3v=5`0uaYe|J)O+kgL& zEAGQyeB^^uzk5F9%jf^;Z~YpGT8$2e&eSwmS}vG*K41~7Ugd6?KO*7bcCDArx2QXGMGQ{?(MHm2>8Mm zdHFv4`B%rw2Uyn(%UsI3ZZPsRqrwT%x@EDSvsA0b#BVUDs#aQSJ@L^Delt@p&FKtl zqGA_jBHLRS6=lMo*$qlT9c=QMY*}QuHF9EBmd)*a+0)t!GC7eM4o(W7haDB+GjsCo z>+eq_C%w@Q@o~sk*bKqIvF{Oa(6IsRhmJ@#Igh`y(8&sB)G+hwHGuYGGlZiK_?d8o z>e+)B2zW%mLs#4@2XGsc#SwO-kCVBR1-a@_mA8B8W^B zJLCh2s4nuFpRN7zVn0qmr`wIie;V`kt$v$v7>|tAS@&o=;E%%j-olzy)TBLH&CZ!$ zmq&OCaw&qTlqcse-0_FShYxLV6u1bbr(}vnY^7yrxE480tk;AwIXk{4I0POO;w#ub zz)Z!Is2pmV(X)V={h-t+6d%NmJo^l+_gXt_$om(6JYlXk83dk>c~HW^5Jc1Y;D->( z_pqyk1ty7DF>4Q`_u@qE4d$Qr0s%CT3YC`u(<2Pcc#HN*dJz;XQ!>68oPW`aNq~nr zG&Pz=M{bk-jTS4e^u%{H9n6_&Xqc%8fP1=lQwN>@hSpWU3g&+?pMlh6;BCKgWs!EXzf#=}h;_l1gz80($sk7l# z`3^zua<)gq%Tlsid+COM+g`u;^9euXO;+b?qaL&)Hd~e33?QhM>YQ1<$$2SeDQ;c- z+N|CSC-S%*A@lgi5S&8du=2ec7G^#t#oD7}tU#cjmB(K?up=_DFB(Bm&@2dN5eH`#c4r~R?+i`YmgH^D8ScWc zu}Ngh=Ng~GQH;&F6|h!psHB8xr(GJj^rX5R6@D?y^GJLX+!T21NV%|HHjX2JODQ9) z7J?Butka7VaQA+j+VATz54t0+s{nhmk@mnW#;hrZ46D1kqr1|J<7X5$JU^Q0?{Ojw#68Kmj*XP-xXclc~JIj)Obyw3&aSlc=Qm9}CN zwVq6g2vj-o+Z&=RiHSXN7Ay_yeSc%~_#y`oN_N#$0W4KamW7>5HmG>?M})3Kj_(Al zc7C2_;Uya~+4=5S!!P-I&Bq4C^;e&W$tX4nEKgoXKfIcLe6gISBThHlTrLMaDqS>- z!zVo_19O$!mgeLRY)EvAwMpvEF2b2S?27Ou0p`3@DG49WRs7!hBgKYY&L;OVP~)2` zvDVV66$7DkpgIPQf24fY&>Jj9*Ch^D}l}scSq;n-FnT6|Lq>9=8|LvD^PesHBf#tCpmZ>*dGf^D} z379?F2$O~Q*K`WspMJ(lyO!)NE{H3G9>fJPO&RBFHh^9;7H}5wnC&E%jKjB7Uyn&~ z9(NaKdrl=eruOZq0MH_i@)>@_T8=7o@VFS1PRb5Wggx*_Dk=}=+;FdP69ma*Nfs{2 z^D_bm1_3P35)IOFI1*kevN;KYKNf2WUL~bN_b>Is(|V%b+K z)C33}CpBC0co&-&?akCIXL9$u@tNh12bQvSfx1&id^@`>M@=_ksKvx* z1Zst{(Fk$1$E~!(k1zjxGV4vsg3BR~+K#x#Bh-U^D2F~a>GsHm1)MH5x4h4Ljyq@a zu z6C+oj+I#~aIN2i6Yhbzx5R*T>*_*xmN}m%~2z4<-o@}BNJN$Wi{Q($anr>mhD}x?I zv^Y%>Ms#RJMN9uuCH!|}}tunSJF^LNo5mfI%g$**jF;ZI~8D+@| z!aI9LfU5U(!=CYi46l~?v{a*R;lGO^4=dEK+NxuRt=gQK)@5d^TUd0G71nr*8-O8a z^0?jT9rZxeIO~D-gKj)WI15kV$c~;>YSsXL6rg-y5}k*xCuHpihaK3}!iFz|Rk17f zc|pQCVC^d(8H-RWFpGDv@vpgb#>w}_+wIyvl!cJUEYrH%F1(o!6 zK(y){b#o)L*Di{c@ei50Br%howA}(MSi=Mv6cNFD?NL9 z;;N~`)skP9YAw8KF|(UF^KVF^KND3`J)UTo5f?Cc-;5HJ%#kqMDBEy5yso)Md33t! zfz1uL6_hGKfW($;a?1gadNpcCJ_Hhvaz6zdifGs1fDrBSDUzVluw5Hl^~L4*Py9}u z07#}=x8w7u@9%o-lv32ao7cM11s^;U)BdmpS0qjuUko$IzDAJL-)J1qb2yRUF^J0|^=BwNK1Q>PFES6A%X& zJ^cLiXP6(UZ?a-u8T2SZK(FnZ-89>IN;1|7XIo6=*y`%@u^w=3GbeI)hu!`1p_|Of zM<57bh(hd*P+Fuzdt49P1MSEFs4ZXs+p(#_A6fulr#YcRcvvPVEx zbQ+!5O_m`i;K^kbZ&Lz(HRMro67234bPH_RN)dL+h;@c>iJ?;~88>Z)Gr7A~bbM}T zq@Jze3pg)9#}K)|BpubkCQ5|QDpW;pz&BOuM)9q+m%~zJ)bXWU6Vd@KQ+Yi^hwJFE zXXM%>u?=|;NK(h<`7QxM;U%FXpF3Vnucy<3Dcr)>R|Y)>V2jc{egQRd5E3zAq9V0c;+ZK>ka!&720O8M{-6Hx?)|Bl zd^4qSWzeJ4Rg_2?2d|`{?PSwVVX|2j+4F64akDj?$i2w& zfPo8snBKn7r#Xallce`@(1U!k$ZWh6HIX3+k%K=N{Q1?C$(O~|T=L^#EzN=3ri+U7^UEYM1&8x@(CMJDPYCtQ&Rj6 zuV1{_U!3M8hg++DZPf2scKc8C>snR$%#LsmCd9aPRkqrFqk2h}wpo1`PUP;*RV=7s zmJTai+F_HS&QqpVdN|0ir4bhlCTgmd5`8hIWcNDzLaFBr(-;{EU;Bu1w2s0Ofg+~x z)1S@#{O0M!>mN^1Ez`FR{uhJ3JCi>zl0~fhHpA`WrxSHfvbv3Cv=yMNl##m5_*w2P(Z{Nm-A?cV%+SHG}aiJk1q21~#= zAnK<^GhgPINA+QtroU{bHEr>$j<#R+LSGJgOuXaw!;vrqes1z^D!#@evimXbhn)_s zH??vech`#jl%hZgG74v@!ld9RO%FbuDGgs(C1D~vvTB7crFM1@h-M&ZRj|t z`?T22!qgveN;ucI8gYQIEq1ul`aOpAH%pr>S|DdU6O3UTKo|hjBb@3 zQf`c7Dm|-M0|J=g<@RAaxuEqe`*LN_W9$oAI^-7huH?4($(y6JdG>7347;4>WupRt z){nC}E@RZsuV0*YT-F~x7jR!Gle`@CsQA8-AwC6* zIBvJONtT4EJt{k|(^?kVPR``YhWwVY@XHPP%smZ=M3px|_6y?HuAeAyifiV(m`R7r zXCi!i$l3xXJ1FIGOk{5Wr4RwrpjN;n-Apn=wKw0x1F@S9XD zykh`ru}Og)a-`Rl9vgUp#mt8&af&kjebgZ}V@8y_BsafJjgj3YMMV01S z%!I%VHzNobuj~!6BPViq=|ugxtb1fN9hZmysTYH}0{@E1_#*+0cmWUssGBL-5o9L6 zn4qGR9tmcZ5A3ED)Z7B>B26XPD*eFA5h$z0{IgfoYUevzR}vyy1HN77+kN}==Tq^k zy7{PoG3HU?1x{rIr+(6@zhLUb)^4-aB~bh>03uaR zJF*O`hkY#g;;s26j_TM1r^vz{5oM4M+=TkCN({!5TMsadyn3EIq63@cBK4{@MS2BQ zRQN{32$t0uz{|^a>(z>R;yok=M&J6m>Yh?rt4wxr+!ph?J7^O<9D*F6TlXJ^{R2Q!1=V#q|ZSW0x~~<@lm$ z$)$vi?S&WA+#2u~h?x1tjO}K$g-sOF2W43E*GpxGm+PC8ob{~|i_0Moqd1;o*pGRe z5HBu`N=~@daCLDnKt;=>bKNxq=>NSYh~#4dq$OZ0H%e|g0c08-iiakt)=c| zN{v0Ff#pYnX^q|hrzq2oy&%JtB@31&iNHvXHzxG@6HjlPBMBWJa;RCVho|}VsZDOa z^^9{d4FM_AuSI(A7P&mn|HQWQiOXxf&h@fG<{?V zrHX`zB&jB;#;aGS!^xXu(-%V?)|+JxKiR6Am}A_RmAWPe;+%P1S9kb*q1=_cd$~)n zpQ*nYu)@Gl&lUcPuQ*y4N>yT&#koN-SXp4JYDG}h!hwsS7&A$2DV(gj@E4_%*92iVfZHY{Di* z;$qg!7=%%Q#EE>wCvPB*yk|ES0Qo=$zpsWOc?R7zwv>8MgACEJA~W#Io1nv&tgWw> zr}ro0!+L|Y^?A(qCrDi?98G0@)xf^X8h0w{&a;L=cE)XMJql-jdn*)qJ;z?o0=Qs1 zs|CHMiLFUC%GNcKa7#zPQRG6e`!#*iY00im-vxB7Zb zR{V3Iq!HaRIZS3h+>NVtO5Qe8kMbG+tL>CxUmHt+wIEflG%UrCUhuIACdg46N_7p( zuDIUU6tGWNtgk!?_GcmHpdwmeLZ_o`R_MbO0cS*5xX%61mk+;wKI6YkO{w8X|B?Uw zAOFXHN%m8pwykbogtDK9e7*Y5f9fBfQuiGQLm*A_9U28;lFzy1DhcR+V9wl`k(6;jmw==cBgfU# zqoal)g8j=s!#g3mX0^YxR6Yp9!H#T=?|SQL@5-RZ5XV{IN5IC-tZvOK#kGz@ZmDR7 zO?jGOus6=*F@>=B%f1$ylWd*f!(|eKk^`z$=`)Ebm1P=O*?N-pmw%?_=2w4~J%94! z%U35_#c$WosDHT}bB71(YtKpR8V|eVB5Krf*`iq;FE7;f&p|6_Xn{(sA~W_OwU~w&6btL!$eef#akMu)r;xaOt$MGCy7uV^SJkdYl4YrZAxAx z>H!%|_6-E6hdM|&nM`F9G-6a41MqWi6SbB!pyW!2xyE2;fZACTGe+u-voqVd4hXU6 zJw{-V6_p>hpAnC4Cd#i2%vU@pm!lq$FK3lx_S#NxJpq<*qQd+U9S>X#D{RZQau)Zl z&(oi!0TEwfMSD*bkG?FXNKs4`4Kb{!`AAXl`Cr31>dGn^tf@9+PJwITn zxH9nX>e@%#EIWpX2$s5#+I}WLd9l9SPOFaf^7LPhc~noy?1&omK=lhvm$#mnQX=L$;hBu_k#)Q%%VLAi&W$<%t@9YM=->7cGwLS-@uC^!KM} zSaB+(SnIBS-^2DkzIQX%~;MX2hquhkF(X z!|bcbW|4E0l{3E@xAwE{4qUKMbHW*CA!(9Ml~{@>l}?xmZiJ^6ATIVWQ?o4Cjz)HN zlSt7>e>NV99VU+Q9h@_9G^GG>E-Y!D1OVT&8Tn!Q%Zt}&v%={Ju z@^!z0Jf?VL*s4Hsc&z*3N#3FYcSM`DS;dLpe#-{F)e%0vOC$EOd0Weo>XDPi*YnLM z){R%293X=)mc+IuP=y^w84xadGf*i7pihx}RZ_*|$|rCNtWH%P-`fP|-SFz|PbY1c zn~wK#%!BSg;6Fm9ozy&}hOGG6Dn%)Ltbr4`f3CIj4db`)sX1oq_?hGnt*EZ3 zQ_8t80puv-<470-cuk=OO%57?&=a-=1_}Fe`H3YTAW5-e0HOwp8kUzY_WgvfbCY=f z+Nei`m~)(`od*>b9>!vWqiTXw{4w#pu~@G-k$bOu&k%VX*qj*6^T(p9Xw)#H($x!uTT|KFom(pe_1& zJ#w%s42^E9$Ip$4U$03bAfXZbOqWngv8HyAB`Y00lpTIm0+7%iOnXvZVV<}}rS z92LV|FUXUEa(WbABkAEtzcR4Ql(Jy(6imM{1AXy{WG{yxCo7-D0%h4h7t}qydh>*+ z+5t1^Io6UJwi{Rs{SIbJqkZo0N;>>@=UQjwa zQ1n1zm9T7mD~>`ouGpzKlP3QrDM*e3BU+IIv(N~z6?c*}fW8T6=EqxvR^ zi9BMx!BNvTj25>8c1Vkzx;E%> z{Aro5owj(Gkd*|Nl|pLTw4|G!L!lfaX7aH8fPE3Y2MJIgCS0GNv2?Q%E02>+%1wqQ zN5*~3!O2_?!!{a(DCEzvi zRZN*%*F#MsvXw{7t-|7znjD)ITx$gzBuZfz!=PQWFir)QxDN<8N8B(tEp{wXM~AH) z0bf@MK&0MxaOQ3%d79BA-DY}i*`Bs{Cy~~hEtS_sJxXw}`dJi%I7V%0$K9{1UhyMU zokYUfOccY$L>_iQjHZA*JiY8R%$>Ch;Un3AJq6<}eE=(!1}ZxSO$J8;^CR%zuYQEz z!BX)8#lVN&FItD6TeZIxA3YEF?gFIW()|6c07+)pyjW|*U%<{f;S-`BavwR|qrp3@ zw~d%$uhoUsVNp9A^hj}+Xkk~#htn5VM&;nYHPwPg1pADlNWqN%3&Y!|7q4JQ!m{5a zn7thID7%xDEc2j z^hN>Y=42ae3!gS*BdY`~6yl~akeigGrE#FZg6~TY|18PTc&;KbBxD9$gUeuFfia_D z7}XI2*$uw%0^7^!B!ly}V%AS%zQ35Yx>mfUrubBjWajAid07$Y9Kq!nJgd<-^V_>Y zHe`TU*6RdH9rW8_a!9R^Jun-Y8(VH-#WzBrN=_XLC>U~i2&V-L4k$S5NvZ}5L{W0` zR1B77?U;lh=~L*`P?FE$k`mi4!dCg=-8#KF1#fR%jw@px#-Yhp7qc0?Bp4sROVTY* zt7}`9MJ@?Z%gmYF{cb!LBw~38Z}EMZd-uK3SR(vX%o-OsCs`?h5aF-AXel~w2RS~N zq97r;Gptb`SO_Xdw%+h99rhGq6xo;A=b_lGOri-4XFs6n1y=}k*Qf36DVyUfijQCH z#+5Pm*o`Ysh={!Z)@EwP@FJ8WRe*zS@H#q0W(u3>xUsI8CEZ1^1~ z^04c{u04b?Ga9f(85%ef&99EnyI;%t_p$ho}9`hZCUs&Gx4&gC5n8 zCW~8}mp~74t@CbRrvbvOQ5$KU5@;~w-32A5Wu7&A`s^`r=CR*K#4elZ21jq=;ViQK(xw>xcVLy9F=xLG>wDBNMm zrvg)>5!()Ajm2Djax3O-`M} zz;<#&N+PoNJ45O~tI3INd{29@53pyGD6>P^$uC=Kp6Ob?-AeF0<1jT_ivD6Yz9KryNT^BZ(K?$9@8gWVse@5_iOt=k`-WfuITc z*f-#aEjE{x2=2MH z#Eh%~#5SG(-4)r-y(MH>|KgwX-M5u$(>6uEfO(3cAzXL0k+D}vR*h)(`UWBTdl)V` z+pmSeA@ig2d>JMqPA5KNPqw4j?YUWqWM<@GVKJdq!@GH7_q&)>xRvX*toc|thW@NbJu=;|rW3f{F*_ZTDTj=$ z-)xk)QB)G<;-5xM=#}Rj*$sd4I9>Qcf@!K0>sXriK*T(*^*t<`u*kFso zv|=&L=p=)^@Q7!QT4P2Ci0{g@n*r=aJkM(V(EF_;%TiQl2qEDyYxpg82!I#+K@Ma) z0`z(^GDgPu{tL>RZ(orsW4=G}> zE%;UzN5&MArAR7!ux*uo4YwlWYDrbXcD z5AS|lPsbG947}>J)p10(zC>0IqI7u0&tAvq>DW@?MZ6D zsu_fb;`};>0g}mU;9;PuZ#`;$%{_GGRa5`(^{DAT(-u%O3$8?25zqXX@Ed@^zF}(3 z$d)56nP&Aa=~Q%3tZboFisl=Gp#L6tl^hFqjd9pSiD=tU8yjm+YZb_U+&u!dnmwNi z`Y!_&FVA>F%Q~|P;mV>)-TB2EMz2J=HT<3;$hrecM|k)B9Ge)*5N6M7+JHN zw3nqz6%VbFB_oH)_DHo^;AdxJE~(_iHZE$evO>3WbYVBxAP~v%jxR;R>VXC8fwT&q zB(v}wgBfv6NO?zGXW2F~OaLZ>a_IF{a1D2UWT-59! zZS2V4ikuSS%-~Ks2~CXJ6{Fx)MuyL%O9n*2#ypcpe4C2vV#I@9G5-K}#2;hg`m_bG zMI?TJ;qF>zMxR~9A*h>pBt%hU%dV+NU1EX*Zq?;Mb$%N%V*;6u!3KZ_M^j`*0tYze zs7Zxt5S<~U4dg%|RW&@h8R1!gDh+9FV8DKU`QhZW+i&ScT#k7V&FPdReimWcR$OM< z3MY9tvFPOYphT5s;yfOAAsiJq!q`!TX8~j1jY{5rO&VF?2p8xgn#oc(s$xehedN2c zBd&%E!6ZV0^3InO_B896FO!<+4EDR4&+-NQSPV^4Wf#d{+j6;lr8QNO5 zBm)})i}I4drM!BvPVY|6P4*TK@U>A7(!BQ7RRocHRwe3USjZ+TBEdDTlgHtdyw;Pw zyS)m}&o_cayi{)Q5Bfcla;DVkf%hD_#NoeFq298A?aZNJT_xF_CA(@Qd6=UkK_kn! zjb&M?V8A=T`Hy6~#vUu?tC`+%xFl@x;lrtuU$V~r?d5uM`?cM;9P^k));|Ei_lQMW z7_}cEgwol;W11Po&+HI0b=x@c+j~JXt|fJn$@z{|?R!xQP6lE)Q-Sn!s?`Z^*-~GC zhb%m{B*{=Dhbf5(n27>(1hNj?p~&16D`EomuUU$LTS_8M76nU+`davU{H^`X6YP#S zs<@F2xi;ug`9kmaJmI!4KCacyIHh`bAv0o`S~OxRljBV89@l=_4|SUwK~2gJ~y znVEyNa9mji1ALJ~7Pz&zyUBRh>d>G6^=N{^VE|HuRl-S7tlWr}Hp$bEGkZ(8O{I8k zKOT8TVl1}cd#4%Z1^7WN>n$~|D`Os3sz$tHM>Ytw0zgKSfh<5UM^>j+Xs1X9A4aE0a&AaXH)!Rs8O(D~ z4UPCgvI^Y5o4|2+LXk6mz$Ik%(D&P=hoArP_xcs$5<2 zE{QVd1}`Z?h-Ss=9y4e1unkcxykpU;fH@~`BR8a)%z^@8bValmLsRaki1tcIu!jKL za0L`?ByXl4`Rp+O$uY0O5)A5GyUv5>s1MA8}(#XCA*sXI$q-Fu<;d0ZCYIOm(MZ#vOB)la4Q-U;_?6jx) zO@Q0#3U&yi0Q6vw@LSDF*1#?aR(S)vh}gHokg+^?mIsi$ZGADFfP8MY!d;GeR7S)c zQ^<#pJZ0+eOPkFqmZDd{Z-ka=)(0o@xXqw0EZJrwvlnbCJnsg4mrPohW>hlyC|NY1 zQ`@RJf*2@dg-~@29d>BR<~VD_NTTx4!HOT?WkzM;A^30^eW#&?>xk62uw7FvgyAKr z`9q#=dGae`9>&MqB6FUT*+QmZV#19GVqfdxcbN0AIO{l*yKhH)z8h593KYPM6c0al ziZ<1ng%@Uo>qJh7sVYn=d`P7}4p|!|OPCC6I0SwfdXW?>kfLPoGu??Fm17SJRWWdw zS(>loNF5BVbRa8<9^SqE>6GvlZz1x_F^|C;lUR1+5WeuC&MmmjqIw3s_{^9Dhy=S} zuG*o791OfD+8ju{U@SGjx?y9p5W=v4n=|~heK^&u;}4(6;V<7`zaH^> z?#0*FLS1>)$TrGK8oDhut?D#kqNaI7x@@crhY=g+aZPgMH}K7Wdn-HzmmRJHQyUhm zj;&BY8%HjgFGggpfWNJhEE+k|ZzN(kM67D`K-r}6r2>+SOj;o(qu!22v~>9ibB5TI z-Zh~}z@~@g>F1LM=D*3}axvyX#j9E+4`Wk3PGC*UqZY2C$=dF?>_#E*!aE}|epe=xF?+Ux>f0Dy+bgA7uh zHGAYQhYo&KP*jDW-E)Tq- zUPVgZx(DIeJqYcb8GAUR2*f_}zybhdbu=5vM>2?2TQ~ND;tM$p-{>e0%+h+P zh!&a3g>i*pq!`cTM+(6)V!@FF%q(9JUsmnCf7)KJA5KTq?iQQc7sI|oKD7`5hf`eR zW)1ll;2`-#9qqJDlt6<~=ghA&!ZJadV}chbMU!q3&L(IIZTfr|#7^0f5)@xke??~bwX z!97S)_{PM7Hc;-=4*+Lo?B3h*(Fj3th}5=XtsUaqV3Zo(F#5DLxSQmeS4REzT91Ds zC{k0Xa)WQ$4g_r_OffP|HUsozV`tsADRCP2X3u;s+QuD;u+$=q2#ydJ_0pSMsw}|L zwUX!+VKc5mvZZAenosc?_-eMD^}mKXrU@l*8$%i6y! zuTOeDi)~(`1o-sd@4yHk?#c*|$QBA(J4o3RT=!kXHF#_NlxMHB!j0coPUP-QYoB(*bZsrTj6ki4^JA#Cxd4wO6X}B!?u5|l zsM$BKEBwR2l@x3n;DS3cR$DgKj$Inh^~zktnWJH|U{u&NxFhycA@0Pzavt}awd7%# zp8g7myP2DA_;S!gyfDt-F(tn90(l{n$+2iDR|Fd?^)>v_isLlyotk*wimv1|k`9yM zKBAhw6$f*Ma6hn9hmy(hb+X|H)=I#A-itEjK{VQW0h05kC6K?LlMKXlAtzu2{B(PizG3L0! zMRO((yBLZFMj1RE;wf?hz(GfHiwVAb_R_Q1CG2ol*wn(NwlfBcwugSWGl81V`^%p{oMu^WJ%?Ty z^QhZlT&$GrNL$g9o{DRM2|I=zD#|n&X%Eii?z{0UF{nw5%sM>=nbCGtJ6MzK4X!QK z?6eE&P_a2Hk`4G>rW~pa6fhclffD_5Aa>By5QK#lY&Wyydt+-_zXxZ)V9DL5sN4md z!5ZaPe|z`-)U>;)7j-%2VcW5^5RXJnEMUyM;D=g|;9V_h^1E^=Zk{uF+;+fu$B`Wk z*bj2<^t2vAtcpvcVMz@|YE7;>D7bZ2jlozc;LH(NoBhr(JXqiU(1|YMxQR?_Rz=O-b2Xb!MN&+`(Fj`(}@pu*205Oyqd@ z)u=tX8cAei-Qf@$91|ygdp|5G@|eCBJ)xutAWBQQkV?`V$stZqvS5g4B~b&!!tYzv zQ>FMtvow}2+pvU8(Ns~zDX>DyNtc~KMm!=hLtbUu=VD79-Ef`T+3wlGCZ?K*I!Mh znj-^32GbgXqO34Ma$Y&|6KhTAY?$H;k_3}5cgB**hurX%yNufe-`#1?$tEz;u;HFj zCnTCLE6mh<5-^81E6hHQ`3@`07O7_CkIf1oY?fJ6Dd*Md2zwvQCd0ys|H{3DP11Rw$hZM~E@9EQx)ynk8n$*K!n=O{dgwB?tY; z*G@`%I(B4y#C}m3W}2cV9n-MB0j^WW&6jZ!Z`O8O z#95p;k%xH=MaEQ0Wn-Dx&CvHEq#8(WCA`7+ps;y^G0hg?7p}aAC{l?Q#(Ysg8Z(G`oqn3cfJ=h zTNQ+tb(uANNmdJH2SypcFG zIiQoSCAT;jwhS3^^NlQN4W#O!Y%nEu0+s(%uO(x94E4rXwa*4(Dq#o&Z;mfbv{mjG z&vHM#e>y2urd!_odC+%QA})8v!L~V-+(y+Atf8O_6^jzfE+=>s%>4F#FpQ=lXXRz! zqPg>iXarHBwtSe-$bA-z!LC&L=XR!KB`c|ezac5H8X}*mJ6W+KxW`REj6AY-S+E71 zt{wM>2qpB=eKMxV;l=XPi_>C?`{CdJQTrcc6_;&A*M~hS#+CgaD-lw{ysjjMgkA8< zQmrjo6f?V-lew}dret-%V`_QCbWqD^hdq{Cc22e+nk>8H)PKc~JNCAWOdTO$6}ofF zXy!qH_liy40D=Mn+M=pDVl&v1gIbs{SP_r{Cm8ULHsW8(2G5+{Vuu^WSdtx*YPLB<>%OnEzwBs%PqA((@>MSN4_mLUB#CJ>ewl zjm;5K!W>dQa&0bWl7>0#AHW4ujigLusgiUETrI`#JkwB2mMGJOodIQV>sVMbbO8u! zsdXFpmMY=Je>{Z{Z(;GvArDJbP3cgxp@N+9tH-it&r>LSn3!Wzd*w{-?!})8b|oX* zkyYZ6LJb}I=@fM3z2K%aK>{Je%8gPL!e#+aq1eFKz4?g$=>Xu3t-v2l4_-a?BC>SD zQ#?qK!OvJq29p8Vv!p;tb~O#tyBEuewShmpefe%a;iqty4Um^(e%E%WU$1I{%}&uJ zJL7w-ifX4ZW`vJB;+PqsPH~6lOs>I=Z41T*-JD|$kAC2+WB6NUA5gm?C_Q>atK z0|=1L-N47Fa~Z6405^!=*rNxZHN1QO=IOtka!AW9+LbGV?oniR?RGd*8x?2C^8l+X z!m_8M**F{6nyJl;m^hJ#-43Ep)?S9*)qv%B*3i+LJkj z<*u++lYQIRGC03^QN+%K~ zrWSBF;Aw%HRnmgtRYZW`8i2P}EQO8Mv&je`gS5L5I20}#@seSM?6r^BZ68@S0;oB> z{rTm)?GyoEZz(cg8}%4XW~(Ncp{-KiPmrv9tHMnh8$tz0u`O}2oX5RgxT3Reg{-ak zt0hX4T+O(fsj)=wFzm4#Gz%qJYT$ifSj5g19{sV4wUMpQUHL>x1kG0TCq7noz(&1$ zH9fswp0@SH`_nqfn|kBl9{Zq*Cy(O`Q=-GM0c34k3~t{Nj#>*PtSwT3jT5=Ib?VJ3 zz!FYo)yR)v+@bQ(MT9b|EOQ7{nzaBCuJxTjLw5-*7V#83xu)BsT*X1WLYczy#mW zc>7~<>*rcaAVK)i$UfePc(gxU2$K*t)R28KEihf4qV|W*M`;w7VP7@A4v@4aPR@RGd;HjbH;iz+h3L_U55V&QcrkFn?ENqZl$2E40;gK{w?W?yULS` zXHqm35WF$~B4capBwUn&r`oJOfHp-_G5geNQpJ;bJ9w5Ij+|fXs?c4L?3jFJ7Oj4fRI6bZyYXh`w#Wx>H|a5w=yHCf z7^H+jI4f|GP=at8sDy9ambzM!h>i(#*IAx4g+px@Iu9hc418eu+#Yd*pYCGF9b(sb z*ZznbyO5cf8Y(p4!q{Fxh-(4(qg>7Jx5Q|`XAFmKG0%OAk zlj@8t`lLr77qxe$zXvHvlSHLD{wGKBF3$o`DcRpD>@S#&e||l|E2Ma%Q2%+%_eeC2 zRi*fX^R~KU%hB6xCRz4INuhb#%@R5F>)Y|16T~(cw(hz}$+xqv5P5pdL7QW=O`U`b zTkUN*QnCk8oM4v)b%iX8Xf>jyfGZtYbif8Z%ia{mtqxuU|8%J#mgm69AdJ$nzy6uw z=l4IK5GBqxDW5LJJc|9^hGd#O%$$LJidq)Ak)B8D*_(=Kv%L`$d6=jWOE>Hom`yTl z8x?fpRFv10Po!4}l&Z0aT_x2u`^!*do3D%hBs(!3m7N6bkAiO>_&PyuZ{4-G)R}i{ zV9tbjU?shYzj(HI|L*5Mb?dW!B)R=f6t?kKBc;Q(S-VnHgBdD%j-hOA$1PVj=^g*x zYA*u0GggbeQulv$_JLpi=+FGMm;d3+UdyZs*|`IL0l-w|BYQ2AeQe|+m9dv3R{zLe z8xSmg{zv)viM-Y^s`~to>dXfv)WcR1KdRmza3F4}so798do>2hH!0g$H#M$|3jipB zeJ;$xuy5bk&YHs)cSV-XNdv` z65-EMvUDb`b2I=u3Za$=s_|vCa^_brnitP?K8n>+OhYMlQ&46iHCvx8gD5X!3I>4MpJ{mKaXGegauSARG=V{XA$D?EcW*c z+2pSm{c_arTJ(Ra4*EA}{M}JM8OGpjTPy|v65B=n!M)rbcH zap2tpcUJorRhnx-IHcUXPC@v|XZD-}*J2)5);qbVXBi6}W-)AloV5&PkCg0-^K4SB zocXU97I=6dXr~$uj23^PN1-aPmd^#*9W8Sc7KB+N()gs)HW9?Ho^J zvS-g1rFkWZD14w$0m}&8U+uV!Kc6*#2o1S%*d+h|zJ0r# zSVj25tLgm<+WA>r+>C339^`c~^&))O|155~0S{i45dp`p9TM{vlX@*^u=k3S{U<>d?Bcox0>vc>QyAld) zCBQWK+9Dh*Gq21k!z5`(4DVQcLtdvrlQf<@1%w{GBRevIOD1&usFIDyy}WaMv7Jm> z{H-U}iy;roiBJ|t%?dQK>i7LP z4qdSw6+WXzk!14Bh`1Esv5Fs}W57fJEGb+&v@0 zi_sNP=?;q8HjPC$oXEYoBRmsQsmTMeX)Cyyh%QqqttyTEMI=#t|ES}&~~moLD^IFiVFJ_X9&2*Xw|#7SqpAFGESxscw>x4OcvjCq)(RuJk?>|v9v zJ63jHwrQTzYS*yXxEoPt&gAZ%Kz$K}KN+We&EJbwK0_GW3uw&j048f#esSTqd+}$B4#7@0Mi4Cs^CcePR?_Pg6 z0Uqu*QWKwse2;P=63$WsCRp$G4C7=sd5|CAnDiWXRs(S6zp@n}P&t%=jKg9E{c$UB z0X?Eo3x99`<0LqSmYuJGok;@)#92qioCd&vvIAT#10og)>Mkwr2W`eEd;gII^pvEI zl_MVkH5pQ!C#D33{_x_2ubOYsj$e+s!(+uY>h}`dHpgc4Vu51!UC(f?O0Qv$g_JzH z3C`o*r5(?^!JuqpttA$<@53Rp%Pwibq=OGf@kOYLFOO?s{7*zW77r96FZT}0XY2i)yoejIZfqOiOrQkzau;nzpmTj zS8-&KvNe0$yvY#}Y9fb+6YC`0L|B1oJZvAZrZM37p2>ToOvS;tWlbz>!;vbVN69^> zDwP)z`Ww;|08*1-(UYp(H~;`@~q>k4?jhPd~o+ zaKcZ0Q=j+Bpx?0z|4h@->}_XX@T@em3kx(C8LL(zCv~jK1<83l%uiq~Ek!ACa;+t6 zU*8Rza)q~M={G69h@NrsTV`ic3D^yUwn~Z-?ybL?QXs@g=f<hLs2{!r88NDAAA?5 zuw&l~XKm#3UW7e@dv*fr&Ig8(LOQrhtXFe1PxH&4pH3kgb89oM40=>M9)j>yMY+z) z4r6WIq-35j`^^s>$K|KBdY4(?cT7L8-2<+|?8#)7s>Y?YkxTNAhlUW*bj^J#w=EQIJz`m|iZ^DeNKN zv{aXa9#w&p5gcYwH?_D$MIu?j+;g(8nf+`E9M3Qm!5(6i@BxIWLUgAN!FT_Un)2s5#sXd7joE zx2IEENGI_Nwb-woA+C?S%TvU)K9{&gzlJsiskcovE7NLbQ-#?kim5fT?wrZJr9=Bm z1buA6CX!g*G~ntZ#Ed`y;ef^;I-eGzC(?a*Ciff+j6&RsKuM9S7m+D^%Yb|0#~_)H zXV>b-%^{B_TsE6o399Fp?@x13w+f#whdiviNce+2v_H4Tr6I39KWt z1b{TFKHwP0RAhk0tszleARlSh6$G%r#iQc5;**{prse6h>1DrxCN76O=yj+!Y3_(6 z8sJ0R_I&%R2J0uB52Q7gq$*gGsu7NNjoCZ5sSPY?42wj1TLmqQ*UCxsQrp;0MZi6uxYL|IZa)#{}jo*g@y6S;f6>}MHBcA=64&GR>B zIVpr|HhDq`7s+-LT}Gf?B6cm27YZkyuXAR^!6y?kJ0Z=;>Zd@W0w8M#+`bW$1rV0f0whpf%zlb{nUzeQU0j^`w^OZx z{g$|ri41Os0+2D9gc3PNH~`TGt$^LUj}%bjn)Vhu%6GBFi$aww9T+@oXC*s?Ss|dA z9OUyTE6sF7s6^g_Z$+*0*MinZQMmuFidvr;^?md#6(fnXMZkHcA0qD%kb{(=A!>C| zw%BCFoglBEY^)oHZReA=f;|gVKPA2fd|<+f#h8Q;l5y~eyTtbegs}?27?C#rD?N~VlP_?RSB{z2f&DHp z0qhWnlH_{O}LyS5;iR5S5;u#VIAC1r9QdAceZ^;;2}r@HTVuF^hjd?Lx@C?n~PgmZ!=mG9sD6==;DG5_%6t8F{M-d%Cp*G4_aYs&>81)_7at&+@W zh^gYf8mkW+qtJ?>BseB=t)?#u2^%N;dWdal6A2&?{A49&$7=7{sGT#v{#w_$d#lkF zr!^*V7_4kE85r6eNjA$Gks(rL4+q8J#NsPOCc@3gYL0-3X@|I*X(c-BE|b7zcS95; zZ!z@X0CdWH$>H%dy?A+=v|ex2>pzeA4(s)+cZ)lMPR*HW7Si4Geb1K-rheTKpCr$z zUoBu3&pfmEYjC9u{#jsl?qoUhXf`hjHj-NKmOT5SRvBB;HVpx*Ne)ggT%Z^iF9tln zbp3Gqb3GZrc3^!PYn?p;>Mlq`YI$oAB(u_Tc-r3nmxB4v^9>hqZP26kgUW8q@KaHg zm69PQCdVfgy{<<2we6NOd6@v*=I%BB_6-dv^K2)GIxQ`m5jJ8@X zHCKas!6E|0rk(X&v5!k4JQ{I23k>Pt&DOxPb-$TJf& zD?iC`u8w9(D7mC0Y9^H|r9tGt%09t@O*I0dVJH(&t^;<`kPyKQj!LN{+-FKLFuNf~ zU^+%r0e@uTPz}q!|5y6IPu{KV#tpeP=s{EkdUdRb69zw8wEG;L#l(}~l268FRQ`sDU}yF2w_%%jM$ab85(s^3?I z@3&!doP-UTr@ZWouoer!iQIihJ|zXkh$SSO7ET;{h2Vf1-DoboZZ+&-zC)K;gNk^;%58`Ou9Y#dzV=I5|tz7CqKAc#5c+2Wsj(J#S zLzrW&(UuwbAc_J|jX-ZVde&6Ukg4R2Gr4p^`3Q;r(RS9TDB1z8EZUL0MapREFyneq zby>pdu>YO_uNxA!y=lsu8r-+x<@RAa0aV<|G+i09Ab z-sLne8>Sw#e%NlvNKtV%lEP7XR)n3m!(pxMk>NNC{AbZQm!b}L;09wIBssFi2yCI5 z9yeW1D_X@aLt34@1^V*k{I;-;Q7P*H?NmBFJ7NYZSqQm z)75c*yu9XGXZ&w?=lq&uE2siEHpv-&bziWFcHOjG_3W|7Ys{PRocFJ63aPNjp=elQ zp>${Qz{;D3fRwGA#YG@TqPUda~E6bDw9w`7!qr?5G~ps}-a;5!VYVhN+8 z{0^cmU`f`_@o`-DHZBDe@ytJPqulIr%pczfcUOvnKlV=d`F6mZXjc9)har2~uNH@G z(7q6jV0{n3hnxXS$eoE5<)+|L0Rjlts*&K)B9?diDC@2OpXLP?17|;QCJzf( zd;N>1ScPCN3Qxn3Mj$xw@soU?ZL>$~?)(}&Y!Fj0F%W40(3XJ&O!W}JGDDp%4#%xe>NDT!0R&B?{yA8V*J z!M5qM&8pc27%Ey8!RAsHeB|tL52{F&I>7A4j= za`>e97<%5>vhrqlyS-*QBLV5$@)K8wJ;+Z4K52WYBmnqNDWi~L?(*ch!5N8!JTO-OI zGZt%IBv0Ymq~^@8t6?)2l|7Zlu>lACL)I!bsSqnS2her_x1WuW4irt;8lELXwgqUqIh5M#Izm`qU;j-$D|XV;;i|i*Q`e0!M6* zg5A}k%zDu-X-b-`vG9F@^SCpVz?wfd5GgVbkW{>PO>{89OttIpKcsXuW7jbl=yKV; zHNv1!vQS_7M8o@%g@)I|^k(?yMCvc>&9zJ`|NFMp?Ym2~ZnZKO#s6*RfAN>?`Q!d8 zKD?f2?I2l{Ly@uF9LgL*XRJEH&zK#60YwIsC(p4Ru@{kVYY215>NgsyRBHB#GPQ@8 zMs>~rMPMBHz|W$9$Qpe>3j77wuwj4y>Vz92enB$xOUbmaM?5U(+@wXYw!@*Cd3GZ1 z$>}A?3DJs-g{e=;iQJiA=5v)j2{2#)u(qC2CBpY!Na<{Yi%pG18A@hzw1y?k8pkRBBgD`Nf#uVamg=vMK$6 zOwsDM9R{gLwWxza4A?v#HSPA&$bh75;k<9uOPZ9L(213)B-aaw6McbOX#R*~I0V{- zI|QyJFByqK{a_K~)7UVr5wL&q$|ndU;XB#YrH5BWs{a zD(6wNr6)Qu#(W+$75nI>1IW`hD>`uY0M36i?K!VSa`2(a_Rt2a;EDcDuq zD!#iM^C;7jx2@?s$1-Unwp@16Y)(~etkc245yh{Z$>Z>B2nhcuHpkaD79REeNU{0m zaKVzPxkXWI4J|}gq#jZC!%r-$40~*aWK%k&&9&<6lcXOZ@-Hd$T3EawJReSMp&*=Ao|Lz`i`* zHIkFugi8i9Uq%32pru}FTB>@gr~B*Y92n{Dq!}$XH))D=WM(931l{3SRF5iD&sq7% z3fQ|O*iqTa7AMtavvMZ)%fc}!Fd9u!27GsI`hFmiLl|X%QdkB?1|(kquo~G~73@r4 z6A*zs6Pzq`)bOL81Tp=M08V27ZXD0=_ePk|`C}xXd5q||)6oyV`uJfx86nE8+i^MO zUYjwQczDwvIMU{2IYOF&(Al34gki9r_TWtJwi&?c1{NMx#9GRu_R4L;q&331m>m2O zH3u4eM9VH!K=o=U9LugM83lE%ac8(6lz=d5Wd4Ba1!k~H;+NeLT0eH@$6Mc z{!uwLU_D2&jEH_SXpbB~P@!ywF8CscOA&y+IhH?mQAGpKKN_wo+yx?B3OISTZ&9q2 z+AQ5JDZv*WO$m4wbpZ!ZYl~3;>%YR&DEHlqHz%rr++tGtGUmr4Qo@mSPOb=Y5AP1W zEjd&<$6XdgLF?RFn<{7iD~V|)4m=z(xwkdkLEnw2(~+o!iJODiwH?&UG6vVQVetoA zFRDlok2%n`LXcPF$^IJ0Q5+yqTtNB9LzopUqJ0_5}T~T51DNcQ{zB{F4)vagE zhe7vwO8etTwdP%k=r#oYyuS6N8h#IDM@$6r=-oY zBsO7PKp5VBdVA8++^WO79CEieG@B-Ss5P&;NLQPkc5&OHHyxHub0+um-Xcl;0puPBcK#EP{J5&(B# zZz8@rUq!XDrdPz^|00Rc0C)pnZ+JrTgQfoaDJ|aJVEK6%^8?cSkhokmL?PZbobD{z zZpeGDS*JMJ8E%p@zr7v6q$IGHhJCU@bryVmutrB6g(U#Rr_9uCYC$B50~S4ys!icC zYS*!AuTSy_L|}tPM37`47^tlhB!#+El#~HH`vU5pF_972@EV7YuV(;PL?rDd^ZJ!h zcPomVLm*j#2YRYPO{q2^QQga2j?{6 z8b`Vg6p5)2w7P!ga7yec$~!U@Y*bO z)okt&Y;~ZQAr}yZ?an1*2+Z-dP3S6T!~SM^bz1P zQL4n+2}dq9VJf%`DH)O=UX=9hK*E3mQ4WvfxHlE&u8g|RyTb1w z#C_IoxG%fmD5uRANl6wTdv40oN#~fViIx|laC3Z30^xW})*N||ou|Q(=P@Y0>QMVK zYDZ;9gK&h&6Fndp#HVx~l%g<{A?lbI&fKwkmpnCJGTT4x+ly21%XCHO`eMxQSGoRe zZM(lcll{$JMC*3rcPpkyxfq0cGa^C1G@i}XdQELiO#D}FhG6YVBxgDTGJE#rDFv4k zrsb%r>~bZ6pVW=&i%pdQC>D-`$xYR%t_;a6y~D03D%?nt@(z?Lh0RkW(83;&u@4?` zG=RD+&u5L`_tiVT1FaqhJp;Ci&kC)6k2=Wrx5KcnfvubDr-DoFo}3hAMWjMScv#6) zOEV$qmc?<%LlMKW)!j==*G$05d^o#?=*rn1-AT#>*(*tBX$YjwX+z>>I4izpXap-= zGH6fwxK(O=Ip$74Hy>JVQy|Bej4hf8cz&OV^MhRGq_;^pPULQG!%@9=VC@4 z!8w9{s=_lSBnM{tFWbj=r@7Q`8-KpGQ`d&w$5ctuc2-Bq=Gio<672CJ0B3aFj}@3c zwT1Jz+isBRko^mWqOr_b_3dc69{9qC(WW7iQH>R>h*%S&Z#8(FZ|noLxcOi-#;&93 zdTWI4Z~hdLrE(Dgm11X^jzfq{p9nU}8DY4I`^VQOIQaavI>$Fpr{9kG{Y{F$1x&#r zi6hL%8q;nOb-1ZgH-~k4c4|#Vv2hm9{cieD9LBUQnXUQ@hyTp-s*BCJvA8JXUL^dx zBwa*qm>*@W2PG^iWV)=DW@c+}KxEO3xXrAAp?oh(nY3ak%3@-YVdByt5@*JQebzw4 zGn~Q6BaXfGuyHx&ewC9cXKC!g^o>f%@l{H z0;6P=J>qRv-{Akw=UZdXr55@u5(p@zM*cNst;l={r}CI2|L@EG^GTas+{&as4Eg~T zR1^*?8;bU}1hH;d)tqPNoKN$57)t4`ocY!5a8KlHC<`P!RZXJwU9v-z>`3^-kkd3u zap3NTd=vzIDhCoaA!Z*VZ9n-Q8B*YCv%-=t-}GLGK{91-Nfql!DEFBokr0^A%k0ZW zl<`;f=7gy6W(a;c=6-#<3TO`@ftX!c(t;Cav)TL(KdA{)Mdd{9$JP{JPN@A#2`3U9 z_r6`S^TC~4vN(0+nNix#?x1LkSUf>aaC7aW=xEYMib9Y@-#_Wwefi?`-%i1u7fK6LAUdtqW@^Gwt zO?5|1gB;;sE$|aN7$lal2Lcw68v=0`1lbZlgBv!id(v+x&%>+r*(6!!8(C%W>D8Op zr@47^gXQPSm^-ojAZ%SHU6s^nZh`VTg7^Cft1Q+oc`aUWBF~-Ih+iZy8SlaylZiog z<_5B<<6s|!?G@O7oDU&u3ZxNLrM7`2H0&y&F&8}`rhq&4L5|+C2a&~NHgtRnB&uo2 zJ~xSaST>v{egUWD@M?QC{e1G%?rzzeYoqRDaoh&?X<-th%%Na0f$_>F5WWcj^bOa; zYEIdiIuVL6PNdPyF%Q_is=7*z7eX-OEvT6ZHEt9(igT?16B; ztlO@fo7(KRY$p}mvFxkzzH#o?X>`wK>2Ni|_?rYI&^~RP2uO+#vfo=}oFA)_wHO&q$3doG5&4 zAIPpqMxba(@`J0(*54;a>BGAh^LA2F%{Lm|9tZu1t!`cg4LHALxy^Q;1Ib+)#Q|qh zh-JZ}iK+j}j*y&{HIOG0;J6-YjrWs0m()FmGQ*T9ri)ZsBxDjTy68gU*%=!n1W z21;&_{}SOgGu)IY)hw#wlQy00nDJxp`aHegPQuhnoyE%`&%n17 zp0#(qM&MMk_RV~}3}FIx*;^=XWhEZs>4ikzRs70cu(w%To@6!zGDIMi`a#}MWs{Lv zr^B)IGBt_4aT0KrvI5Fc{A|*(E_yxble`d-7E?`2?o~$oq2nbRwV1 zt)|1vF?VXW62L~*OlcP6kqS$kbEiFlgkiB6-ZnCOJhxnqJB8N0RSp(zMd=vmb@FOTo7T0wSQ3 z^(6c-eR_G?Y|}TjA1=oH`AW>I={%e*9IUlVhwNo>Wp{fZlRWuG;$dvEoX6e#LySy$ zQlHXwDXe}2bS`kXiaH#nvMq%gKvB68F`UJi%*P=ji|m~iW@IuCv&B*~n;N<(FZ-QY z$blQqs()CZfz;9?UxMJTVVEe-zI}Z6W;rcdmv5e`zs~4g8}_GjdhXhj!<@EBHopWd z@*3h)it}|bsbPT>RzhaZ;%*V0?usaE_p$yQU6+&r5PU6#F9R6cjFJ)?J&U9T_r_GwPEGWIm3q=m07)e&rkLI(!mq+c5!w|B@dQ= zFs19*srb)-p7yZhTdximL;lcS{01u};lWr3KT9U@EFe&bs~2Q6Zc8Zi)f;DWx4n?K z6(bW5q(l@db&TcKc6JS!^UPDx(k`cAk+D4ZQj^R3F*g+pPp0uvUg z4vsu_o+4T#|74$0SDj;1g%^UXSH!A8)4qK;O-Ha-8Xqsl+zG&{DmRG*G&^AG+FTMPv!i!eg`lAb)q2k3%2uSBjGF)` zU6_1cv1PRuzrv!;$>{92-AK;-`vl)v95LF18s3OWD&VTM2p`xE8H}wgU~=kA%OpGn zcWr-li{wSbW&#@+r>=bjNEZ7W1RKKe)t@H$UVc0=L4S**;mepGkE3Cwg6<;O)xU;W z$^8Jh2W~OVurJ}5C#L?*_I(NDBx+*?BqLjMh!lYHqt;DT1mdQ20zP&t0)Vpg1(pZS zn0ao=Vq-@R3?r|6B3ZJBPl2*9M;6OGuII!)-bp%nYtbJDJ;SQU=UsH;^5oV?7GZH1 zIPsa9-AOI*2$Maiy}*fIUG#AFx#2icQiU2=t(e3<9_NY(K6_O?wXZDM!bY~*vvHmM z)YPRkf(IFnn$fW~ROA~YISxfIpIIo$!p>Y7KV+#DxqSh42_7rLKqn$0Ph-#9Rsd@{O=!6 zR#|_mb@6h{eJY8qT|_9!vcjaQ#&Bk~al`!myyMf=kQc}L=k8pL4+Qpx&7Fp1g&HTh z#{?C@nJ6{j-zGV#m#D}x4pVq(>|iKm0-MEvAdG@)aJ}3Jc85hso)X4P)Qye_I=~|m zB1clHV|rvWK`aO}_N4aZm+1voIqv>O{moa&bDK* zauq=xLYQhf@!LD0xOf00x|i0Iz8ruNsKv0>o5ZOkT8$KM#oEE{C?4{YAWaNbS9PyJ zDgq#W#MQVWqhmuu3pJU(Sw0f7*El3}wIAlw6;IgprXPY~=6!%l|ojK2LKWg4-8aI?vWCWhHex z{%bn_Nr+GW>E&ntHDCRc-?9C2z(r&*@3g~RRPaTB4Z(?#kvD0zg8H)gtaOsR$*fs+ zc6i*+ZxV<9`|kcXOQgTr{BV9wwFsq6_xhK654^$M05pSx(ogoDvp+^s!^=}4bs)CHz!5;0{i{k2hd!ryS{DlSf~ZPH?m`>L0;HnTWWfj3fCa?PB`v%?ZT zlmPP`xP7X%8cj_Okq=*9T0_w3OFXDJVW~Gr-W~cjKR6MDR;0o-lKo5k#Q4$m{s4SG zL0T!m95VCJpm;X&^L_p0sph!cDEhe^a;KUf)@<9UH08aVizPL&BFv4A^^lVzq5kWY9t26I#Y*s zWbFwKw&czldme+yCL)!7luKek1DY4kN9GL^Kv~|SlAmF$$VE$P^q#1TNkiS@m(v3NF>72Jdf@0SrxCU10V zsa53x^&CrSm4-l;9YJKd|eLu14cjoI!B|& z`SMPgS$eVwWhRSyD%OeFmsJLe(p;_o|MLW21ak1`F%`+4t`>DTLN=*({Z(<03f7Ss z2S(hmra|k0J(0|@8{k70?Jyu39SsV@+29y}QmmXj;_xim@x04n|MdRk%qni!{L3Nt zs`G@6pP3+B6&$QM_60}E$r&h$KW?NnGbi%gHvdtW9DyKgF`Mz2i|zGoa5p&c#znr> z`XrJptSM((NDbv6?7{j6xC*|GlN-eGBL@I9dREgq_*QrU(qLn2qV7b?XP$|!M{asX zOnDK8w{Lzq!R>{c4Ex^>xmyQ}o=5^+D;YEF;ls2BSetm1OrgsKP{?y8caw=HmBh$n z>U()zESkcx@p}d_t;?c;h!#&Y_<4}xt#=zPi zHhbBi`22@U0T+Qkvx6r&i}S4fvLro_gJoShTLQGiouUrs_aeiu_T$>1du_+>3GkjZ zF8I<4L$T9d=^;9`O|Nl_N9wfMbv|$E{KSxcP3e*Jc0)b zu;J({b^RlyM)J#O+!-blq8VPj{BW{L9=GDO%Q1I~(r|Cxp?&iLmVVKPkBg4s(8?{r z%QVl8YFP5wyNY||ZH_$Z4c5I%({fG}@DikWJ3ldXjVMw|cm@{0JOe3qtT1xK>ayZo zUin0_qEv>_vZ^5t)B6u^PV7s%g^;ccx(^2`3IDA_#E#Gh!A`I`8&P9fH`*qc>`Kwf z@a&2>XAKGRc^E{pFnmV27F=R;s@DcLGL$&b;y7)h!eksmVV0e<(MH1X>#kDn!w|R= z)YCK6lxMZAqzWN?g(JUkPR9+1bUEZs5J@yE5qy$M9_x^NwRIxfD~?sm zaFM%pGbi%wg;NjBca}vPz@5tQ9oL`b$Av%OeQhj48AwiuxHp(4$t$jcZyns5P(svn9>Zz@YhHviN8#KcR5UNU!CU3m0Qmwmt*ep zOtORp0p=X#8sGz^_IaAk9Dri|?pK&liS58Vp8c8Ru@$l_&v9*Ge@GTZQ*^+o0!vd7 zwxiUlVA-e*B@Uc`PO1#!;^6>>g+1-FA51zU_Y>;0ovjKvk5zoE=5 zZV=^#)ss~HKmU2MHXS!=&OeX%0SnHTD3h0yZ2P2-Fe{allXjluj8&6a&F~$Z`gKkLcS$Hrb;MREC9D@||$MGaKL!5M{Cm zgpyni%ZcsM6z#${fKf7EU68#_HxX9>TSc`HX|mziWbBo zmd#})^lHnx$jPMugg9{?cSA;s>LS#dlbRN$ch6HsLbr7I4A+r;PU)y39yT{N$Fw>y z*cKGX!LD`e@~&YxQ>hvswul0v+ry?EKdoG)XAzY`+%T=jLP~1RPfF662BXOxhgBv#{ z>R2@*h;WeGu@;#I1Oifv(c+j>D_W}|c9jVat0lYq?AZ}}$rnWygp%8i)LnsDSXO6Y z2ZedcL_58Bd7_;CO)AvjQDSFUq~`LK zPn71Bpq3X58DhEk*v$RU<@HI={tJTr(wD9Naxvoj@b%#@{n|E&XKm)raofEYvzrj` zDJHP7Y1jxxVXzh0+^}=v*PFR}S&2&rx#=8^g2@F|C>#mKigmx?XklP+501QLGCEMC zW$1*=z*r--aoNFb2aG0nop!TIZ6;G_FfAhS~N6B-xd&Aa8Kc6*br;Bw5px`&<0 z&L2WdQtwmi+^k-jb!Ee(-3}AC#);g`7I}g794#yOv1{kkuN-zj6q_uGn6u5cmq_94 z)&O`W2ha9C7!!nIT^gGO=1Vc&EGnAi&e%V)o5C2e#QD+8 zym}|8TE4j%OI|{Wpc>)D`j7R~X=}~iaMM@D+%3DOR=3Cs+%I8A1dOjsfE2q({n=}V zqnkOCXTKX?YJEI8!-FAvqhqI@>9SBb#}Uym+%8oaHJg|Qs`DD0cOOVJr*M<5eI$80 zsN{%{L9wp+(fTic{pTs0Y5yLR$Cp3<;fOpm#SE3%qim~Yve`JdBSJmw3RExb9;)WV zZxDIZ(o$%}Nkr_nGF_UPzGykRRM}yt$%$+w4m3S(|Ab_hYAewm?L% zGFA_P=~X`G8)}xq-V7h-4<`hd^`}>_e>pX`nM(}%?TBaSKfM|b7$MeZCaQS1BvxT$ z;*qYHI$#JeUx}Q@wLn>KW~R0cwJD8TMO=14h4RH7do?P{!*k}hPqy~jj{>GdYqDQ< z1}D{GQ!H>P)ti)Du0>!^s)k3dN*W+ZmJB*}S6E8Ej;wVy!Si1xS{B85Kj_|I&QcaW zQ3uUl7sWUrD%QKfFRS7Go4=n_k?t0A!NrifX|^nOUeuhllcuf8?@RHBJ?rGVYm({rDs!@HX3~pOvqhJhj-WDrArK|1DC;042@05-Q{0chJD_+; zG`^Ij%8O*<(Wse4VP6Ybvxz|2Drs4Zh*_|wV)(F3Z%=7Y<`y8jGU!f-NV;OxQtPs* zdRTu=VXd@_>Mw%w}HrifYf&B<%C(0E@DkljTUlK*WQp!Z3XyShfU&Y_t_FSZy{0#&I?GZ|DvXc^-Z<*B^oKWG5>}?uIT#iv35E>v9DGSa zSOQ*bz8^lleDnGg*PE}IhnbY=6_M{OszwN*HqPYvYwsS4 z0?5Jd$&Bf!#pPKDQ*vQUbO2Y)02(c)EQD=>@jlw>802o!$jE$B*)Y|>^U z!Qd!bsz_lCU<>=kT7v$(%0jR}jw$ONIjz_2=k4|T6Jg+$_lL_tck9LbFcv z^215a=UT5PFA(2!(q9bv^L?sUULcB?HtDyFOAky5e`v(MC)O*vSqHL}>WR~M<`;;^ z&0tbUkseJTIsq~|Q+vPy6;m385shroHI<@M)lnfb9CX|sAqKPM!Z03pOaOR7uj5def^H zJ2B0fXob`R(&pGqup-0QG&c2MX9`;ZeCXmia4VjQEG*bSAjgVZc1SvQa9~X-DCN2l z)LvP(IUzjZD=IeGWB%KDMcH5 z{sUnLOTY2mLT7$_hvfz0jkh}KFUH)blOA_IlX*{*k!wn;5_PvtE}_=wcDcG#ET?g| zt$>9w?3Nr^7U}(2cpTxUD2N%#;o%t&e79PYWh*SuX)A*t5#xEb%GQ(kOqHT=v*MLs z!l^$ISo`<-Z~XPF{Cbra@Y=vXR4n`(c%S~b(AqYeMZq#xQ}YyrS+g z$Tn73BOD_pxB-h1I~Wzak#pbUqLaTyMRzY5&i_?hbPu-2VHG>wYruI|UEV+?;Yx(D z@!GL-0j?-j;j6cawCs7HIl+Da=PJqu(j_a3XiG8$dIWE#3qO*eNK)vLZQ!_71FQD< zyhl6LiA{%>8;KzZwtjm5*BA3?F=e~lk1K=jmhkY47YiIJlgxH@E?1mQlH>-a&tOuR z=F#S=7E4;4%pyrE4l-NCW7(bAx=3Y?G<)L8sysan}%&6|M%wuh;RjT93E`dSym z@9BH|cA;VNJ~uC3{`3#6i`V|>Y2#woQt|yM6M?sK%6@5FROf%j&;Kubn^13Dy!?~1 z>1(+HQzem%j7(`|#3Dy9M*}W41J!gKjsc^)7_B=uj`N+Bt*#7MB||(aj9Cw}N_Oqf zdnVX25Gm-&O#LvwnWxj%a=DdSyfWxs@@y*4J7NeAv+fsXEHKW5`(^FMbZMgA2Pg9E zp6E-tI0^Ry`y1#SNIBHE1FjI?$YfREJaC%tW-xd%7Uocn za+H?nfZ@zQa-_(=F9@lHC7-imC@<-seBfVO-mWKvEcTW>+vS-1)C$I|WzI&~m5f+z zk~z%rfD_1A%Uvvdq~tuFJva=H?G!;p1kikIb*ypfo8fI^@o153D>xEeQF4`pYq9bj z6^EUCgFNOivIxQ*3@7!WEr1(ASR7;=@ilP`40ST}IX@Mtm%yrE!&2rre4utqhPl0& zb-x^RFWrR4e-I=ZxQ5x&7G|KMX|uqoN^v50yBb(OHS(2D=)l5o>Cf8{D?(Oa4zL%Mu><&hlB_e)nl3lze8Y!5Xgk5{LSy)FQ?sl zd9y_A^Ozs+31o%wK9&VP@UAJ#8H)CG%ciWjOiS4(D?DfZE0=?G@T~Gv0XD~}1<+>&$W7b%C!M8R7xa3!Cz*WQxMyEg1Did27szV?}%N1#5f4J`9# ze9rC2Si)8j(+5ENBM@#RII+sA2_KKa23DoTk?-K0d2@(lxf-cR8J$#g3O@Kz@SR-& zK*h6uA$yP{X-N&0$mH<$-HX>B-k(a2x5}ojj=Ec`>OqM-ht&j_i5Wgmi7euxO4h>X z{RrA~CU@Hpwjhzxq_aa%lg%{MmWa>(6wqw0NL zv1<5V(bcPhA5vEUoowuyPFtIlb z3!@InUO|(MPcmh=2)GhqsA-tVBEdi#ZhZ7`1Gpn(5~3Od^Uhi`ogax-6<-4Z8cDRm zCv>)`1~Yc@PjcXX#VPrJyxNw(PN%pvd!yv`$*3Q(QOV{~!aV6+>#09=H|PH9xKdRb46q; ztzxGnAX%qCkLU7puD(J@f+z(c$>$0a#m5v%OCv zDYtDiwS~&}<|vjuo3OiHU3NIniQMg;!0MCw$FTISv(M9|A6V~ZV`*g5sbGz9+CNRn14o>85JAxa6wRYs2ke$iXoOdK2 z%~p!r8&@eKqjI84NFmq54?wGeWj@qUhgV=p56%*^oRR!&o;~#g^}KrtBv~#U!on`p z2NOodJrf1rw3c@-PI@!9^tvyH+^vC3ZI~sDFRncne#c=maE|tXZC-U=`N01on&A5u4|-%jo>3<;bdXE^b=V=zUgY{OJ#m7M zNE$M_uEZC5N*5pFUk?RUU)T8j$rQbN)@rIhQ^50>q3=KLLsI_p@4h7vr0jW+y(u0( z`YC~+>Ew{kBlOnpD+0l<|K#^Y}ms-eO>YJ zzwL%m5ia14DrRq=ZWs={q4{D$-kPTy_Vu6iB1cMv!W3gHGFxF0 z@&~HSjFf0{6n!N&V?I(xcBL`d<;deBSV@GlVDTA?>PRW<0~5rKH5q^eFJEpSPSH%a zn5eIgx|h`pfesX)Xg7Q$H1I^nqV|PKZQjgtt@s6I^4tVS53G0ESxSJDw1@>JT`<<17FVnkBP?rsaaaE`il&?L|-}e>o80| z(v4t=M=GzgBq9XjFxgmA#2Ol+GhbPtOETZ1>&-NhxRCTNvX!4MhRVk*DFRX+f#q;B zG?Q8cX8>Z3cMG0feSTkO;S2`wH7Kg#^~VqIPa+p_!z5i9b2pn5u4o;d@U=BXp_73uNJ_YWCYy|PDhEJbIBaUNQ9sTz zTSE4Az6{#_@PymT?h-l;MT~XrBLFLWDrn3)P*~>-zQ1Mif3J9!}(<|PKpHq%He7Wx+d5}D)v!?&%zU1 zMC61$_$ly4_m!C&PX`MWBPcyrtqy z#?>Lr+QOoW*rbBfu8Y#^GG)&E`ztSuCmCu!uwy293g;f7mc!8+3g3BjSUpW$${_iw zH{f^hP%t6VfAwo%&yi&bOe*5PA^PE$zfLc=lMYqfGAq|c{eiVMzro0B%lyBNuIk+# zX=l_EXP=$$iOJ|v9Ov=eAg4Rm+N@5^P-Ux{(Aig0H8oKFGi5BSqGB=I3K$hrKrsv& zHc2`)DoKf}-mLGKfns$Ib#hHVyV{VdNCWo%8tm<>JbqJ5_}E zw8<5i-i9`@?{3$MFObsA=|G$eP*68cnfRx45ahY7YsBoYQ!2 zo;&xLjJ1+YdLwJhS%OZOV@0#^uuZemJEVXsQjIFivOre*dvwfXQBw;JZ5PPWE3eEVajN*jCAA zyJ&OVS7UX-4;vZMi;#LY^v)s+G`jC{!lKT2L>()6?F!*()x$EM`KklRxvhYCOfHwOEUOEt*=~r&R?n$i*$=;Y ze=J!lT!OeQl}$1N;p&VCKfjzN+gjKT{Fxl!th`_brfrOqYl!yI1Z zEL+IQn&YT7@wt?Rf(~|v0z{Jivp`Fhb>^N*?9#-J^nn2ctEZUCllT?80lL1f<%1p~ z7H5Y4^5(CvPRXiv>jCx3pnDZKr;JN)T${-YyaIXb(l7I33Y!~tgc(%hGYBN7w=E99r;Gx$HSN(u1Y^_Mco;fc|UCNWc>kpV%?L;9(J_GR$M-EWDYg5 zqP(*$FnnNdOc<$u4fI8I3qquR$|E%}$>_{yF^#`xBKg@2?1JYT#8XAxg&Gz<%{R8= z%a9*%H`cAmWkUGu_qnVKdutSBcp4(aY&L+G-Eiu+cSGW+j(qg=)Hr3;dEbsERXqxP z_}HR1PLcjU^T zKd>La1!7Ua2IjOXzu=heGvBOi+-quk-4r0dnK+L-UJ<^eVebU%H26x>x1(4E59Jye z*J6w0v=F|K>%11qLV9vm1-|Z(`WcsN0NQevCAzZ1Vb2F4U|zaz*O`hfFA~Xm;AT3v zJs^u2_7AU4jAU+Ftcx-C>aE-)35fO;Mt`22hJvbq;!01)>K(x`wZWN*tS7_bN0hhZlJ4-Kk*yCy#Mg-B-Jc$V5^5Q zKO(KLI2P{~rKFB2a}mO^?%0qpZ!F%U(kZ8Y`)V*z!lzLyNjMKE`uVxY1S~whzrm?a ziUsGHlt*wRaMNA55EhCZFNn!a7_gU)8dR)bHweG4eR95qff}qzYqADBa@@XHUv8&W z$NGJW^M@hNz;XV(Jh#DjVVnS;!UCjJ{1LZkIPveV zXiL@>3V~qpscRFxID*axNj-=%2aSX7Ia-f&tWFJph9ka!k!**D`z62^gf(6`J{uz% zGy^~@DO-GhX44M){lrLrKYMyP<_9D>{Zr{v{U9XhRUBEL2-r%V!p=3WH3hgjx0yGZ z1_Qnnj`DLdn$}-iRsvsq;uLYs*jb_#n-w3A_xj@PsjQ!?yRRJYFMs~S9q-}+BoR)| zPH#5nT`hvQ->YS%xY@QUH*wbzu%#%LIVwPHc6X+^YP<&pc@ORjL@*O&ARl^upOAX@6wOOaCcy3~MB zzbaQU0(f#;MKwmmiC}?B$Oko;2MZjW!^?+{+!^5oOl}})m@hy}C ztW#F-o$-lJoL;;;m8DL%%BsGM`SEJ1b}C+ay-Zuhk2Y;OkXy&{DVf0~-5SsSJJ}bzF<=CPT6-&$GNK!t)lHOM%dkTvgOs=~p zbDw20*eXX3c7SZjN3QTBa^IFW|KG`Lmu`jb4}*TZhul(DIj7isDyw7lyf&Ly6>bjo z!jEmq)N4<-uK?97$(#<$gA35@Q9MemtW-Ht*C0s1>dC2OQ)r~M9Be?Gs3go16C>=q zq%iwvnaS0BlnU<3C%r35$X=-4Ws=?S{=@XQ?G$ajq(%CQHT2rJKSUb(o1PA*3ZNmP zU)&)rTv)V9;uM=*t_XVdDx2g~p1b0$xAnEu;F}L}(G!vTBv`s{5C%#E;rSgOu0g@O9Mh`qd{8jW|J zh2-8iqvJ?eZ89{02z0iOjb* z;p2>Wdzz%4umGDcfz@nslVRgTo?TD6BX=yXZ={FA8XYi=(o&r->!V^6(z z6h~@XHn}LH58ZrTNdCZy+@**gcoS|X3zBtFw>TE5N(qfR4lR+mo@AAXP%VY**;fzb zqZP@jq_aTzQi(7y0l-Rsc7d_5Sq+w)Nh7lW)UAYrewsbsUcEiZG{;MErpqyZBx8GD zA3SNduk#GZQ{rK5>P!in4N4vsQ59p?i8KEd7|Jp#Pr47o&Y*K`LRLa#ab$I5Lp>DX zj#zAJHH3N;GE$h(`POWtJYU3V#9~_p30hNog@kv5lsx`Y^#Iu5uY4i%CL4luWHOd+ zn3i`hrc<%urh4wRQTKXYGP{i;ZqeiP&&}?0UU#uCQSFHM*;;Z~PULQp0egekIzb!3 z^V^?Z3*0CCgq75m5jDpItAEs{H3GJJFgYn)KT1k5DTWw0dPH4h{i3deMF6HE`@Re; zPcMN}Ru4Yv5q`w;{g25YJFFky|Lrv4%iWUszB1@e+?_@wb6tte{y1nO%TTU%~?FvV5}mspQ77(7j22{IIDQ-~_&mmlAqLN?|GQ{%8oQf^JeWPdIBE{Q?$*HW(9mW~NA1YJL$AWvAVUWdb%b-Rg&K1p+_ek##4aKp zu=WTbjLDPU1a*$T^E&mgAC@w#uIs@uPuE{w+i^6(BE#ac0i-4uUU7&3us~10B${s4 zCpqBjB7g|Y72z*gVS!S~@!Vw|NYU=?XPq)c8qDue*Mg0a4!6*gQYjE;@iEx%}w5q1bBR?gj;d)vlu3ZBGfee8zK(-_Te-g;U?wU<(PX_ z;F3&Y;v09Ed|n0cJ#gu|hhw`r)aY}S=AcWbNJ3t8O-48-K!bod&nIH`T!i=B$rn_4-OyKRc#8@)3? zr4&qI1QE}>qN2`+!OTsCt;*4q=wZHmVyMI>8XsH`B))U3WOoA`L_kzXfd(6Zf1?}? z6(DtB5vcEcp0H`KT%Ga@p5G5ImcPC@E#`1Hd7rP0x{s8Z?EhE^4-!>e^#P#Yl3$i; zEg0cnQd7but2wf>rm72d+Rq>Bj& z_$ZWYJU~;bM^`H$kCc=oJwS90AI{!!-KCwPQ)B;PEW)r<0u*dC^au&h(S_=Fgsi&k z7a!i^_)n`%x75WihTM&$$mlXH*{rthtS6aP=fa{Z3nY!JZNl6+le_JPVNsD_jjX0j zkLn>IqK1QY3qdg>{%D*)*7$sp@67hda(8+QmqYYOunRFgX=J*-`0(@eaykipOh0{i^ULegl>L=gzAJv^l6$=NL>^OATZ(Fl-FeVgheGD@ronmxnM_g zU}m@L5Rw>`c#E%A00r1cx}PV{g3~LeZqFSc-!08~81&~$bKmXoi3y9KK* zhTJcEHRF6$;E)`Orlj$@mvf7}J4jJQ(Ra+`xi5!))D}17pkQ{7Kccq17M5JBB3Fs? zU_#Cb6Y)h;cqXuBa3Eng(}6Hza2sX&#vc>_X(lYT8P_Dq`(0b5}0STA|A2-#-@8Ow7HVsn8TrwQQ z#rVhT<+QI_-KrS5GU!evBeQEQx;aeYP^U%Z78{>A3Uq=Zwhq)(LB4eDq|7K!97CbE)Wuo#vU%n1GfjM&S=@M8Q{b_Iur0s<~ku4=?H< znfPYil_D-B-;Ts`2NE8!;0pVwuYLr4i-{>sXO8W|2ECd-ydW%{#ck_!ZQT8=(<-Mn z`56eZC?+j&`!nKba=P1Zm76A^Z z*6?nAv7cO@C+d z*~geIjtCG|&Ie#t1>8y%Mya#`QMTg~6^1*@s%AF;4y!ScpOr!kvcL2>I`hahuIRp8 zbZ)Ai$6}uYpPIhZ_uq>4E{5E%YUH<<^gnAV#6CPUIXDIQV?)|7*!Z*bNIdKj72=A6 zG?Ni4ooXtFj|Uc4vd-C2dXe!nU;%ZfUF?iiT_Dl*Zhv?ws+Eae-i=-BOh~?GMPMHL z>#Te7@b~lUHz${)yY%gsWA4TL`NyCA;2K564+MaTjX~JE8o$mGL0Tcrc&NZnocVR> zk%!6=3x5kAjH|$AqwtyOrF4c!pMsG`NaXz_p-U|ak%$@sb;Y9^sXIb#@S!Us1BL-p zvBox>4|o^wGo(SnRbdY$Z1NaLzRL~`{Z&=fd#bwrd^*g&-KeU1GU`XHsuBpgbu%0H za`(%s?1VGEAy|(SKvd9PbLzJVU*O{%DV!DQ6!`W)Yn6`!!L?1erHmys;!&^2DV22g zJ$;L95Z)M4uTszw8!X8o01!4BzQXd&YA}Gpqhi-2Oq1>GhJtKW!t?|#2IH!|o!*^T z-*YpWemUqqx%9x++K5e1D%QAEx1}jeG1i1Nc9d3MIF0Adr9X0ivMVwIqegNv8P#7l zsB>>jk~USA-nOKbAl+n1h(I!%IlKZ+9;K$}cdygw@>K=~%=075{2*HjMv_3VAtq^wL};fNdlIlVn)M83D8k;^gn5)Ai2Cb0)o{1$64Ze210!wuV0)?hlNQEZ?eTKu&U%kw@G=aR)0$booI0>Z0 zXoND1tW|KDs@1BK+#*1S+b5|g%%P`>II9f-+sMFUyaB{|S|&Zcc>UsZ*t*^-lztfW z1DdQlBQU7zB-X{*3JB_&(d!aglDcWi6z7#wzwOdZpbjP9I7oO0S3-+b;EFQrT~#D+ zGdXBn6EAfQ*rm(_ilXxxSqKep<85a(AWr8aIN2hYQ-M3D#wgVkgMs5e+afry$Y*EV zKBg^Sy?OI``^QP@o4VmwN8PPf0lpjFxOXweO-)C}o=nT40BUSt7Hc(}$#cW3N5jQD zH{7fwHew#<40;1lt|%?YOnZdjoekloQWja6GWgI{oXE$Dhy<=<(BuK5O#8_9y?}88 zpV~*tEy84Jsxh*BomC|gKN)-e!s-Pue%VS^Hm&SKGv9a zTVeI5ij`%NK(JG5GK!6}c=qSmF9wV1UpjUnLkg=C?$!grO@SL1N2a|AD}UY=Lfbutx6A`pDY7b@(!M5sxO3|pv%4{u&CZ(h7U z9kt1y{`%(aDd}aoxExnU{gKP@8{$68h}Wx0&LWz9F=4msrsb+_nc7;;%bs66a?9HH#*V`j7$qrN zaIO`gsBD@Wy2o({rRnA(OWfE5i}Q}189OC{A)dmrTYPOp^ToeH7WT0xY!s!fyCVG0 z|JYuiR_xQa5*%M)tSh5_Kge>wdO;RJ)h*c56*hyi)DCEdKfkb5&QmIGE1bo%x1c>- z5VEUCX-2B#`SbOVN*3LONO1Kk+anw@Fo5uf3wdBU0=orS)@`u3q#`2IH#QY+h0o<= zJjA^iMK6Y6Z#aoAD7^>BMfPI_uM(fUihq3b{$!U>ZuH828S)IRvgUc;#HB8tsS{Zn z;Ob)2p=4IRsO;?Oy(&}Y#D8TQG-Yz($ALflF5m)4mz#%&Fj>0fL@U)gUjT_3&bo2E zXbqNXSR(*nVzM9AJ1T48DXGlb zDT-pb8iCYo$T;UPQ*2jaOC{it8et46{V-_qLsSdImx|$#C2%QNJ?gjv|PpR;rav3QLSxiW>99$8)0MaQ^ZzJGq@l}dc z>P+ZH+)nsu-lWe6N%On0n#y3;{x-dRJDujbn;ScFZP48+saAzZ!PrB(svA>8^p2Ju zI962}pV>H*yKRX$7iJdc3r z!~(yfG!IJzayWew$E-JVfcGe8y0~06iej?RsWwpj*6HLVt4Fiq4A@)2l{sM5W z2~nQaX%KTq71$@pbn@_UsBe~zTn@Tdr{C{5$87b9$>qL2-aK8z>pY?TFaGUTqm_~h)vgMHe#^lkg= zR}~7^#yv}gf_v89r9YGRu)TT{OM7H3ebJQ!T_OP_$SSGi4cEY+SP=X(CmX48KQh%y z9}SGe0E916E>b{Xv`oO;PA?J>!o@&ZdtfI1o=pdg;nq_I7XIngi&rN&HGRb)Uk>{7 z4*6>B)FMUR!(L`TH<(ZY*9m|nv42rB73Tz}ab?wGTmvqTu^DT`UM99uOvzTJ=hEr!)C|+aXM)roG9|9hSORxTkHPK%B;rX2)x< z6?9|)Lm)!+IrfMv7XM>6BsnS~l^YbLez;kP03A#ezb|mX`}co8dHm!zbxkhD+=~Qt zb++wH2^BcN!v>q@mc`sE0%k9K@%SMzk-I&1>*x`ck>-dDI?jH+8WkZ-&YsOOGS=oL zHJ`L7#b_~5lZNWmG4g57IX%Rn1cl4A>l(0%odNXKfJD*IVUYI=PKd8dB)Y(qyPo%p zm+MJXZEp4CUm0|to_qy2xbHs9K2Gcy^=_+^h%Q+gG(|L z{Fo-E$7P>=Ahc!$w6Q}7!V*$w&#VS{Bb}z|E(PDG|NdWvD=D09cU!%0j(beAH%@TS z8W>INFsI$yUG^U9xwk_h;Eq!BMBDb#W+{ZH8Ux3?hGt~|**!+%WJP#pa%tpQGls0# zx-oW+Ie8oEXp>~>!YT4?#>j*!H^2a<1!<36{6LcC}avUb)is=EyRz;r4sZ zobwL0e?;57(gC1j*giaaO)ZwH^v7}vzcG@nt&{}k-++8Y` z^LS~i^u;ZhNsc<&u;G`ma$`HZPOcWuiVW3sM6~2eYaWi@7l7%JS%?niAJzqT$f!w6 zR@jh82WwBOM%2qJ}GB)qVF$(wGUw4Bg1Mt|cn^4E|fwu)9 znq`?vP+v(fg*YqADr7UbXEjqtg4}oGrTXJdP%QIhy-mCliTDuZ%zGsV_t=-JuFGF9 zjrqSjs;(c0{29vvb&l4>GpJRDbaa5+z2W?=q*so)A`)0R_50gFTf@%ZsHy6Cy%~Xk z#vxio0F+B&`ChHcB-y>{ta&0gh#kFQ(grnC;wi$plPf1$e(K;5Jj>FlIHpINF@T@2 zGfb?b)T<)7*N^YN-Y;c|?rurojZu$yu4ch_J-jZ5)nQ*$K8~twl~_!F;%kxbfwOqn z#bDh(3jt?Ol9jO$*|D-C7@&w;B7*1AEN+AWf+zu(Vw8>{KIIu#Vg{53#D*y~Y(^5S zP@cHdxNHi+7b`#Ls;O2vQ|LmI9>jbpjQIZhw;wJ!_2XU-_tT(1TMzdpyVgyVP6~qL zaP@IcNX)e&Vn0kwHb~CSdRrNvwUs2K&?}%hD4beUeC$e`>;>vUGo@)}bsnf~V^9`;Xc?xY*mGb2~YaTm2QkVHbaSD-dJO`jSwRNSQ?I9wyxytOvnPa z6VoaIRtnKX5|nol^Z|^aa6zcBNSdP|1_}_zM+&~x0m%*8BTe!3E32^Qb0D9LNExE0 zn;bj0N5SRw%jH3_lEerrb~{hL^E?ES)qZU?NQ#b-suA=wK0M zd=}Y#qes3<%{VS>%Zsf0;CuBKgw0?2j9sjG+W1jBx-|{D0OD+r_S0-mzD=2E70g%We9PwtK9^ zMh!GqonNg|O^Ljz$d;G58o`M?Y(pd#ca~T{#m;*Ku6pc9ryFCvPBEg$2p`^b6{%%1 zJlBb|r;g9t6WSG8tjlushRhxaaP~ zT^@wzV;;qW0KDfL4vODvp!QH&`7PDH#11In51~9K^03`-v{o#&BycbvOA8Qmx0rlM zhBZmR;JO0RSJT+{Y_7&^>$WnbBp&clqwSAKqTXdjD?R8uh47;=|$#l(Jdfm4)kDl2VEC zG959=3g6l!C-TxeB0p2yVHEorxu9%lWF?fZwIYV9$u?8@T9Il=-V%0noAhL9gjkRU zKcLu;L2}eUF$_MAlc6Qt{OIaDM)Va7;&eTId;IMZ-Qn+QygeK9Al@jmZP*O!y4rF0 zG+;yE8iynFV#6x%q2fedTxx7cxhFOcwI+LkEg|ZI9ZAx59Cn8QcCvg5!vE#Wk`RoU zBr6W+#Mv1v6xaOOCnMpdS*lEZE10b5`2N+mmwI}8Z_RHEdeovL8r@hG=Qf4ty{?rM z=V#qm?zkU^Zf4;`9=f zO#Cbnx$0XVnVDUuk||_3Z?+O+9n~x@u^-{?%HJCHptTofaT$w@t9s^;PwSg)2f}zu z)nJ+Am4t8H8>&#v8R}H%9&OVzZYekD$!Wxoq~Z z)~MvYUXn3=-Fn-*r|rr`ao#r%eE1X)sX>s!CpU_gYdZ>RsL!G(m1>%?No3%|lrv*i z317tLQ}*0BI$;CLujHghEvuRxqF2%~11=B}%uIEN!1{cIKlUnUHRugk{yqKc@$T)# zwr#r;5ZxH_sEBA4M0ej-OD{@8R?d&aN+(L|Qno@<>+g$XAX{W#A~QbA2VHZ>}X zEir7oR*?xLHz7`)$#r8j6~x4q>R0n|i7npFjpW6( zEnA^X>?(@oz)3w-K1R*m**TGiT?>Z%Gw`r6EV&og>SV?CfKCQMYZ{_6Wo)rDnwrl> zopr~gYk@1CLoh=w!Lz-0*6eYIKXx9-4tH(F9U%F&C9oKqq0G>=WZR32)Az6592cE_ zE;jj-y|^*vQ38i-+Bd}>2f$}A3+y~hf8RG-WwEebn=zcoOScO>ZH6Ud!%+4jYR9AHlX^OKlLwTO8jzJDaIx0^| zMox2(!YD^fL8_P;rc09>+e^w)#+jZzsDZoXv{Dev1G3&NEVwc1A!I}5M4%##t$cta zb`DH*YBIWZfVIUbtSYAQ;*|wYtmMLw?Lo-Fnu%jM-tF*vNydc0oRaG~14UcoQtmAJ z^P?%wDy*=;@noT#P^o9>bSBTtBTsG{bz&Qc`!xQ?|rVj`jV1{CHW9 zcHWc5y)o!PB5wN;QuYV4dRTqg&#n)Y&q}6x6g+>tQ9*QFcGIfC~_$2s2QAWUL9A0w8pZClQVg7Q}sE$ zq{zLfDRDa}XGc&KSvBBdsm+;G00M(+!eRYt>WHvd-Gm*FhJ|NQ&E$y~YBe)lcBHV< zq)6|?HP@^~W8(|H9qbyni?kHff1AF+k#AYYul~Bc!jX^Xb1(jU$O}A5h#PGbR3dIM zrhde(Ra;<|r0IV3Ba{aM76<2XV3|tTwBtVT`L1_WRSzcP23QqZ4fwgT)!Zb(0>z$(K%TG^+nDG+;0QER+^kMe6FK|g zxrr)bB!TwC#$Uy>EcrSqr9L$DzCFIXkcIP}|9(E^Q9|m=y2i3OzXE$F7iklr5 zFOz64th?ky9(E^aL#QB3y5GThGWG*LOjC6<<4VYqlf$9LEvOptRFD&k@LAJ5Ymzw` zK~_LSwhoa1?g;r(B0T(Pp-|c>@@Jz7(gk4>=`3z=`oGTrdT7@Rt))V5@>)c96bd zRH9K~on*6$Mb6ZNp{HQmmr)4V01B~zpR3GD=9!QFT4ehRrD&fA{rPIq))qr#2}}3O z30!Pq!6BB*p_w;_**}uu%zwpM;7HFyU5aJnh!eOQNz}$1R7o)Fz!`-aQ`L-K`H<3t zJ3`tTdV!g>v2hyZ;s6@6VP%0~n>Hh6I}hF(Y9R@PR(I^ov5?p0Ryp3gmr95ov9Ta*&$5UM=btu z6U5;pIL9XuE=T$4$K{9rx~TI$^1CtUkC)Eg+>ziZUTV)15h`4UI#Yn#Sb&vIL7<^v zug(VmzfaGnSV{J-P!i;0^B41Zp5-w>2QZ@v!G%?&_Y7C&n2}}Y5C)UBF$Twk6^jXG zqDE>0kS_(8f}EPX38V#dQhqF`kwOCTF*S+XHGNoKFP9KXxD(ml81pdwBb9MbbUAPt z60@54TIZptG_KeH2czLQlZS1Fb+e~|XTi5KL93{r*}~o|;#+vx-2O z9&PTn1G8Dts>wiqli~{n%R6wXfF_ij5NCThbgaH6t0Q2BW#>OGi-pUl@Xn}6V?hZ} z-?i@C#%ce{E4XDZ?%a##LmqZ5Sk;R!arh&sAe+`DH~_%4hi09{O|d&?^02*-6rh?d zg$o#!BFG&qjigV|9d|PuQyZC~x~;gMJ=9FGVT&z*A)6&j3TS9aVM<~HI|%0@MPO#u zMNuam-evd`b`le9h*4S&cw)o!Z=)aBEy3Ka54<((G4+9d6aMsRZBlGUz=rIb+icoh zI1gNM+>KX0x_tUu_M)nGQ_!!BX>UqZ(Ybe2GMA!;;2C%8K^-k zJF)-5;%DQEdy0I4m-rv#;EJ-RBHXGEy=`3dR6H;A29E$sWuk+7evNh%gwtJ5t0uJS>?>fy23lQ3MkyqFiQY{v?9Z6Wa&GMjFyQH z5iYe3EN-(+SY21Ks@_>oWETk;eW3IUf?4OGkPI8jZ@CUlt3;B|A&=H>{+XP6>~JEavjkh-?`z?1)7`$(CRaPuQYJp~iu z^xdmB-(G^-mirV?H->O%zjhNbXQEne}hRAVOvBDge{FiOFrR^O7a<=0zW4j#|V}WN|Bs&uyx|2Se3xv z4jaa#2!{FT+qbX3KRz56afxqk- zt{6aX;>**_UJQdj86_|tMeb+(X$Glk^t#BIk(guMz9+BmwK|sax2%@sodWEhmUmd` zko>*QiW_4d#@o1Uq-$5bcaJ6YT^)7XN}{+SPR{|8nmCgeza3A!jgC~82Ij|W;m2+O zR~KnKt_TGsvx)e7NDh@sG+op-u?TRsINlB}hKj-zO}Bbxe?43={=xF`=O2mLULU-D zq|Pnr@0Rb5@4va6PKEoVE4Riyj1P)9RwYGAfhJbX-*l&sCSux5l?%??!Ku8s;A$9m zK_yae6%hfe74RjX07B3vaWN3lO=i~cyTE}%won?={t32@WL}=FV|E_JnsSO1JDOp4 z;iSn1&+ZpQYOEM10Y8p_oz8d5kCz-{yRT32eAGi&d|{s{a+bEE2c`BbY-l-HMBh># zyZ5K`meY9Y@b!z!paLt44KM%<`gqstI0@tlOl;9=RgS*X<8L;-`zr$%}Y zz&cjESxI$tR)Z?+1>ClxLLNmD93uaZt4xYCOG*%?L#DT{FD2T0eJ#&MJgh$zVfQX^ z_)PaqO3M|Sa5!^PA8QG2uTF3#4>L;&t2FbC)I^6x6jv{iv49STSXORFuCdu_d&@ZR zvIu|#I&9)=Z6aF>7?uJUSh$=x2p*Zhb=u1ru`O;4+(#TrI=Fg5BPP^?N6M>d`|$qN z#jSR~S9I`v%%k>$8ohs)~LmpJi`G*LJ zuqL8L7_;1DD4X2v(u-W&DWqCFw}&&ozZr`4IAY)gO`y%a&=})WN)8Ykcss}>O~|p8 zQX@PQ%o1!BS@+3%Iv*+`D^g*(FHBv!=#F-vYg*EBIv-e02y<tnHokE$T2>L24Ve_WZSm*fbj9iI7ND6k|1~QmDDXTB+zwum z!DH8T@*&$K6Iph2%Qh?51slo{R`t%DULdn(ATyfMY`eg24f>B6k(0+?;NjE}bPeWf zMdn{QdQ$-@fl~zIV9JlW>HRma*2`wfagRFf`IrY?jmVt1%pyrEs%H~z-A-o?dEi0_ z*~RJ%C-UO)RD3E1p$yj$oCmaHdUYg35LmR{aEKF7pU&D3Az^GiNdzsKiGUcawhrdX zAq?jZv51otzax=Fq1DI|I3~$in}*8~5E#sS=3vtj!;~*B#~ppbTZ8_5*W(Y#6MnuP zMq>SD_Lq83arA*VfT&eAHIxMOE;X2#4lR`u*Mmr?_ zZfpgWpNGVeVl@>^7A;}Kz9F`idNeRa_EBP+KCk!scD*33TyK+<|7_52#~TkW&k-vu zO*+m6hFC1H%mEH~t7-FlRA)#m1;C*D8^T4@g0FgZHi#HTinha4kpYIaQJ9O1S>jh% z!Wx86p5my+k)EHt=A+b+$=AT-iIzl>RJ6TTeqc~kEEItYygm`(MhbQgt5Ksq?ccw; z=uPE&53SFJJnW&>M6)gOlyWzLnq6cAH2R3ZOJZqjGV8*bym&ADlj1PEuezpG`CvLS zh1?DNJ#gq%0Z5zBM61{mUrGT8m!unaWHyQ?4?n>kHo!<2 zFlCwY9bgdN%Gxi3sxQR}e<@G+Bu)6IOB4PvX+rU&Co%^>0T_ESKe<8p(KXOo25u<2 znhUw!}X)$8M;!uFiJ>&BRe;c;)%x(2%;CdYlwa!rKgj)yBOhxhF$ zoXV|YXQg2{x;-0E%AOM2Mx{ChiwWdvT?Yx%97#S* z^(FgSbIqlj9-DCmp454OX92jSJ4BYal zFT)!7tDRCo8CxR(DB-#WVQlzX4l0g#*AU$9I0An00 z&v}2ZZIzPb%|wH2ImV9t^Y>q0umI$F%_<5FE+U(=rL;OnTo);d~hKyB(`-&{sH!d8M=ju9ZZ^! ze4cp^lEjnV5w2c}YyG*Gz~W|BCa?=u3D`n-nQ8yq{^RB7-QIiizA@-gLL+K-n`~M( zzSN86yi52Rr$AH*AhiN#t(?fiw!=|ZmQO{5(+Yv}c2q%nR5M-+)p(~3vnQ__3FQMjI;QRGuP?S4 zeXkeb`IyJF0?2+Ste(wsBOBBji)sFlYKP%(noW%7!g;*7-t%YWZFWE^GCKJH>k^p6 zZO!uSw5k#T!M)46xl*#l*O1*~FBC#2c3Rk(hKc#uiBWB2qbrGyEX&g;sy#c5VOLV5 z%F9PG?NO`~SkK0ygzuNXUMvjT9ZU6m$iu?hWwA0B-?9v{G!wQ1;CAg!^?+FMObB&2 zlZRams(>NzVHp`LxrP@X`@v@XM$%zxyko5b=}&v9l=1W(euHn>Qn0f!QWTf6=ZK?# z&9N5|%k3w)40e)fW(i@41z%&~&Syn}3&Wd*J)idXKV0zl#JiPJ&j&pug^L@#D|fEd z<_3&PML-w^TUt?D3$C@rIZornFNb`hM&Og2WdasR!^!JjL>qGT5@5qnHLvPslgU+@ zp5TV3q5mLp?Afq{&{a)j^EYflWXePgen&+nGRFuCw+Fj7k*kvwFUq+Qd&w^u<^Scw z#VI51G0J}&@+V}e*bOVV348Z^T6|?1I~=&m?sp37_@i^`_qT!^RFnXQ)9~Z9;<^=~ zdLS8_x(NuN1Y7p1Rhg6&9ShH#A?Xb$bTs24P*_;AT@vtv_Dh-x4sUi|jNWN-o5#Uz zLH_JW-W~Ebj}-3psp6~m%c~D>FRS(IO)~RmqaM?e@mpRfeqJDwq&X8A^#K<&)k5Tg zqwF@ekd{To?kR=1-ro*InvVd)#%e!DlDg}Dq+(-%xnZJR<=&;MxQI%Z2FNk-IcW$* z08ZdiVZpH>>RQO`*^3XPG6lxX9=~;QG|$NK^ruKo%K(cKtbl&U_s9DSJ>@;OabwV< zE{I!C7-lBO38j3(`RayTy}*7g?rf@FIg=N698X05gy%ny6mRn28!fsGpwwWej4X{*O!|LqbvyfTSz8UK%f?)7gc1#5}yo&M$V&V4%M`*e|!J_686R2QPj9N2o62`!%iA2|V6> zjWw?^9`?Y!RwvB-zPxn2YsU+$>^aM3Tr2Ek(m5p=5NGwwhdw4TC_5EM$^^H%Ms8`f5fpw$q-m?7Vxa{eOzf!&SeAvT^*U0tAta1rv@ouTU#e!q3 zeLjm_iq?nPIh7aJ45OQls^hTwT!g3UNXX4K9DGO35o}DDa81}BPW?N}Dg-rAE8WaP z!Ure_Veh2ar8LB4EVEGFT}dVYES!Qfr#uq2YkRvNm(bpu)9cSwZORhZdo59xvVr<37bq29bV5+)R{*nCRL- znMw4~i;f8aPfA!}lQg`Ku85QEq$rqhEpgVsY%X9o6d8?(wG|zh0-9sN2>>3cz~YFi z;JC;N3^>j)W?DbId;j6Wbnu-rgj<6iREK~NqvgJ=2j77XO>wQ(4j?RLWu&Ux)-)&b zu+6Y6K&D(L@q}?BfVJdOGsQB!Z7Q5WGLC9h9hN9ixE7dzMhEWMP}+H>x*@foNiv0> z5&%$ce4>Ew`1D6EHl@iM`TB=9+c%e_g}mpOZ;kpLj`<%El{5ycADQ9TD_pVC83AL# z*QQeZQG%0^^LS|o;l~v~^oi489iX&vF=XqzC`~5UU_5P^c&_PoSxSXv*AhOLGCPVi zQ7pz$YO>h5+3{Ie^YKVtB_**B*jgDS%MI=H;rQ<2qd4#7#h;J)9o9(wBkkONW$9Oi zJ;Kth<$%-EIhZ4CVa3@A%5xqs-mvPPgpgS0&-L*ib?GCsK>}!lok#`$sM@;L6(94o zNE7_|U`fQEf|2JIOx^*OUBUGrqZssR7~n?&i=1lLnoRbODT^VjY*5pO@7}(@EL*tS zm3L#%qtp{%bsE0HjzHyv-7She>bT;`q=rxxfZA~)58DfGg`Xwcgb=5(Cv1?Z8J)Um zF1BuL?NMe`v0s=H9C=L>8A502G~BMH%59i{s@crVK$J!6%y&>lk8kE!e5vfG{v@Wy zbf6$N{QcMOzJ~vG=1$P`e8|J9n$NsyLL0S~WJzD|Tt}SVR&}h~VY7@YXY#PEh<;{$ zIN%zMo(LbeBKZ#V8#7bch@`qK#gTb78(1qiU<-3^rDkRiW+=i7up9^YkCF(UIVoz_ ztE(IsDOWv(szSuwVOG+x7Y^`$diDO>OY(NR$1?bQ%!6Kwd{qdqcP-8U--@$Y;+le% z_y<-(wuCqq^LTNR!6y?XM_@4PQSh(Cm1EGcSCh0I0yeaTUb=(BHK9aNO`aH^0>dFT z3QRa!zU8rOd^Xfk;>#+ZA|eS}G%kXmEU^#p(j*!Q)VctkrX@7(fd>9|)9 z^?c03xCT3usY9r)CbI}r&XoyGL=~)FwfK$YOdfVWB(+i*7IGq5S%c2gF9Q-kSwsX+XYpajmgb-;?xMB$9X*LcIZGIyg-Um zn0zm;gs55iCQO!YF-h#YXHF zcrh}+V78Srzr7j$Q)9giz;=`|1hzwzG&t_4b74r7UV-3L3zZ64N?Q2z+)AA&h^|;> z;NTYwFf(^UMC#om_9J_?BONNAB4$hlurZPpfe(6u6;inNHjEASzZTQ0(`{f?Qs zG3H?J{ z1r$rCMy{UT{Lg>;kBdV&9CPQJK)X6#Ll^MCJ);U z_|zGH0mcJ!+i;aj_Y9pVr3x=yn~Vr#6Pe*HD+fbk>z-zXrnECTqy`CsF+MWy$L6wV z4ID|Z^EFiS>^$~rB0ho1isbzwkzAPG|J(oh?-%OB-s`}4KIT#4^#~-j6x-rYwK+># zuU%>wd=t+k7wcq_}(jR<%zPi8( z<~yF_(~v)5sX=nXlj!s1Swh2YfhZwIpzqa+ztHe z9=+@_cT@4pY&!E{vJu8rF~Nsh!!|G(X9*`Yv0Vn9f-L8riC*#zY7*Y@H&M$`(l%St zHzO=DeDzjQ{!(+&&myWD-AVfYPt8f6_X0N~BEA*OxROQlx*0$l_?ujA)}-uHrG!1g zpb%5_nI#0k59H9caVFKNp2Co9Q!_Od_@JkzK*nZxb;n|V(z8#9ejQ)IEm`rnb$}Xg zK3o=M@7bvvV_twu+udyU_POs?>l9;&iM{R!Hda_(qs`$YmX-5(@x6Fz_YQ~{ED2=g zRj((c)`0c^mIkCe-r@~A+ z38gGGYl#?G%n!4I;~ve-GzVF6Jd@+}=G4H&|46(|PGLZOgE)cBfn>f2Up5!F@BZ(< z|HoxXcDd6(`FYR_^iP@>?bcfYtLIg)OH(2=BJi-3eLaCzRw<9-^}&hX-wl@Vu|*6> z?z#;P$imxZSy z3Am4>orLa)KkCxMt5x)3A*CKr5JYGB_^<<0tU#iy1>O5Zktt@jv`}lALQD!6Mq}EVy+7Fksr0) zuqg_$7po6q^k!P#e|WcC^r7@!-QgRf9`&wt#3EUx*~RWQlcYLauKo1I@7C@DNU(7t z4|5h4yFmIU&w5s4MjE8l%#zq-LT7KPW78yH1)y~aRU?jq-9hYXoMuo212GPqLU6D8-84 zRI%q#&qJ<(1s@Y)HXyng)`t~pLzIVa<5Ulbqy7V)a0n(*4wS;I_!Ut1^m_SbxtO@# zBhbDv=3ye~z{$dw;Px}@OhgHZlLhOXRuw1@Xg1+)8Mkko_)X@=I9Sv|an#@L zqbH0aBILIB-ewnb)P2H@fH&bg6KkOOxWcY%HrLH;=@w+f2}6-SkS|q|)fv`mMr0S9 zXJfa3M^i)f;{Au^-FFwas(UHfTZ10P@_4vXqZLbaIROWqZr>5u?Zx9Xhu~JZES$;1 zE`Sn#RwUgg%eak$POao_nq)K#XI;I_k(t(9ZOgTG>4_U~mS@S5O?vpjbwHIK<>QyX zbTf{-_JoUCP)T~)j_)qJQT2XR?DJ8-t0>m|`ubx9kM(e8GvTlXLAuOhg9+VwIz>kO zT}9+f9#RvlZPzMvmYD%1N0Ujv2!K$H5GJ)W;W~t9#setJJR(KEn5H0prsbq;g}(KX z97Nj`yWq_r;pxA;`Ea4>xmRiSe9WVC=owfZtaDkFJ(fKOW|c}dhVYAG*J{|w7hZKI zM+-J!tgiuwnXwQIUrvP`5)D4H3(5K!K_R?I{&z(ERH7g=0^5Hr3q;9*Jq1rPcm%iz zJ&9JX5x=99G0AA*<`Ig%-HzqWC7$MVsp&nVP*O( zQ;IY@V(1U)(QOLvP<3E5RLNduGnpb90-@9;!X`JFp{YQgSR0kXY`KK^!K@)<84dFq z*8@%n0GKSm z1+dqI^M?()B$eFuE1Th1F-f{PHpoyZYQTb25&dT=TV>ld%#cCMl!0~OOR{1;a%2QM zk4Dr{$OnI}W)two%ujxeU7*+ze!9nO1-9UecHe(}_v7U>G2Da%KO6HHMDPb%eGemH zy#wpHDizTJlL&hvqeR}DJb`T^C;rQbpcurWO(nL7nOcE?A2wZlk8n6uq&)K%Naf@6HE9oIlL z9TzM_H{B*%P7$}ri9GCTAk3dfO}#gUDd&;W*4-CH^4=s(*CmvwLaLqbdRoJ}SeAk@ zXGH!$7$d>X6;gS47LPHv1UF1gq>)OZ3ZZ3*MnqIb>OW@`b(7(4{sYUaF2NQ1)qjp( z0?jNpaKz1VkAV_OtXt5kB!m+=vS^OJQu;np$g68`!<@)1-@)*RO1-Q!t$J`Q0DpU5 zY{id@OU52y;`et1E6K)(8JKcFJ8lS<7K>P#^`>~4b+rI=-cKH%0`q&t#(I!YutERW#yuNg~+j~I!*^uAk$p3*p zI%iU1R{=0sf|-Kp=|E%htO%Xdy6YXDniF|(8o(z`#+l0!_0YhfaL(8a=0OvpxLR=m ze6H3tM{vO^n2_PLVTmZ28l(iyGt8k9s*^U>4Hms{1#z%mq@=Ut40hwu2iGN#`kxw| z#`!O>#GCWOtBXI)b_Yy6jrkLziDr9iX(NLmz&iZLxp)g0v2}fhy0{g#g;T%3A8-PZ zJthV*ooAv>UNED7^_WAo%O}eX9))~WV0El3bst(N+RfO|HRxYViFeZ`x#rz z$cug1M$SOubQ&MKC}hxjX7&nLl8We08I5})3C{;ThGFaXXFdLyNW!P>7)uyfZ%_Ft zKi)%y4Zw<`b)A#(#bpW&Hz!gj?@4KV#9`eNYxU+hOpbF7=w@aCG8-b{DV~3V(Gt6_ zm=}cYLaaNzJKkInF@&$yHy=01#eU)Yan zP|7&!OGy`I9C7mbIUvW`c$|Fp{e@c}@%abKIa^YdJ91rqTBxty9shEPIwY>?(~9c< z_Uzw}6&3eZ^mh^Y{f1@vc|MP6Jek<{NCu=zIJKx%;5){=cwMwlocPTZ4OefQS#qJ+ z#A;*{DH#?V6$H8CrJE|Vinf}dEV6lh*ksyVORhOL+7oF=wA14OpT&2$PJB2cMwlrU ztSI|ze%kqS{J6Zigi!sx)}N|kOSV+&UR8>dayg-b{hAD(h66zQ?X zSyyDKHWm;rTq7WIr9>8E1m%UA-Y;+VOR`nm#R$&_JqRM`KuA=V+5*Ci^Ara08W4l1 z@{}g;nn_GdNhNvG30+>n>GbzrIy!wBn+SKD7z#1AT<5By}lqexEGH;AM!AgaF>e0 zal*cN~DOVqqF3R=&_>W}0B@ zOq$?;vBt3Uft{c;+kE&&VabI|h+zjQmIqFo**1r+$kkk9`mp9*D zT#|QNe{KwVQ16dXl_WW}ZGg=tTY%Dd<_gy#8J1{7iJcR9arKqYRLIzipl7VQVe`+x z2d;VCM=eIvz+_Bz$_IW<$L1v0+VmM~KAmXk{TYDM@d}`RS<4K{Y*|#o^vxAAQL53VVhtCGGUT{`0@MzG_Q9_ZmM%1~l65(S$c|f-qFVX;`!${DP#Y`6&imYUF8PVcr&6CG_%7AY#p2Q|66s&<^mLl#~! z_#u-Oup;vYWQd_KwIXYb8Wi>cF^#$aA5$TDXb6d!gzVHYMeJncjA2wMpn3lNwng}tZ9!lQ&umTYfSZ#HB<;hz z0V|v&pkq^mj>Lu$UmTE}^1(2Av|y~TS0Cxk>>x_H*4{AM{qXw7iwfdy`@@Yv4+^mI z0TXODmy8m-YR9Tzew}K49jXS4&D=fl;@uDOspJeX6eC^iQ(#WqjiCicmhiwUI+~w@p zt3^@3Ys{M~v2!y`0{mq-d#ZJLC35Mu58^Dx4mlNO;8k2kwxqDtB+hITrAjbs3X~D^ z5L=_nUc3fTibbfw;>scjUMx zu^BLkny+vJK43ClvkOcNinNa+!g{pRQ5}`HMw;oz_h0XqvP5?mfZQ1M+u_GQQ268p zF2Uh-IdE9^MdjlF6hlCSko`pP9#d$X#=~}l!q_AMRL*;U?I$fsX~$>jt`e|`kG=A_ ztr&7Tkg31XIC9(As;SmFC4&XNMg9lN5ps)pX>lGU(<#&PYkejJFK|KZY+N@wykX zXdMd~saZc+YXUS4iN$D@x&?d^$KjWx=(00Rk|SRVIpF#B&2Kf08f9m!7XdDtzD2WR zLei`u+$PW27vb8Eh=KF5lpD9=`Jjhfia*dFRQ(oDtiE=2gOOWW;H&3Gf`+qsw@Y0# z=Y4-G$SCc3qJiENU)H!2UR6_Mi^4b9BK%;{Gh*UKV!)Id)98$-B;Wb4&cZOWuJ|sh zu<#Z^{m|~xESIJ61Lnma57VH2_nJj-a7g6qoxa0DUqW8QSD&6pZ*0c%L61q0*dAGd zw3s9023wmn%P`KpZLm=IDjSgmrg398e#^`29fv`tAM#@cFJN2jwcXnLBBkxQW($mt z*va(Vh00klcxBNhM#H8>GCII5u#F45gPm~HnxI4r`{r0#K3jIa8#oQtaSj1U!AQXg zem2QhBt!;IyC=hPYtX~=yFUNN*Ny!Ph$p@1i(A;tuZ>iKGkKf~$KOGb>*%Rn6LD_G zj<9CD;(Q>eg56?FC0k&%B_h4y!m*lcwq`<#l_C?o2*p=$%ZBy@{2i-1sQonx3I!`X z-9%cnnR;M2ZOk_6FWv%Qe|Y!$;;DZ7%TIw%V_srE#LGSeR_XhK6Rkqm{#>>d+s5L_ z1Bj&rRVh|&uO*+)x8sT7J*o&)@KM}+Y()vZwOoztrU&YF0j~*(E%L?U^x{sENpmJY zjpQX^t@2eMo0a5}(stBk0eE$uPlx16Q6FnK++gTO=*B8Ul4HI;-d(oE-jm_HIqG3- zzPrI{O3UPtmka#n+0Ue?!qP>Qe19^W$&25Q&kVAjtV=Xj2&9asGVnQR~qp(a_SQE1m@i?N}*t_=|BJQ{==*7xJ0qudpW;7>|qEUhq}R0p0L&kSe6L)uJFyR z#qBP|xLyTk^0-Z5Q`igx8u;d|!nh|v_UcOuSz;#;@oHHM0$|lu$fah=7zHL-BDPcj zXaG}40`FN4S~Oe>a(v7LRvNoaVJ{!_wM)+q9wMrGQWgCj);HwsE=&LOF^?)MId|Bl zxG;ry?u#%ar3!M>a#=$>m(`vtC-Sh(z`D(fZF7nRIoCSpfYsF5)LN2>i2pJ+g`F}$ zsi{WVtiT3tc1H49Z59)P3jA0b^=#ExeK$E=Fb(Jtcp0n$il>yS^o;XZTcWTPU;piR za{&&PU;Qi5hA{nB+4+r8e;60KTX7ZwM-`RdC2Q(W2c(<08NxQXF0j}~;Vf>&S=JSm zee-g)rs}YyOx=$ovb$x=aK@+Ow13T5IXHBx-dUjN5%Y#BgOThQ%ZP|ttXN%{v`slw zK{0Jb`vccaj#313xC4rCAO_$1+V zM|$vS%%iFpe!uqMZ&3yN<*m@v)CO*g|5 zc>uehhvb(5IGG9cvBC--Ax?gDndcefoc{FNl2J9UrHoX&MeG#9ws$tUXq<|xg`)bP2&sB!N>jNc+29DWleGbK zFhR%yUZ8K!$O*TCu!L-bq#a`KD?R}nnSqzsZ^4Ws-1kiNRV(;nf^TU_vi#$R^Achg zcUhL74|-5Zs6CxovIL6SSr(#Bu_$x09ki$|v?A&vIFXkxxO#d8l!p4(hTPY1!-m!C zx$EKpDO_~82BP7JyXrF{vleRW8vfc#0~F_HMaR#UKC3D56=zHSM#KY_6y&VMijjQq zQID2BVRa-)JlQBnAUOT=^7>*If49N)`IrY?4n?|weTy|Y_{?L=2D6v4Ebtnd^*Hc= zoXF#>6jnyh28$Urxwi&gRLwO51-ROk8{3P>Hiq6PKBck!6WNm-nbH(FfvLh4@l9rC zED_*2c1~i8sqKcJZlsC$!B_Y|9(gt?C~P4w$JJ+l2P>Q= zBU!*j*KOb_ycPOpOmXE_TtDDm}~^@gWpJoC{s-s zEZ9Q{%dc=f0E#9@B?Jj`Pnm2v7#qoFM4}f-5FaBRNu1CRl(M<{sbFgPDfL%F}8#{4j^XKhH2nLtw zD$Me>!Bh5xZ=M(6V^014PRP-CuVyw6NBoOXR>c+$C#u69XOpzft=K^YqrJ`KCo zdlE_qQ+Y>XSOSCFtT~m35D79w0_LVB9?YSy378^^Vp0UQh`vv7&O{(M;vz_!NcD0ZaEKu^4?z1RPt^I{+qds72*=u;$G*>l{)C!e zEc^6Fq-2wJdLSrxc`0#f7qabCHf7k`9BS$*a?*fyb0A${Ff67T6tY-CjaaM{xaVX_ zNB}oArl4GtUDip%ehTWR@(G>AAry4hCdN4g9CAcaktDw)f0U!!9u|n~k8toV4E_+@ zJ9a=FKfHU}E(*8#XPpB-%?aKb_K2ilptV(J3W>H}o|e=gsqAE0N94F3?l?G$mkwl~ zwgav<40S?sR1ZO0V~et~`zAOF2XdQfscK)`>di@+U=_QM%MQcC zh7+b=UY^kONk)we%*G-t8lUIX*bhYCS`-AwmeS2W11qz&BO^e=%}W#hgt3N%;4n9U z6k$+%IF{2Y{45M+qn?}COdR-Z9cDjtYT53AD`Bav5Xqfx?DWn4?#;zE;qIg|Zj5<> zy3Jdb2L`q~(-Gt4j!?ZiF8?N*m5BR9UCt;tkB8a+Ygv+l=cJImAJ0Nfo6v);JtMGp zvScR#COg(PSAc~?O|(FfK+m#fK^X~b2w#gVn=)yr;DNFHRJ-Ft9@8DLv7`Nd!k^$f zhIeeXq^|krO2B&_`NpV+(5?J|dcl|35h|Lq^`F8ik#N_JEwPpQz!?b4h^8_zoM2}Y zaGkDoV*3+JQ?TT=)&v_9Uor$~>`40+Y1c4%rUoiSY^7&OAxjVfi`dy*WvBgob@YxX7$M!{rA+UarROD6y}J_H0gUeny*4>E_r$5!5C?*!Gn#yhHFf0V$)tO~TQHg9ueMZIgf|= z4XVQ9ZuvM8D#6&RohrqYm?R^qj9*olq(JVFWNS!r0z6|GE#r%ssx5B9PGG*Xq`@>ZNj4KJ)E!JqN=va9;GxmsSz-bnllhKauWVXsOLuJ+ESfpUcvKE*k zAI!mKMwm{1Y}O$-YJ_YT-~92_cY~Kdo;SEco(*|eX}Mjk(G4doheELvv!8{)T54A# zZhFF{#!PO}I_7|Hgi!c6tXhsW)%{oy(42r!fMiQw<;ki4%Eh2mvz|%0%;&bjTvvOK zKpaK6R!wa=Tan;Rs*}0+TI%F!qxdXjNi>4PP9C&C;b6^fJuJR=6O}G38(yjI7M+n3 z@W(9JFbgAv$jW~a*?u^d*Oz(-btkfY8uJ2?ZFtehcJ(D5G43hQxs=0tw*)PgSQths zDNT)>`2DR2-UBm720TNVb_g~X*sCmC%C(p-E8AIRcb+9B5WFBW0Oky!%$#X$!S7;dIOT*7^1qaW24rq_SlE~j17S0A=_ zms41ABffn$<}tyo$+*Wj%t54W#rZL$Da(kiutqH{@ZK$P8n<5QHnSMG-POlh8IZZ` ztd|IjkFe&l2{Vw%Z5M_)}$0C9-1QnH0~UtH*5 z8O7o!z-zFmaZs@_dp!6d-K>DfhcGRCxfv(kL}tv52!VPQW?FuHe_2(?cS+=*jd@To z1^aVIf1J*qK`mLxP{XlT?_CS~PJ%_{IguB?7x6RK*K8>V@2Cc4u0p}J*CG*!;U9+e z%5X|5kt+ud93k#R7mVYh*)C6MHE$<`Rg#c{{r8dX9AT^{krB2GK!kN4Y$-!%%N;T# zFCVGL@4vrneZN;`^K8U}YHavjiehq;5~JQz9S%rJoW+s@|Ab-AoXCqOLY_$E`D%lo zFp~ru)?^T&HW9ORO~G|%Q?c8*2kCTe0+F)f%flQE*(j*zV)zckx&ev2Se&ZK5f8jvV#^4W8t5 z)*;m8^=K5|PtxTrdiL9Q1?}?OZ zw*DHp0?=A&>KW>#Dme}2Ym@HlUECP-s8Snc+v#a<*N%U{RN;>78F6GfV7`1xYv)8B zwi}TZ7YuOdW`Y|zk=m8$K4k>B5-wQ*?q!cLMY?32X_KXzYK#h-fo+7*nnve6v$&K? zg@-ni!Df*1hc6(Wa`Zrph@-6;HRM42QBK>tLD64VcTXJh=BS4idBolG{S?MRh($)b zNFY8E(8*J5lsSqgXY%5jRG)|<+1NG9VQ2y?zWsGWSe0lDn_F4M+Y20a2CAsZ^-f5@ zAdCc@o-#-F%E1DFhujU2DiSggr^i7vOfLB-6k=-c@biDtTKxXQyEk9I zyKJWpcj^tk81*M48r}>2{cgqKHm_?|XW+ZI6E>rH`aF-dxMw5s9|f;W*%ky(Y-l$u!iAzg4xcu`oG!p?B*imxDK znFNjuZn6l!V7M52X~rzZ{D17d$(CF@mL2#jInYekZlG_5w~e5Jok+e2M$G_RK$U|^ zttF|Xs=u$jVf2PHqrHZ1m0ZeXu4M3;gHAXOPK$H)?yg*n9IN|61*K`;wFDUen@;N4@hS-@2oj%5&^qPOC7m^c8HLy1ea{^QH}&9{mrmuv1+UtbzQVck5DM$_+dBcjT5tV=U9+#=FY z!F{}RspLsN5ao4X6&IBz`X2QIV%0gCVvvFGSv(yLzPY*V(}9dG44yt6_9>EG%zl{| ze!w{V@+S@~lavP<@%Q=Da#|qC+kH4!mi?hVoL@h7g>CKAVmDj}g~(A)$(S}Tt*#A6 z7j-U*8+qYlk3Gq&s$`{`NFpZO@Q`a_TaavC1aYt_gcGbIA6YdKpp--4#Kr^SPjp(g zK3y@Afdv1qS1j?E^N0~VGuvZv;fa$oy#BD9w$#=e?%;CCy?ntu=e$gAib9sCU@#1l zx45N(KuI29!l6yv$qV}eeEE^>g%EV?D#K^^3QOjEzlP~1V?4<@N$@3T%_G|mc)@#x z(Akq5*w7A_fOJBze4^N!Y>7J28NsY~t}6n;jK~4w5Wl)eDq{6SgYiH4C*PuZ35?IH zk!jd7QhpLBlcNqt)V4YAaX#uac_ywKLME;PiuZ zWH-bWMu7B)^ckgM{fHBdmh+}hK%Y@O|39ssfIbnzKK)Xj^B_zP#rUlSYVttQVNL;`H9(V>p4Qk!;69VyM$jReGgv{*>LL#SV|K}PS$_y zuTHR@^-q6)_iq2k$@(U*RC=$hdVyN6x-!R?i&e1*vCwX$ZFei|%e;lfZHaV`yPLR? zYsm<)0?TS-NDfizVa!HE#&m=VAA>8l2FZ=zX38asfft;&>%g>vj-3z0?Wne8Tg`DK z{QE6Ih9$ro^`U!1PH@ChoQ!2876$xPH$rE0@A5ZH(MR|r1`LMJA>^Ea(Ij$M=nQ3& zZzqov_TTUCxmg}_4xx1=QLGMC z4D77sKW4@V?TCb)(w?)e5lOpXCJ!SS2~IIudM!?6biX3`FwEw4*f5G@_&Wh?vHM%d zEmzjuZR{IS&B|vBQIX(IGwh46b1-_>HSKy|g0^DNxQ@+_CfLWgUvk7jzo-%Y~R86LC(QWTuJ^!Lo`n^hH~!4;^&kD zf_o!+(JN{RpZCl={POqLr?57AqiXW7hd9C<~sfS+;F9?3#=i(io>)CQwbW0+JB zGq?ULszD3`0!Xq&6Zv*9T^8Bm_^T(`hJOq;+bhYo1aCbODAiCAoFji3 zQEU+jKtyVQR!zOh&dx zu@fr)AjOz`#q{FcJf=^B5CI41qownb@(e7%V$7K^XFRdD-y_-!CV~)!i~w z7fbFYj2)JKTSA0w^06W4`9lLWgvox31=(?jueD2u!7~~h=itBN(86-I$F1dl{(WDJoG`cddX%j zhQiO9-)_8uTv_zf+O(_0UK5 zIEp!X=zwuV)4^)bmIzI{6M=XZdVw?o0S3V=SYsa?yW{wG13~zFaKrN9{il;V!hEZ6 zb!E|gDp!I4Cr>6S*ay_;tXL5=un_A&U?xq`LRyAWE zB7h{3uXkZYRh+P?Sa^!6bCHmO_qBRnjKDjBp(PPIDGJgxBdFnr_%xpd6{ioEcqjTz(%;ERDc6qfF$dwCMH^nh5v_Yk^bc%X5;Wuh+E+{Z%w9_H4U zv{2^porBR0f*iui_vt6f0=nRib`Tr`v7XH8u(82E6liX$4LJozi%lmN(u&=;#JlI1 z2ke$7h!^o8iMX!3CR~Lj1nw6;Ke!3O0s%)#5lu}WPEZ$p6JYAwC4VTIQoq4_?`d89 z6hl*Mi3mhQHR@R9#8Qu}TdHE=PF~tVJxK!=p5#IZc8EsNL8c&$+&C*%4`E8+xLB&u z_}a7#3HKRl!8)y{uVYb=WPM_cz4bQoA(j|;=PMpr6ON*@|D9oN1<_rgi;h!IYUsGZ zPRE=4KUWsr$z>#1VMHIx0W;dPH>>Wjk$Qr@8xuBf_QH+aParViY$1g2LdJ$P`YaJ| ziYmzn7HaE}w61(aJ&3(4LS_dXlD__SIKuEa%RUprMl#8RLI{LhPzbV`Qp)VYl5&V_ zh9k(E>5uC0G_T&j`uOR?Nh4XkWvs3)yOX_o_N&3uZOTt-6MGCR%rk<+G)L~^e)h_f z!HmULB2w_;c7a4MQuc{mwuo?(CCDJQXmfE%kO!bw&HX41`}UM1JZdn#4VNS0j_si& z)F3w<8{0YY@qmZN$}OT>f-Zi3I4o!s`6)z*%3 zz+$ZuP8=J#n|5f`DSHUzLO^iW$sA%iJdV0$_;dK>1VfaNCYXYq>BM$;nwhpl{G?#66j`e|k0zOYs35HzTo@fG1Xu*)2Wt5E%lhs#<4)aT=Dl2VrwT6L zv)03lS*=!0j@@nuU7}iJ7L(*VolV@xOLvGG`AFoz7arC!9IPhpFokijaY_{vlq94! zF-vMh-l36iLtO|L21m=ORwSlV!(TsqK6xn8Eooe?`2)iE4Qx!v_Kui?j7tb>46`Ym*fL&B z(QS&o0#oHa?j{S4{K39>HXOj7_deZtm_pn-vcQ^J6YNw#%zM<9VC+*K)W~LNPLy+` z-%FwUSbs!3Abmvo$LSR36uISuB|{TiNo^1XA_GtG6FNogm75BjLER=5F=dX2fA20qqyupw^l?W+C>8o^h?)wj7!} zxtnSzx^9oaGw|U$Dorybk?h$lQxlAPGoL?dY?3WO85zX^Gldgple)l;5zjZ67)#h$DuW^25oRX?1+yzC}`z#Jg^(#?UhCM32uMnq3MS@t{$Gl4RKJ7 zBfu#;fK=z2$+@-|#gRC`8?_E5q{F&c#F2||1R5cBw;Vk|vR%5djbRl_~nDY)=RbOb&=(1uVoGQN+4I%K5c1_Fq>RACUY8HJErw;_;8 zcSO8}44yctZt%!CMjL#TiqD5^U>LiJ;vl*2a|Gvj%5kMqb)ZJqkkwOUMhDA{dx(rj3IeBQZmZ z63T&?C`mr>WnwhTkRoAVG@d30dSP=pF9NR!%P)1fbR!MSQ;;0I~_t6XYNJ$N5?C9nK`2**mpahyw&xR>C z$;nNK&rH(x_Tz~IEw?Pv!IoqMzSEBl8_iOeOYW6wZ+4AqNKP+HNYGOg8ljP6 zTy~CPdlGwMBQNZzVY43!AKKw~M$Q%+9H4NlLLtLB1Oon+YB4ZP$%c}vN!23H>@4kC zkWxbu;&mi{j~ZBo5(@vJ*v}w|(WabW=Q^2YVyAV7bP!5;vV`M97l-Bbe9|R+i`n`0 zv);v;J3X;ZD=rNjL#bvtf@xBuxN5PQh5)40wjY-Jc1>PTzZ$y|pdJO`gTL~>5 zEx$S6&RHRhe00)m`61TXRU_Eh;WBA-}T{877P4%81_% z*UaqW|+Mn`}E!k?3NdwBE9r|o2fD7WBMuPnM3 zz^aJ{4jqx4Oq-YG2x*QJe6X$T^2c%7gBy8q9sqS#fRJi{Bj5~VRjHCxi9qFi{;72^ z#E@q38#!8(mJOI32@^ha4^712P7P`Zm>^jLCjyo22-`7^gkbbU%^(5wQ#7=^-Cv#5 zRO5}-&BrxAVejTP%`<_q>qI1#G7+G*&7PHij|89`8o4aCep?Ax_Ld{gl%Wo+MF&2L zH65vFd_TlS!A8QqxU7pM3U6#~AUgzU6REH`a*rgA4Iab~W>L^Oac+n;$SEQph`1>^ zkjW38h*Khj=liOWcAegwf?L}SX*?|X359`Vd9@*Cz2=HArYKLgzMWH+tFVHEuN?Pp zzak7ma0ZT}vekeA(77fK>t8jJ=weiM`H0DuqLV+!lt?~S$uVM!)R``Rgm`%0iEXY( zZOH~HI6g(JRWoWYH9|5Dk`qacie*XMi)`ZKUtXQ2)uvk+_2rs-(Zm>CrX`!zw%rA3 zrWIPf=&BU+rrIX#oEy2Dd*HLSU^lEi2UPz2w5>`@glJLh&=9%mpo^3)CXI|b4U(Wn z1WX8=XN3p?aa28_*aU%A@jINgHxg#aU6uizs)tS@48%#|oN)&!fkHh) zExhrLda>kQgD`&_wD8AbSoPQ?NMQ64xtfp&_9+M0JY%Y>SrtRb9Rpis8;QYFH9-u> z7Q(YO%=$IkY|gs(rCTA~sXjMQ*eP!G1_r<0IfvBU@u|Kth&^6vd9A-TQb zEFPBpgw6tSl~8Siu;RYPq;PX_QqDsFvmgN25hS;MTMn$Bj_(M5VGsB6CM}76RKM~uwjImMC_~=n!y!|8whQY!grYAL9?|PZcUR5 zi;qde{$cuj$}!eIy`Ns6nwj?tQCu#$+c1*VN5sWnHg*fHS=dl>unaTgwtBzgC*ek} zsl<%5Z_jQCY}3{do)2cKe#x^tTym+oom>AESK*0afcVLAIE*%&vWT_BgS3kkvLHc? zNl_gwHU!x|l}?Qz9BjTC*=0ZuX^!RzJ0jx{Z1so%IdvR~HH7r&u@_6LYcUdCM@6cTW`9TA=I#$6t*ursik!Z_52P#yFImMUl@ zKWR`7zXH_)X*2=u{eWCTu!j~df__8lftcG6mmsbVLKGc`$jUp%0-23l+No*%e42gH zw;t^-*W9Q6G_9Kui-JQlhg~*_q*`rordrIhXc@{X75DMt4QcwRfmR`v8xg;1mb^_* zFcJ(FEECQ(8PRm8#IrO9i6%9y8Q+8uHNjy(C9Diu!*Y?#gt`FrhQ$j5VzQA3?u!g z=)TZ8_AByg1M1I@zi9!9RBOSRQc-d@|P1_k-u3F{Lad|)C6&J z=4@?|%{ani?IMH;LHLow5?~FcIB(p>i^o%s3PO@q?afGBF68s)q9DQngi4*Q*rZC1 ziKZCW%F>i6dLV?6Bz{QX=)G}<{8bh%oGRmqX&5>39nImu0m zM6%?5>GS8*3;B5^3xWu+n0+Ws5MuT!IQ(Td{28GWg5XFU;!6=?x2f_6b-SWSkKBM0fQ4*20Wo1+UtTuB21nextl;F@%0tF2HRArRgGsv!esRR5A zaAKTB_GAKo%J=?{51&svF+^@WfIqDH2|?M6Je28do(Et3amS5Y(>~dn*D81VChq*U zI1CSkof*WBp=E2!NiV4CY-E7!UqL_XJPG} zu)2tA2aR|NKAr?Zk*wfyAW>6bg3kU6Ug}S@h#=oY&bMR#Sutd(ipt zRTC1sPG$)@^;WN~5MAJy?gm@P=Ql4$L0Cb~E15I=E&Kg(Ul6>t$kOfa}3yzNi#v}$sRL0IKd?GoVi*%gILQtx}UUPz~MuJ^ICFnkeAW0_> zIn~ZFr)P7mADMuk;v}xY*I!%q!yKY7JlmQP_QUBqqxOx2xEvnx4bf20)osWdrh0JS zzXDe%ShYa%fZt(cG-Io3r~~jBxFhCh@ZD@KD;d@$LEMe*0LM>%tyS;JssFJR-9gH3%BvoS%`ibj=>ey(MICf%0A{=O+p$- z{G#K)xz~_Hh9+x!72mFDK%~-D;n@Tyv*+N(YOg;|xQ%;hHUC zvCTxi!w`vJ)(ne&a3A;63s?&RMB#Azl+3yPKSiV#Mdqx@C>QaTcvL#WDL}mjbKlzTor=v7e7e^tU5#? z$a;_4KtOo}o-*NE9G#jB*E$;L9MS`}8OTmP!Mqy=#?osLxkyI7cx%!GB8s&GIopZ# zjhFzL2C1eW2aG;_c=hh2zodoo>I~B3k{6)-2`@T?v|C$NS)n0S!eFd$wnFovKlxz_KXg-qG@4PV zC(dx>Tm|u-9bCl7M_5B5Azb|P7%_PuG@)5le`6Zn{PJ--wGwW1s$E%gH`H6VB##4~ z%^sJ@x_wc;%xyPjH;1Zbt4(qzcXJ8sfyH^TzX=!Hcie-Tnr+lafy|Mu1Xk51#8K#` zi>U*jF%S_+c9b}!*eRk$LT^H*9+t+Qv2F?F$=+zhMlee3B%~AX%n=YLNARCz5+6R2 zWXa1Lxx~YgpOGN|M)p`1Bh9WQ*}w|o$PFHJ)gFHZ*|zZ9`fXvbos5Yv{u%s$Oxh_8 z*!`$r|0T}8@$5*TVY9Ot5@Dub*cau9Ktx;vzV?w|njB}{Ye#r&q$#8G*g%jZ1Z1ZO z@;MSp#qZakU0~Ej4qi_(t%vt`J@NrAf8C4hUSn2=k z&GzQq35L<%Xw|v4=w5>u*|WbxInx%aiqB@*CYBY#G>KUvzw`idBSUrjX2PU!7Wc}z&}W^Zp2^Kj=rNyv5T3H;+{n8#1B?T-Uw=| z__V?IS$6wCgAid@LRZP>fL^bbkJHJ;dfYHnk857QP{o%;^eQGI0+I+{OxkVn(v}i; zp9!vPE9?kD0&M)cBpw^sSbNZ%C-v+f7p4cd#n{6C6OE7)HZ(1&E0Gg-K{U>;a&nx{ z+~=lQgrs3aVyB^HrqjU2bFQouC1QyFp@SPZdqeBS*-ADt4xguA{>Mq}I{az-<-@1b zh9Bul5$ejSAFe@NQ42UwqFY(y5vw|+WT%LY(*%RM3y)BjA^I1lo^RtR*pW;_B*{eY z%!`c+E#A+wlK5_qvk}^SsxOl+sO6OjLbFTCJ+{?ICu^=n^6qyl@Vd$Bv|8XC~r?0FBd@gW`NsRq}l29rVHx z{Far-IQ;$3A6_pfJ8w5fiLb4?&%*_*08!y!UZUNMPLtv2Fo)t0?&m6d$2RtHPiYXU z03oO+3481X+R_pMDP792@1#&jLR1_y11Xp6z!H)q$G2r9M1 zRz*yUIpl=X*tn6qNrWVIlI^nuYBW)GZp(}q*W;Q*UExJoojq(~PpvJL(2h_Ab|e@< zq9+A=MeaU1a`F}7YjFK-Nm1)0Vl2x>EBxW?74TOy3CRe_9f$RokAFQ)*50I2yt3$C zK&eI~bxT@A?15tJOJrGzA1#RGqy%*2h{O&lb;=NL8zBqj3bt{_opWaF(fYf6Fz zx>8$Wfk_r=Gh8yKV{r4y8b{~@_oY1~a9l>f<7uL7EBhb;OFt<21}F!FR)$aIkRxBe zv0bv1y?%4bwcIpY7fbGiwKi`{Bywe$IZU#;Jw{st;>zeZ#7Ic68#i({ne=WAHj|6q zWJpSwt|cLhR+Mc=&N%;);Nq+Fe9S=XR>FX+osX@gWf0H+HHv{CywS10E%Fi25nGLX zq|$H>DiG{z(Bu^yjYOozS8zMb2xU)xvEO!mejQ+4S#_7LHnXRkvERcH!3no89G*}2 zunWy?46$&ki+%C7PyLVwvR*44!Yn8P{6dKRL8)b=&&jn;5FV1L2yYWyLu=Ah$wM7u z2U6qAIEx*~Cq@{!Ucv07#{)UE9DxlLsRr~H!~=3{Kt`S~y>WQ|YWeHy?If3Ut8wb; zs=Kj`a#EW38*`jCqjK2tBsSQHH7;IzDKnp#(#sQOJhtkPyo6-sY_PGu?Br?N9N6it}nkBOHgrKWd&mKYK;LaeogA$I)I2NDiP~fR?kn|I_ z!#NwoSEMt6%8~*$4t5MecIHuX0*DZXcYphEB1!iR-MCzGFU3%DZu6RqpTultn;NvDBrd9CcyN-Jv<~K);Ifm-I@H9OK9&UH z$oQ8-IFJtFsgY{#2>LJiqGv~D<%;tgnguJIvI=xfkeV}u#2xl!4Nlz6%5Kw|aZCj1Kn&@^q|e;8?&TXi-J{nqUsdoMaCE-+=?4*6Y+w&wgoG|0klpYhV36f|CQec=3x+FOVIsfFSb^fAO2+d#E!tCQ*{``%^vrL4^O? z3hw*^KT7W5Kc9`SE(o%RaTUZf=n6g_$^ku_aL|31~E1df1FY z+%Pt)J7m4YVkO%(p`fpR3Lw`qmbW86)zCY>X+_!tZ?dM^|PuKQSrnU)= zhx@W_yK-)7v){6v5dIv?zAEn$dwTQ!6z!tEf7%Z#e!A0cI~k2UBBnC? z=JjFnQB`%WLI4{QdC8{o<@&wv_dBKowkM}7vxf&JsDcipZe_!k&P?)1%iu@NhgbH{ z5*AVzeB#Ij*9Z0`VK2zi$rp1{oW%184SYWfzS3G~&G1^C%&KnADPJtPQ@A_l*0k9S z&dA2vTtKMdlbdBhsN!_ow(Pi(`^{ta*zBtRm%T!vk#Ti*tmK@1Qq?2(9 zsxY|Tsmr5hoka4PBN73RgMhFqWT+$*8^QrN21Eozo$_i3to-5!ByuEY2F$R0_}i%* zR^8?z`*zKJ8a-F5b?T$L0&#~H?tqtC77s&_*!nl&0&*WOKBsIRQjg9o&aNAz@WQyR z7FiRCSyBe3@PgFrTZJ8JiiJO1c}|=;qBg^Av733IFP55!wonT)zms+e7C($E;XC#! zcoshtGOHjs!q3(Pj{3cMb1L}vZ;kq0EV)~`YR2h%fxNu9Hkmvn@);wxtng8X+I>wk zck<$@VID`B6v4?O$1~VU*ty7Zs47JZH{eXwCDx<1hB!L2er{xMBeCpaA6ccvb`4`s z%N9h|O(gq+*xfL)F-{N%mvQWX50ImfP1GW3fhhjh+s|)KDzDoOSzK9jFJXuSY4NVJ zmEO)Z7hI~`sVns&H>(dpj1=tTZo-fxvTuk(Z^!N;Cdyi6K3Sx4b}r0So( z`^%eCldJvHBgV+3;ksONAMyrgQo?S{E`2hqkkA*1N$v+skD6D#vgH~3xFVe2gIn@_ z;gD(1SmXstblBC%^JM-_R9l2SoZvuCZ5$C8I4VvGaJIE8vR8Yg-=xOqNxUX=ka7K! zUO1rw!iYiQ4`mZ5!8*M<$wTZHb(6;D_$}`|2;|eH-`^5&w*dF z1!Br0saR7CIa;&9s!R*<13hDfIrT^zQr4=}0Pc8-;7>1wrtI~=k z(=K}s4Z%~**OirTzetSAT3Tp@tc>u9qJ~)1AqCN8Vo12+@SFq{AcY8FHx%;>O$Z0% zhA7dwIBg35nmc;)aKD>W@nyhSp`n>#QKeh4&cjmeIyIgW7`?vC~ln4b#@m$%6I2or{t8u%? zhZb=3k{h`qg&C&|A1v!K9fw28r}cD{RmL*K*ecA0Gu-)g`xn31zbohSyjc0HT1j{l zWaB=vXHF9P^K2fGs33qQycM5r2^{)Ry=3_J^b29ZgJC4_^s`@~$LgWR3T>*0|10?d z@jD`G7)n!dG+7KVYn^!l2gVV&2%|VM)Zo7^lwr^PxzvKt5ZA|ghDV%`6TUYKO8zBm z^Ev3i^!nAulWEg@qv!i^%}!g?^iQ+wHOWJl2VSZU9c!GRz_!48PLJ*QQC2PQ>YH865# zQ!4^qvJCh4GXnmy?4t>uB!}1UKCB;4FhMsVIj*g`Q&GVM*OU>adOu}xaB?6SSBSze zBX?ZZm0Qm*kI7*liVD^$HqTqQ7`|wC?EPR9Hc(n-*BFjHh3tf=$>l1eC~@cz1&|(- zBUU{L(I`pqY)3Zgu{nuEItUODoJVcpq@3wp`D`kIV~#AxAygSYz5Dz2;p7i7eiFatM-#hN(ZW0OFdp9C!C4ca_@jKYV z>K0p4iR`}|MUlC{1P1s4>CtkByV<1jOPEC4q5Lu~?018~PG*Ah zYTU<*S9#4%ze&K?;i#U4qYYdbIdz@qU9uAqYibU?M?6J%2aup&R zhdPu=@D-Abg^_U{!UWHh6?dIwIP!!`9oZO2pNwdngkEH{hfy8~d^Zv?HNX^jj+*}R z_SI>R!Tjm{yVoC2tDVv{M5k}p+>4d7v3{Ot9n#JT{}mQk?NQlzoz`P9N=RsX@nEzIK^|6 z-@i}Go9%>PQQQcxo)*1CeD%Wfrn}ji+cx4Q!rX6q4rZDU5f(SG$ZTv8-1&8x#E0<8 z_D)mfd5&1*Q?yzV-PO(pL9wlpLe0m&oC7k?afH&;SIsN#8I+y5Ks!HvLZvu zM`Ce!Vu*;2v1~K~V7|^r#JU!a8h>rnvh!E4U+kQXkPN_dWIzHvt6_P+p0N04zu4uP zdo|)`Hj5f%*MJ1OO)`f$9wLeiIqYH~+B7%v;*nK+B(4>#OS7v4Mn?3yXD8}xwZ+5? zHkzzeZmQzWAG#qY;grz1K!EG-IOD}mJx6{)K4vO}O~`EE+qE092T2$eE4zZ%^=#?v^kv*W5`MP;y`7-WEH%fXts^2h!H1>>9@!3xgDHvyMFefygEb&K)kntKiY;vYGXr^2DD?59Sg`!yjP zQaf>pMO}j7M(!3>Asr{@1X63qaS<8Mn$fT;5)i=%#>W1M8iOhs5pE_@|;^3M+fzn!=JY|Cj^Z*HRE#4-OQBq zd79QHnv%QFRU^2G6?Z)1YVPb2HQdPEG(##0QzA*SX&kW!yEF)pf>UpyM#GMD4KH30 za#z(ttb8{1fz>Uj0#gT$YxVEr`$G+*y3iAFLK46tDMFpYE)9mQ7wiG|?C*0hW>4Pv zKmRhFLYV!Hfa+n%Pgt%xGy*1<6oPu@WyM?O2;SAQd$}>2<1Ehn9o2A8(r^q%$y29E zx}v)@T&+lgAc$rT1i7Ug)#RG1got#35n^>K_>nY~xXEEaes`YE=Hxc~$lx^bmkEZ6 zT#*21XWH71a>MGTVl(95rgi&p5=c;PJT6~bbhie4I0~HTws9H(mSK*@)hy+@2tqcA z4%~*FytsBe$Ro1zB62uJl0NV(jY1T>ibMu+Z4x0BFKWp}BY;Xe59H3_a4PxjM(b@L zYz<3|!Qnsg&56Swh{yuR;@FhWu&X~OQ#!`8nO#4Fe7a$$F4x>=?)L{8QC~(7gtfy3 zm&`O^UOKxrB!Nqx>fwDtN}xkM3dw{W6p=j|$h)JCBNGUu-{jk25sDAYBL#{yf)Dxw z;Y^Wg@Kur%knGHWCK0oPwJhW{R-DHn=g%KbEAq)(0=ZmsFUR30jr<@nQCqOf;wC=r z>xgjDE_!CWJU4PTiAZ(@bHWt2TQXni5|O?ogtWmEh_MkpUL?;>z2sza18H1X9wC4- zoVJam>ZCmyr6(vR6L9DT-ybDO2-vfF1|?@`z(G2K!$ZA>|L}f#4?6?_-EA|N25Bpo?O%8QR|n>8o}XHJNCa=9S!7}+a9 z&Q`&Suk)No<;<7ndjendpFhgKfA@MisbyQQ6c8^L-G^f22cG2%5`|pYLZXE^;EJXL z`8`pKCZrxr_-$d}K9d-daJ+n*?#w&EROHvL5tPwXcoU{}f}^O=;DU^t00nSz z%pQq!mW|3K5YulLIm$(TE+TAPCYFYI{_b z_-GeOiY12}T|BaCkI{Fc2o$&^hiHSm|?YCE&(kgK~r$aNLYd)pM-WL1U5_T*plzEG*0oOsprfCzJ%b z!kHdE_$N>{!e{How z8`2~Yz|{6mm65%wgYx9Iho+J+&+y(49x~+YHDnYOfe*geAHoQ-S09PH8{Y1pPH<_5cEJlElfQ78D#F$mB{=OyNDtp}+L83`g*+=__r_=L{I&=f zEm&jNFl~uxbdIIqSxK*YR9B2UsCZEyJ~v82OQhg*)EoqLT5_la{sGz{GI)yJEO^_OajCrv0Ho8oToQnKM6>|n+ zWG!8>K}YbJZ?q)V3w#VWea1r2TUeSVPwXe#$#0#+Ei){zuwE^6=gIr)w!J^4eOqo- zMK0IePbOQfS`@2hk>N$NAj_~oB(Zk&-I6`5U5xr8K7_@3y*^M4L%YN z7-q?GoDS-R`as|l*%9xa52%br7O|TZ;65IvSDMrpcMq~g8 zEV?dxB9Gw&5qz-B9ERR)feR}g{3REjA;9>L1RL3>FMB7<@INV8-=ev@h)vit$<&Cc zgc}QU*S0zDaXyd+d3D4?2X5qwh=0%RxD;`CzyrJd=^tfmzZ$oLLG+7-`_v!rdVdp#vjR>ic@#UtD2NYR#{5hNv|Ep zhe#YmWaEMVMII@{>SULIk-Gdu!Qd)4Mjp0#I_hudxUL-a(~H^yE))Y#)k{kP=jzy0CEGudAK+Jm6^#Bb=J6_LiQdJ;6* zeU+srBaz@U++IS0Bd0q5Zrn3LvnS-~|N2Oom4f|ImR*^K@`eMl!omMzKeUw4UARjI zbSx5h%h5G*)*5!Elafu1fgJ0WtlVe#410!vcxr!oQTe(T74MHU-QWmL60&!x7XzB5)4ctdm~D;{@b79M5|YBW?u8IMkQliSqtMjBHjTyY2b6o^Ms8 z(#mEf5^;J(3kd<8FIt#-9QHuo%tkqbG>w0WS7snzx{72PvDy=U=E^4wI1JCzD~@r> z;UD{}(-HM$areLf-~avp{8Eup|8%+P`|j`gU;HB&X}MSxix3N&meRHpgICO3SlpJR zbAERdxAMZJENj{SnTxSU)&x+Nrr_Wc!VlLJi;1Ednwm6G*lauY$`L|SB-g>gIW{72RML#1iZVjb~ZYj zax8Ic-1zs89bTJHoz{_@*}B+A`ZPfqkhQ>8d1Auh{1{k|jv!1zy1+Le8|r_Qeqd7B ze~pA@A%aUUpv6(10U23owI)1s&p#4c-?uyYhk`FD9?ECm{OmqFgR8pswXcEvJjcEr zS(`QT7U7>Ft*;_#mcO4ut&1-~v@SbD&qwtsH&fI>K{Z7xT*yx(F@*jsMJ|-l^Bs@q z?(AD5)egdJ3(I!p6XI$~4krY5jN+eo(x!d-@a8m0vwmNh9+&)dx|9&#xWYI!FHjjG zyCS={X~Q3jV{uqUZv6YYM1Z)IkhT=E=IPi;?5l7vec2z#+-dd+92X5DG2tLvcrPyq zegqf7_f|3*UVg;-v{xQcdxWDw1osS4{Fmiq-MOvmJBZ?6R{VVU?NS{GRC3j%z{cmM z8p0W_26jj;dbgo*dGgueWN2t47ns^2V8zU%{PDjaPo1wf#CkI;-@?B*uw5rnh+%-ew=O8hqZQ> zs_x{#F1YoU8^3(74#}r!#FfYrCHt9>K&misu*i}B z9OefhkM8(UmmeWx(8vg6r(J^+e`Zzw{`u2si}D6V!NZE5(WdaJF}mXC&^GB75f^Xb zX84#Wkqyj(8^3G!Hudbh->#oeb`Lj9%EOAE?!5V`r!vt^5V;qk>!+#2If<#X zIlB$VP`UB%pEvGvJt~}e;!GDw2iQ$mB&iN!ZkgRnNUsqb5tS=4B0|hb%vA?7rWMq~ zU;D)Op;V*-u@B>!XC{1}Kb{b;iSM8H!-}8oy!XnBtODF-5%Xm760%XdUF>Sit|ikq zZv6UrcYtpnku;>v4cKvQ3DAlB)%fP!;W9EP7z){`2H=g!31#UCkrR^zULnZ4{J=XT z(}b~O)e=F99j57T+i6W({C-Y*x#T{_?e{{65rGtb@@_hOjU{$w#J$+5XuYYG+j#M$ zwjXyn5Tn2z*h8BpJb6YVX#f#zhEmNC2+2&;2r`Y+I1GsO75h_(de4;L@&i&2jGZt7 z-qIRPJc>i>l`$zgELPy`oHL%waH}g=WCCx|hhzV75LRJ|X$;DxfiT6N^ zdQAXEBwQmQjRLb)1T*T|M~F@su{?i@`{muolU+i&@jUcp#g8AfdC_xTr7nDstdjI7 zezECLGAmzHc6Nn9FH`2euby+@3p14bkWI(R2f5%|ID{&S?*SYm5rQ$E=OlF}VL*f; z4aY)|^zuKUe6TU$$|s0Jydu6IjEf8%9rh{Ad;gb{hM~I=2!2`d^La`B5;E=PAO}rQ z71mZx2!CCLg+%~e12_Kt15YjTu~M5vT5veTmMS6(QixU!a}F0Mp#t zV4j6~+q%6y5yP(+Z5|Fs|I_7ybBEonBh~*uR~)gaonUY~af8FY!c@35HuBgV!R@OO zE7#mOQkc)6iG*(m)2@)Q;IMGWB=uw|oCpi*$|qzS)(9|Ipdpjbvo_D^!@^5w)vUjF zq|cW8bcZUMmvdMva^FcV!5ms1xUsTL4AY8sb{E|Et$WHh24SpWxf^C3_O!pi>&{w7 zigtDrxoe-`??|{hve{ZgdZzC@*>sWfb2Sj+CZjeITEE-I0D|fE1$rMAiW8k-EicZh{OK*%hvNsaSCJq+LLHcsOZ~HzBdHG2oaA`_Nz5VFka%J*VAakD%8JHl?z5DLUNC7iE`@je4Z0 z3CSLDDC+s!P2!=_d>{7<%Fbn_6Yhr$iu9~q|;o)f`m(iDJ_i~ zdFi3m7$0%fp!0;tAx#+H5P!3tBCCd@CQ%krLQ76RLvjY6v62PZTho->pkjl@XVB;*~{m5Cojz{Ozz7i_d*ZJZrhMYBLla7lRu8=Na1ppmmRQ-E{Uv;TKZH5-kt(FvOkr~n%%6_V zs&X7bdxjsJ6d3tH4AJPp8L|nDwzo7pb}wIk5=I1A0kIO<<2nJ&^!BeGPTP75sY3nJ zl|^@|0R&=yX^b`6UBm5Znj3jxSwz7zuSZ7EMu2~W2g&A8v#h4o zdKA9Ou!BcC&C9I>`)<$e4H`~7aGE+&3Z4UO92X{l9+T4{hOu{+IKhrLR$U$k0dF$) zU0L<}fm44Az|`-U{(H$I?_Hv2mS5Mczwcn#WF@16mq)d<7`hfyY>Un5@&)7BmqP3u z+-ewp9J3(@IxLTquG48C;35kX1$N~lJ#x|uA%#TXuZ%XstGDa+`D9AUx92Oat-IfZ zMI=F=JCc~2RtKB;sEV`5VDMC~@ z-RzuN2&b%q+FY~jIh6*f!Q^RzLU`#Cq+*r<^U-ilF|no)X@*RS)sj=sxW;xLB&ilB zN{n){VVl7bVUR#@@C>-zFi4l51R}8Y@nyn3LZO~TxF4nuuTDlT`?c$SW!c?s`;YL9 zm1N^`1jL84tZ5|&mRW;>*^-+_rdKw@yz@QV0I^X3{}h zW0BBlC5iJTIPxMRtP1IJg~1=g<$s@>$yIbBK4A%dmx5CL)8(2!aL0c=y!-(;!5^7j zcAaPPAX64hd9=xyihJ&gNGZd-6$8hP9GT5Oqr#ns$h8QAWe?!9dFlA$ z`2I-iRN>odB!3QEXtd-)AIXYK{zB+O4AF4HM8`+h63Ki-Z&=iJc>Ryh z^^_4p-}0+h7Tw9OPWVyzN{>h(@Ih5}wSXHdh^#Gf*o)vsUfQo}KI#;m0(%Nc6lr`r zk}Zc*?(p_VBt9A>ZgAv-D#>*afvPhOBj>n~!&*zcMvdHwy%^4DB4`o|o7#fN$5?jJ zIb02ChKI4ln^@x)YwksF`#VMvUox@n?`%D?hm1$|jT82cgmoR2#SlX!`rwEv%j5{b z%Fwx4MpztzA6OgJwNC;PT_W8W4*0^3KAT4Qv>`^6Y5s2i*5iVot}SNLZeQnl+H{GB zwMib%ZyU+g4y$J?W~V1^{QGS&o&g8an;1QT5fKBjBLJp7Fs*V#88n=Xy8MLK+;mb; z59c7BH!Lq7-u?aUX%j7d??|6k{CurO#vJf*VHUeX))W>cNb#=ptQP}qLnd#z@f&Aq z?Vxcsic~;uL|CU0V+`5|LPwK}4!;zl^2<+HQ-urVC?`p10J-fGm=OY|hg8rNfJSm_x=K4@uf{rAw%t+1el?u@d4VB8n2d zJ)F;2igiSo9NSM{!c4=(vOP(9w(sL38|XVB3y!pr+4_3jOa5Bb>rTMx|2lQA(1GJR z6-OLd(j^}w38y=OZw>}Vzp5mg@rO@HO@$(`mMXTnGLViG(&MA|$X;C{rdvl0Tx&J? zdzFL2!1Tl*DH$Z85M>yMEQw_#w}$MUdM1nS=A_Ss@sue2Fha3=QBnL5pjLdO?`2@` zN7BaYUVe|oCY41y$Xv;B!{SRzFq~1B!rl(*FS~U|7S@F`!7-@e69~x}jYDj%$&zA6 z0ow?_>j)dD&Xg#`Txb1G65;i?l;HK%68yc0t^ZX@@FBWKiW*^9H)QDqCn`DLES<>M zK=V=@1_3<3(1^2?aj`WHpXjwj&>i_kY!sZgB$1;T*?MZN3z}mCmmk5_jl?805z^?> zwolc8o5kQO%kEYk`++LLkJW;y3d-Rg2xF5-(GZF9OU>x0>PU)7 zR43zCl+~X;{BnY@$`x;LvF1(|=m)Ad&Dq&5#8yLMpZ3*cFX9nbCz1@dPMdI=JHKjy z+=DxCI8=65Ymcag)B6;L)3U`_wMzv_))8a2xDtpzwLT=gXUEURB{t-`mV~CzNE?X% z4d){8&2=xPdE$UYwj>coZa}cAHOV}zcCwQ@JRS4LUp{OnBi(jO7LSX5K4Fv`Tyc|9 z%WU1uhitK=eOt3|^CZ??lHCbAzbyVL$rR3eDVKkkurF|!eosnG{2!kD2X9)UlVt~uY#v$K^2WZ6%hKS%u%FNhN%O&4X zpa3IzPCV&P%z(HHQg*@gQW1Nrh}H&eg1cr4N!9qUo?=?v4U)^tC3oVuM5ehdT3S_A z&5DEu!WQJSQ=LrJW>R|HxRIAmAs#FKs`KxW&y~qM?)F&@N6O6yS(L$_;4&J#1$kqL(9SM>LPGTdYVEL3dhtQ?R{lw$C#s|>8WA&%O)Cc!Q)j-3Be)7O9Prf+$4{CiJJJJ$^Q!=9U6G|bg2VBV7vIv1 z4q3J!8>yv7XRE1Z_b)q2koOI*-n_?EZ^7Oq|G8XrCwT~i>z(7Ovx<{PI6LD4D&(@u zZp^+Q{HUHAd2tKno(SY{okyo58DQCSeHKX4O~jmaK#-PV@iHGURH~?>sxlz2W8WS0 zkkvp|R1qt2%n$;EZji=3oZSPl+;Q^k6@ttOH4ala67Q;y6u9s_q?%rRdUu+wpKm-* zJ}vqg-zSqad+LJ{0_RGc=Slj*Ex3fDOe!|damD$zOc44+Jt{WPE27t#vyw2Xa<~pI z85K>e)f0Rg`SD>(QUjac7*1KQ6={|_0}Qf1R($SrSBr zD94_xb9R{F5KbPO{-*x)jr+JcwD8sIFv+KSCP<_LV}khZB7~ytvoo2S_Y~WiF*0wi@+)H&5Q#L@YF0a zc@m0}R#cB{U*$_BUx){1@pVmIWc3z5=I~~Ee^Q~Eiyr8&Mh?DR^8)tjiYVe1z1xw$ z9;qg=LL5=5X=VfLT41hyTRr#j(md{uqF|OxOamo2Ux2ILHA817EdHsiO%6E`%_bM5 z3`fDA>R^e_PIV-pw1kH+q~App;Cb^&NX9uaX$b0poC8@SY!>{_K)S%5vl9lFMZw`C zn+)fz?l;1!D{Jl*SFKw}*>B2sMUZW8db6{J^9yE5hSXo&$o(|K>qr_NDHwgmPFS5p zt+J5RF(J?kFi^!Md?AYaEY|curPH~)nlf5 z&V=BMJZaGC!K?u76J~@=i}Hz@*ZzYz67OY@z)>23wCs9XUcLRd(+Z?|2W;FJ^QgFi z#A9a>X5C={YKMlk85a)r<=2(fth#U}4~yjrtLA4#^*8u>Gnnj?lr0w}5-+k$7Kz$J ziY@X%WZ5;`KT;$?B1t5KEO4v!lctQ)bJ~kIC?i1pW)@FePMcoIdQ!>r>r@`r1W(ZHpU&{`ke} z4G*>Yf_y5TQ&`wGu_FUtfRdJ27z}wyP$Q@DFb~BWH#u8M<&d{;wDl#~sj4Dbq+whG z&`|JFx%JqTDAi1iyc8Cl$BC95SF4(TLs}cyNrtE~X$w<1GQRo<<3xHNLlIsZNDYmB zA>#Do`r(A!quq(#*FzpuZ-A#uoTFK6$)Y2(6$S_x%h=fa8vs3IiJZv8_6222u!6|> z17+j0iGw|f!cpv^VSq56sKeP= zkw880>?D5De~lX9BGS^)P9NTHA5K>2yQd;I20iMQTi6}jK={?fT9qz4vY6sr-CU)f z2r`_&i9F029^M5=Kn4;Ins~{iglC>($x?5qmzY;m>LN;qBY+Peq7q8qrmADxhVkCKrFvbhvqNM$?ewB1i+1%i#Njyi`Psa4pCWFh@O+mY0NZlB(xeYd^6h zZDs|6b{1o$nIegNgtD4hml!p$-~agT6tcN{AaY~SV@^cyfax>5=y}}^7Sg#z$-Iat zc30WWLt=H#s1B4DdH5j$x6e#sIBIQ>2m3k9*v=nL!EWUa%=kRy zPY5%%x@y0$s!g4f%|4{X>_`E~ToP3$bZDIVeN*U2(iw~8V+6+n(G*$BZhCKmCw^5R z$HtBbP0FfxDLWYfs7+-DJoEv;PECOE{BtG+hSF|`km)#E0FLOWa|%Q9Y~8T%o?wF- zLVo(+UcXsSi+1jgm%1_LQPwaj1F+!}+tk~F{3NNmAZ7&7&Pk=Ui$!rJFYcv2TZ3f+ zlur54|DM|u`DI>QBJZ=hl8xQW0)f-0z9p5zqaQbJ(CGm-&f#`YI-h%54B zD;A?khVhG{$pjBfwisjx$V&#d&=(S+r$(L!$^89+_MMlJ`Mdt`U!>M=eCcbBIAuQZ zir67H6wNa#Ag7+mZu4K{Di6x^)+^f#5p7(^C9(WAxh}A+#H2~@6cJy!N%Xz%`ev)4fQQXYV!pJLhbLmCT0l9i9y!kaq!a@?=0x6~v z93YCIE&>G)@Gmp7mJN9r{2OEaOct(i5%I>i&m>yHzu^2FtKitJ3rK^Ih7`l|rElN7 zJ-Hm+J&1BW=27?PfVvIy!pFzzMy=1rpI4bhPgi9F02j#NtXkT??*@K8hW z64|gwIaEZ1ZjcpFbqIUAIbd|ni;&1_|5*!c5*;v2{^DHGJdDX=<&15Md4`#8C(os=(%Tah6CJ1Jx1OR^+i_#Tb zIh+wSa2%DM!p)av4`R(mo{w}hZKUkjoPos+&B4=!PAw?;`ozRNq zY)o`1XUF;@GYUe5mP0U*qH%0Hqbdld-2Nh|G549V648Ra8lUI_rTrz@kOwF<|C3}v z;*j&Z(ErJ=h#;lCW_gvPU`>+*%#B;buh{(LbHYB&8;$3Depg@pJ*JZsVi>>3$Pp=7 z=Z5V*{k%C|UUuQL0P|N2a*x(d|EC+zUdbkt1W zqrUN_3*qKyz|=h3a)wH4pXoN;kcQFDD;~uI>U=h_M$$c#oj)oCd)TLB8#t6jLi~fj z4;))PSv8&Lp-W?;O0ig;dstJEg5G zj}K`Z%QS8C6w}bn3cKvaHLn5S&dM`A3YIf@>CH8G4=y3?tBCfT$ymj4FTyGz4PR!z z#5nOu?v^Wu2RvRjOB!S%&%B|-Bi&BoX(yTIUktDtzc@s@gY7Juuo=5aJD_9uMU`5P z@Sd$qL~?$Pqr^hfUsA0Ed5Vjk+m=Vb_U220-R|TR{E9pCm+5w{NBs%8Gyf3V&gi5T zjeI+?7OR@k*~3yA@YGe=Ye_8Evon=4JUpRhwIpeRSsR9x9fzOz&%0YMk-V1G`qPhZ zUY!mY`Tlxek9yR4%T6u#6l}HWu(`{#^iCbvck6jM*Nu(joXLx?H&38j&oNZT6pg>3z@qL^u8MWtK%qXDy}1K#v@8o#tgW*(2lIGoB&wf? z1nf-RL!l{dL{dc_LdS-Tz=Z@gPxMn=|Jfw-yPNU3{lmtOK z_WB0AG?+D6OT*e`^{FF^eGf)P?kFDa{OkK4PC1Br=MegO$fM4nV{CZr*0}H9FWcFO zRm!-YB_94AFi&o9>zv6;8)Ib4mwRMNGz-#U7*D=Aw(LeRR1!;>pm<4{G~4$Oc+loBE^kG_I$CZ{lN z-|-X#6UR-KgO7oSAv0#A$HB9I@g6J`^8!XA_uW7P7|ui(k%2WD;n{V|^3$s~Z@1H; z_Zw|iH;4TLfx!I+R<+-e{{Os-1jdPo5r$Qu6b!b-vwdHMg?EeQ+^yoo@B1D?`@xXJ zUY(1KQf*lAjEsN`Oi8D1b4;ed4f&>GnV9}yl_k79#S>zjjB`{(AXZnrL-99W8Kp9w zAj2YB0O9%R{dce4oG>uoW4OC9=uvuM$}jF%Tnx$S9#peztv5x=&25!pp)dv}^3n`< zgIQ2kB=z(*^zWg`?7XKgy|73|Rk9OLsYcVS9S%st)8I)b!Q+hJirDIIyh45kHB_wu z6c8hnnYPz&-@~tjyMkdi2K@tz{u@00C>3AWVgVq!xUz3Cc3t$|RX@D!WzUlHc+i>$ zp$c+OWHeaml$@&~`I6bup<@1Yf*#47k1#6mlmCJbVP~U8kB&pqgM`!IRsRdGA`}Fv zlytliv!k)_>`4s$G7OJ5Zy z^5UC7k5wl>z6-GlZ&WeCOVTkon{12J>LB-mBde7q>x+jQpWse}9x~o+lEu?<;}xpo zI1Q9csdrWw`k>PZ5IfA%l_?xv6G@9MO#Tm0oxL-j8= z2ED-I-a63P&3@j27fUYjFmUdkXCf9w%4Ov|Uid8fvbM6f*nF(fB&3M4MWw12 z)h8cJt33aY@X5>p=L<)*Bag-GY#fC6(vlhS`V}v=9;cXL6sThrzWwO~@)Nl0Z{NK= zd2_zO#(p*AQ4jNS&cf`#9yx9z*)x`j`sdcMSqtm3Y?kx5vEX_y05M?=>;YetMS>Pq zFShd{3oGB&Rji!(?FApndaoHMNhp)G;WbP`783xPeMjD&s7wu~%l;!4L^~d$O{7TB z2&9;zvDAsWdO?!S2!P5v>azuyays7q{gihX@2V+Zjd{?LyAr+1UKFeK4wr50q4Bq- zLXQ2&;q0a7L|)u~aLFBZQk6|*-HQ>vWuPSFE}A`I+%S_QqX#w}Tj{l(BXf6hPOwmh zeZ-a?nv@8^S*ass3z4d@lgx8lcv7aaz2j>cv*!)=_IBy)m&0QFfEwmMP&oU?7#^R< zHWg`YF2RseJ)@pHhlZ>X!J<=EyZ~v&CX3EC0V4whPSYze09 z{op=r*aX!TJi!KA1UXFc8IVeJ8%(d0L}CsI%QHO^t3@3qMXCcU*>>s1?F-$HkZh7M zWE+fHlA#%Jcoadwm$7yA`R4d9KkVP0j7|DZRr%AHKVez<&g#HYktv^@HQSztVxCzH z`~8;e)<(LGq;J~8JZUVl;l<1r87r~SE(J4mJa= z!aj8UBZm^0iY<9Ya0dMth;>}mLc=I0dzJ=HauTaMdi=DH3|owG?82+i(HfIl8W04=Y4-0 zNIG#fJFTgl#OQG`hylFwoe6(&CL_J<&85G7KNR{G!kQ7u+@v4p;#&r+{@1ilC_UlIOf z57G^KBvlT825wKPVUOM{@LO$6MqwPJRO}1`?sZ8tLk4+G$zH_xNQnxb^GA|_VdW)_ z5GYmcuzP@-?P!_tl1NbLnY|K`f^>9WPh~ytf7nh7GLSozgP(`|`6vg2Yc=Y);)4Q( z%S~*yo2U;RNiA>&6mXR@zi$aZ2xZ`LfOdI3PCHa7Ta$=BmoJe%R7I}G?!hC3m^Sm20bB= z&z?1of;Y#A{?qdQ)po+0_&ar_H^#gKJ<%;|7@wj`c0CJsR=XrgP{y-#Ae~vgGJsm1 z6M5;r;U{ZQqEb_OJ5aA;V7zLXLN%wWHWHhwB428T*c#{}Hl#_KEx_bq353{w8he95 znKi`9Mdv+Lx?U(Be~Cu>^O!#$i*{9d zuc0j1T-y%MEf0@ecC)+7c!Keh+CCq1p8R%IL7 ziv}B}C0@iMt{CL0+)qJ|^AAn!7mC(dvf0^jZAP7MI6e}DkUovYLY}%Zj)ZLv`PZ|G z>*e)dKb#Vl;GW#b)1W`jiu1zKFNgGt?mHgSBOEN^JS3b)D>84<`K-1S3n%_7kz3Mt zz`0mP46OXH2F#JzLJx4)QY57TutaWnwUNRO!GTIai1v0KasYVhnH2MU7BEq!) zaR%5xa^=ZqF#*mPg{a6jZbSXA>HXhcy+@98Eb5#8!1J$82s_KQHEs@jRC8U}0Er?V zpw$Ld&rY}1F3Y(~wHUFQO?S(g+%ia0jm>R>a>JF)?=MezMz@ABwk#j_;MvN|M? zcr15^r!{Oa2A|pdu(Vc^T;9*{H)K_@g9{a=C|c?qTZOAKB4g)P(`8PG5=h|4FOQto z&v@wJl@!7_As<}Xtc<7J7MY98pfHDr;w93hH35Oe0l<)d4IfcXuaO}6s_royTn~8^ z!U)ndJ|G#}AjYF@-L9L&1G(CY2))_@e}$Pm&J;*BNrxSP5s2o7_5$*#Vr^A9bZrpG z14iLry(3r4D(T4qZfFDwrf$xRd#JfQ!Z($l%{!+FLPt*wOM&bLAQIRJ{ zNISjy{-;w(V!vaJ>miS_hIjth<9^=aF6t4(KEyr9KPF-bw>##zIqFdsp%Um~H<^W5>as5ISo*-{ zh5HWDmg-lyUd-fS7Qwnjcq(L^7FhstQFBSFWavudE`T?D$^z+|e1IX>HR2QPoanFPpkA&G%i&51E&4KC6Vs*0_8ep&gxyrQFtZ^&E!nv72Acg@nl&CQE7Jt|EILMI& zi~QoV0^#r8zTQvraOwu7`HfM(pVHj@I%Ug0UK`8SaF ze?K|ob63W=G3Es_+gqrQWN9tN)c4r6YIvgIu)ANWK8KW}7_oCAH%#GHK{*2(`r&g$ z;%-x7D=grOU7gGb!j%)hZwlZ!7CA=N+Jy_|3yB!I#FC?dQDUm_RCu3U1+QNxXYg2) zgq~`u`cu~wf*K$Mb^|;Vuj&Z(sJK8-!Cq)N$r&+&x(+ZTWm>Vle%L>p>}HR97fV+| z9=0oj$L?p3dvZ1d?+WD(6WtkLSNS5(XFlrocwDHU@c{R=IVZv*-gmf=f>(AuM5_+9$OwEL$PurDIL7y(%IoP_>xXvp&p$+%_SS z7Vo*--iMDTbB=eN>X;rA3733(CsvZxz_9%K&NBN?w2vxnT2wTWk;;yAa> zAI__=kuMPwdGWpRWR4-r7Lj*q^34w3rw~<902zwtyCtAJ=Oqw%=gD_U7m;qqoED)N zNh%gEP~MY9rI0(toVuSl0ek|{`~eNSFP^dXIzhY5cB2| z!%^0K0gBiK?TL8@)hxgDIxi{EEFRohDzXKTO(MS;|D`JF@HK_D`s3iMV& z3LTkj0(8@GU#hZiM@klXAa#;lWpdDR=~>Q60yJb-18f5mDmW;1$6@&=o<^ zn`dt7r+3TAtD$%Gi*D-km_MJJI^Z67>6SMyk~bBLDOhZ~JGZD>lXF&Z=J)x~nAi-i zekz9`%`q2tx}5NXDVYb?Wks$5n6M+!ral#Ga}*^FS)v~-qDQclwFp$fA|-?3xym^D zfTelN;+!I>)ulQl@azh|(bzUj@852JeSeCw+Pf^l*MlAv#+6=4FYRqotLm!^QB=LG zYYnzwo8UL;IFlEzBmB~hLQrhkrmO~8>99x_NfcdJodX<`YVJ*^92;R?a}!0AcoOA- zEqH>C$iZqvLI@H!Qw#=q7Kv{R(4=C~2q{r$5zT`X&wl}}I5WNfaC|(Sk<8x<9XAF& zXp2w^q*31#4|H7cp=4X7Sb8Vx1fKM=oGmBvIC~6%!kH^ZCi6IIo-;O^&aS~6)sRu9 z5kcpitLdeuG$9#_6w{;pq#30++&skJyn99XGt_>Y$@WBIAIob%-oL7uxRCx#VCSgk zjHm}v*#(c`HQoQ!kbh)zJhnMEwPf5vuB)*4d`2?a5Gl?_*w#d5ksbbwGrw;OOGaOo z{#oM?Fb43;$g+IzPPyIE77cvMZDl4$@Q4 zXGR8fIYuNCj3L1tJej1vpW~@WFw@8F^(i2MxpNnOJ>)^`@)T`WaLf3Rc5w?HX5ftE zSLej83!;MTjuUxt3hmFv;MED;2aCvq29z7d2r)}pC~1s9Ua@K^z=g76))v`@Bnb}> zkRxGNz%5N&U+RmI{fv@_WO5EXX-8fth-K)^1^^-WP-OZM2AJgIhri-k-`6{F<9f)$ z&e0FOpG!T%tDZA2|KnPbXSJPuyxEq$u9`D>n3vM<;CNoeNPaY*T3Q2nHbVFy#NZt) zKtfIdd2Th8YddK@4+$}npaEuEV!Gx{sg2#&< zP;h$v)2ov<=euk&*JB=~*Q1(tSi)tkn+F8;JG^%;Se#YKj%~eFr$6-(J;WR=79dg< zBs&FEj>8%@W?@;J0I1zFi`PmwWD#(+rGm7IwDLm+gKX3)Oqv3&z}bKw%#{%{0_)h2 z<0=*q@_LXV+_7(!l?oJd^?rK0?aP}}JWRM}ja#E06~vvd2~T1uXW`R2I++WcYg!KN zTr;J~%!xeA9>}9uvQIc5NeC}TIwn7r3M>=?^OlRd&AsMqE(zaS~sfju?NgI%n zkzq^{dCRe35FBQz^0JJF@|vV%;&@(i(os=;dfL8wdqQZ6_bb|dKISn9a9xuI+Cy?^ zD@72H;FP9AH7-%Fw#Cu~=ken5hfkY>r5&?0mcpNaY?sZE1xv>r>HI52CSw5-m#MSL zoE4os{lJqishl3+gy5|=_jS#AjlM?0MhIoxcDkd+CL(9A6WwZW#r-Z0$B(sRANH2Y{=S3|>AIhq;$0u~iKF%+HPUZAd z7}r!6VVxjp$S>B2-HK|OZdo)6u;vzeEm_HGY|c_omW(DE87w?lS1Ri$`iA>c-F1T)V%d(kqMu`_VZpNnLzjT z0byJ}i7Bu#Rgg~xDMWymr%76&ce1|5 zvp?5!NimsaGXWu=9oT!{dr&(IYxTjI|B6WjtD23ZUWt2BQlh4AVCPHnCWQvb0cRC3 z6Q@dWG>K&;H4mX?Ku0_P6UDn(#ybiK+Z$mSQZ?p2nOgU@W>>g918ggV7yra(IWis*e& zL`1gKMX4eoqVVLbc2;gSq`6Y)jue(cKf(@?V{9>Y23SckB|$wH3V=@l8NlcP0EJiO zq)&unWM84BSf$cDlzDbob#Hsz8uh1RlY5!nfvAD#Fv`@Cj{=wvhlRg)I)>(@gbbX-+U!9#V}Rm216Z^MTtI|1poMw$cG?6ohu&k4z>jLl#`o?;r&9aNC_;S za`AQ%*!&_r=9w?@Yzsg6*}c>9?!zk*h{|@SKmW_1KV^fyKHFne#feof3PvziHLUJ- z_^i5B$?u%{eS?fEawMIULJ#E69mqpBDk3U)uWD+_JSKFlhb$6sh3W_j?1Boz433mI zNMobJpAPK(LUj-PkvBY=>gX|UMx;eiKvcf`&69a5QdgvBQ37wxbEivoMNOnqysZ+c)gb@I zENyYAkjSV_fj6_%r6Ae6La-n)9q>h%$+-w$g+Lw|C_D^JaV0MXkeRC3ezZc7Ij(XUst_>^oP1oJKxJP)Oqb*T)C(ZzYc;eckIg^K31kQil&`HX- z8gfO^B0z;~V#uRwfGvr^tKLM-PWl=V&e<_G2f8RqNwdsQQf?hN6}8(ffDX^TK$0zcHJ7ku6=C!_3{{980^+ovm1q>2j)MfoK>F=iCG z9}n9dfRdlm}6b1n-&0BJ4_*e7Z(SG@?CzA_9yx6mEmbcp2|`2253O`&Do3k0%&w zzuy~s8T02W>^X-h)g~zdb>?-|Q8i1P44!N}p`oseRGj(!Dl6r9Im@dK!(JCLEFY5MDtN=^bpTo2h&{Qg#10>9wcey%+$zHAtl>Of zyk-0elaFeindeNJ0z$(OF6SD8Zonki2GqYyk{Y2{<`&~b7I8#m83Q${+2?1;Q8FW- z15^m?I@b3{1S6(UoE`umHH}GKMV>a#o5V1E|Ni}Hhrha0uy8%(Q3VTYTz91P4r%OG zmL1`-8z0wA?B|q^%2{(F4>N>iTRl*LWP_Xjyd_8!7m7`a7nH!?sSk$y%p;PlC!UwH ziwxkKM;spUf+DQ+j>g&n6vvYC@(>_|7l|UWt%KYO8i+7T!QUc`K1p=-+k`sr_-6HuZCP(sodg@ge&iuY95L4x-ui-Jr$ZA7s)n(li@S|zi z4oH|{u7dh{DOQ2xR3jK@b)h%{;N+DP3m0aM6d-5|=Qw!-uNPQlU{o)#A(Jxg z+(gn%A76hsc_r_5m|c%~kSX+T&m=)|dfQklgRH%?>j9YWun{SIi-Hq*@zUrgQ(!;N z#M^i?az%}^g`KL6LxQo!in5EGi-4%4!Q1^13tvWl4Oy~t^p*G`^z2B02BWegOKj8TsGyo#?1&D%qH>)Q?Y@S@1$Vhi7mToyks?& zqrx;ZE5#ZWt=R4qDa^j^%e&K}T>3f5>emGE*Q0)a%inKdZ}tJ%i!g0*$UmaUTGhO# zGah}UCVL@ADW~z`*}QgQx#qCh!!4>gq&SyY}`mBw@40It!I}R zfJM-lK8(OyKnhGD*-(CnOnqvkB*gQqT8FjO5N(2U1bGR_WD7+)H^4EvIbi`g|GeG*`Ki5Sw^8*UM65UAO{B#9klpt@&Z zIt>KD^FpL&j=~gd2^7|Udg22izNc%{GEUq3kEghWa#z^?deCFMlumHZdfo70JrHg~ z#OUXEko1X7Tv8T9M$F@JVZ#GLv$l;MJF_d?4Z4?> zb<=pZt2U-opIT~^2MM_pC3Br9m0$<8lXvQN;w}-C z%Vg6AvTYVG@K&5?4-uZVz7zHoz#wb+EK(D)u70^=ef4kqNvjJ}*e|pVd>--wZ38cR z2}_kbV~?_jgCZ(w0dVv?uNBCElxyo0p8X}Bu&1cObCAGO3ligyB`h{P7cJ>3S7hypWp>pUU&r1W5lw)oM82ZwfKQ`kF!MR6n( zi)Q-a?cd&=s5W~yYTOw0`<>KpxDTiA)#?bx=2oDK66|J`@B2oQ{Y7TaLJj3!zH{F^ z(XC3B5wPqQ;3mp&DQ~ONs2t#mOh$gDdd!6do!KLf4Khz&}qjM>VGTVKaKnH18mq)^!L|)l_OFp+kYU>Bya8iXT1pHH?thzxY4StskTmfi=l-< zT5otB-CB_yfT2xrIsn-S0MvnSztE%wv7}PP#2aL(pf1s?Tg5JD4yn0EDy%i zZctwQpKrf=eM(mKI|jKi=3(T}iMk?WTBWwm8CfKf+HKva2&q{kos{5A9%c}D9ps(# zi44lH&Pb_vDivMVsbmAsiAZ5fOC@#Lbs0w^L6F$fW22Dr#7x>Cr3XPS zOMY}JWNS*bNovo~7L<3U(|catw*UCfyb;WAjQYdD{AJmYHX9J@wOy#RAiP{8 zvYQfJXjIyv4%vR@w0~uLPMVVvxQU$*;#eimMyX zt`JSG<%|arAK-wuTByySjsy62@4W8U`f+L1;HxDgF~TD8W%-U#SUR$dWEW^3uZ^cpw|>jE96WeBO|hP*2t<(J zrXSzDIvsF^_b&Uc$2{h;57-K^G6h?0I&ALpOv>0JD!ZPSbKOY6$a%at3V+g(=T&R) zgv(y)3ttkGl3Eqmg4EA~Fb{!Q1Vzz!!_psk9Si(!n8}z_?MtK2Sf|<78Oz1z$sX+Bh?*lDv^Oq<_ZOEu0Ws82~x^YA7{nc^EZr zQOx+aB$vkX#{E^jK8Ymzy-MiMWBzn?(A5`Ms27A+z^cvfh?0pHertt)@4AJxa^m+5 zp;#jrc>P08Vlj$uvxA4qITq7`DP5)-b5lGYVPcf}#N%25X^(u0H%Kf($I7#P2C)jb zn|Bil5!>#jgb}o7Af~1kd|%XLvr?A|Pl0d2XY$ArfyDi^y`|WB2={vaZj5=9Jqps= zXtwN}+E_h-O}x8K{$$ej3$yr6UYqc^nsmo1SmdQdV#H_{k;@2Y>0_yd+|D5tuWQR# zd@>X#q)#$3Z8Dxm@T}FDSo0Ivjm(~Xt1jfjl+jhJeuh)jEL2CF0jz{ujI?D4(+Bn^ z0rI<_-!Xly&vZTNA(!Fe%P(ZOEG1q&llAP3S$5k>Rf^Miamts^8kc0g)t2n(Jjn1D z?(~!k1s!^J+EH~kW)hCr)+37)N}|99S#Bw#VX^e&;^yPZjEY(`JpPb!^2lcgJ-$RN zAw3c+cgUTj$b?AC$7%oDhxNoN>N~sR#+XO#4(S7uBGKW(S2%wSEG1$q+GR;jmGdIw z!kIiwb5vV7vs>Nbc_lN**c?S@+W_jQOT^mbVsp*#XH2I)Rk=|MiLOfMC`fhqVR`la$@_B89yi83s9~Jc5jogn$A?~a zuly-L<94M8E?ecJ7`~0k*VwIqaxRyra~5Zx|Q#_wbJbb z2*}27LO;)l!GjU{A0!2AH6Zg8c|aB0nH+hRNc4H>8ONvN@uO$wjx&1taeIr!j!Eh} zA?vN*7D;KI&@dSjf(!*&V# zTCm>K7G-l%yhIUQtS$|Zt;=GDL>k|`KRcbQ6 zA&tt&Vufm|BC8nWMyw7bLq(KSVA4a>&%rzZiP2JICfs-hae@pDJOpF&vz$J>Teg!} z-1QdtkN@{S{;#J^aAVjn?}F#w`HvLcE)Mw$xk(NGU4 ze5xVjYj_(TvO7C{cYHXN<$O z_%?`7Vy}2}%?cdkFoNfGu!a;A8S|3-+IYz#)zqZnq)VqX1FWR+c*~QRDCl6R0Pd9| zmk~ZBYagisJ0wngh!@hS$+E-j*^%tmCxL33O8W2l=ZnkN{_DU0AOA!C|9Lm}M^5>G z1n}zr97L)7y!iY7{qO(Jvwtp^@GC}rnW8Qa41gW2St_-TFOvO=H2;C8MbxYMm;e30 zrB7cOZ7`pHd3KupxBU4l;@Ma1@3Eqs@GY7@0jA`2yBRN7Gb4gn!1Hinyq&PG@J0?x zGCf)EXQ=!?pB0#k z=eCTV=L?asM+`o2%LB+!c%=;qsZ;ALfYULULAo@NdyiMTOp>Wn8mCJKA?c{cUGI=4 zXTvQCtuaHyrwQ<%Yz&fz$1JuB)Az65{Ph&vw%p~(zaI3UzCo5b3Gd}{#4W*xryh_c z^&a#d*nnA%$a%c!1Y=pbD)%zV<{uc;qa5aCZWE=kDlzP%l2evP!zh;b~--1K6zlaJCW*o z$iqs3c8ciAaitc|8n&yGtG(TxJAz7g-t<*u+K6#j-u8i zbd!V0WnlWopk@Ukmu{@2CjWi-bcu`o zYKENrxWK}`i9F0>&l)xea*FAPAK#o`eLRUx-=){RIqXqX498gta&Jd`xa7L(tb50% z*rmtQdDOiLPUKq&Ua%>83k6}vQ-f1gxLe> z+$Tz-G43#VBNfJIP!r?O88OCC=rm3&ctjdLSSyivBm16S|M2}u+ve^yNnH(jRGYJg zQ&=g;<7`G!YbqA-U{let>R6-=N906a{LCvpRmrKLOUg5aNNyw;qnBEGAk`9AbF9@uY@j%MR0v>Abu>iMZ5Xt^-p4 zay{k+4pwg6lyoa|mPm>y7?ymqZ6Q0C@bJ`t#fPQ**-~HF2p5gz)D#jXYq1Nh>A|Jy ztAk6A#kgd9zlbFR-ty?yu%p(szreBZmdjK2!N7n%s&Nji@$^^#f5XirX{<&%CtIG}s5L<}U^5%(kSE16V?)Bp$YhH}?8t3- zMTHcAFSt+morbBQw`$5qfNlbR;4TA*g z%I77>1ka3Bv8Tc{E$-yL&6aN)-Z&_32W(_215sd98 zOEhT`0xU8m6Gh%l!0eErBKalfx?%#09EvWV1i6#;j5WwyWnj$= zHVQDrOx0rNwP6jso&JM&vKDUOoA+-%o)8p|tB`O#HacQfK2TCvtOBV8?jf8hnL2GE881S**9REP9Pc6RC6RH*Mj?lT2eUaaQot2u~5% z{&Ek3y~w(Q;7n02_cAUnv=`YXsYqhM>vPgkJ5TQ1QI?cEzO^V!|zy$1Hy6lS31R{tkg_4=vkN@>#=U4+9>;a#`1Qx!;`yoEc&ds)p6p#Vh4aWZ75dF z0)yzrK`=8^X$$9uP~lR_8BZ}AmtE#AVAFgUw~v+V(nU05-m4nI}wko zN_8?Aa3U}6r_|F;t*7YgIO{V!wjC|y2+z%Xk!o)yb|7bGIwegzq5$9~oBafZz9Lz? zXSVJmD971LYb7P=goqP`;hF2==bIt7Fd0jhGU}|*Hfs9Y`e8e5_9BP!OKk-=2L16u zQFn{@-ic$`>~4{MB)IM+8PnITw{wTH0iY_1(|Bo27oQ466;&10%pO@acrP+JKVwEp z)F}gDqT@*u-zYh_MG85G>A$QWPp&(6CzrY&^04E;ln=E4 zZ8qfg&hcW8d7|M=9%l;{d?>cF(hx>o>e(s!6>YyLjUs_{3OGm?yg@5j^1-J@n;;En zBqcPg!PaF21|-Pb8WuSg>8hxTYT1_w5M>Ox7ceA9_%2OeD~HsU1fL;!d6$Od#;C{8 zkZhYc059+)B4s&y#NxVbC2jB}R;WGj&IZ$X@dhaOv^UuPYN@yzB{QPY8>o@D0wTy% z$Q)!-fw`P(sk<7C&e#f`@J?CmsnJ;$0LdL`6CFS#tO~TjS{^n@@CIq*38RTtQjwDi zXe9p*Q~LM+`tO8wvK{p<<-+ZOkAdPg`Q2^s-DaUs>v@gKg1GJTVvnNfzL1Sz9xuL0 zo{WNI)svwcKmgCPyeQdVmmqGrqPrPac_CNiyP|6r!TV9o7X1j?K4M?#_7@gi85me7 zvKh-r-D~a~0mRNuPzzsdj5U+O)MnPGSnNuKtm#{>b+uc)yGw42`u!GBzkWJs-BFSF z@3Q(uDzl!EdU%%hAA3@V4xTLMTYcCjq2w$1yw%LZac&S%tEF67$=ETTw|u3VDwA%a zcI3&LjS+arjTrT}W+rPAiAGrB<7VEYYJ(WVV;!fMMtO>a zfJTb*;&JpfXjsFp?$Fs09dPRRjbV8+YFRTv-LiO5&O|iGS=OHMG*d7Vpc~1ItBmCi zf!dN0iIg4Q5SX*1eGn3pT2xR;+kS%8mw?C1W%G@oSzA@-gOs&V_Rb1f^LT=l-RI{hm z?FXrUF=x@-*>WN;zBl}n9v$fsNLnx0>^f=}v&>9&qrf8b*gT2iitQPZA|sX{I7_z1 zih$G#IGYzo6sN)CG4nN`3eVSVB2?p(57 z4|&ift7GkY!n2fFN0v5V!E?~boYzArEhPf6;zV9Ng8Knb6tC+i?j$(ynKE$#PQ-rN z8soUHGzkaVJR!M-8+EX~$xXAqzze{19^OXBn}CUI08FHK$ITR(G>5Y#y$NachFInV zWJNlG!N-S8SU=|>dH=UpKLP2fdWYTZY0RHb6+U+s0wUJ36G2?)H?7BxsGD+YB$m&d z`F&d`EE5GzC>t*DG+#uvTnRn*)(HV?^r>P(x>M^TcM;PRc_hg8!sxlM!og7u!bzT~ zTNm(&COb=D3%m>$6`0<_bIqD6X^K~VfSw3k%eSvSp0YLfC|Ylfd4ULit7>gUlBZcZ zX6dRnwHm;2>XV3^R5`N%fb)3ijq!AptJwq&=g*^xVTNvda@o|%QxOE-NGS+lQ`2gR zZ5kb!o||Co4a>uGGc!)WODQ<}$nsCmidEzTWDnryBRh|!NU?z1lVm*((}#EK$%k~e z&HsALV~PhusE3W}2rb*QU#kxJXos&@$i5b#O4pwAc-+kfE24R)jp%|W{jw!I9{C(R z#k5RMGEy&SG(yFK$QuddsIX}qF?EEg*muTyHDU3n1JYx`8G<9b1X%$h2aItSUEe?n zHHxXg_;LE%^6tbs&wH`^ddxp!4fPx92aj~#{6ZGHb0KA;XhzkuTt>fX+fx%8C-Sfx zKQip_K#X_UlCa@o4-d8J=dRm_4?z<$9~*PZ9k9s^JTV&^$q{q6p79^ zU6y^*n?_EyYrsfbv~i6yzikis+#Wp9!vgaHBdCi#DxL>tuwq8?<~7SkBbi=eX>n4d zY>k#xYWNm7x`{;n@-3bbIx_X(TdiggvEybC-%D}dFuh;ioKMNtdlj8G z#yso{H;}cwF13Z`>Tz)IkFvcg4{7q5wfmgOi|-EkM7n_RI`cHc#=-bPV+2#A%2-^a zueHY90pwGmkU&9_TL-Tp5d^-K`B99#hgFoZp7l^gp-74(O9}Ec$7)+Qh$j`<4@q63 zs0qRAzvL5%Eb42GF{HITy2O_Dunwt6DMH-BB&Q9`YcZ;m;~!weh^L+Q=iXS8T;Y z=681Z7&+FZa3U`r$DbS(9$igRbdnEK8g3+2Axopl)x(}O-%~|g_O96;c)O|x+XWtZ zgbrb;Q;5gjvXB-4TT#;t6BuhM*waR(KQ~ls$RWdq42l+zz(+od8XvbG-<^WX^$2}jCF~k)-MzgM#@%)&t-3Yp&&TlgGR}&HH-X)3)=;faToS8DZg59dRZUr%*Z~X?(Ysdc@+=73 zfE}zi!ERvlKefhLZcYV8Uj7LL1w-bz;Mr@-7SzEgO{NX_I2aPy7HMUc?c<4z!T0Lg zu7*6UO9n_Nbh_3>bJ4?LkLHme`5tptyK}j5CXX`)+|(Q?`)*kL5zUAk6jqcb>A)kA z)>5;%cIi`6x=0CQAZ8k zo-;P)Dm%Si-Yh3JuHHQ|ydLzhz6^U-eO0k%U-fpho${kVwF*!K`3P3Fa3YVh2nj=G zgeuZXQe$TH{qwfSA`Gia8aN$v7Zj$^NODW>je5P55s8ctq_cA5D8Ub5=MrlVVS$Mi zTV!UXM}qNMONIgTZ7K zM)xPFr;#yPYzZwKYjxrL;;h-x?c*S7je-2`Gn+sJn=sY%nM?1R^S-@0QBvu;`TT0g z3mjA3>Js=J^m#wCgUi%kRb-NvqMX&%i-Bj0OCcZ2c@KTlocMh^kZ8x^XUx2wLpn!K z#R?qq;gY+Ub^as*Wxq@q>Xu|Ov{-7G=p?2%f8yba>^~Q({YA-(2p7c-DAh<6#<9Tc zAw!O(;9m+t2O*CZ;W&1?O2sEZkzYW6_H@%1s;RkyU}Rj!%96B){WpV!DZ-M2B@?^Pv2)#j z3PA9Hc8b(NV52#^b+BaN6YT?k{~zm{4=3b6<{SRyIOO&chPy3UaAXCy&Keo^)gP+w zYd+#y;o%T&W7UBZxkY$Rx}@XJ75WXufPa_`PSpocglul=S_);Z&o3Y;4hs38nIa zUIU5#FV=PcPD}o2Yqoig@+k&B`_xa?{Q5=Ol=NEKN0vbZs-AzQ?~qObf09QKt4R)! z&jwYVV#HtU8T4m^BDZ}0m5bCBtM>%Ee|%v74_O`nV0q3En7!~yhirwXQEKd&JW75D zW{rM=eR)g7-oaqW(K77mW)nus#1|r#C$s+PjQPiiSUwx`=_5Z`^4Tj-Oe~7GVwPML z#tlk}Cl4#wQzUrKMtPqojeWAGp0Q(jl}y4MD!qUDsl%kCHTtrB;l24qZqpJ(jycp| zyBSq(MP}2fn33?vHj3|Bi8rJ|xWxZ_`wP6CXAOw5bI>fK#crNR5jrEE<}nmfB}E2x z!P`ET9SDO=HkdES;k)y@Hz(V~9pvydsFUV) z(MT0p17#^yjj)8UH6v{_r0bTSl0nJKKogO;35t#Xw4C>MCjr-b<BxJ!*?MinE1% z$LC{n*NUmOEaiCChHyh03_QHKbmk+c9% z@zN;D37}U4{%RK7!Wz827=8^7F%H@s5`*IB&t#hdw$iK&vR@Of{ZfzRjX{4p!nHqC zx~86Lrg$hDMlXEe8xBZY1go4}$cAzPBIX23A&=;`^_2Z&N62xkCX`Xk2;zw3>@Jf- z00LV=d8|D`xueFGc1n}dWn$;RtSAnlDB-Q2C0V~*MtD8sF;#?rAjx_e-fmCkf8Gcg ziXpQNfUOsih2ch#_^AO(^VHCGl z9DmF8sk(W6`XF}nf6n!(8}yDO{ueO?&<6pDcUp zOBX9kGT{VA?Q6qg%v*OxhEk*Q^Y51n!Y_A5N_O26z-7wSnBuYzDmD{B5;7&q0Rry? z(nJQ5sUmf2e^Gkk5jM$6d7MJlN;5f6kZF)ZJ7-6F05=nck38)US6GK6~|pI zsOv!wk%Dq7o<;cbooAG0Gv=HkDG$uvYFjp**LzOmA$NoWxlkS3k{3p5(&=2(<5_U7 zM0cht(^Z63q{P#R-BfaQnY|s6wYZ8k_yD7ll3PA%MmrvDAu?T{JQq9!ARa;&MRwdk zRVY@&13o>gOFX~*cK`M`xwY6E4dpk-J*LV34-_Z%jQprZy_ZHY}l9oRqcr zm=Iqu@!L7Gd}=DUtPlmv5ImwZznO*I>%bd1Y!ofLCO@u$cb;Pi{_J zZt}k@?fcgsPApJ;lye)8dMJLiq{j3)EyXnD{JJNn8azu@l(D~cZn8K0+Q_5YZffF_ zTk|ebIgo$wcTX$&jLbWAq}Bx)MS@p0UFw4Dn@$hUvS+o0@T1UIBKeM=PmQ&pKBOm^ z9PcK6;Uxsrp)18c=%}WDee>b}WA55^+K8dx4{ajfFOPdk9@+||RD6Kf>wRpcmj730 zOvnbZLG%(8!~-k_EUzy!$LGv!j9XzrFWf;cTiwhY#PG^yhhxHZ%I?}>49wZ2+q-a~ z)r=HU>+WAuA#g3qUDe7BE}dwql@%RvDBef=RK?n6N_-2A6$HHESZ!-%g$KT2a-yQ^ zdBmAw{Zo!yqZyl_B_z%oVDIS9GD}WO=eU;M6NmZ7*(d)g46|IdU5?Lb*{%KP`SK0R z!Bbz1DZ3PDJwZkaA!3`eG+<$&$&%b4!EpH!Sph_#V;0azYY`qt8VH3#a%9DU=H3Qt z&rl7%=p@7($53R_+0l$$*1Fwlr;bI2HK`lMJtM6TNX#P3B3?i60-f7>ss~aO!Y!!| z!^79lo7P%+Tz_NwmcRd~{!|xDt}njRZ~aMn_irRLyw>J0BB`m99Y!Q{uJ_(eW=^S3 zVEq%mZcWRMuczsefKBv;)Wu_LjVa!zqB6~(M?j8*(QBl|o2Eoim6`I`x-gKyb@&IC zp%R9ZE}sC;8eZ^3>O(Mn=v)$UIUBRFP;!bM7PBoby!X;BR$RG-QA~+?qa?^%b#0(xJkZuD&}rNBl_6&j6Grt z>V`1Q-LTg|>{MdMuTOI0#yDeMiUep(;2jzmcr944?8wfNU&ipBi?J60q@b0v)IjU>`nZRhs>VXJ3}WGui6W)R&2d&)j>S*&G&W3<0HV^g2X+<{zNz*$ z_!g%RHGD9rYmcO5*c0T4?gWA&i)Vr{4~KT6hwjbo<<#ioZ7)5xg{X4@8=3cFHv})* zVTvHzL4{#5j2N@$tJ{mHVm{#5Dik{^pFr0Es@yC`U3d%ZRY{cp2Anfg@!neA1UEz! z03@_vqgJ)`jnP_d4bM@DX^j;_Egvd4F~x?il9UtrGTd)ur{63DxomTzn_t_;u+QDD zwbJ!7Q;a>64Sd{VuU37l$FgTfZl;n*?@a14C?<0OCs9H4vHW~wfJ<9^(yg%?J6cCA zR-qJ8if5s06vr&S7Y=I6u)c%v)!^S*tnUch0(c8J2=gqxAx#2raZAb+g%%}d4kI;m qH}VT|dopN!@v&gHryl~dS*+h`{!1YL3jhHB{{sMscuEcO=NABcQ_F|| diff --git a/fastlane_bot/tests/nbtest/_data/NBTest_006.csv.gz b/fastlane_bot/tests/nbtest/_data/NBTest_006.csv.gz deleted file mode 100644 index 585e100216e914f53b706ca61101c3d375660dad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 437869 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 z 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

e}ToDiD^?_g=9MwF()4^uF{aU(D#n=2gU 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%0Ae*b;8! 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 N0{}e$;d`Lx7XT^;vdjPg diff --git a/fastlane_bot/tests/nbtest/_data/README.md b/fastlane_bot/tests/nbtest/_data/README.md deleted file mode 100644 index 14320b5fb..000000000 --- a/fastlane_bot/tests/nbtest/_data/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# NBTest Data - -All data referred to by NBTest notebooks is stored in this directory. It is copied into the respective directory in the test area by the `run_tests` script. Currently the data will be accessed differently in the notebooks and in the actual tests. - -- **Notebooks**. In the notebooks the data can be accessed via a relative path `_data\mydata.csv`. - -- **Tests**. In the actual tests the data must be imported via the relative path `fastlane_bot/tests/nbtest/_data/mydata.csv` - - -Example - - try: - with open("_data/mydata.csv", "r") as f: - data = f.read() - except: - with open("fastlane_bot/tests/nbtest/_data/mydata.csv", "r") as f: - data = f.read() - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_000_Template.py b/fastlane_bot/tests/nbtest/test_000_Template.py deleted file mode 100644 index 19f94570d..000000000 --- a/fastlane_bot/tests/nbtest/test_000_Template.py +++ /dev/null @@ -1,98 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_000_Template.py` -# ------------------------------------------------------------ -# source file = NBTest_000_Template.py -# test id = 000 -# test comment = Template -# ------------------------------------------------------------ - - - - -from fastlane_bot.testing import * -from fastlane_bot import __VERSION__ -require("2.0", __VERSION__) - - - - -MYVAR0 = 0 - - -# ------------------------------------------------------------ -# Test 000 -# File test_000_Template.py -# Segment Demo section [NOTEST] -# ------------------------------------------------------------ -def notest_demo_section(): -# ------------------------------------------------------------ - # - # _this optional section is for demo purposes and it does not generate tests (inidcated by the trailing `[NOTEST`_ - # - # - slow running not test relevant code SHOULD go here - # - code producing charts or code reading data not available in the testing environment MUST go here - # - any Heading 2 section can be market `[NOTEST]` regarding of location - - pass - - -# ------------------------------------------------------------ -# Test 000 -# File test_000_Template.py -# Segment Section 1 -# ------------------------------------------------------------ -def test_section_1(): -# ------------------------------------------------------------ - # - # This section will be converted to a function named `test_section_1()` therefore it is important to only have alphanumerics or underscore in the title. - # - # Note: Heading 3 and below are only decorative and should be used liberally. - - # ### Using `iseq` - # - # `iseq` should be used for `float` comparisons; syntax is `iseq(a,b,c,...)` and they all must be equal to `a` for it not to fail. - - assert m.sqrt(2) != 1.414213562373095 - assert iseq(m.sqrt(2), 1.414213562373095) - - # ### Using `raises` - # - # With raisese you can check whether a function call raises; eg to check if `f(a,b=b)` raises you do - # - # assert raises(f, a, b=b) == - # - - inv = lambda x: 1/x - assert inv(2) == 0.5 - assert raises(inv, 0) == 'division by zero' - - # ### Variable scope - # - # see next section - - MYVAR1 = 1 - assert MYVAR1 == 1 - assert MYVAR0 == 0 - - -# ------------------------------------------------------------ -# Test 000 -# File test_000_Template.py -# Segment Section 2 -# ------------------------------------------------------------ -def test_section_2(): -# ------------------------------------------------------------ - # - # This is a new Heading two and therefor a new function, in this case called `test_section_2()`. Note the variables defined in a previous scope are not defined here. - - myvar1 = lambda: MYVAR1 - - assert MYVAR0 == 0 - - # + - #myvar1() == 1 # ONLY True in the Notebook - # - - - assert raises (myvar1) == "name 'MYVAR1' is not defined" # ONLY True in tests - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_002_CPCandOptimizer.py b/fastlane_bot/tests/nbtest/test_002_CPCandOptimizer.py deleted file mode 100644 index 2988cb8cf..000000000 --- a/fastlane_bot/tests/nbtest/test_002_CPCandOptimizer.py +++ /dev/null @@ -1,1892 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_002_CPCandOptimizer.py` -# ------------------------------------------------------------ -# source file = NBTest_002_CPCandOptimizer.py -# test id = 002 -# test comment = CPCandOptimizer -# ------------------------------------------------------------ - - - -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, CPCInverter, Pair -from fastlane_bot.tools.optimizer import CPCArbOptimizer, F, MargPOptimizer, PairOptimizer -from fastlane_bot.tools.analyzer import CPCAnalyzer -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Pair)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCArbOptimizer)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MargPOptimizer)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(PairOptimizer)) - -from fastlane_bot.testing import * -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -try: - market_df = pd.read_csv("_data/NBTEST_002_Curves.csv.gz") -except: - market_df = pd.read_csv("fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz") -CCmarket = CPCContainer.from_df(market_df) - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment description -# ------------------------------------------------------------ -def test_description(): -# ------------------------------------------------------------ - - d = CCmarket.bycid("167").description().splitlines() - d0 = """ - cid = 167 [167] - primary = WETH/DAI [WETH/DAI] - pp = 1,826.764318 DAI per WETH - pair = DAI/WETH [DAI/WETH] - tknx = 3,967,283.591895 DAI [virtual: 3,967,283.592] - tkny = 2,171.754481 WETH [virtual: 2,171.754] - p = 0.0005474159913752679 [min=None, max=None] WETH per DAI - fee = 0.003 - descr = sushiswap_v2 DAI/WETH 0.003 - """.strip().splitlines() - d0 = [l.strip() for l in d0] - assert d == d0 - for l in d0: - print(l) - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment bycids -# ------------------------------------------------------------ -def test_bycids(): -# ------------------------------------------------------------ - - CC = CCmarket - - assert len(CC.bycids()) == len(CC) - assert type(CC.bycids()) == type(CC) - assert type(CC.bycids(ascc=False)) == tuple - for c in CC: - assert isinstance(c.cid, str), f"{c.cid} is not of type str" - cids = [c.cid for c in CC] - assert raises(CC.bycids, include="foo", endswith="bar") == 'include and endswith cannot be used together' - assert raises(CC.bycids,"167, 168, 169") - CC1 = CC.bycids(["167", "168", "169"]) - assert len(CC1) == 3 - assert [c.cid for c in CC1] == ['167', '168', '169'] - CC2 = CC.bycids(endswith="11") - assert len(CC2) == 5 - assert [c.cid for c in CC2] == ['211', '311', '411', '511', '611'] - CC3 = CC.bycids(endswith="11", exclude=['311', '411']) - assert [c.cid for c in CC3] == ['211', '511', '611'] - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment pairo and primary -# ------------------------------------------------------------ -def test_pairo_and_primary(): -# ------------------------------------------------------------ - - assert Pair.n("WETH-eeee") == "WETH" - assert Pair.n("WETH") == "WETH" - assert Pair.n("USDC-uuuu/WETH-eeee") == "USDC/WETH" - - pairo = Pair("USDC-uuuu/WETH-eeee") - assert pairo.isprimary == False - assert raises (Pair, tknb='USDC-uuuu', tknq='WETH-eeee') - assert pairo.tknb == 'USDC-uuuu' - assert pairo.tknq == 'WETH-eeee' - assert pairo.tknb_n == 'USDC' - assert pairo.tknq_n == 'WETH' - assert pairo.tknx == 'USDC-uuuu' - assert pairo.tkny == 'WETH-eeee' - assert pairo.tknx_n == 'USDC' - assert pairo.tkny_n == 'WETH' - assert pairo.pair == 'USDC-uuuu/WETH-eeee' - assert pairo.pair_n == 'USDC/WETH' - assert pairo.primary == 'WETH-eeee/USDC-uuuu' - assert pairo.primary_n == 'WETH/USDC' - assert pairo.secondary == pairo.pair - assert pairo.secondary_n == pairo.pair_n - assert pairo.primary_tknb == "WETH" - assert pairo.primary_tknq == "USDC" - - pairo = Pair("WETH-eeee/USDC-uuuu") - assert pairo.isprimary == True - assert pairo.tknq == 'USDC-uuuu' - assert pairo.tknb == 'WETH-eeee' - assert pairo.tknq_n == 'USDC' - assert pairo.tknb_n == 'WETH' - assert pairo.tkny == 'USDC-uuuu' - assert pairo.tknx == 'WETH-eeee' - assert pairo.tkny_n == 'USDC' - assert pairo.tknx_n == 'WETH' - assert pairo.pair == 'WETH-eeee/USDC-uuuu' - assert pairo.pair_n == 'WETH/USDC' - assert pairo.primary == pairo.pair - assert pairo.primary_n == pairo.pair_n - assert pairo.secondary == 'USDC-uuuu/WETH-eeee' - assert pairo.secondary_n == 'USDC/WETH' - assert pairo.primary_tknb == "WETH" - assert pairo.primary_tknq == "USDC" - - c1 = CPC.from_pk(pair="USDC-uuuu/WETH-eeee", p=1, k=100) - c2 = CPC.from_pk(pair="WETH-eeee/USDC-uuuu", p=1, k=100) - CC = CPCContainer([c1,c2]) - assert c1.pairo.primary == 'WETH-eeee/USDC-uuuu' - assert c2.pairo.primary == 'WETH-eeee/USDC-uuuu' - assert c1.primary == c1.pairo.primary - assert CC.pairs() == {'WETH-eeee/USDC-uuuu'} - assert CC.pairs(standardize=True) == CC.pairs() - assert CC.pairs(standardize=False) == {'USDC-uuuu/WETH-eeee', 'WETH-eeee/USDC-uuuu'} - - assert Pair("WETH/USDC").isprimary == True - assert Pair("USDC/WETH").isprimary == False - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment buysell -# ------------------------------------------------------------ -def test_buysell(): -# ------------------------------------------------------------ - - # selling ETH at 2000-2001 USDC per ETH - c1 = CPC.from_carbon(pair="WETH/USDC", tkny="WETH", yint=10, y=10, pa=1/2000, pb=1/2001, isdydx=True) - assert c1.pair == "USDC/WETH" - assert c1.primary == "WETH/USDC" - assert c1.pairo.isprimary == False - assert c1.buysell(verbose=True, withprice=True) == 'sell-WETH @ 2000.00 USDC per WETH' - assert c1.buysell(verbose=False) == "s" - assert c1.buysell() == "s" - - # selling ETH at 2000-2001 USDC per ETH - c1 = CPC.from_carbon(pair="WETH/USDC", tkny="WETH", yint=10, y=10, pa=2000, pb=2001, isdydx=False) - assert c1.pair == "USDC/WETH" - assert c1.primary == "WETH/USDC" - assert c1.pairo.isprimary == False - assert c1.buysell(verbose=True, withprice=True) == 'sell-WETH @ 2000.00 USDC per WETH' - assert c1.buysell(verbose=False) == "s" - assert c1.buysell(verbose=False, withprice=True) == ('s', 2000.0000000000005) - assert c1.buysell() == "s" - - # buying ETH at 1500-1499 USDC per ETH - c2 = CPC.from_carbon(pair="WETH/USDC", tkny="USDC", yint=10, y=10, pa=1500, pb=1499, isdydx=True) - assert c2.pair == "WETH/USDC" - assert c2.primary == "WETH/USDC" - assert c2.pairo.isprimary == True - assert c2.buysell(verbose=True, withprice=True) == 'buy-WETH @ 1500.00 USDC per WETH' - assert c2.buysell(verbose=False) == "b" - assert c2.buysell(verbose=False, withprice=True) == ('b', 1500.0000000000002) - assert c2.buysell() == "b" - - # buying ETH at 1500-1499 USDC per ETH - c2 = CPC.from_carbon(pair="WETH/USDC", tkny="USDC", yint=10, y=10, pa=1500, pb=1499, isdydx=False) - assert c2.pair == "WETH/USDC" - assert c2.primary == "WETH/USDC" - assert c2.pairo.isprimary == True - assert c2.buysell(verbose=True, withprice=True) == 'buy-WETH @ 1500.00 USDC per WETH' - assert c2.buysell(verbose=False) == "b" - assert c2.buysell(verbose=False, withprice=True) == ('b', 1500.0000000000002) - assert c2.buysell() == "b" - - # univ3 1899-1901 @ 1900 USDC per WETH - c3 = CPC.from_univ3(pair="WETH/USDC", Pmarg=1900, uniPa=1899, uniPb=1901, uniL=1000, cid="", fee=0, descr="") - assert c3.pair == "WETH/USDC" - assert c3.primary == "WETH/USDC" - assert c3.pairo.isprimary == True - assert c3.buysell(verbose=True, withprice=True) == 'buy-sell-WETH @ 1900.00 USDC per WETH' - assert c3.buysell(verbose=False) == "bs" - assert c3.buysell(verbose=False, withprice=True) == ('bs', 1900.0000000000007) - assert c3.buysell() == "bs" - - # univ3 1899-1901 @ 1900 USDC per WETH - c3 = CPC.from_univ3(pair="USDC/WETH", Pmarg=1/1900, uniPb=1/1899, uniPa=1/1901, uniL=1000, cid="", fee=0, descr="") - assert c3.pair == "USDC/WETH" - assert c3.primary == "WETH/USDC" - assert c3.pairo.isprimary == False - assert c3.buysell(verbose=True, withprice=True) == 'buy-sell-WETH @ 1900.00 USDC per WETH' - assert c3.buysell(verbose=False) == "bs" - assert c3.buysell(verbose=False, withprice=True) == ('bs', 1900.) - assert c3.buysell() == "bs" - - # univ3 1899-1901 @ 1899 USDC per WETH (WETH low, therefore 100% in WETH, therefore sell WETH) - c4 = CPC.from_univ3(pair="WETH/USDC", Pmarg=1899, uniPa=1899, uniPb=1901, uniL=1000, cid="", fee=0, descr="") - assert c4.pair == "WETH/USDC" - assert c4.primary == "WETH/USDC" - assert c4.pairo.isprimary == True - assert c4.buysell(verbose=True, withprice=True) == 'sell-WETH @ 1899.00 USDC per WETH' - assert c4.buysell(verbose=False) == "s" - assert c4.buysell(verbose=False, withprice=True) == ('s', 1899.0000000000002) - assert c4.buysell() == "s" - - # univ3 1899-1901 @ 1901 USDC per WETH (WETH high, therefore 100% in USDC, therefore buy WETH) - c5 = CPC.from_univ3(pair="WETH/USDC", Pmarg=1901, uniPa=1899, uniPb=1901, uniL=1000, cid="", fee=0, descr="") - assert c5.pair == "WETH/USDC" - assert c5.primary == "WETH/USDC" - assert c5.pairo.isprimary == True - assert c5.buysell(verbose=True, withprice=True) == 'buy-WETH @ 1901.00 USDC per WETH' - assert c5.buysell(verbose=False) == "b" - assert c5.buysell(verbose=False, withprice=True) == ('b', 1900.9999999999998) - assert c5.buysell() == "b" - - # univ2 (tknb=2000 USDC, tknq=1 ETH) - c6 = CPC.from_univ2(pair="USDC/WETH", x_tknb=2000, y_tknq=1, cid="", fee=0, descr="") - assert c6.pair == "USDC/WETH" - assert c6.primary == "WETH/USDC" - assert c6.pairo.isprimary == False - assert c6.buysell(verbose=True, withprice=True) == 'buy-sell-WETH @ 2000.00 USDC per WETH' - assert c6.buysell(verbose=False) == "bs" - assert c6.buysell(verbose=False, withprice=True) == ('bs', 2000.) - assert c6.buysell() == "bs" - - # univ2 (tknq=2000 USDC, tknb=1 ETH) - c7 = CPC.from_univ2(pair="WETH/USDC", x_tknb=1, y_tknq=2000, cid="", fee=0, descr="") - assert c7.pair == "WETH/USDC" - assert c7.primary == "WETH/USDC" - assert c7.pairo.isprimary == True - assert c7.buysell(verbose=True, withprice=True) == 'buy-sell-WETH @ 2000.00 USDC per WETH' - assert c7.buysell(verbose=False) == "bs" - assert c7.buysell(verbose=False, withprice=True) == ('bs', 2000.) - assert c7.buysell() == "bs" - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment P -# ------------------------------------------------------------ -def test_p(): -# ------------------------------------------------------------ - - c = CPC.from_pk(pair="USDC/WETH", p=1, k=100, params=dict(exchange="univ3", a=dict(b=1, c=2))) - assert c.P("exchange") == "univ3" - assert c.P("a") == {'b': 1, 'c': 2} - assert c.P("a:b") == 1 - assert c.P("a:c") == 2 - assert c.P("a:d") is None - assert c.P("b") is None - assert c.P("b", "meh") == "meh" - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment byparams -# ------------------------------------------------------------ -def test_byparams(): -# ------------------------------------------------------------ - - pair = "USDC/WETH" - c = [CPC.from_pk(pair=pair, p=1, k=100, params=dict(exchange="univ3", foo=1)) for _ in range(5)] - c += [CPC.from_pk(pair=pair, p=1, k=100, params=dict(exchange="carbv1", foo=2)) for _ in range(15)] - CC = CPCContainer(c) - assert len(CC)==20 - - - assert type(CC.byparams(exchange="meh")) == CPCContainer - assert type(CC.byparams(exchange="meh", _ascc=True)) == CPCContainer - assert type(CC.byparams(exchange="meh", _ascc=False)) == tuple - assert type(CC.byparams(exchange="meh", _asgenerator=True)).__name__ == "generator" - assert type(CC.byparams(exchange="meh", _ascc=True, _asgenerator=True)).__name__ == "generator" - assert type(CC.byparams(exchange="meh", _ascc=False, _asgenerator=True)).__name__ == "generator" - assert len(CC.byparams(exchange="univ3")) == 5 - assert len(CC.byparams(exchange="carbv1")) == 15 - assert len(CC.byparams(exchange="meh")) == 0 - assert len(CC.byparams(foo=1)) == 5 - assert len(CC.byparams(foo=2)) == 15 - assert len(CC.byparams(foo=3)) == 0 - assert raises (CC.byparams, foo=1, bar=2) == "currently only one param allowed {'foo': 1, 'bar': 2}" - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment itm -# ------------------------------------------------------------ -def test_itm(): -# ------------------------------------------------------------ - - # + - itm0 = CPC.itm0 - assert CPC.ITM_THRESHOLDPC == 0.01 - - assert itm0( ("bs", 1000), ("bs", 1000) ) == False - assert itm0( ("bs", 1000), ("bs", 1009) ) == False - assert itm0( ("bs", 1009), ("bs", 1000) ) == False - assert itm0( ("bs", 1000), ("bs", 1011) ) == True - assert itm0( ("bs", 1011), ("bs", 1000) ) == True - assert itm0( ("bs", 1000), ("bs", 1011), thresholdpc=0.02 ) == False - assert itm0( ("bs", 1011), ("bs", 1000), thresholdpc=0.02 ) == False - assert itm0( ("bs", 1000), ("bs", 1021), thresholdpc=0.02 ) == True - assert itm0( ("bs", 1021), ("bs", 1000), thresholdpc=0.02 ) == True - - assert itm0( ("b", 1000), ("s", 1100) ) == False - assert itm0( ("b", 1000), ("b", 1100) ) == False - assert itm0( ("b", 1000), ("bs", 1100) ) == False - assert itm0( ("s", 1000), ("s", 1100) ) == False - assert itm0( ("s", 1000), ("b", 1100) ) == True - assert itm0( ("s", 1000), ("bs", 1100) ) == True - assert itm0( ("bs", 1000), ("s", 1100) ) == False - assert itm0( ("bs", 1000), ("b", 1100) ) == True - assert itm0( ("bs", 1000), ("bs", 1100) ) == True - - assert itm0( ("s", 1000), ("b", 900) ) == False - assert itm0( ("s", 1000), ("s", 900) ) == False - assert itm0( ("s", 1000), ("bs", 900) ) == False - assert itm0( ("b", 1000), ("b", 900) ) == False - assert itm0( ("b", 1000), ("s", 900) ) == True - assert itm0( ("b", 1000), ("bs", 900) ) == True - assert itm0( ("bs", 1000), ("b", 900) ) == False - assert itm0( ("bs", 1000), ("s", 900) ) == True - assert itm0( ("bs", 1000), ("bs", 900) ) == True - # - - - - # c1: sell ETH @ 2000, c2: buy ETH @ 1500 --> no arb - c1 = CPC.from_carbon(pair="WETH/USDC", tkny="WETH", yint=10, y=10, pa=2000, pb=2001, isdydx=False) - c2 = CPC.from_carbon(pair="WETH/USDC", tkny="USDC", yint=10, y=10, pa=1500, pb=1499, isdydx=False) - bs1 = c1.buysell(verbose=False, withprice=True) - bs2 = c2.buysell(verbose=False, withprice=True) - assert (bs1, bs2) == (('s', 2000.0000000000005), ('b', 1500.0000000000002)) - assert itm0(bs1, bs2) == False - assert c1.itm(c2) == c2.itm(c1) - assert c1.itm(c2) == itm0(bs1, bs2) - assert c1.itm([c2,c2], aggr=False) == (itm0(bs1, bs2), itm0(bs1, bs2)) - - # c1: buy ETH @ 2000, c2: sell ETH @ 1500 --> arb - c1 = CPC.from_carbon(pair="WETH/USDC", tkny="USDC", yint=10, y=10, pb=2000, pa=2001, isdydx=False) - c2 = CPC.from_carbon(pair="WETH/USDC", tkny="WETH", yint=10, y=10, pb=1500, pa=1499, isdydx=False) - bs1 = c1.buysell(verbose=False, withprice=True) - bs2 = c2.buysell(verbose=False, withprice=True) - assert (bs1, bs2) == (('b', 2000.9999999999998), ('s', 1499.0000000000002)) - assert itm0(bs1, bs2) == True - assert c1.itm(c2) == c2.itm(c1) - assert c1.itm(c2) == itm0(bs1, bs2) - assert c1.itm([c2,c2], aggr=False) == (itm0(bs1, bs2), itm0(bs1, bs2)) - - # c1: buy ETH @ 2000, c2: sell ETH @ 1500, c2b: sell ETH @ 2500 --> arb, noarb - c1 = CPC.from_carbon(pair="WETH/USDC", tkny="USDC", yint=10, y=10, pb=2000, pa=2001, isdydx=False) - c2 = CPC.from_carbon(pair="WETH/USDC", tkny="WETH", yint=10, y=10, pb=1500, pa=1499, isdydx=False) - c2b = CPC.from_carbon(pair="WETH/USDC", tkny="WETH", yint=10, y=10, pb=2500, pa=2499, isdydx=False) - CC = CPCContainer([c1,c2,c2b]) - assert c1.itm(c2) == True - assert c1.itm(c2b) == False - assert c1.itm([c2,c2b], aggr=False) == (True, False) - assert c1.itm([c2b,c2], aggr=False) == (False, True) - assert c1.itm([c2b,c2], aggr=True) == True - assert c1.itm([c2,c2b], aggr=True) == True - assert c1.itm([c2b,c2]) == True - assert c1.itm([c2,c2b]) == True - assert c1.itm(CC, aggr=True) == True - assert c1.itm(CC, aggr=False) == (False, True, False) - - # c3: buy/sell @ 1900, c4: buy/sell @ 1899 --> arb depending on threshold - c3 = CPC.from_univ3(pair="WETH/USDC", Pmarg=1900, uniPa=1898, uniPb=1902, uniL=1000, cid="", fee=0, descr="") - c4 = CPC.from_univ3(pair="WETH/USDC", Pmarg=1899, uniPa=1898, uniPb=1902, uniL=1000, cid="", fee=0, descr="") - bs3 = c3.buysell(verbose=False, withprice=True) - bs4 = c4.buysell(verbose=False, withprice=True) - assert (bs3, bs4) == (('bs', 1900.0000000000007), ('bs', 1899.0000000000002)) - assert itm0(bs3, bs4, thresholdpc=0.0001) == True - assert itm0(bs3, bs4, thresholdpc=0.001) == False - assert c3.itm(c4) == c4.itm(c3) - assert c3.itm(c4) == itm0(bs3, bs4) - assert c3.itm([c4,c4], aggr=False) == (itm0(bs3, bs4), itm0(bs3, bs4)) - - # c3: buy/sell @ 1900, c4: buy/sell @ 1899 --> arb depending on threshold - c3 = CPC.from_univ3(pair="WETH/USDC", Pmarg=1900, uniPa=1898, uniPb=1902, uniL=1000, cid="", fee=0, descr="") - c4 = CPC.from_univ3(pair="USDC/WETH", Pmarg=1/1899, uniPb=1/1898, uniPa=1/1902, uniL=1000, cid="", fee=0, descr="") - bs3 = c3.buysell(verbose=False, withprice=True) - bs4 = c4.buysell(verbose=False, withprice=True) - assert (bs3, bs4) == (('bs', 1900.0000000000007), ('bs', 1899.0000000000002)) - assert itm0(bs3, bs4, thresholdpc=0.0001) == True - assert itm0(bs3, bs4, thresholdpc=0.001) == False - assert c3.itm(c4) == c4.itm(c3) - assert c3.itm(c4) == itm0(bs3, bs4) - assert c3.itm([c4,c4], aggr=False) == (itm0(bs3, bs4), itm0(bs3, bs4)) - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment TVL -# ------------------------------------------------------------ -def test_tvl(): -# ------------------------------------------------------------ - - c = CPC.from_pk(pair="WETH/USDC", p=2000, k=1*2000) - assert c.tvl(incltkn=True) == (4000.0, 'USDC', 1) - assert c.tvl("USDC", incltkn=True) == (4000.0, 'USDC', 1) - assert c.tvl("WETH", incltkn=True) == (2.0, 'WETH', 1) - assert c.tvl("USDC", incltkn=True, mult=2) == (8000.0, 'USDC', 2) - assert c.tvl("WETH", incltkn=True, mult=2) == (4.0, 'WETH', 2) - assert c.tvl("WETH", incltkn=False) == 2.0 - assert c.tvl("WETH") == 2.0 - assert c.tvl() == 4000 - assert c.tvl("WETH", mult=2000) == 4000 - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment estimate prices -# ------------------------------------------------------------ -def test_estimate_prices(): -# ------------------------------------------------------------ - - CC = CPCContainer() - CC += [CPC.from_univ3(pair="WETH/USDC", cid="uv3", fee=0, descr="", - uniPa=2000, uniPb=2010, Pmarg=2005, uniL=10*m.sqrt(2000))] - CC += [CPC.from_pk(pair="WETH/USDC", cid="uv2", fee=0, descr="", - p=1950, k=5**2*2000)] - CC += [CPC.from_pk(pair="USDC/WETH", cid="uv2r", fee=0, descr="", - p=1/1975, k=5**2*2000)] - CC += [CPC.from_carbon(pair="WETH/USDC", cid="carb", fee=0, descr="", - tkny="USDC", yint=1000, y=1000, pa=1850, pb=1750)] - CC += [CPC.from_carbon(pair="WETH/USDC", cid="carb", fee=0, descr="", - tkny="WETH", yint=1, y=0, pb=1/1850, pa=1/1750)] - CC += [CPC.from_carbon(pair="WETH/USDC", cid="carb", fee=0, descr="", - tkny="USDC", yint=1000, y=500, pa=1870, pb=1710)] - #CC.plot() - - assert CC.price_estimate(tknq=T.WETH, tknb=T.USDC, result=CC.PE_PAIR) == f"{T.USDC}/{T.WETH}" - assert CC.price_estimate(pair=f"{T.USDC}/{T.WETH}", result=CC.PE_PAIR) == f"{T.USDC}/{T.WETH}" - assert raises(CC.price_estimate, tknq="a", result=CC.PE_PAIR) - assert raises(CC.price_estimate, tknb="a", result=CC.PE_PAIR) - assert raises(CC.price_estimate, tknq="a", tknb="b", pair="a/b", result=CC.PE_PAIR) - assert raises(CC.price_estimate, pair="ab", result=CC.PE_PAIR) - assert CC.price_estimates(tknqs=[T.WETH], tknbs=[T.USDC], pairs=True, - unwrapsingle=False)[0][0] == f"{T.USDC}/{T.WETH}" - assert CC.price_estimates(tknqs=[T.WETH], tknbs=[T.USDC], pairs=True, - unwrapsingle=True)[0] == f"{T.USDC}/{T.WETH}" - assert CC.price_estimates(tknqs=[T.WETH], tknbs=[T.USDC], pairs=True)[0] == f"{T.USDC}/{T.WETH}" - r = CC.price_estimates(tknqs=list("ABC"), tknbs=list("DEFG"), pairs=True) - assert r.ndim == 2 - assert r.shape == (3,4) - r = CC.price_estimates(tknqs=list("A"), tknbs=list("DEFG"), pairs=True) - assert r.ndim == 1 - assert r.shape == (4,) - - assert CC[0].at_boundary == False - assert CC[1].at_boundary == False - assert CC[2].at_boundary == False - assert CC[3].at_boundary == True - assert CC[3].at_xmin == True - assert CC[3].at_ymin == False - assert CC[3].at_xmax == False - assert CC[3].at_ymax == True - assert CC[4].at_boundary == True - assert CC[4].at_ymin == True - assert CC[4].at_xmin == True - assert CC[4].at_ymax == True - assert CC[4].at_xmax == True - assert CC[5].at_boundary == True - - r = CC.price_estimate(tknq="USDC", tknb="WETH", result=CC.PE_CURVES) - assert len(r)==3 - - p,w = CC.price_estimate(tknq="USDC", tknb="WETH", result=CC.PE_DATA) - assert len(p) == len(r) - assert len(w) == len(r) - assert iseq(sum(p), 5930) - assert iseq(sum(w), 894.4271909999159) - pe = CC.price_estimate(tknq="USDC", tknb="WETH") - assert pe == np.average(p, weights=w) - - O = PairOptimizer(CC) - Om = PairOptimizer(CCmarket) - assert O.price_estimates(tknq="USDC", tknbs=["WETH"]) == CC.price_estimates(tknqs=["USDC"], tknbs=["WETH"]) - CCmarket.fp(onein="USDC") - r = Om.price_estimates(tknq="USDC", tknbs=["WETH", "WBTC"]) - assert iseq(r[0], 1820.89875275) - assert iseq(r[1], 28351.08150121) - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment triangle estimates -# ------------------------------------------------------------ -def test_triangle_estimates(): -# ------------------------------------------------------------ - - CC = CPCContainer() - CC += [CPC.from_univ3(pair=f"{T.WETH}/{T.USDC}", cid="uv3-1", fee=0, descr="", - uniPa=2000, uniPb=2002, Pmarg=2001, uniL=10*m.sqrt(2000))] - CC += [CPC.from_univ3(pair=f"{T.WBTC}/{T.USDC}", cid="uv3-2", fee=0, descr="", - uniPa=20000, uniPb=20020, Pmarg=20010, uniL=1*m.sqrt(20000))] - #CC.plot() - - help(CC.price_estimate) - - assert iseq(CC.price_estimate(pair=f"{T.WETH}/{T.USDC}"), 2001) - assert iseq(CC.price_estimate(pair=f"{T.WBTC}/{T.USDC}"), 20010) - assert iseq(CC.price_estimate(pair=f"{T.USDC}/{T.WETH}"), 1/2001) - assert iseq(CC.price_estimate(pair=f"{T.USDC}/{T.WBTC}"), 1/20010) - - assert CC.price_estimate(tknb=T.WETH, tknq=T.USDC, result=CC.PE_PAIR) == f"{T.WETH}/{T.USDC}" - r = CC.price_estimate(tknb=T.WETH, tknq=T.USDC, result=CC.PE_CURVES) - assert len(r) == 1 - assert r[0][0].cid=="uv3-1" - assert iseq(r[0][1], 2001) - assert iseq(r[0][2], 200000.0) - r = CC.price_estimate(tknb=T.WETH, tknq=T.USDC, result=CC.PE_DATA) - assert len(r) == 2 - assert r[0].shape == (1,) - assert r[1].shape == (1,) - assert iseq(r[0][0], 2001) - - help(CC.price_estimates) - - r = CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC], unwrapsingle=True, pairs=True) - assert r.shape == (1,) - assert r[0] == f"{T.WBTC}/{T.WETH}" - assert CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC], pairs=True) == r - r - - r = CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC], unwrapsingle=False, pairs=True) - assert r.shape == (1,1) - assert r[0][0] == f"{T.WBTC}/{T.WETH}" - r - - assert raises(CC.price_estimates, tknqs=[T.WETH], tknbs=[T.WBTC], - triangulate=False).startswith("('no price found") - r = CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC], raiseonerror=False, triangulate=False) - assert r == CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC], raiseonerror=False, triangulate=False) - assert r.shape == (1,) - assert r[0] is None - - r = CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC], triangulate=[T.USDC]) - assert r == CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC], triangulate=True) - assert r == CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC]) - assert iseq(r[0], 10) - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment price estimates in optimizer -# ------------------------------------------------------------ -def test_price_estimates_in_optimizer(): -# ------------------------------------------------------------ - - prices = {"USDC":1, "LINK": 5, "AAVE": 100, "MKR": 500, "WETH": 2000, "WBTC": 20000} - CCfm, ctr = CPCContainer(), 0 - for tknb, pb in prices.items(): - for tknq, pq in prices.items(): - if pb>pq: - pair = f"{tknb}/{tknq}" - pp = pb/pq - k = (100000)**2/(pb*pq) - CCfm += CPC.from_pk(p=pp, k=k, pair=pair, cid = f"mkt-{ctr}") - ctr += 1 - - O = MargPOptimizer(CCfm) - assert O.MO_PSTART == O.MO_P - tknq = "WETH" - df = O.margp_optimizer(tknq, result=O.MO_PSTART) - rd = df[tknq].to_dict() - assert len(df) == len(prices)-1 - assert df.columns[0] == tknq - assert df.index.name == "tknb" - assert rd == {k:v/prices[tknq] for k,v in prices.items() if k!=tknq} - df2 = O.margp_optimizer(tknq, result=O.MO_PSTART, params=dict(pstart=df)) - assert np.all(df == df2) - df2 = O.margp_optimizer(tknq, result=O.MO_PSTART, params=dict(pstart=rd)) - assert np.all(df == df2) - df - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment Assertions and testing -# ------------------------------------------------------------ -def test_assertions_and_testing(): -# ------------------------------------------------------------ - - c = CPC.from_px(p=2000,x=10, pair="ETH/USDC") - assert c.pair == "ETH/USDC" - assert c.tknb == c.pair.split("/")[0] - assert c.tknx == c.tknb - assert c.tknq == c.pair.split("/")[1] - assert c.tkny == c.tknq - assert f"{c.tknb}/{c.tknq}" == c.pair - print (c.descr) - - c = CPC.from_xy(10,20) - assert c == CPC.from_kx(c.k, c.x) - assert c == CPC.from_ky(c.k, c.y) - assert c == CPC.from_xy(c.x, c.y) - assert c == CPC.from_pk(c.p, c.k) - assert c == CPC.from_px(c.p, c.x) - assert c == CPC.from_py(c.p, c.y) - - c - - c = CPC.from_px(p=2, x=100, x_act=10, y_act=20) - assert c.y_max*c.x_min == c.k - assert c.x_max*c.y_min == c.k - assert c.p_min == c.y_min / c.x_max - assert c.p_max == c.y_max / c.x_min - assert c.p_max >= c.p_min - - c = CPC.from_px(p=2, x=100, x_act=10, y_act=20) - e = 1e-5 - assert 95*c.yfromx_f(x=95) == c.k - assert 105*c.yfromx_f(x=105) == c.k - assert 190*c.xfromy_f(y=190) == c.k - assert 210*c.xfromy_f(y=210) == c.k - assert not c.yfromx_f(x=90) is None - assert c.yfromx_f(x=90-e) is None - assert not c.xfromy_f(y=180) is None - assert c.xfromy_f(y=180-e) is None - assert c.dyfromdx_f(dx=-5) - assert (c.y+c.dyfromdx_f(dx=-5))*(c.x-5) == c.k - assert (c.y+c.dyfromdx_f(dx=+5))*(c.x+5) == c.k - assert (c.x+c.dxfromdy_f(dy=-5))*(c.y-5) == c.k - assert (c.x+c.dxfromdy_f(dy=+5))*(c.y+5) == c.k - - c = CPC.from_pkpp(p=100, k=100) - assert c.p_min == 100 - assert c.p_max == 100 - assert c.p == 100 - assert c.k == 100 - - c = CPC.from_pkpp(p=100, k=100, p_min=80, p_max=120) - assert c.p_min == 80 - assert iseq(c.p_max, 120) - assert c.p == 100 - assert c.k == 100 - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment iseq -# ------------------------------------------------------------ -def test_iseq(): -# ------------------------------------------------------------ - - assert iseq("a", "a", "ab") == False - assert iseq("a", "a", "a") - assert iseq(1.0, 1, 1.0) - assert iseq(0,0) - assert iseq(0,1e-10) - assert iseq(0,1e-5) == False - assert iseq(1, 1.00001) == False - assert iseq(1, 1.000001) - assert iseq(1, 1.000001, eps=1e-7) == False - assert iseq("1", 1) == False - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment New CPC features in v2 -# ------------------------------------------------------------ -def test_new_cpc_features_in_v2(): -# ------------------------------------------------------------ - - # + - p = CPCContainer.Pair("ETH/USDC") - assert str(p) == "ETH/USDC" - assert p.pair == str(p) - assert p.tknx == "ETH" - assert p.tkny == "USDC" - assert p.tknb == "ETH" - assert p.tknq == "USDC" - - pp = CPCContainer.Pair.wrap(["ETH/USDC", "WBTC/ETH"]) - assert len(pp) == 2 - assert pp[0].pair == "ETH/USDC" - assert pp[1].pair == "WBTC/ETH" - assert pp[0].unwrap(pp) == ('ETH/USDC', 'WBTC/ETH') - # - - - pairs = ["A", "B", "C"] - assert CPCContainer.pairset(", ".join(pairs)) == set(pairs) - assert CPCContainer.pairset(pairs) == set(pairs) - assert CPCContainer.pairset(tuple(pairs)) == set(pairs) - assert CPCContainer.pairset(p for p in pairs) == set(pairs) - - pairs = [f"{a}/{b}" for a in ["ETH", "USDC", "DAI"] for b in ["DAI", "WBTC", "LINK", "ETH"] if a!=b] - CC = CPCContainer() - fp = lambda **cond: CC.filter_pairs(pairs=pairs, **cond) - assert fp(bothin="ETH, USDC, DAI") == {'DAI/ETH', 'ETH/DAI', 'USDC/DAI', 'USDC/ETH'} - assert fp(onein="WBTC") == {'DAI/WBTC', 'ETH/WBTC', 'USDC/WBTC'} - assert fp(onein="ETH") == fp(contains="ETH") - assert fp(notin="WBTC, ETH, DAI") == {'USDC/LINK'} - assert fp(tknbin="WBTC") == set() - assert fp(tknqin="WBTC") == {'DAI/WBTC', 'ETH/WBTC', 'USDC/WBTC'} - assert fp(tknbnotin="WBTC") == set(pairs) - assert fp(tknbnotin="WBTC, ETH, DAI") == {'USDC/DAI', 'USDC/ETH', 'USDC/LINK', 'USDC/WBTC'} - assert fp(notin_0="WBTC", notin_1="DAI") == fp(notin="WBTC, DAI") - assert fp(onein = "ETH") == fp(anyall=CC.FP_ANY, tknbin="ETH", tknqin="ETH") - - P = CPCContainer.Pair - ETHUSDC = P("ETH/USDC") - USDCETH = P(ETHUSDC.pairr) - assert ETHUSDC.pair == "ETH/USDC" - assert ETHUSDC.pairr == "USDC/ETH" - assert USDCETH.pairr == "ETH/USDC" - assert USDCETH.pair == "USDC/ETH" - assert ETHUSDC.isprimary - assert not USDCETH.isprimary - assert ETHUSDC.primary == ETHUSDC.pair - assert ETHUSDC.secondary == ETHUSDC.pairr - assert USDCETH.primary == USDCETH.pairr - assert USDCETH.secondary == USDCETH.pair - assert ETHUSDC.primary == USDCETH.primary - assert ETHUSDC.secondary == USDCETH.secondary - - assert P("BTC/ETH").isprimary - assert P("WBTC/ETH").isprimary - assert P("BTC/WETH").isprimary - assert P("WBTC/ETH").isprimary - assert P("BTC/USDC").isprimary - assert P("XYZ/USDC").isprimary - assert P("XYZ/USDT").isprimary - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment Real data and retrieval of curves -# ------------------------------------------------------------ -def test_real_data_and_retrieval_of_curves(): -# ------------------------------------------------------------ - - # try: - # df = pd.read_csv("../nbtest_data/NBTEST_002_Curves.csv.gz") - # except: - # df = pd.read_csv("fastlane_bot/tests/nbtest_data/NBTEST_002_Curves.csv.gz") - CC = CPCContainer.from_df(market_df) - assert len(CC) == 459 - assert len(CC) == len(market_df) - assert len(CC.pairs()) == 326 - assert len(CC.tokens()) == 141 - assert CC.tokens_s - assert CC.tokens_s()[:60] == '1INCH,1ONE,AAVE,ALCX,ALEPH,ALPHA,AMP,ANKR,ANT,APW,ARCONA,ARM' - print("Num curves:", len(CC)) - print("Num pairs:", len(CC.pairs())) - print("Num tokens:", len(CC.tokens())) - #print(CC.tokens_s()) - - assert CC.bypairs(CC.fp(onein="WETH, WBTC")) == CC.bypairs(CC.fp(onein="WETH, WBTC"), asgenerator=False) - assert len(CC.bypairs(CC.fp(onein="WETH, WBTC"))) == 254 - assert len(CC.bypairs(CC.fp(onein="WETH, WBTC"), ascc=True)) == 254 - CC1 = CC.bypairs(CC.fp(onein="WBTC"), ascc=True) - assert len(CC1) == 29 - cids = [c.cid for c in CC.bypairs(CC.fp(onein="WBTC"))] - assert len(cids) == len(CC1) - assert CC.bycid("bla") is None - assert not CC.bycid("191") is None - assert raises(CC.bycids, ["bla"]) - assert len(CC.bycids(cids)) == len(cids) - assert len(CC.bytknx("WETH")) == 46 - assert len(CC.bytkny("WETH")) == 181 - assert len(CC.bytknys("WETH")) == len(CC.bytkny("WETH")) - assert len(CC.bytknxs("USDC, USDT")) == 41 - assert len(CC.bytknxs(["USDC", "USDT"])) == len(CC.bytknxs("USDC, USDT")) - assert len(CC.bytknys(["USDC", "USDT"])) == len(CC.bytknys({"USDC", "USDT"})) - cs = CC.bytknx("WETH", asgenerator=True) - assert raises(len, cs) - assert len(tuple(cs)) == 46 - assert len(tuple(cs)) == 0 # generator empty - - CC2 = CC.bypairs(CC.fp(bothin="USDC, DAI, BNT, SHIB, ETH, AAVE, LINK"), ascc=True) - tt = CC2.tokentable() - assert tt["ETH"].x == [] - assert tt["ETH"].y == [0] - assert tt["DAI"].x == [1,4,8] - assert tt["DAI"].y == [3,6] - tt - - assert CC2.tknxs() == {'AAVE', 'BNT', 'DAI', 'LINK'} - assert CC2.tknxl() == ['BNT', 'DAI', 'LINK', 'LINK', 'DAI', 'LINK', 'LINK', 'AAVE', 'DAI'] - assert set(CC2.tknxl()) == CC2.tknxs() - assert set(CC2.tknyl()) == CC2.tknys() - assert len(CC2.tknxl()) == len(CC2.tknyl()) - assert len(CC2.tknxl()) == len(CC2) - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment TokenScale tests [NOTEST] -# ------------------------------------------------------------ -def notest_tokenscale_tests(): -# ------------------------------------------------------------ - - pass - - # + - # TSB = ts.TokenScaleBase() - # assert raises (TSB.scale,"ETH") - # assert TSB.DEFAULT_SCALE == 1e-2 - - # + - # TS = ts.TokenScale.from_tokenscales(USDC=1e0, ETH=1e3, BTC=1e4) - # TS - - # + - # assert TS("USDC") == 1 - # assert TS("ETH") == 1000 - # assert TS("BTC") == 10000 - # assert TS("MEH") == TS.DEFAULT_SCALE - - # + - # TSD = ts.TokenScaleData - - # + - # tknset = {'AAVE', 'BNT', 'BTC', 'ETH', 'LINK', 'USDC', 'USDT', 'WBTC', 'WETH'} - # assert tknset - set(TSD.scale_dct.keys()) == set() - - # + - # cc1 = CPC.from_xy(x=10, y=20000, pair="ETH/USDC") - # assert cc1.tokenscale is cc1.TOKENSCALE - # assert cc1.tknx == "ETH" - # assert cc1.tkny == "USDC" - # assert cc1.scalex == 1 - # assert cc1.scaley == 1 - # cc2 = CPC.from_xy(x=10, y=20000, pair="BTC/MEH") - # assert cc2.tknx == "BTC" - # assert cc2.tkny == "MEH" - # assert cc2.scalex == 1 - # assert cc2.scaley == 1 - # assert cc2.scaley == cc2.tokenscale.DEFAULT_SCALE - - # + - # cc1 = CPC.from_xy(x=10, y=20000, pair="ETH/USDC") - # cc1.set_tokenscale(TSD) - # assert cc1.tokenscale != cc1.TOKENSCALE - # assert cc1.tknx == "ETH" - # assert cc1.tkny == "USDC" - # assert cc1.scalex == 1e3 - # assert cc1.scaley == 1e0 - # cc2 = CPC.from_xy(x=10, y=20000, pair="BTC/MEH") - # cc2.set_tokenscale(TSD) - # assert cc2.tknx == "BTC" - # assert cc2.tkny == "MEH" - # assert cc2.scalex == 1e4 - # assert cc2.scaley == 1e-2 - # assert cc2.scaley == cc2.tokenscale.DEFAULT_SCALE - # - - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment dx_min and dx_max etc -# ------------------------------------------------------------ -def test_dx_min_and_dx_max_etc(): -# ------------------------------------------------------------ - - cc = CPC.from_pkpp(p=100, k=100*10000, p_min=90, p_max=110) - assert iseq(cc.x_act, 4.653741075440777) - assert iseq(cc.y_act, 513.167019494862) - assert cc.dx_min == -cc.x_act - assert cc.dy_min == -cc.y_act - assert iseq( (cc.x + cc.dx_max)*(cc.y + cc.dy_min), cc.k) - assert iseq( (cc.y + cc.dy_max)*(cc.x + cc.dx_min), cc.k) - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment xyfromp_f and dxdyfromp_f -# ------------------------------------------------------------ -def test_xyfromp_f_and_dxdyfromp_f(): -# ------------------------------------------------------------ - - # + - c = CPC.from_pkpp(p=100, k=100*10000, p_min=90, p_max=110, pair=f"{T.ETH}/{T.USDC}") - - assert c.pair == 'WETH-6Cc2/USDC-eB48' - assert c.pairp == 'WETH/USDC' - assert c.p == 100 - assert iseq(c.x_act, 4.653741075440777) - assert iseq(c.y_act, 513.167019494862) - assert c.tknx == T.ETH - assert c.tkny == T.USDC - assert c.tknxp == "WETH" - assert c.tknyp == "USDC" - assert c.xyfromp_f() == (c.x, c.y, c.p) - assert c.xyfromp_f(withunits=True) == (100.0, 10000.0, 100.0, 'WETH', 'USDC', 'WETH/USDC') - - x,y,p = c.xyfromp_f(p=85, ignorebounds=True) - assert p == 85 - assert iseq(x*y, c.k) - assert iseq(y/x,85) - - x,y,p = c.xyfromp_f(p=115, ignorebounds=True) - assert p == 115 - assert iseq(x*y, c.k) - assert iseq(y/x,115) - - x,y,p = c.xyfromp_f(p=95) - assert p == 95 - assert iseq(x*y, c.k) - assert iseq(y/x,p) - - x,y,p = c.xyfromp_f(p=105) - assert p == 105 - assert iseq(x*y, c.k) - assert iseq(y/x,p) - - x,y,p = c.xyfromp_f(p=85) - assert p == 85 - assert iseq(x*y, c.k) - assert iseq(y/x,90) - - x,y,p = c.xyfromp_f(p=115) - assert p == 115 - assert iseq(x*y, c.k) - assert iseq(y/x,110) - - # + - assert c.dxdyfromp_f(withunits=True) == (0.0, 0.0, 100.0, 'WETH', 'USDC', 'WETH/USDC') - - dx,dy,p = c.dxdyfromp_f(p=85, ignorebounds=True) - assert p == 85 - assert iseq((c.x+dx)*(c.y+dy), c.k) - assert iseq((c.y+dy)/(c.x+dx),p) - - dx,dy,p = c.dxdyfromp_f(p=115, ignorebounds=True) - assert p == 115 - assert iseq((c.x+dx)*(c.y+dy), c.k) - assert iseq((c.y+dy)/(c.x+dx),p) - - dx,dy,p = c.dxdyfromp_f(p=95) - assert p == 95 - assert iseq((c.x+dx)*(c.y+dy), c.k) - assert iseq((c.y+dy)/(c.x+dx),p) - - dx,dy,p = c.dxdyfromp_f(p=105) - assert p == 105 - assert iseq((c.x+dx)*(c.y+dy), c.k) - assert iseq((c.y+dy)/(c.x+dx),p) - - dx,dy,p = c.dxdyfromp_f(p=85) - assert p == 85 - assert iseq((c.x+dx)*(c.y+dy), c.k) - assert iseq((c.y+dy)/(c.x+dx), 90) - assert iseq(dy, -c.y_act) - - dx,dy,p = c.dxdyfromp_f(p=115) - assert p == 115 - assert iseq((c.x+dx)*(c.y+dy), c.k) - assert iseq((c.y+dy)/(c.x+dx), 110) - assert iseq(dx, -c.x_act) - - assert iseq(c.x_min*c.y_max, c.k) - assert iseq(c.x_max*c.y_min, c.k) - assert iseq(c.y_max/c.x_min, c.p_max) - assert iseq(c.y_min/c.x_max, c.p_min) - # - - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment CPCInverter -# ------------------------------------------------------------ -def test_cpcinverter(): -# ------------------------------------------------------------ - - c = CPC.from_pkpp(p=2000, k=10*20000, p_min=1800, p_max=2200, fee=0.001, pair=f"{T.ETH}/{T.USDC}", params={"foo": "bar"}) - c2 = CPC.from_pkpp(p=1/2000, k=10*20000, p_max=1/1800, p_min=1/2200, fee=0.002, pair=f"{T.USDC}/{T.ETH}", params={"foo": "bar"}) - ci = CPCInverter(c) - c2i = CPCInverter(c2) - curves = CPCInverter.wrap([c,c2]) - assert c.pairo == c2i.pairo - assert ci.pairo == c2.pairo - - assert ci.P("foo") == c.P("foo") - assert c2i.P("foo") == c2.P("foo") - assert ci.fee == c.fee - assert c2i.fee == c2.fee - - #print("x_act", c.x_act, c2i.x_act) - assert iseq(c.x_act, c2i.x_act) - xact = c.x_act - dx = -0.1*xact - c_ex = c.execute(dx=dx) - assert isinstance(c_ex, CPC) - assert iseq(c_ex.x_act, xact+dx) - assert iseq(c_ex.x, c.x+dx) - c2i_ex = c2i.execute(dx=dx) - assert iseq(c2i_ex.x_act, xact+dx) - assert iseq(c2i_ex.x, c.x+dx) - assert isinstance(c2i_ex, CPCInverter) - - assert len(curves) == 2 - assert set(c.pair for c in curves) == {'WETH-6Cc2/USDC-eB48'} - assert len(set(c.pair for c in curves)) == 1 - assert len(set(c.tknx for c in curves)) == 1 - assert len(set(c.tkny for c in curves)) == 1 - - assert c.tknx == ci.tkny - assert c.tkny == ci.tknx - assert c.tknxp == ci.tknyp - assert c.tknyp == ci.tknxp - assert c.tknb == ci.tknq - assert c.tknq == ci.tknb - assert c.tknbp == ci.tknqp - assert c.tknqp == ci.tknbp - assert f"{c.tknq}/{c.tknb}" == ci.pair - assert f"{c.tknqp}/{c.tknbp}" == ci.pairp - assert c.x == ci.y - assert c.y == ci.x - assert c.x_act == ci.y_act - assert c.y_act == ci.x_act - assert c.x_min == ci.y_min - assert c.x_max == ci.y_max - assert c.y_min == ci.x_min - assert c.y_max == ci.x_max - assert c.k == ci.k - assert iseq(c.p, 1/ci.p) - assert iseq(c.p_min, 1/ci.p_max) - assert iseq(c.p_max, 1/ci.p_min) - - - assert c.pair == c2i.pair - assert c.tknx == c2i.tknx - assert c.tkny == c2i.tkny - assert c.tknxp == c2i.tknxp - assert c.tknyp == c2i.tknyp - assert c.tknb == c2i.tknb - assert c.tknq == c2i.tknq - assert c.tknbp == c2i.tknbp - assert c.tknqp == c2i.tknqp - assert iseq(c.p, c2i.p) - assert iseq(c.p_min, c2i.p_min) - assert iseq(c.p_max, c2i.p_max) - assert c.x == c2i.x - assert c.y == c2i.y - assert c.x_act == c2i.x_act - assert c.y_act == c2i.y_act - assert c.x_min == c2i.x_min - assert c.x_max == c2i.x_max - assert c.y_min == c2i.y_min - assert c.y_max == c2i.y_max - assert c.k == c2i.k - - assert iseq(c.xfromy_f(c.y), c2i.xfromy_f(c2i.y)) - assert iseq(c.yfromx_f(c.x), c2i.yfromx_f(c2i.x)) - assert iseq(c.xfromy_f(c.y*1.05), c2i.xfromy_f(c2i.y*1.05)) - assert iseq(c.yfromx_f(c.x*1.05), c2i.yfromx_f(c2i.x*1.05)) - assert iseq(c.dxfromdy_f(1), c2i.dxfromdy_f(1)) - assert iseq(c.dyfromdx_f(1), c2i.dyfromdx_f(1)) - - assert c.xyfromp_f() == c2i.xyfromp_f() - assert c.dxdyfromp_f() == c2i.dxdyfromp_f() - assert c.xyfromp_f(withunits=True) == c2i.xyfromp_f(withunits=True) - assert c.dxdyfromp_f(withunits=True) == c2i.dxdyfromp_f(withunits=True) - assert iseq(c.p, c2i.p) - x,y,p = c.xyfromp_f(c.p*1.05) - x2,y2,p2 = c2i.xyfromp_f(c2i.p*1.05) - assert iseq(x,x2) - assert iseq(y,y2) - assert iseq(p,p2) - dx,dy,p = c.dxdyfromp_f(c.p*1.05) - dx2,dy2,p2 = c2i.dxdyfromp_f(c2i.p*1.05) - assert iseq(dx,dx2) - assert iseq(dy,dy2) - assert iseq(p,p2) - - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment simple_optimizer -# ------------------------------------------------------------ -def test_simple_optimizer(): -# ------------------------------------------------------------ - - CC = CPCContainer(CPC.from_pk(p=2000+i*10, k=10*20000, pair=f"{T.ETH}/{T.USDC}") for i in range(11)) - c0 = CC.curves[0] - c1 = CC.curves[-1] - CC0 = CPCContainer([c0]) - assert len(CC) == 11 - assert iseq([c.p for c in CC][-1], 2100) - assert len(CC0) == 1 - assert iseq([c.p for c in CC0][-1], 2000) - - # + - O = PairOptimizer(CC) - O0 = PairOptimizer(CC0) - func = O.optimize(result=O.SO_DXDYVECFUNC) - func0 = O0.optimize(result=O.SO_DXDYVECFUNC) - funcs = O.optimize(result=O.SO_DXDYSUMFUNC) - funcvx = O.optimize(result=O.SO_DXDYVALXFUNC) - funcvy = O.optimize(result=O.SO_DXDYVALYFUNC) - x,y = func0(2100)[0] - xb, yb, _ = c0.dxdyfromp_f(2100) - assert x == xb - assert y == yb - x,y = func(2100)[-1] - xb, yb, _ = c1.dxdyfromp_f(2100) - assert x == xb - assert y == yb - assert np.all(sum(func(2100)) == funcs(2100)) - - p = 2100 - dx, dy = funcs(p) - assert iseq(dy + p*dx, funcvy(p)) - assert iseq(dy/p + dx, funcvx(p)) - - p = 1500 - dx, dy = funcs(p) - assert iseq(dy + p*dx, funcvy(p)) - assert iseq(dy/p + dx, funcvx(p)) - - assert iseq(float(O0.optimize(result=O.SO_PMAX)), c0.p) - assert iseq(float(O.optimize(result=O.SO_PMAX)), 2049.6451720862074, eps=1e-3) - # - - - O.optimize(result=O.SO_PMAX) - - # ### global max - # - # the global max function has not been properly connected to the MargPResult object because it does not really make sense; the function is not currently used so it does not really matter - - r = O.optimize() - r_ = O.optimize(result=O.SO_GLOBALMAX) - assert raises(O.optimize, targettkn=T.WETH, result=O.SO_GLOBALMAX) - assert iseq(float(r), float(r_)) - assert len(r.curves) == len(CC) - #assert np.all(r.dxdy_sum == sum(r.dxdy_vec)) - #dx, dy = r.dxdy_vecs - #assert tuple(tuple(_) for _ in r.dxdy_vec) == tuple(zip(dx,dy)) - #assert r.result == r.dxdy_valx - # for dp in np.linspace(-500,500,100): - # assert r.dxdyfromp_valx_f(p) < r.dxdy_valx - # assert r.dxdyfromp_valy_f(p) < r.dxdy_valy - - CC_ex = CPCContainer(c.execute(dx=dx) for c, dx in zip(r.curves, r.dxvalues)) - # CC.plot() - # CC_ex.plot() - prices = [c.p for c in CC] - prices_ex = [c.p for c in CC_ex] - assert iseq(np.std(prices), 31.622776601683707) - #assert iseq(np.std(prices_ex), 4.547473508864641e-13) - #prices, prices_ex - - # ### target token - - r = O.optimize(targettkn=T.WETH) - r_ = O.optimize(targettkn=T.WETH, result=O.SO_TARGETTKN) - assert raises(O.optimize,targettkn=T.DAI) - assert raises(O.optimize, result=O.SO_TARGETTKN) - assert iseq(float(r), float(r_)) - assert abs(sum(r.dyvalues) < 1e-6) - assert sum(r.dxvalues) < 0 - assert iseq(float(r),sum(r.dxvalues)) - - r = O.optimize(targettkn=T.USDC) - assert abs(sum(r.dxvalues) < 1e-6) - assert sum(r.dyvalues) < 0 - assert iseq(float(r),sum(r.dyvalues)) - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment optimizer plus inverted curves -# ------------------------------------------------------------ -def test_optimizer_plus_inverted_curves(): -# ------------------------------------------------------------ - # - # note: `O.optimize()` without `targettkn='...'` is the globalmax result! - - CCr = CPCContainer(CPC.from_pk(p=2000+i*100, k=10*(20000+10000*i), pair=f"{T.ETH}/{T.USDC}") for i in range(11)) - CCi = CPCContainer(CPC.from_pk(p=1/(2050+i*100), k=10*(20000+10000*i), pair=f"{T.USDC}/{T.ETH}") for i in range(11)) - CC = CCr.bycids() - assert len(CC) == len(CCr) - CC += CCi - assert len(CC) == len(CCr) + len(CCi) - - # + - # CC.plot() - # - - - O = PairOptimizer(CC) - r = O.optimize() - #print(f"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]") - assert iseq(r.result, 3.292239037185821) - - # + - #CC.plot() - # - - - CC_ex = CPCContainer(c.execute(dx=dx) for c, dx in zip(r.curves, r.dxvalues)) - # CC.plot() - # CC_ex.plot() - - prices_ex = [c.pairo.primary_price(c.p) for c in CC_ex] - assert np.std(prices_ex) < 1e-10 - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment posx and negx -# ------------------------------------------------------------ -def test_posx_and_negx(): -# ------------------------------------------------------------ - - O = CPCArbOptimizer - a = O.a - - assert O.posx([0,-1,2]) == (0, 0, 2) - assert O.posx((-1,-2, 3)) == (0, 0, 3) - assert O.negx([0,-1,2]) == (0, -1, 0) - assert O.negx((-1,-2, 3)) == (-1, -2, 0) - assert np.all(O.posx(a([0,-1,2])) == a((0, 0, 2))) - assert O.t(a((-1,-2))) == (-1,-2) - - for v in ((1,2,3), (1,-1,5-10,0), (-10.5,8,2.34,-17)): - assert np.all(O.posx(a(v))+O.negx(a(v)) == v) - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment TradeInstructions -# ------------------------------------------------------------ -def test_tradeinstructions(): -# ------------------------------------------------------------ - - TI = CPCArbOptimizer.TradeInstruction - - ti = TI.new(curve_or_cid="1", tkn1="ETH", amt1=1, tkn2="USDC", amt2=-2000) - print(f"cid={ti.cid}, out={ti.amtout} {ti.tknout}, , out={ti.amtin} {ti.tknin}") - assert ti.tknin == "ETH" - assert ti.amtin > 0 - assert ti.tknout == "USDC" - assert ti.amtout < 0 - assert ti.price_outperin == 2000 - assert ti.price_inperout == 1/2000 - assert ti.prices == (2000, 1/2000) - assert ti.price_outperin == ti.p - assert ti.price_inperout == ti.pr - assert ti.prices == ti.pp - - assert not raises(TI, cid="1", tknin="USDC", amtin=2000, tknout="ETH", amtout=-1, raiseonerror=True) - assert raises(TI, cid="1", tknin="USDC", amtin=2000, tknout="ETH", amtout=1, raiseonerror=True) - assert raises(TI, cid="1", tknin="USDC", amtin=-2000, tknout="ETH", amtout=-1, raiseonerror=True) - assert raises(TI, cid="1", tknin="USDC", amtin=-2000, tknout="ETH", amtout=1, raiseonerror=True) - assert raises(TI, cid="1", tknin="USDC", amtin=2000, tknout="ETH", amtout=0, raiseonerror=True) - assert raises(TI, cid="1", tknin="USDC", amtin=0, tknout="ETH", amtout=-1, raiseonerror=True) - assert not raises(TI.new, curve_or_cid="1", tkn1="USDC", amt1=2000, tkn2="ETH", amt2=-1, raiseonerror=True) - assert not raises(TI.new, curve_or_cid="1", tkn1="USDC", amt1=-2000, tkn2="ETH", amt2=1, raiseonerror=True) - assert raises(TI.new, curve_or_cid="1", tkn1="USDC", amt1=2000, tkn2="ETH", amt2=1, raiseonerror=True) - assert raises(TI.new, curve_or_cid="1", tkn1="USDC", amt1=-2000, tkn2="ETH", amt2=-1, raiseonerror=True) - assert raises(TI.new, curve_or_cid="1", tkn1="USDC", amt1=0, tkn2="ETH", amt2=1, raiseonerror=True) - assert raises(TI.new, curve_or_cid="1", tkn1="USDC", amt1=-2000, tkn2="ETH", amt2=0, raiseonerror=True) - - assert not TI(cid="1", tknin="USDC", amtin=2000, tknout="ETH", amtout=-1, raiseonerror=False).error - assert TI(cid="1", tknin="USDC", amtin=2000, tknout="ETH", amtout=1, raiseonerror=False).error - assert TI(cid="1", tknin="USDC", amtin=-2000, tknout="ETH", amtout=-1, raiseonerror=False).error - assert TI(cid="1", tknin="USDC", amtin=-2000, tknout="ETH", amtout=1, raiseonerror=False).error - assert TI(cid="1", tknin="USDC", amtin=2000, tknout="ETH", amtout=0, raiseonerror=False).error - assert TI(cid="1", tknin="USDC", amtin=0, tknout="ETH", amtout=-1, raiseonerror=False).error - assert not TI.new(curve_or_cid="1", tkn1="USDC", amt1=2000, tkn2="ETH", amt2=-1, raiseonerror=False).error - assert not TI.new(curve_or_cid="1", tkn1="USDC", amt1=-2000, tkn2="ETH", amt2=1, raiseonerror=False).error - assert TI.new(curve_or_cid="1", tkn1="USDC", amt1=2000, tkn2="ETH", amt2=1, raiseonerror=False).error - assert TI.new(curve_or_cid="1", tkn1="USDC", amt1=-2000, tkn2="ETH", amt2=-1, raiseonerror=False).error - assert TI.new(curve_or_cid="1", tkn1="USDC", amt1=0, tkn2="ETH", amt2=1, raiseonerror=False).error - assert TI.new(curve_or_cid="1", tkn1="USDC", amt1=-2000, tkn2="ETH", amt2=0, raiseonerror=False).error - - - til = [ - TI.new(curve_or_cid=f"{i+1}", tkn1="ETH", amt1=1*(1+i/100), tkn2="USDC", amt2=-2000*(1+i/100)) - for i in range(10) - ] - tild = TI.to_dicts(til) - tildf = TI.to_df(til, robj=None) - assert len(tild) == 10 - assert len(tildf) == 10 - assert tild[0] == { - 'cid': '1', - 'tknin': 'ETH', - 'amtin': 1.0, - 'tknout': 'USDC', - 'amtout': -2000.0, - 'error': None,} - assert dict(tildf.iloc[0]) == { - 'pair': '', - 'pairp': '', - 'tknin': 'ETH', - 'tknout': 'USDC', - 'ETH': 1.0, - 'USDC': -2000.0 - } - - tild[0] - - tildf - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment margp_optimizer -# ------------------------------------------------------------ -def test_margp_optimizer(): -# ------------------------------------------------------------ - - # ### no arbitrage possible - - CCa = CPCContainer() - CCa += CPC.from_pk(pair="WETH/USDC", p=2000, k=10*20000, cid="c0") - CCa += CPC.from_pk(pair="WETH/USDT", p=2000, k=10*20000, cid="c1") - CCa += CPC.from_pk(pair="USDC/USDT", p=1.0, k=200000*200000, cid="c2") - O = MargPOptimizer(CCa) - - r = O.margp_optimizer("WETH", result=O.MO_DEBUG) - assert isinstance(r, dict) - prices0 = r["price_estimates_t"] - assert not prices0 is None, f"prices0 must not be None [{prices0}]" - r1 = O.arb("WETH") - r2 = O.SelfFinancingConstraints.arb("WETH") - assert isinstance(r1, CPCArbOptimizer.SelfFinancingConstraints) - assert r1 == r2 - assert r["sfc"] == r1 - assert r1.is_arbsfc() - assert r1.optimizationvar == "WETH" - - r - - prices0 - - f = O.optimize("WETH", result=O.MO_DTKNFROMPF, params=dict(verbose=True, debug=False)) - r3 = f(prices0, islog10=False) - assert np.all(r3 == (0,0)) - r4, r3b = f(prices0, asdct=True, islog10=False) - assert np.all(r3==r3b) - assert len(r4) == len(r3)+1 - assert tuple(r4.values()) == (0,0,0) - assert set(r4) == {'USDC', 'USDT', 'WETH'} - - r = O.optimize("WETH", result=O.MO_MINIMAL, params=dict(verbose=True)) - rd = r.asdict - assert abs(float(r)) < 1e-10 - assert r.result == float(r) - assert r.method == "margp" - assert r.curves is None - assert r.targettkn == "WETH" - assert r.dtokens is None - assert sum(abs(x) for x in r.dtokens_t) < 1e-10 - assert not r.p_optimal is None - assert iseq(0.0005, r.p_optimal_t[0], r.p_optimal_t[1]) - assert set(r.tokens_t) == {'USDC', 'USDT'} - assert r.errormsg is None - assert r.is_error == False - assert r.time > 0 - assert r.time < 0.1 - - # + - r = O.optimize("WETH", result=O.MO_FULL) - rd = r.asdict() - r2 = O.margp_optimizer("WETH") - r2d = r2.asdict() - for k in rd: - #print(k) - if not k in ["time", "curves"]: - assert rd[k] == r2d[k] - assert r2.curves == r.curves # the TokenScale object fails in the dict - - assert abs(float(r)) < 1e-10 - assert r.result == float(r) - assert r.method == "margp" - assert len(r.curves) == 3 - assert r.targettkn == "WETH" - assert set(r.dtokens.keys()) == set(['USDT', 'WETH', 'USDC']) - assert sum(abs(x) for x in r.dtokens.values()) < 1e-10 - assert sum(abs(x) for x in r.dtokens_t) < 1e-10 - assert iseq(0.0005, r.p_optimal["USDC"], r.p_optimal["USDT"]) - assert iseq(0.0005, r.p_optimal_t[0], r.p_optimal_t[1]) - assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t - assert set(r.tokens_t) == set(('USDC', 'USDT')) - assert r.errormsg is None - assert r.is_error == False - assert r.time > 0 - assert r.time < 0.1 - # - - - # ### arbitrage - - CCa = CPCContainer() - CCa += CPC.from_pk(pair="WETH/USDC", p=2000, k=10*20000, cid="c0") - CCa += CPC.from_pk(pair="WETH/USDT", p=2000, k=10*20000, cid="c1") - CCa += CPC.from_pk(pair="USDC/USDT", p=1.2, k=200000*200000, cid="c2") - O = MargPOptimizer(CCa) - - r = O.optimize("WETH", result=O.MO_DEBUG) - assert isinstance(r, dict) - prices0 = r["price_estimates_t"] - r1 = O.arb("WETH") - r2 = O.SelfFinancingConstraints.arb("WETH") - assert isinstance(r1, CPCArbOptimizer.SelfFinancingConstraints) - assert r1 == r2 - assert r["sfc"] == r1 - assert r1.is_arbsfc() - assert r1.optimizationvar == "WETH" - - f = O.optimize("WETH", result=O.MO_DTKNFROMPF) - r3 = f(prices0, islog10=False) - assert set(r3.astype(int)) == set((17425,-19089)) - r4, r3b = f(prices0, asdct=True, islog10=False) - assert np.all(r3==r3b) - assert len(r4) == len(r3)+1 - assert set(r4) == {'USDC', 'USDT', 'WETH'} - - r = O.optimize("WETH", result=O.MO_FULL) - assert iseq(float(r), -0.03944401129301944) - assert r.result == float(r) - assert r.method == "margp" - assert len(r.curves) == 3 - assert r.targettkn == "WETH" - assert abs(r.dtokens_t[0]) < 1e-6 - assert abs(r.dtokens_t[1]) < 1e-6 - assert r.dtokens["WETH"] == float(r) - assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t - assert tuple(r.p_optimal)[:-1] == r.tokens_t - assert iseq(r.p_optimal_t[0], 0.0005421803152482512) or iseq(r.p_optimal_t[0], 0.00045575394031021585) - assert iseq(r.p_optimal_t[1], 0.0005421803152482512) or iseq(r.p_optimal_t[1], 0.00045575394031021585) - assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t - assert set(r.tokens_t) == set(('USDC', 'USDT')) - assert r.errormsg is None - assert r.is_error == False - assert r.time > 0 - assert r.time < 0.1 - - abs(r.dtokens_t[0]) - - ti = r.trade_instructions() - assert len(ti) == 3 - dfa = r.trade_instructions(ti_format=O.TIF_DFAGGR) - assert len(dfa)==7 - assert list(dfa.index) == ['c0', 'c1', 'c2', 'PRICE', 'AMMIn', 'AMMOut', 'TOTAL NET'] - assert list(dfa.columns) == ['WETH', 'USDC', 'USDT'] - assert dfa.loc["PRICE"][0] == 1 - assert iseq(dfa.loc["PRICE"][1], 0.0005421803152) - assert iseq(dfa.loc["PRICE"][2], 0.0004557539403) - dfa - - df = r.trade_instructions(ti_format=O.TIF_DF) - assert len(df) == 3 - assert list(df.columns) == ['pair', 'pairp', 'tknin', 'tknout', 'WETH', 'USDC', 'USDT'] - df - - df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") - assert len(df) == 3 - assert list(df.columns) == ['pair', 'pairp', 'tknin', 'tknout', 'WETH', 'USDC', 'USDT'] - assert df["USDT"].loc["c0"] == "" - df - - dcts = r.trade_instructions(ti_format=O.TIF_DICTS) - assert len(dcts) == 3 - assert list(dcts[0].keys()) == ['cid', 'tknin', 'amtin', 'tknout', 'amtout', 'error'] - d0 = dcts[0] - assert d0["cid"] == "c0" - assert iseq(d0["amtin"], 0.41326380379418914) - dcts - - objs = r.trade_instructions(ti_format=O.TIF_OBJECTS) - assert len(objs) == 3 - assert type(objs[0]).__name__ == 'TradeInstruction' - objs - - help(r.trade_instructions) - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment simple_optimizer demo [NOTEST] -# ------------------------------------------------------------ -def notest_simple_optimizer_demo(): -# ------------------------------------------------------------ - - CC = CPCContainer(CPC.from_pk(p=2000+i*100, k=10*(20000+i*10000), pair=f"{T.ETH}/{T.USDC}") for i in range(11)) - #O = CPCArbOptimizer(CC) - c0 = CC.curves[0] - CC0 = CPCContainer([c0]) - O = PairOptimizer(CC) - O0 = PairOptimizer(CC0) - funcvx = O.optimize(result=O.SO_DXDYVALXFUNC) - funcvy = O.optimize(result=O.SO_DXDYVALYFUNC) - funcvx0 = O0.optimize(result=O.SO_DXDYVALXFUNC) - funcvy0 = O0.optimize(result=O.SO_DXDYVALYFUNC) - #CC.plot() - - xr = np.linspace(1500, 3000, 50) - plt.plot(xr, [funcvx(x)/len(CC) for x in xr], label="all curves [scaled]") - plt.plot(xr, [funcvx0(x) for x in xr], label="curve 0 only") - plt.xlabel(f"price [{c0.pairp}]") - plt.ylabel(f"value [{c0.tknxp}]") - plt.grid() - plt.show() - plt.plot(xr, [funcvy(x)/len(CC) for x in xr], label="all curves [scaled]") - plt.plot(xr, [funcvy0(x) for x in xr], label="curve 0 only") - plt.xlabel(f"price [{c0.pairp}]") - plt.ylabel(f"value [{c0.tknyp}]") - plt.grid() - plt.show() - - r = O.optimize() - #print(f"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]") - - CC_ex = CPCContainer(c.execute(dx=dx) for c, dx in zip(r.curves, r.dxvalues)) - CC.plot() - CC_ex.plot() - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment MargP Optimizer Demo [NOTEST] -# ------------------------------------------------------------ -def notest_margp_optimizer_demo(): -# ------------------------------------------------------------ - - CCa = CPCContainer() - CCa += CPC.from_pk(pair="WETH/USDC", p=2000, k=10*20000, cid="c0") - CCa += CPC.from_pk(pair="WETH/USDT", p=2000, k=10*20000, cid="c1") - CCa += CPC.from_pk(pair="USDC/USDT", p=1.2, k=20000*20000, cid="c2") - O = MargPOptimizer(CCa) - - CCa.plot() - - r = O.margp_optimizer("WETH", params=dict(verbose=True)) - rd = r.asdict - r - - rd - - CCa1 = O.adjust_curves(r.dxvalues) - CCa1.plot() - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment Optimizer plus inverted curves [NOTEST] -# ------------------------------------------------------------ -def notest_optimizer_plus_inverted_curves(): -# ------------------------------------------------------------ - - CCr = CPCContainer(CPC.from_pk(p=2000+i*100, k=10*(20000+10000*i), pair=f"{T.ETH}/{T.USDC}") for i in range(11)) - CCi = CPCContainer(CPC.from_pk(p=1/(2050+i*100), k=10*(20000+10000*i), pair=f"{T.USDC}/{T.ETH}") for i in range(11)) - CC = CCr.bycids() - assert len(CC) == len(CCr) - CC += CCi - assert len(CC) == len(CCr) + len(CCi) - CC.plot() - - O = PairOptimizer(CC) - r = O.optimize() - #print(f"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]") - CC_ex = CPCContainer(c.execute(dx=dx) for c, dx in zip(r.curves, r.dxvalues)) - prices_ex = [c.pairo.primary_price(c.p) for c in CC_ex] - print("prices post arb:", prices_ex) - print("stdev", np.std(prices_ex)) - #CC.plot() - CC_ex.plot() - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment Operating on leverage ranges [NOTEST] -# ------------------------------------------------------------ -def notest_operating_on_leverage_ranges(): -# ------------------------------------------------------------ - - N = 10 - - # + - CCc, CCm, ctr = CPCContainer(), CPCContainer(), 0 - U, U1 = CPCContainer.u, CPCContainer.u1 - tknb, tknq = T.ETH, T.USDC - pb, pq = 2000, 1 - pair = f"{tknb}/{tknq}" - pp = pb/pq - k = 100000**2/(pb*pq) - CCm += CPC.from_pk(p=pp, k=k, pair=pair, cid = f"mkt-{pair}", params=dict(xc="market")) - #print("\n***PAIR:", tknb, pb, tknq, pq, pair, pp) - for i in range(N): - p = pp * (1+0.2*U(-0.5, 0.5)) - p_min, p_max = (p, U(1.001, 1.5)*p) if U1()>0.5 else (U(0.8, 0.999)*p, p) - amtusdc = U(10000, 200000) - k = amtusdc**2/(pb*pq) - #print("*curve", int(amtusdc), p, p_min, p_max, int(k)) - CCc += CPC.from_pkpp(p=p, k=k, p_min=p_min, p_max=p_max, - pair=pair, cid = f"carb-{ctr}", params=dict(xc="carbon")) - ctr += 1 - - CC = CCc.bycids().add(CCm) - CC.plot() - - # + - # O = CPCArbOptimizer(CC) - # r = O.simple_optimizer() - # print(f"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]") - # CC_ex = CPCContainer(c.execute(dx=dx) for c, dx in zip(r.curves, r.dxvalues)) - # prices_ex = [c.pairo.primary_price(c.p) for c in CC_ex] - # print("prices post arb:", prices_ex) - # print("stdev", np.std(prices_ex)) - # #CC.plot() - # CC_ex.plot() - # - - - r.dxvalues - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment Arbitrage testing [NOTEST] -# ------------------------------------------------------------ -def notest_arbitrage_testing(): -# ------------------------------------------------------------ - - c1 = CPC.from_pkpp(p=95, k=100*10000, p_min=90, p_max=110, pair=f"{T.ETH}/{T.USDC}") - c2 = CPC.from_pkpp(p=105, k=90*10000, p_min=90, p_max=110, pair=f"{T.ETH}/{T.USDC}") - CC = CPCContainer([c1,c2]) - CC.plot() - - a = lambda x: np.array(x) - pr = np.linspace(70,130,200) - dx1, dy1, p = zip(*(c1.dxdyfromp_f(p) for p in pr)) - assert np.all(p == pr) - dx2, dy2, p = zip(*(c2.dxdyfromp_f(p) for p in pr)) - assert np.all(p == pr) - v1 = a(dy1)+a(p)*a(dx1) - v2 = a(dy2)+a(p)*a(dx2) - plt.plot(p, v1, label="Value curve c1") - plt.plot(p, v2, label="Value curve c2") - plt.plot(p, v1+v2, label="Value combined curves") - plt.legend() - plt.grid() - - - def vfunc(p): - - dx1, dy1, _ = c1.dxdyfromp_f(p) - dx2, dy2, _ = c2.dxdyfromp_f(p) - v1 = dy1 + p*dx1 - v2 = dy2 + p*dx2 - v = v1+v2 - #print(f"[v] v({p}) = {v}") - return -v - - - O = CPCArbOptimizer - O.findmin(vfunc, 100, N=100) - - func1 = lambda x: (x-2)**2 - O.findmin(func1, 1) - - func2 = lambda x: 1-(x-3)**2 - O.findmax(func2, 2.5) - - val = tuple(float(O.findmin(func1, 100, N=n)) for n in range(100)) - val = tuple(abs(v-val[-1]) for v in val) - val = tuple(v for v in val if v > 0) - plt.plot(val) - plt.yscale('log') - plt.grid() - - val = tuple(float(O.findmin(func2, 100, N=n)) for n in range(100)) - val = tuple(abs(v-val[-1]) for v in val) - val = tuple(v for v in val if v > 0) - plt.plot(val) - plt.yscale('log') - plt.grid() - - val0 = tuple(float(O.findmin(vfunc, 99, N=n)) for n in range(100)) - val = tuple(abs(v-val0[-1]) for v in val0) - val = tuple(v for v in val if v > 0) - print(val0[-1]) - plt.plot(val) - plt.yscale('log') - plt.grid() - - val0 = tuple(float(O.findmin_gd(vfunc, 99, N=n)) for n in range(100)) - val = tuple(abs(v-val0[-1]) for v in val0) - val = tuple(v for v in val if v > 0) - print(val0[-1]) - plt.plot(val) - plt.yscale('log') - plt.grid() - - O.findmin(vfunc, 99, N=700) - - -# ------------------------------------------------------------ -# Test 002 -# File test_002_CPCandOptimizer.py -# Segment Charts [NOTEST] -# ------------------------------------------------------------ -def notest_charts(): -# ------------------------------------------------------------ - - # ### Chars (x,y) - - xr = np.linspace(1,300,200) - - # + - defaults = dict(p=2) - curves = [ - CPC.from_px(x=100, **defaults), - CPC.from_px(x=50, **defaults), - CPC.from_px(x=150, **defaults), - ] - for c in curves: - plt.plot(xr, [c.yfromx_f(x) for x in xr]) - - plt.ylim((0,1000)) - plt.xlim((0,300)) - plt.grid() - - # + - defaults = dict(p=2, x_act=10) - curves = [ - CPC.from_px(x=100, **defaults), - CPC.from_px(x=50, **defaults), - CPC.from_px(x=150, **defaults), - ] - for c in curves: - plt.plot(xr, [c.yfromx_f(x) for x in xr]) - - plt.ylim((0,1000)) - plt.xlim((0,300)) - plt.grid() - - # + - defaults = dict(p=2, y_act=20) - curves = [ - CPC.from_px(x=100, **defaults), - CPC.from_px(x=50, **defaults), - CPC.from_px(x=150, **defaults), - ] - for c in curves: - plt.plot(xr, [c.yfromx_f(x) for x in xr]) - - plt.ylim((0,1000)) - plt.xlim((0,300)) - plt.grid() - - # + - defaults = dict(p=2, x_act=10, y_act=20) - curves = [ - CPC.from_px(x=100, **defaults), - CPC.from_px(x=50, **defaults), - CPC.from_px(x=150, **defaults), - ] - for c in curves: - plt.plot(xr, [c.yfromx_f(x) for x in xr]) - - plt.ylim((0,1000)) - plt.xlim((0,300)) - plt.grid() - # - - # ### Charts (dx, dy) - - - e=1e-5 - dxr = np.linspace(-50+e,50-e,100) - - # + - defaults = dict(p=2) - curves = [ - CPC.from_px(x=100, **defaults), - CPC.from_px(x=50, **defaults), - CPC.from_px(x=150, **defaults), - ] - for c in curves: - plt.plot(dxr, [c.dyfromdx_f(dx) for dx in dxr]) - - plt.ylim((-100,200)) - plt.xlim((-50,50)) - plt.grid() - - # + - defaults = dict(p=2, x_act=10) - curves = [ - CPC.from_px(x=100, **defaults), - CPC.from_px(x=50, **defaults), - CPC.from_px(x=150, **defaults), - ] - for c in curves: - plt.plot(dxr, [c.dyfromdx_f(dx) for dx in dxr]) - - plt.ylim((-100,200)) - plt.xlim((-50,50)) - plt.grid() - - # + - defaults = dict(p=2, y_act=20) - curves = [ - CPC.from_px(x=100, **defaults), - CPC.from_px(x=50, **defaults), - CPC.from_px(x=150, **defaults), - ] - for c in curves: - plt.plot(dxr, [c.dyfromdx_f(dx) for dx in dxr]) - - plt.ylim((-100,200)) - plt.xlim((-50,50)) - plt.grid() - - # + - defaults = dict(p=2, x_act=10, y_act=20) - curves = [ - CPC.from_px(x=100, **defaults), - CPC.from_px(x=50, **defaults), - CPC.from_px(x=150, **defaults), - ] - for c in curves: - plt.plot(dxr, [c.dyfromdx_f(dx) for dx in dxr]) - - plt.ylim((-100,200)) - plt.xlim((-50,50)) - plt.grid() - - # + - defaults = dict(p=2, x_act=10, y_act=20) - curves = [ - CPC.from_px(x=100, **defaults), - CPC.from_px(x=50, **defaults), - CPC.from_px(x=150, **defaults), - ] - for c in curves: - plt.plot(dxr, [c.dyfromdx_f(dx) for dx in dxr]) - - # plt.ylim((-100,200)) - # plt.xlim((-50,50)) - plt.grid() - # - - - - - - - - - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_003_Serialization.py b/fastlane_bot/tests/nbtest/test_003_Serialization.py deleted file mode 100644 index 7a894fbf4..000000000 --- a/fastlane_bot/tests/nbtest/test_003_Serialization.py +++ /dev/null @@ -1,408 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_003_Serialization.py` -# ------------------------------------------------------------ -# source file = NBTest_003_Serialization.py -# test id = 003 -# test comment = Serialization -# ------------------------------------------------------------ - - - -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer -from fastlane_bot.tools.optimizer import CPCArbOptimizer, cp, time -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCArbOptimizer)) - -from fastlane_bot.testing import * -import json -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("2.0", __VERSION__) - - - - -# ------------------------------------------------------------ -# Test 003 -# File test_003_Serialization.py -# Segment Optimizer pickling [NOTEST] -# ------------------------------------------------------------ -def notest_optimizer_pickling(): -# ------------------------------------------------------------ - - pass - - # + - # N=5 - # curves = [ - # CPC.from_xy(x=1, y=2000, pair="ETH/USDC"), - # CPC.from_xy(x=1, y=2200, pair="ETH/USDC"), - # CPC.from_xy(x=1, y=2400, pair="ETH/USDC"), - # ] - - # CC = CPCContainer(curves*N) - # O = CPCArbOptimizer(CC) - # O.CC.asdf() - - # + - # O.pickle("delme") - # O.pickle("delme", addts=False) - - # + - - - # + - # O.unpickle("delme") - # - - - -# ------------------------------------------------------------ -# Test 003 -# File test_003_Serialization.py -# Segment Creating curves -# ------------------------------------------------------------ -def test_creating_curves(): -# ------------------------------------------------------------ - # - # Note: for those constructor, the parameters `cid` and `descr` as well as `fee` are mandatory. Typically `cid` would be a field uniquely identifying this curve in the database, and `descr` description of the pool. The description should neither include the pair nor the fee level. We recommend using `UniV3`, `UniV3`, `Sushi`, `Carbon` etc. The `fee` is quoted as decimal, ie 0.01 is 1%. If there is no fee, the number `0` must be provided, not `None`. - - # ### Uniswap v2 - # - # In the Uniswap v2 constructor, $x$ is the base token of the pair `TKNB`, and $y$ is the quote token `TKNQ`. - # - # By construction, Uniswap v2 curves map directly to CPC curves with the following parameter choices - # - # - $x,y,k$ are the same as in the $ky=k$ formula defining the AMM (provide any 2) - # - $x_a = x$ and $y_a = y$ because there is no leverage on the curves. - # - - c = CPC.from_univ2(x_tknb=100, y_tknq=100, pair="TKNB/TKNQ", fee=0, cid="1", descr="UniV2") - c2 = CPC.from_univ2(x_tknb=100, k=10000, pair="TKNB/TKNQ", fee=0, cid="1", descr="UniV2") - c3 = CPC.from_univ2(y_tknq=100, k=10000, pair="TKNB/TKNQ", fee=0, cid="1", descr="UniV2") - assert c.k == 10000 - assert c.x == 100 - assert c.y == 100 - assert c.x_act == 100 - assert c.y_act == 100 - assert c == c2 - assert c == c3 - assert c.fee == 0 - assert c.cid == "1" - assert c.descr == "UniV2" - c - - c.asdict() - - assert c.asdict() == { - 'k': 10000, - 'x': 100, - 'x_act': 100, - 'y_act': 100, - 'alpha': 0.5, - 'pair': 'TKNB/TKNQ', - 'cid': "1", - 'fee': 0, - 'descr': 'UniV2', - 'constr': 'uv2', - 'params': {} - } - - assert not raises(CPC.from_univ2, x_tknb=100, y_tknq=100, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV2") - assert raises(CPC.from_univ2, x_tknb=100, y_tknq=100, k=10, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV2") - assert raises(CPC.from_univ2, x_tknb=100, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV2") - assert raises(CPC.from_univ2, y_tknq=100, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV2") - assert raises(CPC.from_univ2, k=10, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV2") - assert raises(CPC.from_univ2, x_tknb=100, y_tknq=100, fee=0, cid=1, descr="UniV2") - assert raises(CPC.from_univ2, x_tknb=100, y_tknq=100, pair="TKNB/TKNQ", cid=1, descr="UniV2") - assert raises(CPC.from_univ2, x_tknb=100, y_tknq=100, pair="TKNB/TKNQ", fee=0, descr="UniV2") - assert raises(CPC.from_univ2, x_tknb=100, y_tknq=100, pair="TKNB/TKNQ", fee=0, cid=1) - - # ### Uniswap v3 - # - # Uniswap V3 uses an implicit virtual token model. The most important relationship here is that $L^2=k$, ie the square of the Uniswap pool constant is the constant product parameter $k$. Alternatively we find that $L=\bar k$ if we use the alternative pool invariant $\sqrt{xy}=\bar k$ for the constant product pool. The conventions are as in the Uniswap v2 case, ie $x$ is the base token `TKNB` and $y$ is the quote token `TKNQ`. The parameters are - # - # - $L$ is the so-called _liquidity_ parameter, indicating the size of the pool at this particular tick (see above) - # - $P_a, P_b$ are the lower and upper end of the _current_ tick range* - # - $P_{marg}$ is the current (marginal) price of the range; we have $P_a \leq P_{marg} \leq P_b$ - # - # *note that for Uniswap v3 curves we _only_ usually model the current tick range as crossing a tick boundary is relatively expensive and most arb bots do not do that; in principle however nothing prevents us from also adding inactive tick ranges, in which case every tick range corresponds to a single, out of the money curve. - - c = CPC.from_univ3(Pmarg=1, uniL=1000, uniPa=0.9, uniPb=1.1, pair="TKNB/TKNQ", fee=0, cid="1", descr="UniV3") - assert c.x == 1000 - assert c.y == 1000 - assert c.k == 1000*1000 - assert iseq(c.p_max, 1.1) - assert iseq(c.p_min, 0.9) - assert c.fee == 0 - assert c.cid == "1" - assert c.descr == "UniV3" - - assert not raises(CPC.from_univ3, Pmarg=1, uniL=1000, uniPa=0.9, uniPb=1.1, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV3") - assert raises(CPC.from_univ3, Pmarg=2, uniL=1000, uniPa=0.9, uniPb=1.1, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV3") - assert raises(CPC.from_univ3, Pmarg=0.5, uniL=1000, uniPa=0.9, uniPb=1.1, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV3") - assert raises(CPC.from_univ3, Pmarg=1, uniL=1000, uniPa=1.1, uniPb=0.9, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV3") - - # ### Carbon - # - # First a bried reminder that the Carbon curves here correspond to Carbon Orders, ie half a Carbon strategy. Those order trade unidirectional only, and as we here are only looking at a single trade we do not care about collateral moving from an order to another one. We provide slightly more flexibility here in terms of tokens and quotes: $y$ corresponds to `tkny` which must be part of `pair` but which can be quote or base token. - # - # - $y, y_{int}$ are the current amounts of token y and the y-intercept respectively, in units of `tkny` - # - # - $P_a, P_b$ are the prices determining the range, either quoted as $dy/dx$ is `isdydx` is True (default), or in the natural direction of the pair* - # - # - $A, B$ are alternative price parameters, with $B=\sqrt{P_b}$ and $A=\sqrt{P_a}-\sqrt{P_b}\geq 0$; those must _always_ be quoted in $dy/dx$* - # - # *The ranges must _either_ be specificed with `pa, pb, isdydx` or with `A, B` and in the second case `isdydx` must be True. There is no mix and match between those two parameter sets. - - c = CPC.from_carbon(yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) - assert c.y_act == 1 - assert c.x_act == 0 - assert iseq(1/c.p_min, 2200) - assert iseq(1/c.p_max, 1800) - assert iseq(1/c.p, 1/c.p_max) - - c = CPC.from_carbon(yint=1, y=1, A=1/256, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="ETH", fee=0, cid="2", descr="Carbon", isdydx=True) - assert c.y_act == 1 - assert c.x_act == 0 - assert iseq(1/c.p_min, 2000) - print("pa", 1/c.p_max, 1/(1/256+m.sqrt(c.p_min))**2) - assert iseq(1/c.p_max, 1/(1/256+m.sqrt(c.p_min))**2) - assert iseq(1/c.p, 1/c.p_max) - - c = CPC.from_carbon(yint=3000, y=3000, pa=3100, pb=2900, pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) - assert c.y_act == 3000 - assert c.x_act == 0 - assert iseq(c.p_min, 2900) - assert iseq(c.p_max, 3100) - assert iseq(c.p, c.p_max) - - c = CPC.from_carbon(yint=2000, y=2000, A=10, B=m.sqrt(3000), pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) - assert c.y_act == 2000 - assert c.x_act == 0 - assert iseq(c.p_min, 3000) - print("pa", c.p_max, (10+m.sqrt(c.p_min))**2) - assert iseq(c.p_max, (10+m.sqrt(c.p_min))**2) - assert iseq(1/c.p, 1/c.p_max) - - CPC.from_carbon(yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) - CPC.from_carbon(yint=1, y=1, A=1/10, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="ETH", fee=0, cid="2", descr="Carbon", isdydx=True) - CPC.from_carbon(yint=1, y=1, pa=3100, pb=2900, pair="ETH/USDC", tkny="USDC", fee=0, cid="3", descr="Carbon", isdydx=True) - CPC.from_carbon(yint=1, y=1, A=10, B=m.sqrt(3000), pair="ETH/USDC", tkny="USDC", fee=0, cid="4", descr="Carbon", isdydx=True) - - assert not raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) - assert raises(CPC.from_carbon, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) - assert raises(CPC.from_carbon, yint=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) - assert raises(CPC.from_carbon, yint=1, y=1, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) - assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) - assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) - assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", fee=0, cid="1", descr="Carbon", isdydx=False) - #assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", cid="1", descr="Carbon", isdydx=False) - #assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, descr="Carbon", isdydx=False) - #assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", isdydx=False) - assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="LINK", fee=0, cid="1", descr="Carbon", isdydx=False) - assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, A=100, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) - assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, B=100, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) - assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, A=100, B=100, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) - assert raises(CPC.from_carbon, yint=1, y=1, pb=1800, pa=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) - - assert not raises(CPC.from_carbon, yint=1, y=1, A=1/10, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) - assert raises(CPC.from_carbon, yint=1, y=1, A=1/10, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=False) - assert raises(CPC.from_carbon, yint=1, y=1, pa=1000, A=1/10, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) - assert raises(CPC.from_carbon, yint=1, y=1, pb=1000, A=1/10, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) - assert raises(CPC.from_carbon, yint=1, y=1, A=-1/10, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) - - assert not raises(CPC.from_carbon, yint=1, y=1, pa=3100, pb=2900, pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) - assert raises(CPC.from_carbon, yint=1, y=1, pb=3100, pa=2900, pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) - - -# ------------------------------------------------------------ -# Test 003 -# File test_003_Serialization.py -# Segment Charts [NOTEST] -# ------------------------------------------------------------ -def notest_charts(): -# ------------------------------------------------------------ - - curves_uni =[ - CPC.from_univ2(x_tknb=1, y_tknq=2000, pair="ETH/USDC", fee=0.001, cid="U2/1", descr="UniV2"), - CPC.from_univ2(x_tknb=2, y_tknq=4020, pair="ETH/USDC", fee=0.001, cid="U2/2", descr="UniV2"), - CPC.from_univ3(Pmarg=2000, uniL=100, uniPa=1800, uniPb=2200, pair="ETH/USDC", fee=0, cid="U3/1", descr="UniV3"), - CPC.from_univ3(Pmarg=2010, uniL=75, uniPa=1800, uniPb=2200, pair="ETH/USDC", fee=0, cid="U3/1", descr="UniV3"), - ] - CC = CPCContainer(curves_uni) - - curves_carbon = [ - CPC.from_carbon(yint=3000, y=3000, pa=3500, pb=2500, pair="ETH/USDC", tkny="USDC", fee=0, cid="C1", descr="Carbon", isdydx=True), - CPC.from_carbon(yint=3000, y=3000, A=20, B=m.sqrt(2500), pair="ETH/USDC", tkny="USDC", fee=0, cid="C2", descr="Carbon", isdydx=True), - CPC.from_carbon(yint=3000, y=3000, A=40, B=m.sqrt(2500), pair="ETH/USDC", tkny="USDC", fee=0, cid="C3", descr="Carbon", isdydx=True), - CPC.from_carbon(yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="C4", descr="Carbon", isdydx=False), - CPC.from_carbon(yint=1, y=1, pa=1/1800, pb=1/2000, pair="ETH/USDC", tkny="ETH", fee=0, cid="C5", descr="Carbon", isdydx=True), - CPC.from_carbon(yint=1, y=1, A=1/500, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="ETH", fee=0, cid="C6", descr="Carbon", isdydx=True), - CPC.from_carbon(yint=1, y=1, A=1/1000, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="ETH", fee=0, cid="C7", descr="Carbon", isdydx=True), - ] - - curves = curves_uni + curves_carbon - CC = CPCContainer(curves) - CC.plot(params=CC.Params()) - - -# ------------------------------------------------------------ -# Test 003 -# File test_003_Serialization.py -# Segment Serializing curves -# ------------------------------------------------------------ -def test_serializing_curves(): -# ------------------------------------------------------------ - # - # The `CPCContainer` and `ConstantProductCurve` objects do not strictly have methods that would allow for serialization. However, they allow conversion from an to datatypes that are easily serialized. - # - # - on the `ConstantProductCurve` level there is `asdict()` and `from_dicts(.)` - # - on the `CPCContainer` level there is also `asdf()` and `from_df(.)`, allowing conversion from and to pandas dataframes - # - # Recommended serialization is either dict to json via the `json` library, or any of the serialization methods inherent in dataframes, notably also pickling (Excel formates are not recommended as they are slow and heavy). - # - # - # - - curves = [ - CPC.from_univ2(x_tknb=1, y_tknq=2000, pair="ETH/USDC", fee=0.001, cid="1", descr="UniV2", params={"meh":1}), - CPC.from_univ2(x_tknb=2, y_tknq=4020, pair="ETH/USDC", fee=0.001, cid="2", descr="UniV2"), - CPC.from_univ2(x_tknb=1, y_tknq=1970, pair="ETH/USDC", fee=0.001, cid="3", descr="UniV2"), - ] - - c0 = curves[0] - assert c0.params.__class__.__name__ == "AttrDict" - assert c0.params == {'meh': 1} - - CC = CPCContainer(curves) - assert raises(CPCContainer, [1,2,3]) - assert len(CC.curves) == len(curves) - assert len(CC.asdicts()) == len(CC.curves) - assert CPCContainer.from_dicts(CC.asdicts()) == CC - ccjson = json.dumps(CC.asdicts()) - assert CPCContainer.from_dicts(json.loads(ccjson)) == CC - CC - - df = CC.asdf() - assert len(df) == 3 - assert tuple(df.reset_index().columns) == ('cid', 'k', 'x', 'x_act', 'y_act', 'alpha', - 'pair', 'fee', 'descr', 'constr', 'params') - assert tuple(df["k"]) == (2000, 8040, 1970) - assert CPCContainer.from_df(df) == CC - df - - -# ------------------------------------------------------------ -# Test 003 -# File test_003_Serialization.py -# Segment Saving curves [NOTEST] -# ------------------------------------------------------------ -def notest_saving_curves(): -# ------------------------------------------------------------ - # - # Most serialization methods we use go via the a pandas DataFram object. To create a dataframe we use the `asdf()` method, and to instantiate curve container from a dataframe we use `CPCContainer.from_df(df)`. - - N=5000 - curves = [ - CPC.from_univ2(x_tknb=1, y_tknq=2000, pair="ETH/USDC", fee=0.001, cid=1, descr="UniV2"), - CPC.from_univ2(x_tknb=2, y_tknq=4020, pair="ETH/USDC", fee=0.001, cid=2, descr="UniV2"), - CPC.from_univ2(x_tknb=1, y_tknq=1970, pair="ETH/USDC", fee=0.001, cid=3, descr="UniV2"), - ] - CC = CPCContainer(curves*N) - df = CC.asdf() - #CC - - # ### Formats - # #### json - # - # Using `json.dumps(.)` the list of dicts returned by `asdicts()` can be converted to json, and then saved as a textfile. When loaded back, the text can be expanded into json using `json.loads(.)` and the new object can be instantiated using `CPCContainer.from_dicts(dicts)`. - - start_time = time.time() - cc_json = json.dumps(CC.asdicts()) - print("len", len(cc_json)) - CC2 = CPCContainer.from_dicts(json.loads(cc_json)) - assert CC == CC2 - print(f"elapsed time: {time.time()-start_time:.2f}s") - #CC2 - - # #### csv - # - # `to_csv` converts a dataframe to a csv file; this file can also be zipped; this format is ideal for maximum interoperability as pretty much every software allows dealing with csvs; it is very fast, and the zipped files are much smaller than everything else - - start_time = time.time() - df.to_csv(".curves.csv") - df_csv = pd.read_csv(".curves.csv") - assert CPCContainer.from_df(df_csv) == CC - print(f"elapsed time: {time.time()-start_time:.2f}s") - df_csv[:3] - - # #### tsv - # - # `to_csv` can be used with `sep="\t"` to create a tab separated file - - start_time = time.time() - df.to_csv(".curves.tsv", sep="\t") - df_tsv = pd.read_csv(".curves.tsv", sep="\t") - assert CPCContainer.from_df(df_tsv) == CC - print(f"elapsed time: {time.time()-start_time:.2f}s") - - # #### compressed csv - # - # `to_csv` can be used with `compression = "gzip"` to create a compressed file. This is by far the smallest output available, and takes little more time compared to uncompressed. - - start_time = time.time() - df.to_csv(".curves.csv.gz", compression = "gzip") - df_csv = pd.read_csv(".curves.csv.gz") - assert CPCContainer.from_df(df_csv) == CC - print(f"elapsed time: {time.time()-start_time:.2f}s") - - - # #### Excel - # - # `to_excel` converts the dataframe to an xlsx file; older versions of pandas may allow to also save in the old xls format, but this is deprecated; note that Excel files can be rather big, and saving them is very slow, 10-15x(!) longer than csv. - - # + - # start_time = time.time() - # df.to_excel(".curves.xlsx") - # df_xlsx = pd.read_excel(".curves.xlsx") - # assert CPCContainer.from_df(df_xlsx) == CC - # print(f"elapsed time: {time.time()-start_time:.2f}s") - # df_xlsx[:3] - # - - - # #### pickle - # - # `to_pickle` pickles the dataframe; this format is rather big, but it is the fastest to process, albeit not at a significant margin - - start_time = time.time() - df.to_pickle(".curves.pkl") - df_pickle = pd.read_pickle(".curves.pkl") - assert CPCContainer.from_df(df_pickle) == CC - print(f"elapsed time: {time.time()-start_time:.2f}s") - df_pickle[:3] - - # ### Benchmarking - # - # below a comparison of the different methods in terms of size and speed; the benchmark run used **300,000 curves** - # - # 33000000 .curves.json -- 5.2s (without read/write) - # 11100035 .curves.csv -- 3.4s - # 37817 .curves.csv.gz -- 3.4s - # 15602482 .curves.pkl -- 2.6s - # 11100035 .curves.tsv -- 3.2s - # 8031279 .curves.xlsx -- 45.0s (!) - # - # Below are the figures for the current run (timing figures inline above) - - #print(f"{len(df_xlsx)} curves") - print(f" {len(cc_json)} .curves.json", ) - # !ls -l .curves* - - - - - - - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_004_GraphCode.py b/fastlane_bot/tests/nbtest/test_004_GraphCode.py deleted file mode 100644 index bc2796e3c..000000000 --- a/fastlane_bot/tests/nbtest/test_004_GraphCode.py +++ /dev/null @@ -1,855 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_004_GraphCode.py` -# ------------------------------------------------------------ -# source file = NBTest_004_GraphCode.py -# test id = 004 -# test comment = GraphCode -# ------------------------------------------------------------ - - - -import fastlane_bot.tools.arbgraphs as ag -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ag.ArbGraph)) - -from fastlane_bot.testing import * -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("2.0", __VERSION__) - - - - -# ------------------------------------------------------------ -# Test 004 -# File test_004_GraphCode.py -# Segment ArbGraphs test and demo -# ------------------------------------------------------------ -def test_arbgraphs_test_and_demo(): -# ------------------------------------------------------------ - - nodes = lambda: ag.create_node_list("ETH, USDC, WBTC, BNT") - assert [str(n) for n in nodes()] == ['ETH(0)', 'USDC(1)', 'WBTC(2)', 'BNT(3)'] - nodes() - - AG = ag.ArbGraph(nodes=nodes()) - N = AG.node_by_tkn - assert str(N("ETH")) == "ETH(0)" - assert str(N("BNT")) == "BNT(3)" - assert str(AG.node_by_ix(1)) == "USDC(1)" - assert str(AG.node_by_tkn("USDC")) == "USDC(1)" - AG - - assert str(N("ETH")) == "ETH(0)" - - edge = ag.Edge(N("ETH"), 1, N("USDC"), 2000) - edge1 = ag.Edge(N("ETH"), 1, N("USDC"), 2000, inverse=True, ix=10) - assert (edge.pair(), edge.price(), edge.convention()) == ('ETH/USDC', 2000.0, 'USDC per ETH') - assert (edge1.pair(), edge1.price(), edge1.convention()) == ('USDC/ETH', 0.0005, 'ETH per USDC') - edge, str(edge), str(edge1) - - assert (edge+0).asdict() == edge.asdict() - assert (edge+0) != edge # == means objects are the same - assert not edge+0 is edge - assert (2*edge).asdict() == (edge*2).asdict() - assert (edge + 2*edge).asdict() == (3*edge).asdict() - assert sum([edge,edge,edge]).asdict() == (3*edge).asdict() - - (edge+0).asdict() - - -# ------------------------------------------------------------ -# Test 004 -# File test_004_GraphCode.py -# Segment Paths and cycles -# ------------------------------------------------------------ -def test_paths_and_cycles(): -# ------------------------------------------------------------ - - C = ag.Cycle([1,2,3,4,5]) - assert len(C) == 5 - assert [x for x in C.items()] == [1, 2, 3, 4, 5, 1] - assert [x for x in C.items(start_ix=3)] == [4, 5, 1, 2, 3, 4] - assert [x for x in C.items(start_val=3)] == [3, 4, 5, 1, 2, 3] - assert [p for p in C.pairs()] == [(1, 2), (2, 3), (3, 4), (4, 5), (5, 1)] - - c1 = ag.Cycle([1,2,3,4,5,6], "c1") - assert ag.Cycle([8,9]).is_subcycle_of(c1) == False - assert ag.Cycle([1,5,6]).is_subcycle_of(c1) == True - assert ag.Cycle([1,6,5]).is_subcycle_of(c1) == False - assert c1.filter_subcycles([ag.Cycle([8,9]), ag.Cycle([1,5,6]), ag.Cycle([1,6,5])]) == (ag.Cycle([1, 5, 6]),) - assert c1.filter_subcycles(ag.Cycle([1,5,6])) == (ag.Cycle([1, 5, 6]),) - assert str(c1) == 'cycle [c1]: 1 -> 2 -> 3 -> 4 -> 5 -> 6 ->...' - - assert c1.asdict() == {'data': [1, 2, 3, 4, 5, 6], 'uid': 'c1', 'graph': None} - assert c1.astuple() == ([1, 2, 3, 4, 5, 6], 'c1', None) - assert (c1.asdf().set_index("uid")["data"] == c1.asdf(index="uid")["data"]).iloc[0] - assert list(c1.asdf(exclude=["data"]).columns) == ['uid', 'graph'] - assert list(c1.asdf(include=["data", "graph"], exclude=["graph"]).columns) == ['data'] - - import types - nodes = ag.create_node_list("ETH, USDC, WBTC, BNT") - c2 = ag.Cycle(nodes, "c2") - assert c2.uid == "c2" - assert str(c2) == 'cycle [c2]: ETH->USDC->WBTC->BNT->...' - print(nodes) - print(c2) - gc2 = (c for c in c2.items()) - assert isinstance(gc2, types.GeneratorType) - tc2 = tuple(gc2) - assert str(tc2) == "(ETH(0), USDC(1), WBTC(2), BNT(3), ETH(0))" - assert tuple(gc2) == tuple() # generator spent - pc2 = (p for p in c2.pairs()) - assert isinstance(pc2, types.GeneratorType) - tpc2 = tuple(pc2) - assert len(tpc2) == 4 - assert str(tpc2[0]) == '(ETH(0), USDC(1))' - assert str(tpc2[-1]) == '(BNT(3), ETH(0))' - assert c2.pairs_s() == ['ETH/USDC', 'USDC/WBTC', 'WBTC/BNT', 'BNT/ETH'] - - p1 = ag.Path([1,2,3,4,5,6], "p1") - assert p1.uid == "p1" - assert (str(p1)).strip() == 'path [p1]: 1 -> 2 -> 3 -> 4 -> 5 -> 6' - gp1 = (p for p in p1.items()) - assert isinstance(gp1, types.GeneratorType) - tp1 = tuple(gp1) - assert tp1 == (1, 2, 3, 4, 5, 6) - - nodes = ag.create_node_list("ETH, USDC, WBTC, BNT") - p2 = ag.Path(nodes, "p2") - assert p2.uid == "p2" - assert str(p2) == 'path [p2]: ETH->USDC->WBTC->BNT' - gp2 = (c for c in p2.items()) - assert isinstance(gp2, types.GeneratorType) - tp2 = tuple(gp2) - assert str(tp2) == "(ETH(0), USDC(1), WBTC(2), BNT(3))" - assert tuple(gp2) == tuple() # generator spent - pp2 = (p for p in p2.pairs()) - assert isinstance(pp2, types.GeneratorType) - tpp2 = tuple(pp2) - assert len(tpp2) == 3 - assert str(tpp2[0]) == '(ETH(0), USDC(1))' - assert str(tpp2[-1]) == '(WBTC(2), BNT(3))' - assert p2.pairs_s() == ['ETH/USDC', 'USDC/WBTC', 'WBTC/BNT'] - - -# ------------------------------------------------------------ -# Test 004 -# File test_004_GraphCode.py -# Segment Arbgraph transport test and demo -# ------------------------------------------------------------ -def test_arbgraph_transport_test_and_demo(): -# ------------------------------------------------------------ - - n = ag.Node("ETH") - assert isinstance(n.state, n.State) - assert n.state == n.State(amount = 0) - - try: - ag.Edge("ETH", 1, "USDC", 2000) - raise - except: - pass - - ETH = ag.Node("ETH") - USDC = ag.Node("USDC") - assert ETH != n # nodes are only equal if they are the same object! - assert ETH.asdict() == n.asdict() - edge = ag.Edge(ETH, 1, USDC, 2000) - edge2 = ag.Edge(ETH, 1, USDC, 2000) - edge3 = ag.Edge(ETH, 2, USDC, 3500) - assert (edge == edge2) == False - assert edge != ag.Edge(ETH, 1, USDC, 2000) - assert edge.asdict() == ag.Edge(ETH, 1, USDC, 2000).asdict() - assert edge.node_in == ETH - assert edge.node_out == USDC - assert edge.amount_in == 1 - assert edge.amount_out == 2000 - assert edge.state == ag.Edge.State(amount_in_remaining=1) - - ETH.reset_state() - USDC.reset_state() - edge.reset_state() - ETH.state.amount_.set(1) - assert ETH.state.amount == 1 - edge.transport(1, record=True) - assert ETH.state.amount == 0 - assert USDC.state.amount == 2000 - assert edge.state.amount_in_remaining == 0 - - ETH.reset_state() - USDC.reset_state() - edge.reset_state() - ETH.state.amount_.set(1) - edge.transport(0.25, record=True) - assert ETH.state.amount == 0.75 - assert USDC.state.amount == 500 - assert edge.state.amount_in_remaining == 0.75 - edge.transport(0.25, record=True) - assert ETH.state.amount == 0.5 - assert USDC.state.amount == 1000 - assert edge.state.amount_in_remaining == 0.50 - - ETH.reset_state() - USDC.reset_state() - edge.reset_state() - ETH.state.amount = 1 - try: - edge.transport(2, record=True) - except Exception as e: - print(e) - - ETH.reset_state() - USDC.reset_state() - edge.reset_state() - ETH.state.amount = 0.5 - try: - edge.transport(1, record=True) - except Exception as e: - print(e) - - ETH.reset_state() - USDC.reset_state() - edge.reset_state() - ETH.state.amount = 2 - edge.transport(0.5, record=True) - try: - edge.transport(1, record=True) - except Exception as e: - print(e) - - ETH.state.amount = 10 - edge.state.amount_in_remaining = 10 - AG = ag.ArbGraph(nodes=[ETH, USDC], edges=[edge, edge2, edge3]) - assert AG.nodes == [ETH, USDC] - assert AG.edges == [edge, edge2, edge3] - assert AG.nodes[0].state.amount == 10 - assert AG.edges[0].state.amount_in_remaining == 10 - AG.reset_state() - assert AG.nodes[0].state.amount == 0 - assert AG.edges[0].state.amount_in_remaining == 1 - assert AG.state.nodes[0] == ETH.state - assert AG.state.edges[0] == edge.state - - assert AG.node_by_tkn("ETH") is ETH - assert AG.node_by_tkn(ETH) is ETH - try: - AG.node_by_tkn(ag.Node("ETH")) - raise - except Exception as e: - print(e) - - AG.reset_state() - ETH.state.amount = 4 - r = AG.transport(2, "ETH", "USDC", record=True) - assert ETH.state.amount == 2 - assert r.amount_in.amount == 2 - assert r.amount_in.tkn == "ETH" - capacity_in = sum([e_.amount_in for e_ in r.edges]) - assert capacity_in == 4 - capacity_out = sum([e_.amount_out for e_ in r.edges]) - assert capacity_out == 7500 - assert r.amount_out.amount == r.amount_in.amount * capacity_out / capacity_in - assert sum(r.amounts_in) == r.amount_in.amount - assert sum(r.amounts_out) == r.amount_out.amount - assert AG.has_capacity("ETH", "USDC") - assert AG.has_capacity() - AG.transport(2, "ETH", "USDC", record=True) - assert AG.has_capacity() == False - r - - rs = AG.edge_statistics(edges=r.edges) - assert rs.len == 3 - assert rs.edges is r.edges - assert rs.amounts_in == (1, 1, 2) - assert rs.amounts_in_remaining == (0.0, 0.0, 0.0) - assert rs.amounts_out == (2000, 2000, 3500) - assert rs.prices == (2000.0, 2000.0, 1750.0) - assert rs.utilizations == (1.0, 1.0, 1.0) - assert rs.amount_in.amount == 4 - assert rs.amount_in_remaining.amount == 0.0 - assert rs.amount_out.amount == 7500 - assert rs.amount_in.tkn == "ETH" - assert rs.amount_in_remaining.tkn == "ETH" - assert rs.amount_out.tkn == "USDC" - assert rs.utilization == 1.0 - assert rs.price == 1875.0 - rs - - rns = AG.node_statistics("ETH") - assert len(rns.edges_out) == 3 - assert len(rns.edges_in) == 0 - assert rns.amount_in.amount == 0 - assert rns.amount_out.amount == 4 - assert rns.amount_out_remaining.amount == 0 - assert rns.nodes_in==set() - assert rns.nodes_out=={"USDC"} - rns - - rns2 = AG.node_statistics("USDC") - assert len(rns2.edges_out) == 0 - assert len(rns2.edges_in) == 3 - assert rns2.amount_in.amount == 7500 - assert rns2.amount_out.amount == 0 - assert rns2.amount_out_remaining.amount == 0 - assert rns2.nodes_in==set(["ETH",]) - assert rns2.nodes_out==set() - rns2 - - - -# ------------------------------------------------------------ -# Test 004 -# File test_004_GraphCode.py -# Segment Arbgraph transport test and demo 2 -# ------------------------------------------------------------ -def test_arbgraph_transport_test_and_demo_2(): -# ------------------------------------------------------------ - - @ag.dataclass - class MyState(): - myval_: ag.TrackedStateFloat = ag.field(default_factory=ag.TrackedStateFloat, init=False) - myval: ag.InitVar=None - - def __post_init__(self, myval): - self.myval = myval - - @property - def myval(self): - return self.myval_.value - - @myval.setter - def myval(self, value): - self.myval_.set(value) - - - mystate = MyState(0) - mystate.myval_.set(10) - assert mystate.myval == 10 - mystate.myval += 5 - assert mystate.myval == 15 - mystate.myval -= 4 - assert mystate.myval == 11 - assert mystate.myval_.history == [0, 0, 10, 15, 11] - - mystate = MyState(10) - assert mystate.myval == 10 - assert mystate.myval_.history == [0,10] - mystate.myval = 20 - assert mystate.myval == 20 - assert mystate.myval_.history == [0,10,20] - mystate.myval += 5 - assert mystate.myval == 25 - mystate.myval -= 4 - assert mystate.myval == 21 - assert mystate.myval_.history == [0,10,20,25,21] - assert mystate.myval_.reset(42) - assert mystate.myval == 42 - assert mystate.myval_.history == [42] - - n = ag.Node("MEH") - n.state.amount = 10 - n.state.amount += 5 - n.state.amount -= 4 - assert n.state.amount == 11 - assert n.state.amount_.history == [0, 10, 15, 11] - n.reset_state() - assert n.state.amount_.history == [0] - - nodes = ag.Node.create_node_list("USDC, LINK, ETH, WBTC") - assert len(nodes)==4 - assert nodes[0].tkn == "USDC" - AG = ag.ArbGraph(nodes) - AG.add_edge("USDC", 10000, "ETH", 5) - AG.add_edge_obj(AG.edges[-1].R()) - AG.add_edge("USDC", 10000, "WBTC", 1) - AG.add_edge_obj(AG.edges[-1].R()) - AG.add_edge("USDC", 10000, "LINK", 1000) - AG.add_edge_obj(AG.edges[-1].R()) - AG.add_edge("LINK", 1000, "ETH", 5) - AG.add_edge_obj(AG.edges[-1].R()) - AG.add_edge("ETH", 5, "WBTC", 1) - AG.add_edge_obj(AG.edges[-1].R()) - assert len(AG.edges)==10 - assert len(AG.cycles())==11 - ns = AG.node_statistics("USDC") - assert ns.amount_in.amount == 30000 - assert ns.amount_out.amount == 30000 - assert ns.amount_out_remaining == ns.amount_out - assert ns.nodes_out==set(['WBTC', 'ETH', 'LINK']) - assert ns.nodes_in==set(['WBTC', 'ETH', 'LINK']) - #_=AG.plot() - - -# ------------------------------------------------------------ -# Test 004 -# File test_004_GraphCode.py -# Segment Transport 3 and prices -# ------------------------------------------------------------ -def test_transport_3_and_prices(): -# ------------------------------------------------------------ - - AG = ag.ArbGraph() - prices = dict(USDC=1, LINK=5, AAVE=100, WETH=2000, BTC=10000) - for t1,p1 in prices.items(): - for t2,p2 in prices.items(): - if t1 2000 USDC(1)' - - assert raises (lambda: e1+e3) - assert raises (lambda: -2*e1) - assert raises (lambda: e3*(-2)) - try: - e1 += e3 - raise - except ValueError as e: - pass - - assert not raises (lambda: e4+e5) - assert not raises (lambda: 2*e4) - assert not raises (lambda: e4*2) - e4 += e5 - - assert e6.amount_in == 1 - assert e1.transport() == e6.transport() - assert e1.transport(amount_in=1e6) == 1e6*e1.transport() - - AG = ag.ArbGraph(nodes = [ETH, USDC]) - assert AG.edgetype is None - AG.add_edge_obj(e1) - assert AG.edgetype == AG.EDGE_CONNECTION - assert AG.edgetype == e1.EDGE_CONNECTION - AG.add_edge_obj(e2) - assert raises(AG.add_edge_obj, e4) - assert AG.edgetype == e1.EDGE_CONNECTION - - AG = ag.ArbGraph(nodes = [ETH, USDC]) - assert AG.edgetype is None - AG.add_edge_obj(e4) - assert AG.edgetype == AG.EDGE_AMOUNT - assert AG.edgetype == e1.EDGE_AMOUNT - AG.add_edge_obj(e5) - assert raises(AG.add_edge_obj, e1) - assert AG.edgetype == e1.EDGE_AMOUNT - - AG = ag.ArbGraph() - AG.add_edge_connectiontype(tkn_in="ETH", tkn_out="USDC", price=2000) - AG.add_edge_connectiontype(tkn_in="ETH", tkn_out="BTC", price=1/5) - AG.add_edge_connectiontype(tkn_in="BTC", tkn_out="USDC", price=10000) - assert AG.edgetype == AG.EDGE_CONNECTION - assert len(AG) == 6 - #_=AG.plot() - - AG = ag.ArbGraph() - AG.add_edge_connectiontype(tkn_in="ETH", tkn_out="USDC", price=2000, symmetric=False) - AG.add_edge_connectiontype(tkn_in="ETH", tkn_out="BTC", price=1/5, symmetric=False) - AG.add_edge_connectiontype(tkn_in="BTC", tkn_out="USDC", price=10000, symmetric=False) - assert AG.edgetype == AG.EDGE_CONNECTION - assert len(AG) == 3 - #_=AG.plot() - - AG = ag.ArbGraph() - assert raises (AG.add_edge_connectiontype, tkn_in="ETH", tkn_out="USDC", price=2000, price_outperin=2000) - assert raises (AG.add_edge_connectiontype, tkn_in="ETH", tkn_out="USDC", inverse = True, price_outperin=2000) - assert AG.add_edge_connectiontype == AG.add_edge_ct - - AG = ag.ArbGraph() - for i in range(5): - mul = 1+i/50 - AG.add_edge_ct(tkn_in="ETH", tkn_out="USDC", price=2000*mul) - AG.add_edge_ct(tkn_in="WBTC", tkn_out="USDC", price=10000*mul) - AG.add_edge_ct(tkn_in="ETH", tkn_out="WBTC", price=0.2/mul) - assert AG.len() == (2*3*5, 3) - assert len(AG.cycles()) == 5 - assert np.array_equal(AG.A.toarray(), np.array([[0, 1, 1], [1, 0, 1], [1, 1, 0]])) - print(AG.A) - AG2 = AG.duplicate() - assert AG2.len() == (6,3) - edges = AG.filter_edges("ETH", "USDC") - assert len(edges) == 5 - edges2 = AG2.filter_edges("ETH", "USDC") - assert len(edges2) == 1 - assert [e.p_outperin for e in edges] == [2000.0, 2040.0, 2080.0, 2120.0, 2160.0] - assert edges2[0].p_outperin == np.mean([e.p_outperin for e in edges]) - - -# ------------------------------------------------------------ -# Test 004 -# File test_004_GraphCode.py -# Segment Interaction with CPC -# ------------------------------------------------------------ -def test_interaction_with_cpc(): -# ------------------------------------------------------------ - - c1 = CPC.from_univ2(x_tknb=1, y_tknq=2000, pair="ETH/USDC", fee=0, cid="1", descr="UniV2") - c2 = CPC.from_univ2(x_tknb=1, y_tknq=10000, pair="WBTC/USDC", fee=0, cid="2", descr="UniV2") - c3 = CPC.from_univ2(x_tknb=1, y_tknq=5, pair="WBTC/ETH", fee=0, cid="3", descr="UniV2") - assert c1.p == 2000 - assert c2.p == 10000 - assert c3.p == 5 - - AG = ag.ArbGraph() - AG.add_edges_cpc(c1) - AG.add_edges_cpc(c2) - AG.add_edges_cpc(c3) - #_=AG.plot() - - AG = ag.ArbGraph() - AG.add_edges_cpc([c1, c2, c3]) - #_=AG.plot() - - AG = ag.ArbGraph() - AG.add_edges_cpc(c for c in [c1, c2, c3]) - #_=AG.plot() - - AG = ag.ArbGraph() - CC = CPCContainer([c1,c2,c3]) - AG.add_edges_cpc(CC) - #_=AG.plot() - - print(AG.A) - - AG.cycles() - - -# ------------------------------------------------------------ -# Test 004 -# File test_004_GraphCode.py -# Segment With real data from CPC -# ------------------------------------------------------------ -def test_with_real_data_from_cpc(): -# ------------------------------------------------------------ - - try: - df = pd.read_csv("_data/NBTEST_002_Curves.csv.gz") - except: - df = pd.read_csv("fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz") - CC0 = CPCContainer.from_df(df) - print("Num curves:", len(CC0)) - print("Num pairs:", len(CC0.pairs())) - print("Num tokens:", len(CC0.tokens())) - print(CC0.tokens_s()) - - AG0 = ag.ArbGraph().add_edges_cpc(CC0) - #AG0.plot() - assert AG0.len() == (918, 141) - - assert str(AG0.A)[:60] ==' (0, 1)\t1\n (1, 0)\t1\n (2, 3)\t1\n (2, 4)\t1\n (2, 5)\t1\n (2,' - - pairs = CC0.filter_pairs(bothin="WETH, USDC, UNI, AAVE, LINK") - CC = CC0.bypairs(pairs, ascc=True) - AG = ag.ArbGraph().add_edges_cpc(CC) - #AG.plot() - AG.len() == (24, 5) - - assert np.all(AG.A.toarray() == np.array( - [[0, 1, 1, 0, 0], - [1, 0, 1, 1, 1], - [1, 1, 0, 1, 1], - [0, 1, 1, 0, 0], - [0, 1, 1, 0, 0]])) - - assert raises(AG.edge_statistics,"WETH", "USDC") - - AG.edgedf(consolidated=False) - - df = AG.edgedf(consolidated=True) - df - - dx,dy = ((71.22, -0.28, 3.4, -10.82, 755278.31, -65.01, -5.93, -3.38, -0.02, 60.27, -49.45, 1507698.66, -2263343.63), - (-0.3, 1.99, -0.14, 0.04, -393.48, 0.27, 46.42, 0.13, 1.41, -0.2, 316.84, -786.1, 833.78)) - AG2 = ag.ArbGraph() - for cpc, dx_, dy_ in zip(CC, dx, dy): - print(dx_, cpc.tknx, dy_, cpc.tkny, cpc.cid) - AG2.add_edge_dxdy(cpc.tknx, dx_, cpc.tkny, dy_, uid=cpc.cid) - #print("---") - - #_=AG2.plot() - assert AG2.len() == (12,5) - - assert np.all(AG2.A.toarray() == np.array( - [[0, 1, 0, 0, 0], - [1, 0, 0, 1, 1], - [1, 1, 0, 1, 1], - [0, 1, 0, 0, 0], - [0, 1, 0, 0, 0]])) - print(AG2.A.toarray()) - - assert AG2.edge_statistics("WETH", "USDC", bothways=False) is None - assert len(AG2.edge_statistics("WETH", "USDC", bothways=True)) == 2 - assert AG2.edge_statistics("WETH", "USDC", bothways=True)[1].asdict()["amounts_in_remaining"] == (755278.31, 1507698.66) - AG2.edge_statistics("WETH", "USDC", bothways=True)[1].asdict() - - assert AG2.filter_edges("WETH", "USDC") == [] - assert AG2.filter_edges("WETH", "USDC", bothways=True)[0].amount_in == 755278.31 - assert AG2.filter_edges("WETH", "USDC", bothways=True) == AG2.filter_edges("USDC", "WETH") - assert AG2.filter_edges(pair="WETH/USDC", bothways=False) == [] - assert AG2.filter_edges(pair="WETH/USDC") == AG2.filter_edges("WETH", "USDC", bothways=True) - assert AG2.filter_edges == AG2.fe - assert AG2.fep("WETH/USDC") == AG2.filter_edges(pair="WETH/USDC") - assert AG2.fep("WETH/USDC", bothways=False) == AG2.filter_edges(pair="WETH/USDC", bothways=False) - assert tuple(AG2.edgedf(consolidated=True, resetindex=False).iloc[0]) == (1.41, 0.02) - assert len(AG2.edgedf(consolidated=False)) == len(AG2) - - assert len(AG2.edgedf(consolidated=False)) == 12 - AG2.edgedf(consolidated=False) - - assert len(AG2.edgedf(consolidated=True, resetindex=False)) == 10 - AG2.edgedf(consolidated=True, resetindex=False) - - -# ------------------------------------------------------------ -# Test 004 -# File test_004_GraphCode.py -# Segment Amount algebra -# ------------------------------------------------------------ -def test_amount_algebra(): -# ------------------------------------------------------------ - - A = ag.Amount - nodes = lambda: ag.create_node_list("ETH, USDC") - ETH, USDC = nodes() - - ae1, ae2, au1 = A(1, ETH), A(2, ETH), A(1, USDC) - - assert ae1 + ae2 == 3*ae1 - assert ae2 - ae1 == ae1 - assert -ae1 + ae2 == ae1 - assert 2*ae1 == ae2 - assert ae1*2 == ae2 - assert ae1/2 +ae1/2 == ae1 - assert round(ae1/9,2) == round(1/9,2)*ae1 - assert round(ae1/9,4) == round(1/9,4)*ae1 - assert m.floor(ae1/9) == m.floor(1/9)*ae1 - assert m.ceil(ae1/9) == m.ceil(1/9)*ae1 - assert (ae1 + 2*ae1)/ae1 == 3 - - assert raises (lambda: ae1 + 1) - assert raises (lambda: ae1 - 1) - assert raises (lambda: 1 + ae1) - assert raises (lambda: 1 - ae1) - - assert 2*ae1 > ae1 - assert 2*ae1 >= ae1 - assert .2*ae1 < ae1 - assert .2*ae1 <= ae1 - assert ae1 <= ae1 - assert ae1 >= ae1 - assert not ae1 < ae1 - assert not ae1 > ae1 - - -# ------------------------------------------------------------ -# Test 004 -# File test_004_GraphCode.py -# Segment Specific Arb examples -# ------------------------------------------------------------ -def test_specific_arb_examples(): -# ------------------------------------------------------------ - - # ### USDC/ETH - - AG = ag.ArbGraph() - AG.add_edge("ETH", 1, "USDC", 2000) - AG.add_edge("USDC", 1800, "ETH", 1, inverse=True) - G = AG.as_graph() - print(AG.cycles()) - #_=AG.plot() - - for C in AG.cycles(): - print(f"==={C}===") - for c in C.pairs(start_val=AG.n("ETH")): - print(c) - - c, AG.filter_edges(*c) - - AG.A.toarray() - - # ### USDC/LINK to ETH (oneway) - - AG = ag.ArbGraph() - AG.add_edge("USDC", 100, "ETH", 100/2000) - AG.add_edge("LINK", 100, "USDC", 1000) - AG.add_edge("USDC", 900, "LINK", 100, inverse=True) - G = AG.as_graph() - print(AG.cycles()) - #_=AG.plot() - - # _=AG.duplicate().plot() - - for C in AG.cycles(): - print(f"==={C}===") - for c in C.pairs(start_val=AG.n("USDC")): - print(c) - - c, AG.filter_edges(*c) - - AG.A.toarray() - - # ### USDD, LINK, ETH cycle - - AG = ag.ArbGraph() - AG.add_edge("ETH", 1, "USDC", 2000) - AG.add_edge("USDC", 1500, "LINK", 200, inverse=True) - AG.add_edge("LINK", 200, "ETH", 1, inverse=True) - G = AG.as_graph() - print(AG.cycles()) - #_=AG.plot() - - for C in AG.cycles(): - print(f"==={C}===") - for c in C.pairs(start_val=AG.n("USDC")): - print(c) - - c, AG.filter_edges(*c) - - AG.A.toarray() - - # ### USDD, LINK, ETH cycle plus ETH/USDC - - AG = ag.ArbGraph() - AG.add_edge("ETH", 1, "USDC", 2000) - AG.add_edge("ETH", 1, "USDC", 2000) - AG.add_edge("USDC", 1500, "LINK", 200, inverse=True) - AG.add_edge("LINK", 200, "ETH", 1, inverse=True) - AG.add_edge("USDC", 1800, "ETH", 1, inverse=True) - G = AG.as_graph() - print(AG.cycles()) - #_=AG.plot() - - # + - #_=AG.duplicate().plot() - # - - - AG.edges - - AG.duplicate().edges - - AG.A.toarray() - - for C in AG.cycles(): - print(f"==={C}===") - for c in C.pairs(start_val=AG.n("ETH")): - print(c) - - cycle = AG.cycles()[1] - cycle - - for cycle in AG.cycles(): - result = AG.run_arbitrage_cycle(cycle=cycle, verbose=True) - print(result) - print("---") - - assert raises(AG.price, AG.nodes[0], AG.nodes[1]) - raises(AG.price, AG.nodes[0], AG.nodes[1]) - - - - - - - - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_005_Uniswap.py b/fastlane_bot/tests/nbtest/test_005_Uniswap.py deleted file mode 100644 index 875b3e196..000000000 --- a/fastlane_bot/tests/nbtest/test_005_Uniswap.py +++ /dev/null @@ -1,253 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_005_Uniswap.py` -# ------------------------------------------------------------ -# source file = NBTest_005_Uniswap.py -# test id = 005 -# test comment = Uniswap -# ------------------------------------------------------------ - - - -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer -from fastlane_bot.helpers.univ3calc import Univ3Calculator as U3 -from dataclasses import dataclass, asdict - -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(U3)) - -from fastlane_bot.testing import * -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("2.0", __VERSION__) - - - - -# ------------------------------------------------------------ -# Test 005 -# File test_005_Uniswap.py -# Segment u3 standalone -# ------------------------------------------------------------ -def test_u3_standalone(): -# ------------------------------------------------------------ - - data = { - "token0": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", # USDC - "token1": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", # WETH - "sqrt_price_q96": "1725337071198080486317035748446190", - "tick": "199782", - "liquidity": "36361853546581410773" - } - - help(U3.from_dict) - - u1 = U3( - tkn0="USDC-eB48", - tkn0decv=6, - tkn1="WETH-6Cc2", - tkn1decv=18, - sp96=data["sqrt_price_q96"], - tick=data["tick"], - liquidity=data["liquidity"], - fee_const = U3.FEE500, - ) - u2 = U3.from_dict(data, U3.FEE500) - #assert u1 == u2 - u = u2 - assert asdict(u) == { - 'tkn0': 'USDC-eB48', - 'tkn1': 'WETH-6Cc2', - 'sp96': int(data["sqrt_price_q96"]), - 'tick': int(data["tick"]), - 'liquidity': int(data["liquidity"]), - 'fee_const': U3.FEE500 - } - assert u.tkn0 == "USDC-eB48" - assert u.tkn1 == "WETH-6Cc2" - assert u.tkn0dec == 6 - assert u.tkn1dec == 18 - assert u.decf == 1e-12 - assert u.dec_factor_wei0_per_wei1 == u.decf - assert iseq(u.p, 0.00047422968986928404) - assert iseq(1/u.p, 2108.6828205033694) - assert u.p == u.price_tkn1_per_tkn0 - assert 1/u.p == u.price_tkn0_per_tkn1 - assert u.price_convention == 'USDC-eB48/WETH-6Cc2 [WETH-6Cc2 per USDC-eB48]' - assert iseq(u._price_f(1725337071198080486317035748446190), 474229689.86928403) - assert iseq(u._price_f(u.sp96), 474229689.86928403) - assert u.ticksize == 10 - ta, tb = u.tickab - par, pbr = u.papb_raw - pa, pb = u.papb_tkn1_per_tkn0 - pai, pbi = u.papb_tkn0_per_tkn1 - assert ta <= u.tick - assert tb >= u.tick - assert ta % u.ticksize == 0 - assert tb % u.ticksize == 0 - assert tb-ta == u.ticksize - assert iseq(par, 474134297.0246954) - assert iseq(pbr, 474608644.73905975) - assert iseq(pbr/par, 1.0001**u.ticksize) - assert iseq(pa, 0.0004741342970246954) - assert iseq(pb, 0.00047460864473905973) - assert iseq(pbr/par, pb/pa) - assert iseq(pbr/par, pai/pbi) - assert papbi - assert pa == par * u.decf - assert pb == pbr * u.decf - assert iseq(pai, 2109.1070742514007) - assert iseq(pbi, 2106.999126722188) - assert pai == 1/pa - assert pbi == 1/pb - assert u.p >= pa - assert u.p <= pb - assert u.fee_const == 500 - assert u.fee == 0.0005 - assert u.info() - print(u.info()) - - assert u.liquidity == int(data["liquidity"]) - assert u.L == 36361853.54658141 - assert u.liquidity/u.L == 1e18/1e6 - assert u.L2 == u.L**2 - assert u.Lsquared == u.L**2 - assert u.k == u.L2 - assert u.kbar == u.L - u.tkn0reserve(incltoken=True), u.tkn1reserve(incltoken=True), u.tvl(incltoken=True) - - data1 = {**data} - data1["token0"] = data["token0"]+"_" - data1["token1"] = data["token1"]+"_" - data1 - - assert raises (U3.from_dict, data1, U3.FEE500).startswith("must provide tkn0decv") - u3 = U3.from_dict(data1, U3.FEE500, tkn0decv=6, tkn1decv=18) - assert u3.liquidity == u2.liquidity - assert u3.tick == u2.tick - assert u3.sp96 == u2.sp96 - assert u3.sp96 == u2.sp96 - - -# ------------------------------------------------------------ -# Test 005 -# File test_005_Uniswap.py -# Segment Univ3 Issue -# ------------------------------------------------------------ -def test_univ3_issue(): -# ------------------------------------------------------------ - - u3data = dict( - sqrt_price_q96=Decimal('79204503519896773685362'), - tick=-276330, - tick_spacing=10, - liquidity=Decimal('420303555647537236581'), - address='0x5720EB958685dEEEB5AA0b34F677861cE3a8c7F5', - anchor='NaN', tkn0='USDP-89E1', - tkn1='USDC-eB48', - tkn0_address='0x8E870D67F660D95d5be530380D0eC0bd388289E1', - tkn0_decimals=18, - tkn1_address='0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - tkn1_decimals=6, - tkn0_key='USDP-89E1', - tkn1_key='USDC-eB48' - ) - u3data["token0"] = u3data["tkn0_address"] - u3data["token1"] = u3data["tkn1_address"] - - u3 = U3.from_dict(u3data, tkn0decv=u3data["tkn0_decimals"], - tkn1decv=u3data["tkn1_decimals"], fee_const=U3.FEE100) - - u3d = u3.cpc_params() - u3d - - pa,pb = u3.papb - pm = u3.p - r = u3.cpc_params() - assert r["uniPa"] == pa - assert r["uniPb"] == pb - assert r["uniPa"] <= r["Pmarg"] - assert r["uniPb"] >= r["Pmarg"] - print(r["Pmarg"]/pm-1) - assert abs(r["Pmarg"]/pm-1)<1e-10 - - -# ------------------------------------------------------------ -# Test 005 -# File test_005_Uniswap.py -# Segment with cpc -# ------------------------------------------------------------ -def test_with_cpc(): -# ------------------------------------------------------------ - - data = { - "token0": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "token1": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", - "sqrt_price_q96": "1727031172247131125466697684053376", - "tick": "199801", - "liquidity": "37398889145617323159" - } - u = U3.from_dict(data, U3.FEE500) - - pa, pb = u.papb_tkn1_per_tkn0 - curve = CPC.from_univ3( - Pmarg = u.p, - uniL = u.L, - uniPa = pa, - uniPb = pb, - pair = u.pair, - fee = u.fee, - descr = "", - params = dict(uv3raw=asdict(u)), - cid = "0", - ) - curve - - c = curve - print(f"Reserve: {c.x_act:,.3f} {c.tknx}, {c.y_act:,.3f} {c.tkny}") - print(f"TVL = {c.tvl(tkn=c.tknx):,.3f} {c.tknx} = {c.tvl(tkn=c.tkny):,.3f} {c.tkny}") - assert iseq(c.x_act, 716877.5715601444) - assert iseq(c.y_act, 66.88731140131131) - assert iseq(c.tvl(tkn=c.tknx), 857645.1222000704) - assert iseq(c.tvl(tkn=c.tkny), 407.51988721569177) - - print(f"Reserve: {u.tkn0reserve():,.3f} {c.tknx}, {u.tkn1reserve():,.3f} {c.tkny}") - print(f"TVL = {u.tvl(astkn0=True):,.3f} {c.tknx} = {u.tvl(astkn0=False):,.3f} {c.tkny}") - assert iseq(u.tkn0reserve(), c.x_act) - assert iseq(u.tkn1reserve(), c.y_act) - assert iseq(u.tvl(astkn0=False), c.tvl(tkn=c.tkny)) - assert iseq(u.tvl(astkn0=True), c.tvl(tkn=c.tknx)) - assert u.tkn0reserve(incltoken=True)[1] == u.tkn0 - assert u.tkn1reserve(incltoken=True)[1] == u.tkn1 - assert u.tvl(astkn0=True, incltoken=True)[1] == u.tkn0 - assert u.tvl(astkn0=False, incltoken=True)[1] == u.tkn1 - u.tkn0reserve(incltoken=True), u.tkn1reserve(incltoken=True), u.tvl(incltoken=True) - - curve = CPC.from_univ3( - **u.cpc_params(), - descr = "", - params = dict(uv3raw=asdict(u)), - cid = "0", - ) - curve - - c = curve - print(f"Reserve: {c.x_act:,.3f} {c.tknx}, {c.y_act:,.3f} {c.tkny}") - print(f"TVL = {c.tvl(tkn=c.tknx):,.3f} {c.tknx} = {c.tvl(tkn=c.tkny):,.3f} {c.tkny}") - - curve = CPC.from_univ3( - **u.cpc_params( - cid = "0", - descr = "", - #params = dict(uv3raw=asdict(u)), - ), - ) - curve - - - c = curve - print(f"Reserve: {c.x_act:,.3f} {c.tknx}, {c.y_act:,.3f} {c.tkny}") - print(f"TVL = {c.tvl(tkn=c.tknx):,.3f} {c.tknx} = {c.tvl(tkn=c.tkny):,.3f} {c.tkny}") - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_007_NoneResult.py b/fastlane_bot/tests/nbtest/test_007_NoneResult.py deleted file mode 100644 index f222ce6fd..000000000 --- a/fastlane_bot/tests/nbtest/test_007_NoneResult.py +++ /dev/null @@ -1,148 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_007_NoneResult.py` -# ------------------------------------------------------------ -# source file = NBTest_007_NoneResult.py -# test id = 007 -# test comment = NoneResult -# ------------------------------------------------------------ - - - -#from fastlane_bot import Bot, Config, ConfigDB, ConfigNetwork, ConfigProvider -from fastlane_bot.tools.noneresult import NoneResult, isNone -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(NoneResult)) -from fastlane_bot.testing import * -import itertools as it -import collections as cl -import math as m -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - - -# ------------------------------------------------------------ -# Test 007 -# File test_007_NoneResult.py -# Segment NoneResult Basics -# ------------------------------------------------------------ -def test_noneresult_basics(): -# ------------------------------------------------------------ - - none = NoneResult() - assert str(none) == "NoneResult('None')" - assert repr(none) == str(none) - assert bool(none) == False - assert float(none) == 0.0 - assert int(none) == 0 - assert m.floor(none) is none - assert m.ceil(none) is none - assert m.trunc(none) is none - assert round(none,5) is none - assert None == none - - assert none.foo is none - assert none.foo.bar is none - assert none["foo"] is none - assert none["foo"]["bar"] is none - - assert none+1 is none - assert none-1 is none - assert none*1 is none - assert none/1 is none - assert none//1 is none - assert none**1 is none - assert none%1 is none - - assert 1+none is none - assert 1-none is none - assert 1*none is none - assert 1/none is none - assert 1//none is none - assert 1**none is none - assert 1%none is none - - none_foo = NoneResult("foo") - assert str(none_foo) == "NoneResult('foo')" - assert none_foo == none - - -# ------------------------------------------------------------ -# Test 007 -# File test_007_NoneResult.py -# Segment None format -# ------------------------------------------------------------ -def test_none_format(): -# ------------------------------------------------------------ - - none = NoneResult() - assert f"{none}" == "NoneResult('None')" - assert "{}".format(none) == "NoneResult('None')" - - assert f":{str(none):30}:" == ":NoneResult('None') :" - assert f":{none:30}:" == f":{str(none):30}:" - assert len(f"{none:30}") == 30 - raises(lambda: f"{none:2.1f}") == "Unknown format code 'f' for object of type 'str'" - assert f"{float(none):10.4f}" == ' 0.0000' - assert f"{int(none):010d}" == '0000000000' - - a="123" - - f"{none:40}" - - -# ------------------------------------------------------------ -# Test 007 -# File test_007_NoneResult.py -# Segment math functions -# ------------------------------------------------------------ -def test_math_functions(): -# ------------------------------------------------------------ - - none = NoneResult() - assert m.sin(none) == 0 - assert m.cos(none) == 1 - assert m.exp(none) == 1 - assert raises(m.log, none) == "math domain error" - assert 1/none == none - assert 0*none==none - sin = lambda x: 0*x+m.sin(x) - assert sin(none) == none - - -# ------------------------------------------------------------ -# Test 007 -# File test_007_NoneResult.py -# Segment isNone -# ------------------------------------------------------------ -def test_isnone(): -# ------------------------------------------------------------ - - assert isNone(None) == True - assert isNone(NoneResult()) == True - assert isNone(NoneResult("moo")) == True - assert isNone(0) == False - assert isNone("") == False - assert isNone(False) == False - assert isNone(NoneResult) == False - - none = NoneResult() - assert raises(lambda x: isNone(None+x), 1) == "unsupported operand type(s) for +: 'NoneType' and 'int'" - assert isNone(none+1) - assert isNone(1+none) - assert isNone(none**2) - assert isNone(none*none) - assert isNone(1+2*none+3*none*none) - - assert not isNone(none) == False - assert [x for x in (1,2,None,3) if not isNone(x)] == [1,2,3] - assert [x for x in (1,2,none,3) if not isNone(x)] == [1,2,3] - assert [2*x for x in (1,2,None,3) if not isNone(x)] == [2,4,6] - assert [2*x for x in (1,2,none,3) if not isNone(x)] == [2,4,6] - assert [2*x for x in (1,2,none,3) if not isNone(2*x)] == [2,4,6] - - - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_033_Pools.py b/fastlane_bot/tests/nbtest/test_033_Pools.py deleted file mode 100644 index 9247d6f73..000000000 --- a/fastlane_bot/tests/nbtest/test_033_Pools.py +++ /dev/null @@ -1,166 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_033_Pools.py` -# ------------------------------------------------------------ -# source file = NBTest_033_Pools.py -# test id = 033 -# test comment = Pools -# ------------------------------------------------------------ - - - -import json - -import pytest - -from fastlane_bot import Bot -from fastlane_bot.events.pools import SushiswapV2Pool, UniswapV2Pool, UniswapV3Pool, BancorV3Pool, CarbonV1Pool, BancorV2Pool -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC - -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV2Pool)) -from fastlane_bot.testing import * - -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - -with open('fastlane_bot/data/event_test_data.json', 'r') as f: - setup_data = json.load(f) - - -# ------------------------------------------------------------ -# Test 033 -# File test_033_Pools.py -# Segment test_uniswap_v2_pool -# ------------------------------------------------------------ -def test_test_uniswap_v2_pool(): -# ------------------------------------------------------------ - - uniswap_v2_pool = UniswapV2Pool() - uniswap_v2_pool.update_from_event(setup_data['uniswap_v2_event'], {'cid': '0x', 'fee': '0.000', 'fee_float': 0.0, 'exchange_name': 'sushiswap_v2', 'reserve0': setup_data['uniswap_v2_event']['args']['reserve0'], 'reserve1': setup_data['uniswap_v2_event']['args']['reserve1'], 'tkn0_symbol': 'tkn0', 'tkn1_symbol': 'tkn1'}) - assert (uniswap_v2_pool.state['tkn0_balance'] == setup_data['uniswap_v2_event']['args']['reserve0']) - - -# ------------------------------------------------------------ -# Test 033 -# File test_033_Pools.py -# Segment test_bancor_v2_pool -# ------------------------------------------------------------ -def test_test_bancor_v2_pool(): -# ------------------------------------------------------------ - - bancor_v2_pool = BancorV2Pool() - bancor_v2_pool.state['tkn0_address'] = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' - bancor_v2_pool.state['tkn1_address'] = '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C' - bancor_v2_pool.state['anchor']= '0xb1CD6e4153B2a390Cf00A6556b0fC1458C4A5533' - bancor_v2_pool.update_from_event(setup_data['bancor_v2_event'], {'cid': '0x', 'fee': '0.000', 'fee_float': 0.0, 'exchange_name': 'bancor_v2'}) - assert (bancor_v2_pool.state['tkn0_balance'] == setup_data['bancor_v2_event']['args']['_rateN']), f"expected {bancor_v2_pool.state['tkn0_balance']}, found {setup_data['bancor_v2_event']['args']['_rateN']}" - assert (bancor_v2_pool.state['tkn1_balance'] == setup_data['bancor_v2_event']['args']['_rateD']), f"expected {bancor_v2_pool.state['tkn1_balance']}, found {setup_data['bancor_v2_event']['args']['_rateD']}" - - -# ------------------------------------------------------------ -# Test 033 -# File test_033_Pools.py -# Segment test_sushiswap_v2_pool -# ------------------------------------------------------------ -def test_test_sushiswap_v2_pool(): -# ------------------------------------------------------------ - - sushiswap_v2_pool = SushiswapV2Pool() - sushiswap_v2_pool.update_from_event(setup_data['sushiswap_v2_event'], {'cid': '0x', 'fee': '0.000', 'fee_float': 0.0, 'exchange_name': 'uniswap_v2', 'reserve0': setup_data['uniswap_v2_event']['args']['reserve0'], 'reserve1': setup_data['uniswap_v2_event']['args']['reserve1'], 'tkn0_symbol': 'tkn0', 'tkn1_symbol': 'tkn1'}) - assert (sushiswap_v2_pool.state['tkn0_balance'] == setup_data['sushiswap_v2_event']['args']['reserve0']) - - -# ------------------------------------------------------------ -# Test 033 -# File test_033_Pools.py -# Segment test_uniswap_v3_pool -# ------------------------------------------------------------ -def test_test_uniswap_v3_pool(): -# ------------------------------------------------------------ - - uniswap_v3_pool = UniswapV3Pool() - uniswap_v3_pool.update_from_event(setup_data['uniswap_v3_event'], {'cid': '0x', 'fee': '0.000', 'fee_float': 0.0, 'exchange_name': 'uniswap_v3', 'liquidity': setup_data['uniswap_v3_event']['args']['liquidity'], 'sqrtPriceX96': setup_data['uniswap_v3_event']['args']['sqrtPriceX96'], 'tick': setup_data['uniswap_v3_event']['args']['tick'], 'tkn0_symbol': 'tkn0', 'tkn1_symbol': 'tkn1'}) - assert (uniswap_v3_pool.state['liquidity'] == setup_data['uniswap_v3_event']['args']['liquidity']) - assert (uniswap_v3_pool.state['sqrt_price_q96'] == setup_data['uniswap_v3_event']['args']['sqrtPriceX96']) - - -# ------------------------------------------------------------ -# Test 033 -# File test_033_Pools.py -# Segment test_bancor_v3_pool -# ------------------------------------------------------------ -def test_test_bancor_v3_pool(): -# ------------------------------------------------------------ - - bancor_v3_pool = BancorV3Pool() - bancor_v3_pool.update_from_event(setup_data['bancor_v3_event'], {'cid': '0x', 'fee': '0.000', 'fee_float': 0.0, 'exchange_name': 'bancor_v3', 'tkn0_balance': setup_data['bancor_v3_event']['args']['newLiquidity'], 'tkn1_balance': 0, 'tkn0_symbol': 'tkn0', 'tkn1_symbol': 'tkn1'}) - - -# ------------------------------------------------------------ -# Test 033 -# File test_033_Pools.py -# Segment test_carbon_v1_pool_update -# ------------------------------------------------------------ -def test_test_carbon_v1_pool_update(): -# ------------------------------------------------------------ - - carbon_v1_pool = CarbonV1Pool() - carbon_v1_pool.update_from_event(setup_data['carbon_v1_event_create_for_update'], {}) - assert (setup_data['carbon_v1_event_update']['args']['id'] == carbon_v1_pool.state['cid']) - assert (carbon_v1_pool.state['y_0'] == 0) - assert (carbon_v1_pool.state['z_0'] == 0) - assert (carbon_v1_pool.state['A_0'] == 0) - assert (carbon_v1_pool.state['B_0'] == 0) - assert (carbon_v1_pool.state['y_1'] == 0) - assert (carbon_v1_pool.state['z_1'] == 0) - assert (carbon_v1_pool.state['A_1'] == 0) - assert (carbon_v1_pool.state['B_1'] == 0) - carbon_v1_pool.update_from_event(setup_data['carbon_v1_event_update'], {}) - assert (carbon_v1_pool.state['y_0'] == setup_data['carbon_v1_event_update']['args']['order0'][0]) - assert (carbon_v1_pool.state['z_0'] == setup_data['carbon_v1_event_update']['args']['order0'][1]) - assert (carbon_v1_pool.state['A_0'] == setup_data['carbon_v1_event_update']['args']['order0'][2]) - assert (carbon_v1_pool.state['B_0'] == setup_data['carbon_v1_event_update']['args']['order0'][3]) - assert (carbon_v1_pool.state['y_1'] == setup_data['carbon_v1_event_update']['args']['order1'][0]) - assert (carbon_v1_pool.state['z_1'] == setup_data['carbon_v1_event_update']['args']['order1'][1]) - assert (carbon_v1_pool.state['A_1'] == setup_data['carbon_v1_event_update']['args']['order1'][2]) - - -# ------------------------------------------------------------ -# Test 033 -# File test_033_Pools.py -# Segment test_carbon_v1_pool_delete -# ------------------------------------------------------------ -def test_test_carbon_v1_pool_delete(): -# ------------------------------------------------------------ - - carbon_v1_pool = CarbonV1Pool() - carbon_v1_pool.update_from_event(setup_data['carbon_v1_event_create_for_delete'], {}) - assert (setup_data['carbon_v1_event_delete']['args']['id'] == carbon_v1_pool.state['cid']) - assert (carbon_v1_pool.state['y_0'] == setup_data['carbon_v1_event_delete']['args']['order0'][0]) - assert (carbon_v1_pool.state['z_0'] == setup_data['carbon_v1_event_delete']['args']['order0'][1]) - assert (carbon_v1_pool.state['A_0'] == setup_data['carbon_v1_event_delete']['args']['order0'][2]) - assert (carbon_v1_pool.state['B_0'] == setup_data['carbon_v1_event_delete']['args']['order0'][3]) - assert (carbon_v1_pool.state['y_1'] == setup_data['carbon_v1_event_delete']['args']['order1'][0]) - assert (carbon_v1_pool.state['z_1'] == setup_data['carbon_v1_event_delete']['args']['order1'][1]) - assert (carbon_v1_pool.state['A_1'] == setup_data['carbon_v1_event_delete']['args']['order1'][2]) - assert (carbon_v1_pool.state['B_1'] == setup_data['carbon_v1_event_delete']['args']['order1'][3]) - carbon_v1_pool.update_from_event(setup_data['carbon_v1_event_delete'], {}) - assert (carbon_v1_pool.state['y_0'] == 0) - assert (carbon_v1_pool.state['z_0'] == 0) - assert (carbon_v1_pool.state['A_0'] == 0) - assert (carbon_v1_pool.state['B_0'] == 0) - assert (carbon_v1_pool.state['y_1'] == 0) - assert (carbon_v1_pool.state['z_1'] == 0) - assert (carbon_v1_pool.state['A_1'] == 0) - - - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_034_Interface.py b/fastlane_bot/tests/nbtest/test_034_Interface.py deleted file mode 100644 index ba03b2ed6..000000000 --- a/fastlane_bot/tests/nbtest/test_034_Interface.py +++ /dev/null @@ -1,129 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_034_Interface.py` -# ------------------------------------------------------------ -# source file = NBTest_034_Interface.py -# test id = 034 -# test comment = Interface -# ------------------------------------------------------------ - - - -from dataclasses import asdict -from unittest.mock import MagicMock -from unittest.mock import Mock - -import pytest - -from fastlane_bot import Bot -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.interface import QueryInterface, Token -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC - -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(QueryInterface)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Token)) - -from fastlane_bot.testing import * - -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - -cfg_mock = Mock() -cfg_mock.logger = MagicMock() -qi = QueryInterface(mgr=None, ConfigObj=cfg_mock) -qi.state = [{'exchange_name': 'uniswap_v2', 'address': '0x123', 'tkn0_key': 'TKN-0x123', 'tkn1_key': 'TKN-0x456', 'pair_name': 'Pair-0x789', 'liquidity': 10}, {'exchange_name': 'sushiswap_v2', 'address': '0xabc', 'tkn0_key': 'TKN-0xabc', 'tkn1_key': 'TKN-0xdef', 'pair_name': 'Pair-0xghi', 'liquidity': 0}] - - -# ------------------------------------------------------------ -# Test 034 -# File test_034_Interface.py -# Segment test_remove_unsupported_exchanges -# ------------------------------------------------------------ -def test_test_remove_unsupported_exchanges(): -# ------------------------------------------------------------ - - qi.exchanges = ['uniswap_v2', 'fakeswap'] - qi.remove_unsupported_exchanges() - assert (len(qi.state) == 1) - - -# ------------------------------------------------------------ -# Test 034 -# File test_034_Interface.py -# Segment test_has_balance -# ------------------------------------------------------------ -def test_test_has_balance(): -# ------------------------------------------------------------ - - qi.state = [{'exchange_name': 'uniswap_v2', 'address': '0x123', 'tkn0_key': 'TKN-0x123', 'tkn1_key': 'TKN-0x456', 'pair_name': 'Pair-0x789', 'liquidity': 10}, {'exchange_name': 'sushiswap_v2', 'address': '0xabc', 'tkn0_key': 'TKN-0xabc', 'tkn1_key': 'TKN-0xdef', 'pair_name': 'Pair-0xghi', 'liquidity': 0}] - assert (qi.has_balance(qi.state[0], 'liquidity') == True) - assert (qi.has_balance(qi.state[1], 'liquidity') == False) - - -# ------------------------------------------------------------ -# Test 034 -# File test_034_Interface.py -# Segment test_filter_pools -# ------------------------------------------------------------ -def test_test_filter_pools(): -# ------------------------------------------------------------ - - assert (len(qi.filter_pools('uniswap_v2')) == 1) - - -# ------------------------------------------------------------ -# Test 034 -# File test_034_Interface.py -# Segment test_cleanup_token_key -# ------------------------------------------------------------ -def test_test_cleanup_token_key(): -# ------------------------------------------------------------ - - assert (qi.cleanup_token_key('TKN-Hello-0x123') == 'TKN_Hello-0x123') - - -# ------------------------------------------------------------ -# Test 034 -# File test_034_Interface.py -# Segment test_update_state -# ------------------------------------------------------------ -def test_test_update_state(): -# ------------------------------------------------------------ - - new_state = [{'exchange_name': 'bancor_v2', 'address': '0xabc', 'tkn0_key': 'TKN-0xabc', 'tkn1_key': 'TKN-0xdef', 'pair_name': 'Pair-0xghi', 'liquidity': 10}] - qi.update_state(new_state) - - -# ------------------------------------------------------------ -# Test 034 -# File test_034_Interface.py -# Segment test_get_token -# ------------------------------------------------------------ -def test_test_get_token(): -# ------------------------------------------------------------ - - new_state = [{'exchange_name': 'bancor_v2', 'address': '0xabc', 'tkn0_key': 'TKN-0x123', 'tkn1_key': 'TKN-0xdef', 'pair_name': 'Pair-0xghi', 'liquidity': 10}] - qi.update_state(new_state) - token = qi.get_token('TKN-0x123') - assert isinstance(token, Token) - - -# ------------------------------------------------------------ -# Test 034 -# File test_034_Interface.py -# Segment test_get_pool -# ------------------------------------------------------------ -def test_test_get_pool(): -# ------------------------------------------------------------ - - new_state = [{'last_updated_block': 17614344, 'address': '0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1', 'exchange_name': 'carbon_v1', 'tkn0_address': '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', 'tkn1_address': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'tkn0_symbol': 'ETH', 'tkn1_symbol': 'USDC', 'tkn0_decimals': 18, 'tkn1_decimals': 6, 'cid': 1701411834604692317316873037158841057365, 'tkn0_key': 'ETH-EEeE', 'tkn1_key': 'USDC-eB48', 'pair_name': 'ETH-EEeE/USDC-eB48', 'fee_float': 0.002, 'fee': '0.002', 'descr': 'carbon_v1 ETH-EEeE/USDC-eB48 0.002', 'y_0': 9882507039899549, 'y_1': 0, 'z_0': 9882507039899549, 'z_1': 17936137, 'A_0': 0, 'A_1': 99105201, 'B_0': 0, 'B_1': 11941971885}] - qi.update_state(new_state) - pool = qi.get_pool(cid=1701411834604692317316873037158841057365) \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_035_Utils.py b/fastlane_bot/tests/nbtest/test_035_Utils.py deleted file mode 100644 index a8f81835b..000000000 --- a/fastlane_bot/tests/nbtest/test_035_Utils.py +++ /dev/null @@ -1,89 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_035_Utils.py` -# ------------------------------------------------------------ -# source file = NBTest_035_Utils.py -# test id = 035 -# test comment = Utils -# ------------------------------------------------------------ - - - -from fastlane_bot import Bot -from fastlane_bot.events.pools import SushiswapV2Pool, UniswapV2Pool, UniswapV3Pool, BancorV3Pool, CarbonV1Pool -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from typing import List -from web3.datastructures import AttributeDict -from web3.types import HexBytes -import pytest - -from fastlane_bot.events.utils import filter_latest_events, complex_handler - -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1Pool)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3Pool)) -from fastlane_bot.testing import * - -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -class MockManager(): - - def pool_type_from_exchange_name(self, exchange_name): - - class MockPoolType(): - - def unique_key(self): - return 'address' - return MockPoolType() - - def exchange_name_from_event(self, event): - return 'uniswap_v2' -mocked_mgr = MockManager() - -event1 = AttributeDict({'args': {'reserve0': 100, 'reserve1': 100}, 'event': 'Sync', 'address': '0xabc', 'blockNumber': 5, 'transactionIndex': 0, 'logIndex': 0}) -event2 = AttributeDict({'args': {'reserve0': 200, 'reserve1': 200}, 'event': 'Sync', 'address': '0xabc', 'blockNumber': 10, 'transactionIndex': 1, 'logIndex': 1}) -event3 = AttributeDict({'args': {'reserve0': 300, 'reserve1': 300}, 'event': 'Sync', 'address': '0xdef', 'blockNumber': 7, 'transactionIndex': 1, 'logIndex': 1}) -mock_events = [[event1, event2, event3]] - - -# ------------------------------------------------------------ -# Test 035 -# File test_035_Utils.py -# Segment test_filter_latest_events -# ------------------------------------------------------------ -def test_test_filter_latest_events(): -# ------------------------------------------------------------ - - result = filter_latest_events(mocked_mgr, mock_events) - assert (len(result) == len({event['address'] for event in result})) - pool_address = result[0]['address'] - pool_events = [event for event in mock_events[0] if (event['address'] == pool_address)] - - -# ------------------------------------------------------------ -# Test 035 -# File test_035_Utils.py -# Segment test_complex_handler -# ------------------------------------------------------------ -def test_test_complex_handler(): -# ------------------------------------------------------------ - - attribute_dict = AttributeDict({'a': 1, 'b': 2}) - assert (complex_handler(attribute_dict) == {'a': 1, 'b': 2}) - hex_bytes = HexBytes(b'hello') - assert (complex_handler(hex_bytes) == '0x68656c6c6f') - dictionary = {'a': 1, 'b': HexBytes(b'hello'), 'c': AttributeDict({'d': 4})} - assert (complex_handler(dictionary) == {'a': 1, 'b': '0x68656c6c6f', 'c': {'d': 4}}) - list_ = [1, HexBytes(b'hello'), AttributeDict({'d': 4})] - assert (complex_handler(list_) == [1, '0x68656c6c6f', {'d': 4}]) - set_ = {1, 2, 3} - assert (complex_handler(set_) == [1, 2, 3]) - assert (complex_handler(123) == 123) \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_036_Manager.py b/fastlane_bot/tests/nbtest/test_036_Manager.py deleted file mode 100644 index 3cf11ee09..000000000 --- a/fastlane_bot/tests/nbtest/test_036_Manager.py +++ /dev/null @@ -1,163 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_036_Manager.py` -# ------------------------------------------------------------ -# source file = NBTest_036_Manager.py -# test id = 036 -# test comment = Manager -# ------------------------------------------------------------ - - - -from unittest.mock import Mock, patch, call - -import brownie -import pytest -from unittest.mock import MagicMock -from brownie import multicall as brownie_multicall - -from fastlane_bot import Bot, Config -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.managers.manager import Manager -Base = None -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC - -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * - -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - -# - -import json - -with open("fastlane_bot/data/event_test_data.json", "r") as f: - event_data = json.load(f) - -with open("fastlane_bot/data/test_pool_data.json", "r") as f: - pool_data = json.load(f) - - -cfg = Config.new(config=Config.CONFIG_MAINNET) - -manager = Manager(cfg.w3, cfg, pool_data, 20, SUPPORTED_EXCHANGES=['bancor_v3', 'carbon_v1', 'uniswap_v2', 'uniswap_v3']) - - - -# ------------------------------------------------------------ -# Test 036 -# File test_036_Manager.py -# Segment test_update_from_event_uniswap_v2 -# ------------------------------------------------------------ -def test_test_update_from_event_uniswap_v2(): -# ------------------------------------------------------------ - - # + - event = event_data['uniswap_v2_event'] - - assert event['args']['reserve0'] != [pool['tkn0_balance'] for pool in manager.pool_data if pool['address'] == event['address']][0] - - manager.update_from_event(event) - - assert event['address'] in [pool['address'] for pool in manager.pool_data] - assert event['args']['reserve0'] == [pool['tkn0_balance'] for pool in manager.pool_data if pool['address'] == event['address']][0] - # - - - -# ------------------------------------------------------------ -# Test 036 -# File test_036_Manager.py -# Segment test_update_from_event_uniswap_v3 -# ------------------------------------------------------------ -def test_test_update_from_event_uniswap_v3(): -# ------------------------------------------------------------ - - # + - event = event_data['uniswap_v3_event'] - - assert event['args']['liquidity'] != [pool['liquidity'] for pool in manager.pool_data if pool['address'] == event['address']][0] - - manager.update_from_event(event) - - assert event['address'] in [pool['address'] for pool in manager.pool_data] - assert event['args']['liquidity'] == [pool['liquidity'] for pool in manager.pool_data if pool['address'] == event['address']][0] - # - - - # - - -# ------------------------------------------------------------ -# Test 036 -# File test_036_Manager.py -# Segment test_update_from_event_carbon_v1_update -# ------------------------------------------------------------ -def test_test_update_from_event_carbon_v1_update(): -# ------------------------------------------------------------ - - # + - event_create_for_update = event_data['carbon_v1_event_create_for_update'] - event = event_data['carbon_v1_event_update'] - - manager.update_from_event(event_create_for_update) - assert event['args']['order0'][0] != [pool['y_0'] for pool in manager.pool_data if pool['cid'] == event['args']['id']][0] - - manager.update_from_event(event) - - assert event['args']['order0'][0] == [pool['y_0'] for pool in manager.pool_data if pool['cid'] == event['args']['id']][0] - # - - - -# ------------------------------------------------------------ -# Test 036 -# File test_036_Manager.py -# Segment test_update_from_event_carbon_v1_create -# ------------------------------------------------------------ -def test_test_update_from_event_carbon_v1_create(): -# ------------------------------------------------------------ - # - - # + - event = event_data['carbon_v1_event_create'] - manager.pool_data = [pool for pool in manager.pool_data if pool['cid'] != event['args']['id']] - assert event['args']['id'] not in [pool['cid'] for pool in manager.pool_data] - - manager.update_from_event(event) - - assert event['args']['id'] in [pool['cid'] for pool in manager.pool_data] - # - - - -# ------------------------------------------------------------ -# Test 036 -# File test_036_Manager.py -# Segment test_update_from_event_carbon_v1_delete -# ------------------------------------------------------------ -def test_test_update_from_event_carbon_v1_delete(): -# ------------------------------------------------------------ - - # + - event = event_data['carbon_v1_event_create'] - manager.pool_data = [pool for pool in manager.pool_data if pool['cid'] != event['args']['id']] - assert event['args']['id'] not in [pool['cid'] for pool in manager.pool_data] - - manager.update_from_event(event) - - assert event['args']['id'] in [pool['cid'] for pool in manager.pool_data] - - event['event'] = 'StrategyDeleted' - - manager.update_from_event(event) - - assert event['args']['id'] not in [pool['cid'] for pool in manager.pool_data] - # - - - # \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_037_Exchanges.py b/fastlane_bot/tests/nbtest/test_037_Exchanges.py deleted file mode 100644 index e5b37c938..000000000 --- a/fastlane_bot/tests/nbtest/test_037_Exchanges.py +++ /dev/null @@ -1,158 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_037_Exchanges.py` -# ------------------------------------------------------------ -# source file = NBTest_037_Exchanges.py -# test id = 037 -# test comment = Exchanges -# ------------------------------------------------------------ - - - -import json - -from fastlane_bot import Bot -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3, BancorV2 -from fastlane_bot.data.abi import UNISWAP_V2_POOL_ABI, UNISWAP_V3_POOL_ABI, SUSHISWAP_POOLS_ABI, BANCOR_V3_POOL_COLLECTION_ABI, \ - CARBON_CONTROLLER_ABI, BANCOR_V2_CONVERTER_ABI -from unittest.mock import Mock -import pytest - -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV2)) - -from fastlane_bot.testing import * - -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - -with open('fastlane_bot/data/event_test_data.json', 'r') as f: - setup_data = json.load(f) - -mocked_contract = Mock() -mocked_contract.functions.token0.return_value.call.return_value = 'token0' -mocked_contract.functions.token1.return_value.call.return_value = 'token1' -mocked_contract.functions._token0.return_value.call.return_value = 'token0' -mocked_contract.functions._token1.return_value.call.return_value = 'token1' -mocked_contract.functions.conversionFee.return_value.call.return_value = 3000 -mocked_contract.functions.fee.return_value.call.return_value = 3000 -mocked_contract.functions.tradingFeePPM.return_value.call.return_value = 2000 - - -# ------------------------------------------------------------ -# Test 037 -# File test_037_Exchanges.py -# Segment test_uniswap_v2_exchange -# ------------------------------------------------------------ -def test_test_uniswap_v2_exchange(): -# ------------------------------------------------------------ - - uniswap_v2_exchange = UniswapV2() - assert (uniswap_v2_exchange.get_abi() == UNISWAP_V2_POOL_ABI) - assert (uniswap_v2_exchange.get_fee('', mocked_contract) == ('0.003', 0.003)) - assert (uniswap_v2_exchange.get_tkn0('', mocked_contract, {}) == mocked_contract.functions.token0().call()) - - -# ------------------------------------------------------------ -# Test 037 -# File test_037_Exchanges.py -# Segment test_uniswap_v3_exchange -# ------------------------------------------------------------ -def test_test_uniswap_v3_exchange(): -# ------------------------------------------------------------ - - uniswap_v3_exchange = UniswapV3() - assert (uniswap_v3_exchange.get_abi() == UNISWAP_V3_POOL_ABI) - assert (uniswap_v3_exchange.get_fee('', mocked_contract) == (mocked_contract.functions.fee().call(), (float(mocked_contract.functions.fee().call()) / 1000000.0))) - assert (uniswap_v3_exchange.get_tkn0('', mocked_contract, {}) == mocked_contract.functions.token0().call()) - - -# ------------------------------------------------------------ -# Test 037 -# File test_037_Exchanges.py -# Segment test_sushiswap_v2_exchange -# ------------------------------------------------------------ -def test_test_sushiswap_v2_exchange(): -# ------------------------------------------------------------ - - sushiswap_v2_exchange = SushiswapV2() - assert (sushiswap_v2_exchange.get_abi() == SUSHISWAP_POOLS_ABI) - assert (sushiswap_v2_exchange.get_fee('', mocked_contract) == ('0.003', 0.003)) - assert (sushiswap_v2_exchange.get_tkn0('', mocked_contract, {}) == mocked_contract.functions.token0().call()) - - -# ------------------------------------------------------------ -# Test 037 -# File test_037_Exchanges.py -# Segment test_bancor_v3_exchange -# ------------------------------------------------------------ -def test_test_bancor_v3_exchange(): -# ------------------------------------------------------------ - - bancor_v3_exchange = BancorV3() - assert (bancor_v3_exchange.get_abi() == BANCOR_V3_POOL_COLLECTION_ABI) - assert (bancor_v3_exchange.get_fee('', mocked_contract) == ('0.000', 0.0)) - assert (bancor_v3_exchange.get_tkn0('', mocked_contract, setup_data['bancor_v3_event']) == bancor_v3_exchange.BNT_ADDRESS) - - -# ------------------------------------------------------------ -# Test 037 -# File test_037_Exchanges.py -# Segment test_bancor_v2_exchange -# ------------------------------------------------------------ -def test_test_bancor_v2_exchange(): -# ------------------------------------------------------------ - - bancor_v2_exchange = BancorV2() - assert (bancor_v2_exchange.get_abi() == BANCOR_V2_CONVERTER_ABI) - assert (bancor_v2_exchange.get_fee('', mocked_contract) == (3000, 0.003)) - assert (bancor_v2_exchange.get_tkn0('', mocked_contract, setup_data['bancor_v2_event']) == '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE') - - -# ------------------------------------------------------------ -# Test 037 -# File test_037_Exchanges.py -# Segment test_carbon_v1_exchange_update -# ------------------------------------------------------------ -def test_test_carbon_v1_exchange_update(): -# ------------------------------------------------------------ - - carbon_v1_exchange = CarbonV1() - assert (carbon_v1_exchange.get_abi() == CARBON_CONTROLLER_ABI) - assert (carbon_v1_exchange.get_fee('', mocked_contract) == ('2000', 0.002)) - assert (carbon_v1_exchange.get_tkn0('', mocked_contract, setup_data['carbon_v1_event_update']) == setup_data['carbon_v1_event_update']['args']['token0']) - - -# ------------------------------------------------------------ -# Test 037 -# File test_037_Exchanges.py -# Segment test_carbon_v1_exchange_create -# ------------------------------------------------------------ -def test_test_carbon_v1_exchange_create(): -# ------------------------------------------------------------ - - carbon_v1_exchange = CarbonV1() - assert (carbon_v1_exchange.get_abi() == CARBON_CONTROLLER_ABI) - assert (carbon_v1_exchange.get_fee('', mocked_contract) == ('2000', 0.002)) - assert (carbon_v1_exchange.get_tkn0('', mocked_contract, setup_data['carbon_v1_event_create']) == setup_data['carbon_v1_event_create']['args']['token0']) - - -# ------------------------------------------------------------ -# Test 037 -# File test_037_Exchanges.py -# Segment test_carbon_v1_exchange_delete -# ------------------------------------------------------------ -def test_test_carbon_v1_exchange_delete(): -# ------------------------------------------------------------ - - carbon_v1_exchange = CarbonV1() - assert (carbon_v1_exchange.get_abi() == CARBON_CONTROLLER_ABI) - cid = setup_data['carbon_v1_event_delete']['args']['id'] \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_038_TestBancorV3Mode.py b/fastlane_bot/tests/nbtest/test_038_TestBancorV3Mode.py deleted file mode 100644 index cc7f317d8..000000000 --- a/fastlane_bot/tests/nbtest/test_038_TestBancorV3Mode.py +++ /dev/null @@ -1,381 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_038_TestBancorV3Mode.py` -# ------------------------------------------------------------ -# source file = NBTest_038_TestBancorV3Mode.py -# test id = 038 -# test comment = TestBancorV3Mode -# ------------------------------------------------------------ - - - -""" -This module contains the tests for the exchanges classes -""" -from fastlane_bot import Bot, Config -from fastlane_bot.bot import CarbonBot -from fastlane_bot.tools.cpc import ConstantProductCurve -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.interface import QueryInterface -from fastlane_bot.helpers.poolandtokens import PoolAndTokens -from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper -from fastlane_bot.events.managers.manager import Manager -from fastlane_bot.events.interface import QueryInterface -from joblib import Parallel, delayed -import pytest -import math -import json -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -from fastlane_bot.modes import triangle_single_bancor3 -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -C = cfg = Config.new(config=Config.CONFIG_MAINNET) -C.DEFAULT_MIN_PROFIT_BNT = 50 -C.DEFAULT_MIN_PROFIT = 50 -cfg.DEFAULT_MIN_PROFIT_BNT = 50 -cfg.DEFAULT_MIN_PROFIT = 50 -assert (C.NETWORK == C.NETWORK_MAINNET) -assert (C.PROVIDER == C.PROVIDER_ALCHEMY) -setup_bot = CarbonBot(ConfigObj=C) -pools = None -with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: - pools = json.load(f) -pools = [pool for pool in pools] -pools[0] -static_pools = pools -state = pools -exchanges = list({ex['exchange_name'] for ex in state}) -db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) -setup_bot.db = db - -static_pool_data_filename = "static_pool_data" - -static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) - -uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) - -tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) - -exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" - -exchanges = exchanges.split(",") - - -alchemy_max_block_fetch = 20 -static_pool_data["cid"] = [ - cfg.w3.keccak(text=f"{row['descr']}").hex() - for index, row in static_pool_data.iterrows() - ] -static_pool_data = [ - row for index, row in static_pool_data.iterrows() - if row["exchange_name"] in exchanges -] - -static_pool_data = pd.DataFrame(static_pool_data) -static_pool_data['exchange_name'].unique() -mgr = Manager( - web3=cfg.w3, - cfg=cfg, - pool_data=static_pool_data.to_dict(orient="records"), - SUPPORTED_EXCHANGES=exchanges, - alchemy_max_block_fetch=alchemy_max_block_fetch, - uniswap_v2_event_mappings=uniswap_v2_event_mappings, - tokens=tokens.to_dict(orient="records"), -) - -start_time = time.time() -Parallel(n_jobs=-1, backend="threading")( - delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data -) -cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") - -mgr.deduplicate_pool_data() -cids = [pool["cid"] for pool in mgr.pool_data] -assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" -def init_bot(mgr: Manager) -> CarbonBot: - """ - Initializes the bot. - - Parameters - ---------- - mgr : Manager - The manager object. - - Returns - ------- - CarbonBot - The bot object. - """ - mgr.cfg.logger.info("Initializing the bot...") - bot = CarbonBot(ConfigObj=mgr.cfg) - bot.db = db - bot.db.mgr = mgr - assert isinstance( - bot.db, QueryInterface - ), "QueryInterface not initialized correctly" - return bot -bot = init_bot(mgr) -bot.db.handle_token_key_cleanup() -bot.db.remove_unmapped_uniswap_v2_pools() -bot.db.remove_zero_liquidity_pools() -bot.db.remove_unsupported_exchanges() -tokens = bot.db.get_tokens() -ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} -flashloan_tokens = bot.setup_flashloan_tokens(None) -CCm = bot.setup_CCm(None) -pools = db.get_pool_data_with_tokens() - -arb_mode = "bancor_v3" - -#single = bot._run(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode=arb_mode, data_validator=False, result="calc_trade_instr") - -arb_finder = bot._get_arb_finder("bancor_v3") -finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=False, - ConfigObj=bot.ConfigObj, - ) -r = finder.find_arbitrage() -( - best_profit, - best_trade_instructions_df, - best_trade_instructions_dic, - best_src_token, - best_trade_instructions, - ) = r -( -ordered_trade_instructions_dct, -tx_in_count, -) = bot._simple_ordering_by_src_token( -best_trade_instructions_dic, best_src_token -) - - -arb_finder = bot._get_arb_finder("bancor_v3") -finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=False, - ConfigObj=bot.ConfigObj, - ) -r = finder.find_arbitrage() -( - best_profit, - best_trade_instructions_df, - best_trade_instructions_dic, - best_src_token, - best_trade_instructions, - ) = r -( -ordered_trade_instructions_dct, -tx_in_count, -) = bot._simple_ordering_by_src_token( -best_trade_instructions_dic, best_src_token -) -pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] -first_check_pools = finder.get_exact_pools(pool_cids) - -assert(len(first_check_pools) == 3), f"[test_bancor_v3] Validation expected 3 pools, got {len(first_check_pools)}" -for pool in first_check_pools: - assert type(pool) == ConstantProductCurve, f"[test_bancor_v3] Validation pool type mismatch, got {type(pool)} expected ConstantProductCurve" - assert pool.cid in pool_cids, f"[test_bancor_v3] Validation missing pool.cid {pool.cid} in {pool_cids}" -optimal_arb = finder.get_optimal_arb_trade_amts(pool_cids, 'BNT-FF1C') -assert type(optimal_arb) == float, f"[test_bancor_v3] Optimal arb calculation type is {type(optimal_arb)} not float" -assert iseq(optimal_arb, 4051.1611717583105), f"[test_bancor_v3] Optimal arb calculation type is {optimal_arb}, expected 4051.1611717583105" - -# ------------------------------------------------------------ -# Test 038 -# File test_038_TestBancorV3Mode.py -# Segment Test_max_arb_trade_in_constant_product -# ------------------------------------------------------------ -def test_test_max_arb_trade_in_constant_product(): -# ------------------------------------------------------------ - - # + - arb_finder = bot._get_arb_finder("bancor_v3") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=False, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - ( - best_profit, - best_trade_instructions_df, - best_trade_instructions_dic, - best_src_token, - best_trade_instructions, - ) = r - ( - ordered_trade_instructions_dct, - tx_in_count, - ) = bot._simple_ordering_by_src_token( - best_trade_instructions_dic, best_src_token - ) - pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] - first_check_pools = finder.get_exact_pools(pool_cids) - - flt='BNT-FF1C' - - tkn0 = finder.get_tkn(pool=first_check_pools[0], tkn_num=0) - tkn1 = finder.get_tkn(pool=first_check_pools[0], tkn_num=1) - tkn2 = finder.get_tkn(pool=first_check_pools[1], tkn_num=0) - tkn5 = finder.get_tkn(pool=first_check_pools[2], tkn_num=0) - p0t0 = first_check_pools[0].x_act if tkn0 == flt else first_check_pools[0].y_act - p0t1 = first_check_pools[0].y_act if tkn0 == flt else first_check_pools[0].x_act - p2t1 = first_check_pools[2].x_act if tkn5 == flt else first_check_pools[2].y_act - p2t0 = first_check_pools[2].y_act if tkn5 == flt else first_check_pools[2].x_act - p1t0 = first_check_pools[1].x if tkn1 == tkn2 else first_check_pools[1].y - p1t1 = first_check_pools[1].y if tkn1 == tkn2 else first_check_pools[1].x - fee0 = finder.get_fee_safe(first_check_pools[0].fee) - fee1 = finder.get_fee_safe(first_check_pools[1].fee) - fee2 = finder.get_fee_safe(first_check_pools[2].fee) - optimal_arb_low_level_check = finder.max_arb_trade_in_constant_product(p0t0=p0t0, p0t1=p0t1, p1t0=p1t0, p1t1=p1t1, p2t0=p2t0, p2t1=p2t1,fee0=fee0, fee1=fee1, fee2=fee2) - optimal_arb = finder.get_optimal_arb_trade_amts(pool_cids, flt) - print(optimal_arb_low_level_check, optimal_arb) - assert iseq(optimal_arb, optimal_arb_low_level_check), f"[test_bancor_v3] Arb calculation result mismatch, pools likely ordered incorrectly" - # - - - -# ------------------------------------------------------------ -# Test 038 -# File test_038_TestBancorV3Mode.py -# Segment Test_get_fee_safe -# ------------------------------------------------------------ -def test_test_get_fee_safe(): -# ------------------------------------------------------------ - - arb_finder = bot._get_arb_finder("bancor_v3") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=False, - ConfigObj=bot.ConfigObj, - ) - ext_fee = finder.get_fee_safe(first_check_pools[1].fee) - assert type(ext_fee) == float, f"[test_bancor_v3] Testing external pool, fee type is {type(ext_fee)} not float" - assert iseq(ext_fee, 0.0005), f"[test_bancor_v3] Testing external pool, fee amt is {ext_fee} not 0.0005" - - -# ------------------------------------------------------------ -# Test 038 -# File test_038_TestBancorV3Mode.py -# Segment Test_combos -# ------------------------------------------------------------ -def test_test_combos(): -# ------------------------------------------------------------ - - # + - arb_finder = bot._get_arb_finder("bancor_v3") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=False, - ConfigObj=bot.ConfigObj, - ) - flt = {'MKR-79A2', 'TRAC-0A6F', 'MONA-412A', 'WBTC-C599', 'WOO-5D4B', 'MATIC-eBB0', 'BAT-87EF', 'UOS-5C8c', 'LRC-EafD', 'NMR-6671', 'DIP-cD83', 'TEMP-1aB9', 'ICHI-A881', 'USDC-eB48', 'ENS-9D72', 'vBNT-7f94', 'ANKR-EDD4', 'UNI-F984', 'REQ-938a', 'WETH-6Cc2', 'AAVE-DaE9', 'ENJ-3B9c', 'MANA-C942', 'wNXM-2bDE', 'QNT-4675', 'RLC-7375', 'CROWN-E0fa', 'CHZ-b4AF', 'USDT-1ec7', 'DAI-1d0F', 'RPL-A51f', 'HOT-26E2', 'LINK-86CA', 'wstETH-2Ca0'} - - combos = finder.get_combos(flashloan_tokens=flt, CCm=CCm, arb_mode="bancor_v3") - assert len(combos) == 1122, "[test_bancor_v3] Different data used for tests, expected 1122 combos" - # - - - -# ------------------------------------------------------------ -# Test 038 -# File test_038_TestBancorV3Mode.py -# Segment Test_get_miniverse_combos -# ------------------------------------------------------------ -def test_test_get_miniverse_combos(): -# ------------------------------------------------------------ - - # + - arb_finder = bot._get_arb_finder("bancor_v3") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=False, - ConfigObj=bot.ConfigObj, - ) - flt = {'MKR-79A2', 'TRAC-0A6F', 'MONA-412A', 'WBTC-C599', 'WOO-5D4B', 'MATIC-eBB0', 'BAT-87EF', 'UOS-5C8c', 'LRC-EafD', 'NMR-6671', 'DIP-cD83', 'TEMP-1aB9', 'ICHI-A881', 'USDC-eB48', 'ENS-9D72', 'vBNT-7f94', 'ANKR-EDD4', 'UNI-F984', 'REQ-938a', 'WETH-6Cc2', 'AAVE-DaE9', 'ENJ-3B9c', 'MANA-C942', 'wNXM-2bDE', 'QNT-4675', 'RLC-7375', 'CROWN-E0fa', 'CHZ-b4AF', 'USDT-1ec7', 'DAI-1d0F', 'RPL-A51f', 'HOT-26E2', 'LINK-86CA', 'wstETH-2Ca0'} - - combos = finder.get_combos(flashloan_tokens=flt, CCm=CCm, arb_mode="bancor_v3") - all_miniverses = finder.get_miniverse_combos(combos) - assert len(all_miniverses) == 146, "[test_bancor_v3] Different data used for tests, expected 146 miniverses" - # - - - -# ------------------------------------------------------------ -# Test 038 -# File test_038_TestBancorV3Mode.py -# Segment Test_get_mono_direction_carbon_curves -# ------------------------------------------------------------ -def test_test_get_mono_direction_carbon_curves(): -# ------------------------------------------------------------ - - # + - arb_finder = bot._get_arb_finder("bancor_v3") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=False, - ConfigObj=bot.ConfigObj, - ) - - bancor_v3_curve_0 = ( - finder.CCm.bypairs(f"BNT-FF1C/WETH-6Cc2") - .byparams(exchange="bancor_v3") - .curves - ) - bancor_v3_curve_1 = ( - finder.CCm.bypairs(f"BNT-FF1C/USDC-eB48") - .byparams(exchange="bancor_v3") - .curves - ) - carbon_curves = finder.CCm.bypairs(f"USDC-eB48/WETH-6Cc2") - carbon_curves = list(set(carbon_curves)) - carbon_curves = [ - curve - for curve in carbon_curves - if curve.params.get("exchange") == "carbon_v1" - ] - miniverse = [bancor_v3_curve_0 + bancor_v3_curve_1 + carbon_curves] - max_arb_carbon = finder.run_main_flow(miniverse=miniverse[0], src_token="BNT-FF1C") - ( - profit_src_0, - trade_instructions_0, - trade_instructions_df_0, - trade_instructions_dic_0, - ) = max_arb_carbon - - mono_carbon = finder.get_mono_direction_carbon_curves(miniverse[0], trade_instructions_df=trade_instructions_df_0, token_in=None) - test_mono_carbon = finder.get_mono_direction_carbon_curves(miniverse[0], trade_instructions_df=trade_instructions_df_0, token_in='WETH-6Cc2') - # Test that get_mono_direction_carbon_curves removed two curves - assert len(test_mono_carbon) != len(mono_carbon), f"[test_bancor_v3] Issue with get_mono_direction_carbon_curves, should have removed one or more pools" - # - - - - - - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_039_TestMultiMode.py b/fastlane_bot/tests/nbtest/test_039_TestMultiMode.py deleted file mode 100644 index 70e5ec22f..000000000 --- a/fastlane_bot/tests/nbtest/test_039_TestMultiMode.py +++ /dev/null @@ -1,272 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_039_TestMultiMode.py` -# ------------------------------------------------------------ -# source file = NBTest_039_TestMultiMode.py -# test id = 039 -# test comment = TestMultiMode -# ------------------------------------------------------------ - - - -""" -This module contains the tests for the exchanges classes -""" -from fastlane_bot import Bot, Config -from fastlane_bot.bot import CarbonBot -from fastlane_bot.tools.cpc import ConstantProductCurve -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.interface import QueryInterface -from fastlane_bot.helpers.poolandtokens import PoolAndTokens -from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper -from fastlane_bot.events.managers.manager import Manager -from fastlane_bot.events.interface import QueryInterface -from joblib import Parallel, delayed -import pytest -import math -import json -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -from fastlane_bot.modes import triangle_single_bancor3 -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -C = cfg = Config.new(config=Config.CONFIG_MAINNET) -C.DEFAULT_MIN_PROFIT_BNT = 0.02 -C.DEFAULT_MIN_PROFIT = 0.02 -cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 -cfg.DEFAULT_MIN_PROFIT = 0.02 -assert (C.NETWORK == C.NETWORK_MAINNET) -assert (C.PROVIDER == C.PROVIDER_ALCHEMY) -setup_bot = CarbonBot(ConfigObj=C) -pools = None -with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: - pools = json.load(f) -pools = [pool for pool in pools] -pools[0] -static_pools = pools -state = pools -exchanges = list({ex['exchange_name'] for ex in state}) -db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) -setup_bot.db = db - -static_pool_data_filename = "static_pool_data" - -static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) - -uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) - -tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) - -exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" - -exchanges = exchanges.split(",") - - -alchemy_max_block_fetch = 20 -static_pool_data["cid"] = [ - cfg.w3.keccak(text=f"{row['descr']}").hex() - for index, row in static_pool_data.iterrows() - ] -static_pool_data = [ - row for index, row in static_pool_data.iterrows() - if row["exchange_name"] in exchanges -] - -static_pool_data = pd.DataFrame(static_pool_data) -static_pool_data['exchange_name'].unique() -mgr = Manager( - web3=cfg.w3, - cfg=cfg, - pool_data=static_pool_data.to_dict(orient="records"), - SUPPORTED_EXCHANGES=exchanges, - alchemy_max_block_fetch=alchemy_max_block_fetch, - uniswap_v2_event_mappings=uniswap_v2_event_mappings, - tokens=tokens.to_dict(orient="records"), -) - -start_time = time.time() -Parallel(n_jobs=-1, backend="threading")( - delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data -) -cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") - -mgr.deduplicate_pool_data() -cids = [pool["cid"] for pool in mgr.pool_data] -assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" -def init_bot(mgr: Manager) -> CarbonBot: - """ - Initializes the bot. - - Parameters - ---------- - mgr : Manager - The manager object. - - Returns - ------- - CarbonBot - The bot object. - """ - mgr.cfg.logger.info("Initializing the bot...") - bot = CarbonBot(ConfigObj=mgr.cfg) - bot.db = db - bot.db.mgr = mgr - assert isinstance( - bot.db, QueryInterface - ), "QueryInterface not initialized correctly" - return bot -bot = init_bot(mgr) -bot.db.handle_token_key_cleanup() -bot.db.remove_unmapped_uniswap_v2_pools() -bot.db.remove_zero_liquidity_pools() -bot.db.remove_unsupported_exchanges() -tokens = bot.db.get_tokens() -ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} -flashloan_tokens = bot.setup_flashloan_tokens(None) -CCm = bot.setup_CCm(None) -pools = db.get_pool_data_with_tokens() - -arb_mode = "multi" - - -# ------------------------------------------------------------ -# Test 039 -# File test_039_TestMultiMode.py -# Segment Test_MIN_PROFIT -# ------------------------------------------------------------ -def test_test_min_profit(): -# ------------------------------------------------------------ - - assert(cfg.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" - assert(C.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" - - -# ------------------------------------------------------------ -# Test 039 -# File test_039_TestMultiMode.py -# Segment Test_get_arb_finder -# ------------------------------------------------------------ -def test_test_get_arb_finder(): -# ------------------------------------------------------------ - - arb_finder = bot._get_arb_finder("multi") - assert arb_finder.__name__ == "FindArbitrageMultiPairwise", f"[TestMultiMode] Expected arb_finder class name name = FindArbitrageMultiPairwise, found {arb_finder.__name__}" - - -# ------------------------------------------------------------ -# Test 039 -# File test_039_TestMultiMode.py -# Segment Test_Combos_and_Tokens -# ------------------------------------------------------------ -def test_test_combos_and_tokens(): -# ------------------------------------------------------------ - - arb_finder = bot._get_arb_finder("multi") - finder2 = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_TOKENS, - ConfigObj=bot.ConfigObj, - ) - all_tokens, combos = finder2.find_arbitrage() - assert len(all_tokens) == 545, f"[TestMultiMode] Using wrong dataset, expected 545 tokens, found {len(all_tokens)}" - assert len(combos) == 3264, f"[TestMultiMode] Using wrong dataset, expected 3264 tokens, found {len(combos)}" - - -# ------------------------------------------------------------ -# Test 039 -# File test_039_TestMultiMode.py -# Segment Test_Expected_Output -# ------------------------------------------------------------ -def test_test_expected_output(): -# ------------------------------------------------------------ - - run_full = bot._run(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode=arb_mode, data_validator=False, result=bot.XS_ARBOPPS) - arb_finder = bot._get_arb_finder("multi") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - assert len(r) == 25, f"[TestMultiMode] Expected 25 arbs, found {len(r)}" - assert len(r) == len(run_full), f"[TestMultiMode] Expected arbs from .find_arbitrage - {len(r)} - to match _run - {len(run_full)}" - - -# ------------------------------------------------------------ -# Test 039 -# File test_039_TestMultiMode.py -# Segment Test_Multiple_Curves_Used -# ------------------------------------------------------------ -def test_test_multiple_curves_used(): -# ------------------------------------------------------------ - - # + - arb_finder = bot._get_arb_finder("multi") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - multi_carbon_count = 0 - - for arb in r: - ( - best_profit, - best_trade_instructions_df, - best_trade_instructions_dic, - best_src_token, - best_trade_instructions, - ) = arb - if len(best_trade_instructions_dic) > 2: - multi_carbon_count += 1 - - assert multi_carbon_count > 0, f"[TestMultiMode] Not finding arbs with multiple Carbon curves." - # - - - -# ------------------------------------------------------------ -# Test 039 -# File test_039_TestMultiMode.py -# Segment Test_Single_Direction_Carbon_Curves -# ------------------------------------------------------------ -def test_test_single_direction_carbon_curves(): -# ------------------------------------------------------------ - - # + - arb_finder = bot._get_arb_finder("multi") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - src_token="WBTC-C599" - wrong_direction_cids = ['4083388403051261561560495289181218537493-0', '4083388403051261561560495289181218537579-0', '4083388403051261561560495289181218537610-0', '4083388403051261561560495289181218537629-0', '4083388403051261561560495289181218537639-0', '4083388403051261561560495289181218537755-0'] - curves_before = [ConstantProductCurve(k=2290523503.4460173, x=273.1073125047371, x_act=0.07743961144774403, y_act=1814.6001096442342, pair='WBTC-C599/USDC-eB48', cid='0x8d7ac7e77704f3ac75534d5500159a7a4b7e6e23dbdca7d9a8085bdea0348d0c', fee=0.0005, descr='uniswap_v3 WBTC-C599/USDC-eB48 500', constr='pkpp', params={'exchange': 'uniswap_v3', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17675876, 'L': 47859.413948}), ConstantProductCurve(k=3675185.41145277, x=11.059038979187497, x_act=0, y_act=1385.267061, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537493-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 1385.267061, 'yint': 1385.267061, 'A': 0.722593217276426, 'B': 172.62676501631972, 'pa': 30049.999999999647, 'pb': 29799.999999999665}), ConstantProductCurve(k=29672.782767383174, x=1.0315213950985431, x_act=0, y_act=3651.804716, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537579-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 3651.804716, 'yint': 3651.804716, 'A': 21.199636119827687, 'B': 145.79437574886072, 'pa': 27886.999999999643, 'pb': 21255.999999999985}), ConstantProductCurve(k=6.863635116394053e+16, x=1525337.9097739116, x_act=0, y_act=4499.746836, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537610-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 4499.746836, 'yint': 4499.746836, 'A': 0, 'B': 171.7556317853946, 'pa': 29499.99999999976, 'pb': 29499.99999999976}), ConstantProductCurve(k=143046.70577155304, x=2.1824671097293846, x_act=0, y_act=5742.51191, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537629-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 5742.51191, 'yint': 6413.595264, 'A': 16.957530991696217, 'B': 158.11388300841884, 'pa': 30649.99999999968, 'pb': 24999.99999999996}), ConstantProductCurve(k=5459975.623181331, x=437148.88403306017, x_act=0, y_act=0.50315999, pair='USDC-eB48/WBTC-C599', cid='4083388403051261561560495289181218537629-1', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 0.50315999, 'yint': 0.50315999, 'A': 0.0002153330778227767, 'B': 0.005129891760425664, 'pa': 2.8571428571428076e-05, 'pb': 2.631578947368312e-05}), ConstantProductCurve(k=443607.9519434853, x=3.85826034424969, x_act=0, y_act=9876.976514, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537639-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 9876.976514, 'yint': 9876.976514, 'A': 14.829426635724872, 'B': 157.79733838059485, 'pa': 29799.999999999665, 'pb': 24899.999999999953}), ConstantProductCurve(k=5324.625267368582, x=12680.839210183807, x_act=0, y_act=0.01198047, pair='USDC-eB48/WBTC-C599', cid='4083388403051261561560495289181218537639-1', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 0.01198047, 'yint': 0.01198047, 'A': 0.00016418343273514376, 'B': 0.0055901699437491455, 'pa': 3.311258278145614e-05, 'pb': 3.124999999999633e-05}), ConstantProductCurve(k=3316749913763783.5, x=331674.9583747572, x_act=0, y_act=1000.0, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537755-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 1000.0, 'yint': 1000.0, 'A': 0, 'B': 173.63754485997586, 'pa': 30149.999999999825, 'pb': 30149.999999999825})] - curves_expected_after = [ConstantProductCurve(k=2290523503.4460173, x=273.1073125047371, x_act=0.07743961144774403, y_act=1814.6001096442342, pair='WBTC-C599/USDC-eB48', cid='0x8d7ac7e77704f3ac75534d5500159a7a4b7e6e23dbdca7d9a8085bdea0348d0c', fee=0.0005, descr='uniswap_v3 WBTC-C599/USDC-eB48 500', constr='pkpp', params={'exchange': 'uniswap_v3', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17675876, 'L': 47859.413948}), ConstantProductCurve(k=5459975.623181331, x=437148.88403306017, x_act=0, y_act=0.50315999, pair='USDC-eB48/WBTC-C599', cid='4083388403051261561560495289181218537629-1', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 0.50315999, 'yint': 0.50315999, 'A': 0.0002153330778227767, 'B': 0.005129891760425664, 'pa': 2.8571428571428076e-05, 'pb': 2.631578947368312e-05}), ConstantProductCurve(k=5324.625267368582, x=12680.839210183807, x_act=0, y_act=0.01198047, pair='USDC-eB48/WBTC-C599', cid='4083388403051261561560495289181218537639-1', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 0.01198047, 'yint': 0.01198047, 'A': 0.00016418343273514376, 'B': 0.0055901699437491455, 'pa': 3.311258278145614e-05, 'pb': 3.124999999999633e-05})] - test_process_wrong_direction_pools = finder.process_wrong_direction_pools(curve_combo=curves_before, wrong_direction_cids=wrong_direction_cids) - O, profit_src, r, trade_instructions_df = finder.run_main_flow(curves=curves_expected_after, src_token="WBTC-C599", tkn0="USDC-eB48", tkn1="WBTC-C599") - - assert len(curves_before) - len(wrong_direction_cids) == len(test_process_wrong_direction_pools), f"[TestMultiMode] Wrong direction CIDs not removed correctly, started with {len(curves_before)}, removing {len(wrong_direction_cids)}, expected {len(curves_before) - len(wrong_direction_cids)} got {len(test_process_wrong_direction_pools)}" - for curve in test_process_wrong_direction_pools: - assert curve.cid not in wrong_direction_cids, f"[TestMultiMode] Failed to remove curve {curve.cid} from list of wrong direction pools" - assert iseq(profit_src, 2.905623487869935e-05) \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_040_TestSingleMode.py b/fastlane_bot/tests/nbtest/test_040_TestSingleMode.py deleted file mode 100644 index a0d859319..000000000 --- a/fastlane_bot/tests/nbtest/test_040_TestSingleMode.py +++ /dev/null @@ -1,229 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_040_TestSingleMode.py` -# ------------------------------------------------------------ -# source file = NBTest_040_TestSingleMode.py -# test id = 040 -# test comment = TestSingleMode -# ------------------------------------------------------------ - - - -""" -This module contains the tests for the exchanges classes -""" -from fastlane_bot import Bot, Config -from fastlane_bot.bot import CarbonBot -from fastlane_bot.tools.cpc import ConstantProductCurve -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.interface import QueryInterface -from fastlane_bot.helpers.poolandtokens import PoolAndTokens -from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper -from fastlane_bot.events.managers.manager import Manager -from fastlane_bot.events.interface import QueryInterface -from joblib import Parallel, delayed -import pytest -import math -import json -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -from fastlane_bot.modes import triangle_single_bancor3 -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -C = cfg = Config.new(config=Config.CONFIG_MAINNET) -C.DEFAULT_MIN_PROFIT_BNT = 0.02 -C.DEFAULT_MIN_PROFIT = 0.02 -cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 -cfg.DEFAULT_MIN_PROFIT = 0.02 -assert (C.NETWORK == C.NETWORK_MAINNET) -assert (C.PROVIDER == C.PROVIDER_ALCHEMY) -setup_bot = CarbonBot(ConfigObj=C) -pools = None -with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: - pools = json.load(f) -pools = [pool for pool in pools] -pools[0] -static_pools = pools -state = pools -exchanges = list({ex['exchange_name'] for ex in state}) -db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) -setup_bot.db = db - -static_pool_data_filename = "static_pool_data" - -static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) - -uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) - -tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) - -exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" - -exchanges = exchanges.split(",") - - -alchemy_max_block_fetch = 20 -static_pool_data["cid"] = [ - cfg.w3.keccak(text=f"{row['descr']}").hex() - for index, row in static_pool_data.iterrows() - ] -static_pool_data = [ - row for index, row in static_pool_data.iterrows() - if row["exchange_name"] in exchanges -] - -static_pool_data = pd.DataFrame(static_pool_data) -static_pool_data['exchange_name'].unique() -mgr = Manager( - web3=cfg.w3, - cfg=cfg, - pool_data=static_pool_data.to_dict(orient="records"), - SUPPORTED_EXCHANGES=exchanges, - alchemy_max_block_fetch=alchemy_max_block_fetch, - uniswap_v2_event_mappings=uniswap_v2_event_mappings, - tokens=tokens.to_dict(orient="records"), -) - -start_time = time.time() -Parallel(n_jobs=-1, backend="threading")( - delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data -) -cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") - -mgr.deduplicate_pool_data() -cids = [pool["cid"] for pool in mgr.pool_data] -assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" -def init_bot(mgr: Manager) -> CarbonBot: - """ - Initializes the bot. - - Parameters - ---------- - mgr : Manager - The manager object. - - Returns - ------- - CarbonBot - The bot object. - """ - mgr.cfg.logger.info("Initializing the bot...") - bot = CarbonBot(ConfigObj=mgr.cfg) - bot.db = db - bot.db.mgr = mgr - assert isinstance( - bot.db, QueryInterface - ), "QueryInterface not initialized correctly" - return bot -bot = init_bot(mgr) -bot.db.handle_token_key_cleanup() -bot.db.remove_unmapped_uniswap_v2_pools() -bot.db.remove_zero_liquidity_pools() -bot.db.remove_unsupported_exchanges() -tokens = bot.db.get_tokens() -ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} -flashloan_tokens = bot.setup_flashloan_tokens(None) -CCm = bot.setup_CCm(None) -pools = db.get_pool_data_with_tokens() - -arb_mode = "single" - -assert(cfg.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestSingleMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" -assert(C.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestSingleMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" - - - - -# ------------------------------------------------------------ -# Test 040 -# File test_040_TestSingleMode.py -# Segment Test_arb_mode_class -# ------------------------------------------------------------ -def test_test_arb_mode_class(): -# ------------------------------------------------------------ - - arb_finder = bot._get_arb_finder("single") - assert arb_finder.__name__ == "FindArbitrageSinglePairwise", f"[TestSingleMode] Expected arb_finder class name name = FindArbitrageSinglePairwise, found {arb_finder.__name__}" - - -# ------------------------------------------------------------ -# Test 040 -# File test_040_TestSingleMode.py -# Segment Test_tokens_and_combos -# ------------------------------------------------------------ -def test_test_tokens_and_combos(): -# ------------------------------------------------------------ - - arb_finder = bot._get_arb_finder("single") - finder2 = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_TOKENS, - ConfigObj=bot.ConfigObj, - ) - all_tokens, combos = finder2.find_arbitrage() - assert len(all_tokens) == 545, f"[TestMultiMode] Using wrong dataset, expected 545 tokens, found {len(all_tokens)}" - assert len(combos) == 3264, f"[TestMultiMode] Using wrong dataset, expected 3264 tokens, found {len(combos)}" - - # ### Test_Single_Arb_Finder_vs_run - - run_full = bot._run(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode=arb_mode, data_validator=False, result=bot.XS_ARBOPPS) - arb_finder = bot._get_arb_finder("single") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - assert len(r) == 26, f"[TestSingleMode] Expected 26 arbs, found {len(r)}" - assert len(r) == len(run_full), f"[TestSingleMode] Expected arbs from .find_arbitrage - {len(r)} - to match _run - {len(run_full)}" - - r - - -# ------------------------------------------------------------ -# Test 040 -# File test_040_TestSingleMode.py -# Segment Test_no_multi_carbon -# ------------------------------------------------------------ -def test_test_no_multi_carbon(): -# ------------------------------------------------------------ - - # + - arb_finder = bot._get_arb_finder("single") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - multi_carbon_count = 0 - - for arb in r: - ( - best_profit, - best_trade_instructions_df, - best_trade_instructions_dic, - best_src_token, - best_trade_instructions, - ) = arb - if len(best_trade_instructions_dic) > 2: - multi_carbon_count += 1 - - assert multi_carbon_count == 0, f"[TestSingleMode] Expected arbs without multiple Carbon curves, but found {len(multi_carbon_count)}" \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_042_TestBancorV3ModeTwoHop.py b/fastlane_bot/tests/nbtest/test_042_TestBancorV3ModeTwoHop.py deleted file mode 100644 index 7a069d358..000000000 --- a/fastlane_bot/tests/nbtest/test_042_TestBancorV3ModeTwoHop.py +++ /dev/null @@ -1,465 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_042_TestBancorV3ModeTwoHop.py` -# ------------------------------------------------------------ -# source file = NBTest_042_TestBancorV3ModeTwoHop.py -# test id = 042 -# test comment = TestBancorV3ModeTwoHop -# ------------------------------------------------------------ - - - -""" -This module contains the tests for the exchanges classes -""" -from fastlane_bot import Bot, Config -from fastlane_bot.bot import CarbonBot -from fastlane_bot.tools.cpc import ConstantProductCurve -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.interface import QueryInterface -from fastlane_bot.helpers.poolandtokens import PoolAndTokens -from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper -from fastlane_bot.events.managers.manager import Manager -from fastlane_bot.events.interface import QueryInterface -from joblib import Parallel, delayed -import pytest -import math -import json -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -from fastlane_bot.modes import triangle_single_bancor3 -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -C = cfg = Config.new(config=Config.CONFIG_MAINNET) -C.DEFAULT_MIN_PROFIT_BNT = 50 -C.DEFAULT_MIN_PROFIT = 50 -cfg.DEFAULT_MIN_PROFIT_BNT = 50 -cfg.DEFAULT_MIN_PROFIT = 50 -assert (C.NETWORK == C.NETWORK_MAINNET) -assert (C.PROVIDER == C.PROVIDER_ALCHEMY) -setup_bot = CarbonBot(ConfigObj=C) -pools = None -with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: - pools = json.load(f) -pools = [pool for pool in pools] -pools[0] -static_pools = pools -state = pools -exchanges = list({ex['exchange_name'] for ex in state}) -db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) -setup_bot.db = db - -static_pool_data_filename = "static_pool_data" - -static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) - -uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) - -tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) - -exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" - -exchanges = exchanges.split(",") - - -alchemy_max_block_fetch = 20 -static_pool_data["cid"] = [ - cfg.w3.keccak(text=f"{row['descr']}").hex() - for index, row in static_pool_data.iterrows() - ] -static_pool_data = [ - row for index, row in static_pool_data.iterrows() - if row["exchange_name"] in exchanges -] - -static_pool_data = pd.DataFrame(static_pool_data) -static_pool_data['exchange_name'].unique() -mgr = Manager( - web3=cfg.w3, - cfg=cfg, - pool_data=static_pool_data.to_dict(orient="records"), - SUPPORTED_EXCHANGES=exchanges, - alchemy_max_block_fetch=alchemy_max_block_fetch, - uniswap_v2_event_mappings=uniswap_v2_event_mappings, - tokens=tokens.to_dict(orient="records"), -) - -start_time = time.time() -Parallel(n_jobs=-1, backend="threading")( - delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data -) -cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") - -mgr.deduplicate_pool_data() -cids = [pool["cid"] for pool in mgr.pool_data] -assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" -def init_bot(mgr: Manager) -> CarbonBot: - """ - Initializes the bot. - - Parameters - ---------- - mgr : Manager - The manager object. - - Returns - ------- - CarbonBot - The bot object. - """ - mgr.cfg.logger.info("Initializing the bot...") - bot = CarbonBot(ConfigObj=mgr.cfg) - bot.db = db - bot.db.mgr = mgr - assert isinstance( - bot.db, QueryInterface - ), "QueryInterface not initialized correctly" - return bot -bot = init_bot(mgr) -bot.db.handle_token_key_cleanup() -bot.db.remove_unmapped_uniswap_v2_pools() -bot.db.remove_zero_liquidity_pools() -bot.db.remove_unsupported_exchanges() -tokens = bot.db.get_tokens() -ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} -flashloan_tokens = bot.setup_flashloan_tokens(None) -CCm = bot.setup_CCm(None) -pools = db.get_pool_data_with_tokens() - -arb_mode = "b3_two_hop" - - -# ------------------------------------------------------------ -# Test 042 -# File test_042_TestBancorV3ModeTwoHop.py -# Segment Test_min_profit -# ------------------------------------------------------------ -def test_test_min_profit(): -# ------------------------------------------------------------ - - assert C.DEFAULT_MIN_PROFIT_BNT == 50, f"[test_bancor_v3_two_hop] wrong DEFAULT_MIN_PROFIT_BNT for test, expected 50, got {C.DEFAULT_MIN_PROFIT_BNT}" - - -# ------------------------------------------------------------ -# Test 042 -# File test_042_TestBancorV3ModeTwoHop.py -# Segment Test_arb_mode_class -# ------------------------------------------------------------ -def test_test_arb_mode_class(): -# ------------------------------------------------------------ - - arb_finder = bot._get_arb_finder("b3_two_hop") - assert arb_finder.__name__ == "ArbitrageFinderTriangleBancor3TwoHop", f"[test_bancor_v3_two_hop] Wrong Arb Finder class, expected ArbitrageFinderTriangleBancor3TwoHop, got {arb_finder.__name__}" - - -# ------------------------------------------------------------ -# Test 042 -# File test_042_TestBancorV3ModeTwoHop.py -# Segment Test_Trade_Merge -# ------------------------------------------------------------ -def test_test_trade_merge(): -# ------------------------------------------------------------ - - arb_finder = bot._get_arb_finder("b3_two_hop") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=False, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - ( - best_profit, - best_trade_instructions_df, - best_trade_instructions_dic, - best_src_token, - best_trade_instructions, - ) = r - ( - ordered_trade_instructions_dct, - tx_in_count, - ) = bot._simple_ordering_by_src_token( - best_trade_instructions_dic, best_src_token - ) - ordered_scaled_dcts = bot._basic_scaling( - ordered_trade_instructions_dct, best_src_token - ) - # Convert the trade instructions - ordered_trade_instructions_objects = bot._convert_trade_instructions( - ordered_scaled_dcts) - tx_route_handler = bot.TxRouteHandlerClass( - trade_instructions=ordered_trade_instructions_objects - ) - agg_trade_instructions = ( - tx_route_handler.aggregate_carbon_trades(ordered_trade_instructions_objects) - if bot._carbon_in_trade_route(ordered_trade_instructions_objects) - else ordered_trade_instructions_objects - ) - # Calculate the trade instructions - calculated_trade_instructions = tx_route_handler.calculate_trade_outputs( - agg_trade_instructions - ) - assert len(calculated_trade_instructions) == 3 - # Aggregate multiple Bancor V3 trades into a single trade - calculated_trade_instructions = TxRouteHandler.aggregate_bancor_v3_trades( - calculated_trade_instructions - ) - assert len(calculated_trade_instructions) == 2 - assert calculated_trade_instructions[0].tknin != "BNT-FF1C" - assert calculated_trade_instructions[0].tknout != "BNT-FF1C" - - -# ------------------------------------------------------------ -# Test 042 -# File test_042_TestBancorV3ModeTwoHop.py -# Segment Test_get_optimal_arb_trade_amts -# ------------------------------------------------------------ -def test_test_get_optimal_arb_trade_amts(): -# ------------------------------------------------------------ - - # + - arb_finder = bot._get_arb_finder("b3_two_hop") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=False, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - ( - best_profit, - best_trade_instructions_df, - best_trade_instructions_dic, - best_src_token, - best_trade_instructions, - ) = r - ( - ordered_trade_instructions_dct, - tx_in_count, - ) = bot._simple_ordering_by_src_token( - best_trade_instructions_dic, best_src_token - ) - - - pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] - first_check_pools = finder.get_exact_pools(pool_cids) - - assert first_check_pools[0].cid == '0x7be3da0f8d0f70d8f7a84a08dd267beea4318ed1c9fb3d602b0f3a3c7bd1cf4a', f"[test_bancor_v3_two_hop] Validation, wrong first pool, expected CID: 0x7be3da0f8d0f70d8f7a84a08dd267beea4318ed1c9fb3d602b0f3a3c7bd1cf4a, got CID: {first_check_pools[0].cid}" - assert first_check_pools[1].cid == '0x748ab2bef0d97e5a044268626e6c9c104bab818605d44f650fdeaa03a3c742d2', f"[test_bancor_v3_two_hop] Validation, wrong second pool, expected CID: 0x748ab2bef0d97e5a044268626e6c9c104bab818605d44f650fdeaa03a3c742d2, got CID: {first_check_pools[1].cid}" - assert first_check_pools[2].cid == '0xb1d8cd62f75016872495dae3e19d96e364767e7d674488392029d15cdbcd7b34', f"[test_bancor_v3_two_hop] Validation, wrong third pool, expected CID: 0xb1d8cd62f75016872495dae3e19d96e364767e7d674488392029d15cdbcd7b34, got CID: {first_check_pools[2].cid}" - assert(len(first_check_pools) == 3), f"[test_bancor_v3_two_hop] Validation expected 3 pools, got {len(first_check_pools)}" - for pool in first_check_pools: - assert type(pool) == ConstantProductCurve, f"[test_bancor_v3_two_hop] Validation pool type mismatch, got {type(pool)} expected ConstantProductCurve" - assert pool.cid in pool_cids, f"[test_bancor_v3_two_hop] Validation missing pool.cid {pool.cid} in {pool_cids}" - - optimal_arb = finder.get_optimal_arb_trade_amts(pool_cids, 'DAI-1d0F') - assert type(optimal_arb) == float, f"[test_bancor_v3_two_hop] Optimal arb calculation type is {type(optimal_arb)} not float" - assert iseq(optimal_arb, 6179.168331968203), f"[test_bancor_v3_two_hop] Optimal arb calculation type is {optimal_arb}, expected 6179.168331968203" - # - - - -# ------------------------------------------------------------ -# Test 042 -# File test_042_TestBancorV3ModeTwoHop.py -# Segment Test_max_arb_trade_in_constant_product -# ------------------------------------------------------------ -def test_test_max_arb_trade_in_constant_product(): -# ------------------------------------------------------------ - - # + - arb_finder = bot._get_arb_finder("b3_two_hop") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=False, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - ( - best_profit, - best_trade_instructions_df, - best_trade_instructions_dic, - best_src_token, - best_trade_instructions, - ) = r - ( - ordered_trade_instructions_dct, - tx_in_count, - ) = bot._simple_ordering_by_src_token( - best_trade_instructions_dic, best_src_token - ) - - - pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] - first_check_pools = finder.get_exact_pools(pool_cids) - flt='DAI-1d0F' - tkn0 = flt - tkn1 = finder.get_tkn(pool=first_check_pools[0], tkn_num=1) if finder.get_tkn(pool=first_check_pools[0], tkn_num=1) != flt else finder.get_tkn(pool=first_check_pools[0], tkn_num=0) - tkn2 = finder.get_tkn(pool=first_check_pools[1], tkn_num=0) if finder.get_tkn(pool=first_check_pools[1], tkn_num=0) == tkn1 else finder.get_tkn(pool=first_check_pools[1], tkn_num=1) - tkn3 = finder.get_tkn(pool=first_check_pools[1], tkn_num=0) if finder.get_tkn(pool=first_check_pools[1], tkn_num=0) != tkn1 else finder.get_tkn(pool=first_check_pools[1], tkn_num=1) - tkn5 = finder.get_tkn(pool=first_check_pools[2], tkn_num=1) if finder.get_tkn(pool=first_check_pools[2], tkn_num=1) == flt else finder.get_tkn(pool=first_check_pools[2], tkn_num=0) - p0t0 = first_check_pools[0].x if finder.get_tkn(pool=first_check_pools[0], tkn_num=0) == flt else first_check_pools[0].y - p0t1 = first_check_pools[0].y if finder.get_tkn(pool=first_check_pools[0], tkn_num=0) == flt else first_check_pools[0].x - p1t0 = first_check_pools[1].x if tkn1 == finder.get_tkn(pool=first_check_pools[1], tkn_num=0) else first_check_pools[1].y - p1t1 = first_check_pools[1].y if tkn1 == finder.get_tkn(pool=first_check_pools[1], tkn_num=0) else first_check_pools[1].x - p2t0 = first_check_pools[2].x if finder.get_tkn(pool=first_check_pools[2], tkn_num=0) != flt else first_check_pools[2].y - p2t1 = first_check_pools[2].y if finder.get_tkn(pool=first_check_pools[2], tkn_num=0) != flt else first_check_pools[2].x - fee0 = finder.get_fee_safe(first_check_pools[0].fee) - fee1 = finder.get_fee_safe(first_check_pools[1].fee) - fee2 = finder.get_fee_safe(first_check_pools[2].fee) - optimal_arb = finder.get_optimal_arb_trade_amts(pool_cids, 'DAI-1d0F') - optimal_arb_low_level_check = finder.max_arb_trade_in_constant_product(p0t0=p0t0, p0t1=p0t1, p1t0=p1t0, p1t1=p1t1, p2t0=p2t0, p2t1=p2t1,fee0=fee0, fee1=fee1, fee2=fee2) - assert iseq(optimal_arb, optimal_arb_low_level_check), f"[test_bancor_v3_two_hop] Arb calculation result mismatch, pools likely ordered incorrectly, previous calc: {optimal_arb}, this calc: {optimal_arb_low_level_check}" - # max_arb_in = finder.max_arb_trade_in_constant_product(p0t0, p0t1, p1t0, p1t1, p2t0, p2t1, fee0=fee0, fee1=fee1, fee2=fee2) - # finder.ConfigObj.logger.info(f"\n\nfirst_check_pools: {first_check_pools}\n\nValidating trade, max_arb_in= {max_arb_in} {tkn0} -> {tkn1} -> {tkn3} -> {tkn5}, token amts: {p0t0, p0t1, p1t0, p1t1, p2t0, p2t1}, fees: {fee0, fee1, fee2}") - # - - - -# ------------------------------------------------------------ -# Test 042 -# File test_042_TestBancorV3ModeTwoHop.py -# Segment Test_get_fee_safe -# ------------------------------------------------------------ -def test_test_get_fee_safe(): -# ------------------------------------------------------------ - - # + - arb_finder = bot._get_arb_finder("b3_two_hop") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=False, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - ( - best_profit, - best_trade_instructions_df, - best_trade_instructions_dic, - best_src_token, - best_trade_instructions, - ) = r - ( - ordered_trade_instructions_dct, - tx_in_count, - ) = bot._simple_ordering_by_src_token( - best_trade_instructions_dic, best_src_token - ) - - pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] - first_check_pools = finder.get_exact_pools(pool_cids) - ext_fee = finder.get_fee_safe(first_check_pools[2].fee) - assert type(ext_fee) == float, f"[test_bancor_v3_two_hop] Testing external pool, fee type is {type(ext_fee)} not float" - assert iseq(ext_fee, 0.0005), f"[test_bancor_v3_two_hop] Testing external pool, fee amt is {ext_fee} not 0.0005" - - # - - - -# ------------------------------------------------------------ -# Test 042 -# File test_042_TestBancorV3ModeTwoHop.py -# Segment Test_combos -# ------------------------------------------------------------ -def test_test_combos(): -# ------------------------------------------------------------ - - arb_finder = bot._get_arb_finder("b3_two_hop") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=False, - ConfigObj=bot.ConfigObj, - ) - #test_2_pools = [ConstantProductCurve(k=2921921249910.464, x=2760126.9934445512, x_act=2760126.9934445512, y_act=1058618.410258, pair='BNT-FF1C/USDC-eB48', cid='0xc4771395e1389e2e3a12ec22efbb7aff5b1c04e5ce9c7596a82e9dc8fdec725b', fee=0.0, descr='bancor_v3 BNT-FF1C/USDC-eB48 0.000', constr='uv2', params={'exchange': 'bancor_v3', 'tknx_dec': 18, 'tkny_dec': 6, 'tknx_addr': '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17713739}), ConstantProductCurve(k=518129588.60853314, x=6351922.348885405, x_act=6351922.348885405, y_act=81.57051679, pair='BNT-FF1C/WBTC-C599', cid='0x3885d978c125e66686e3f678ab64d5b09e61f89bf6e87c9ff66e740fd06aeefa', fee=0.0, descr='bancor_v3 BNT-FF1C/WBTC-C599 0.000', constr='uv2', params={'exchange': 'bancor_v3', 'tknx_dec': 18, 'tkny_dec': 8, 'tknx_addr': '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', 'tkny_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'blocklud': 17713739}), ConstantProductCurve(k=787603837541.6204, x=5107.692365701484, x_act=4.159867948255851, y_act=336571.44633978605, pair='WBTC-C599/USDC-eB48', cid='0x49ed97db2c080b7eac91dfaa7d51d5e8ac34c4dcfbcd3e8f2ed326a2a527b959', fee=0.003, descr='uniswap_v3 WBTC-C599/USDC-eB48 3000', constr='pkpp', params={'exchange': 'uniswap_v3', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17713395, 'L': 887470.4713632})] - flt = {'MKR-79A2', 'TRAC-0A6F', 'MONA-412A', 'WBTC-C599', 'WOO-5D4B', 'MATIC-eBB0', 'BAT-87EF', 'UOS-5C8c', 'LRC-EafD', 'NMR-6671', 'DIP-cD83', 'TEMP-1aB9', 'ICHI-A881', 'USDC-eB48', 'ENS-9D72', 'vBNT-7f94', 'ANKR-EDD4', 'UNI-F984', 'REQ-938a', 'WETH-6Cc2', 'AAVE-DaE9', 'ENJ-3B9c', 'MANA-C942', 'wNXM-2bDE', 'QNT-4675', 'RLC-7375', 'CROWN-E0fa', 'CHZ-b4AF', 'USDT-1ec7', 'DAI-1d0F', 'RPL-A51f', 'HOT-26E2', 'LINK-86CA', 'wstETH-2Ca0'} - combos = finder.get_combos(flashloan_tokens=flt, CCm=CCm, arb_mode="b3_two_hop") - assert len(combos) == 1122, "[test_bancor_v3_two_hop] Different data used for tests, expected 1122 combos" - - -# ------------------------------------------------------------ -# Test 042 -# File test_042_TestBancorV3ModeTwoHop.py -# Segment Test_get_miniverse_combos -# ------------------------------------------------------------ -def test_test_get_miniverse_combos(): -# ------------------------------------------------------------ - - arb_finder = bot._get_arb_finder("b3_two_hop") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=False, - ConfigObj=bot.ConfigObj, - ) - flt = {'MKR-79A2', 'TRAC-0A6F', 'MONA-412A', 'WBTC-C599', 'WOO-5D4B', 'MATIC-eBB0', 'BAT-87EF', 'UOS-5C8c', 'LRC-EafD', 'NMR-6671', 'DIP-cD83', 'TEMP-1aB9', 'ICHI-A881', 'USDC-eB48', 'ENS-9D72', 'vBNT-7f94', 'ANKR-EDD4', 'UNI-F984', 'REQ-938a', 'WETH-6Cc2', 'AAVE-DaE9', 'ENJ-3B9c', 'MANA-C942', 'wNXM-2bDE', 'QNT-4675', 'RLC-7375', 'CROWN-E0fa', 'CHZ-b4AF', 'USDT-1ec7', 'DAI-1d0F', 'RPL-A51f', 'HOT-26E2', 'LINK-86CA', 'wstETH-2Ca0'} - combos = finder.get_combos(flashloan_tokens=flt, CCm=CCm, arb_mode="b3_two_hop") - all_miniverses = finder.get_miniverse_combos(combos) - assert len(all_miniverses) == 146, "[test_bancor_v3_two_hop] Different data used for tests, expected 146 miniverses" - - -# ------------------------------------------------------------ -# Test 042 -# File test_042_TestBancorV3ModeTwoHop.py -# Segment Test_get_mono_direction_carbon_curves -# ------------------------------------------------------------ -def test_test_get_mono_direction_carbon_curves(): -# ------------------------------------------------------------ - - # + - arb_finder = bot._get_arb_finder("b3_two_hop") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=False, - ConfigObj=bot.ConfigObj, - ) - - bancor_v3_curve_0 = ( - finder.CCm.bypairs(f"BNT-FF1C/WETH-6Cc2") - .byparams(exchange="bancor_v3") - .curves - ) - bancor_v3_curve_1 = ( - finder.CCm.bypairs(f"BNT-FF1C/USDC-eB48") - .byparams(exchange="bancor_v3") - .curves - ) - - carbon_curves = finder.CCm.bypairs(f"USDC-eB48/WETH-6Cc2") - carbon_curves = list(set(carbon_curves)) - carbon_curves = [ - curve - for curve in carbon_curves - if curve.params.get("exchange") == "carbon_v1" - ] - miniverse = [bancor_v3_curve_0 + bancor_v3_curve_1 + carbon_curves] - max_arb_carbon = finder.run_main_flow(miniverse=miniverse[0], src_token="BNT-FF1C") - - ( - profit_src_0, - trade_instructions_0, - trade_instructions_df_0, - trade_instructions_dic_0, - ) = max_arb_carbon - mono_carbon = finder.get_mono_direction_carbon_curves(miniverse[0], trade_instructions_df=trade_instructions_df_0, token_in=None) - test_mono_carbon = finder.get_mono_direction_carbon_curves(miniverse[0], trade_instructions_df=trade_instructions_df_0, token_in='WETH-6Cc2') - # Test that get_mono_direction_carbon_curves removed two curves - assert len(test_mono_carbon) != len(mono_carbon), f"[test_bancor_v3_two_hop] Issue with get_mono_direction_carbon_curves, should have removed one or more pools" \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_043_TestEmptyCarbonOrders.py b/fastlane_bot/tests/nbtest/test_043_TestEmptyCarbonOrders.py deleted file mode 100644 index 2d7382a41..000000000 --- a/fastlane_bot/tests/nbtest/test_043_TestEmptyCarbonOrders.py +++ /dev/null @@ -1,234 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_043_TestEmptyCarbonOrders.py` -# ------------------------------------------------------------ -# source file = NBTest_043_TestEmptyCarbonOrders.py -# test id = 043 -# test comment = TestEmptyCarbonOrders -# ------------------------------------------------------------ - - - -""" -This module contains the tests for the exchanges classes -""" -from fastlane_bot import Bot, Config -from fastlane_bot.bot import CarbonBot -from fastlane_bot.tools.cpc import ConstantProductCurve -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.interface import QueryInterface -from fastlane_bot.helpers.poolandtokens import PoolAndTokens -from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper -from fastlane_bot.events.managers.manager import Manager -from fastlane_bot.events.interface import QueryInterface -from joblib import Parallel, delayed -from dataclasses import dataclass, asdict, field -import pytest -import math -import json -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -from fastlane_bot.modes import triangle_single_bancor3 -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -C = cfg = Config.new(config=Config.CONFIG_MAINNET) -C.DEFAULT_MIN_PROFIT_BNT = 0.02 -C.DEFAULT_MIN_PROFIT = 0.02 -cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 -cfg.DEFAULT_MIN_PROFIT = 0.02 -assert (C.NETWORK == C.NETWORK_MAINNET) -assert (C.PROVIDER == C.PROVIDER_ALCHEMY) -setup_bot = CarbonBot(ConfigObj=C) -pools = None -with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: - pools = json.load(f) -pools = [pool for pool in pools] -pools[0] -static_pools = pools -state = pools -exchanges = list({ex['exchange_name'] for ex in state}) -db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) -setup_bot.db = db - -static_pool_data_filename = "static_pool_data" - -static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) - -uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) - -tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) - -exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" - -exchanges = exchanges.split(",") - - -alchemy_max_block_fetch = 20 -static_pool_data["cid"] = [ - cfg.w3.keccak(text=f"{row['descr']}").hex() - for index, row in static_pool_data.iterrows() - ] -static_pool_data = [ - row for index, row in static_pool_data.iterrows() - if row["exchange_name"] in exchanges -] - -static_pool_data = pd.DataFrame(static_pool_data) -static_pool_data['exchange_name'].unique() -mgr = Manager( - web3=cfg.w3, - cfg=cfg, - pool_data=static_pool_data.to_dict(orient="records"), - SUPPORTED_EXCHANGES=exchanges, - alchemy_max_block_fetch=alchemy_max_block_fetch, - uniswap_v2_event_mappings=uniswap_v2_event_mappings, - tokens=tokens.to_dict(orient="records"), -) - -start_time = time.time() -Parallel(n_jobs=-1, backend="threading")( - delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data -) -cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") - -mgr.deduplicate_pool_data() -cids = [pool["cid"] for pool in mgr.pool_data] -assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" -def init_bot(mgr: Manager) -> CarbonBot: - """ - Initializes the bot. - - Parameters - ---------- - mgr : Manager - The manager object. - - Returns - ------- - CarbonBot - The bot object. - """ - mgr.cfg.logger.info("Initializing the bot...") - bot = CarbonBot(ConfigObj=mgr.cfg) - bot.db = db - bot.db.mgr = mgr - assert isinstance( - bot.db, QueryInterface - ), "QueryInterface not initialized correctly" - return bot -bot = init_bot(mgr) -bot.db.handle_token_key_cleanup() -bot.db.remove_unmapped_uniswap_v2_pools() -bot.db.remove_zero_liquidity_pools() -bot.db.remove_unsupported_exchanges() -tokens = bot.db.get_tokens() -ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} -flashloan_tokens = bot.setup_flashloan_tokens(None) -CCm = bot.setup_CCm(None) -pools = db.get_pool_data_with_tokens() - -arb_mode = "multi" - - -# ------------------------------------------------------------ -# Test 043 -# File test_043_TestEmptyCarbonOrders.py -# Segment Test_Empty_Carbon_Orders_Removed -# ------------------------------------------------------------ -def test_test_empty_carbon_orders_removed(): -# ------------------------------------------------------------ - - # + - arb_finder = bot._get_arb_finder("multi") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=arb_finder.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - - ( - best_profit, - best_trade_instructions_df, - best_trade_instructions_dic, - best_src_token, - best_trade_instructions, - ) = r[11] - - best_trade_instructions_dic - # Check that this gets filtered out - test_trade = [{'cid': '0x36445535fc762f6c53277a667500a41e31b51bec800e76aab33dafab75da4eaa', - 'tknin': 'WBTC-C599', - 'amtin': 0.008570336169213988, - 'tknout': 'WETH-6Cc2', - 'amtout': -0.13937506393995136, - 'error': None}, - {'cid': '9187623906865338513511114400657741709420-1', - 'tknin': 'WETH-6Cc2', - 'amtin': 0, - 'tknout': 'WBTC-C599', - 'amtout': 0, - 'error': None}, - {'cid': '9187623906865338513511114400657741709458-1', - 'tknin': 'WETH-6Cc2', - 'amtin': 0.13937506393995136, - 'tknout': 'WBTC-C599', - 'amtout': 0.008870336169213988, - 'error': None}] - - ( - ordered_trade_instructions_dct, - tx_in_count, - ) = bot._simple_ordering_by_src_token( - test_trade, best_src_token - ) - ordered_scaled_dcts = bot._basic_scaling( - ordered_trade_instructions_dct, best_src_token - ) - ordered_trade_instructions_objects = bot._convert_trade_instructions(ordered_scaled_dcts) - tx_route_handler = bot.TxRouteHandlerClass( - trade_instructions=ordered_trade_instructions_objects - ) - agg_trade_instructions = ( - tx_route_handler.aggregate_carbon_trades(ordered_trade_instructions_objects) - if bot._carbon_in_trade_route(ordered_trade_instructions_objects) - else ordered_trade_instructions_objects - ) - # Calculate the trade instructions - calculated_trade_instructions = tx_route_handler.calculate_trade_outputs( - agg_trade_instructions - ) - encoded_trade_instructions = tx_route_handler.custom_data_encoder( - calculated_trade_instructions - ) - deadline = bot._get_deadline(1) - - # Get the route struct - route_struct = [ - asdict(rs) - for rs in tx_route_handler.get_route_structs( - encoded_trade_instructions, deadline - ) - ] - for route in route_struct: - if route["platformId"] == 6: - encoded_trade = route["customData"].split("0x")[1] - encoded_trades = [encoded_trade[i:i+64] for i in range(0, len(encoded_trade), 64)] - for trade in encoded_trades: - assert trade != "0000000000000000000000000000000000000000000000000000000000000000", f"[TestEmptyCarbonOrders] Empty Carbon instructions not filtered out by calculate_trade_outputs" - # - - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_045_Validator.py b/fastlane_bot/tests/nbtest/test_045_Validator.py deleted file mode 100644 index 12ead32d1..000000000 --- a/fastlane_bot/tests/nbtest/test_045_Validator.py +++ /dev/null @@ -1,289 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_045_Validator.py` -# ------------------------------------------------------------ -# source file = NBTest_045_Validator.py -# test id = 045 -# test comment = Validator -# ------------------------------------------------------------ - - - -""" -This module contains the tests for the exchanges classes -""" -from fastlane_bot import Bot, Config -from fastlane_bot.bot import CarbonBot -from fastlane_bot.tools.cpc import ConstantProductCurve -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.interface import QueryInterface -from fastlane_bot.helpers.poolandtokens import PoolAndTokens -from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper -from fastlane_bot.events.managers.manager import Manager -from fastlane_bot.events.interface import QueryInterface -from joblib import Parallel, delayed -import pytest -import math -import json -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -from fastlane_bot.modes import triangle_single_bancor3 -plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -C = cfg = Config.new(config=Config.CONFIG_MAINNET) -C.DEFAULT_MIN_PROFIT_BNT = 0.02 -C.DEFAULT_MIN_PROFIT = 0.02 -cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 -cfg.DEFAULT_MIN_PROFIT = 0.02 -assert (C.NETWORK == C.NETWORK_MAINNET) -assert (C.PROVIDER == C.PROVIDER_ALCHEMY) -setup_bot = CarbonBot(ConfigObj=C) -pools = None -with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: - pools = json.load(f) -pools = [pool for pool in pools] -pools[0] -static_pools = pools -state = pools -exchanges = list({ex['exchange_name'] for ex in state}) -db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) -setup_bot.db = db - -static_pool_data_filename = "static_pool_data" - -static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) - -uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) - -tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) - -exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" - -exchanges = exchanges.split(",") - - -alchemy_max_block_fetch = 20 -static_pool_data["cid"] = [ - cfg.w3.keccak(text=f"{row['descr']}").hex() - for index, row in static_pool_data.iterrows() - ] -static_pool_data = [ - row for index, row in static_pool_data.iterrows() - if row["exchange_name"] in exchanges -] - -static_pool_data = pd.DataFrame(static_pool_data) -static_pool_data['exchange_name'].unique() -mgr = Manager( - web3=cfg.w3, - cfg=cfg, - pool_data=static_pool_data.to_dict(orient="records"), - SUPPORTED_EXCHANGES=exchanges, - alchemy_max_block_fetch=alchemy_max_block_fetch, - uniswap_v2_event_mappings=uniswap_v2_event_mappings, - tokens=tokens.to_dict(orient="records"), -) - -start_time = time.time() -Parallel(n_jobs=-1, backend="threading")( - delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data -) -cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") - -mgr.deduplicate_pool_data() -cids = [pool["cid"] for pool in mgr.pool_data] -assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" -def init_bot(mgr: Manager) -> CarbonBot: - """ - Initializes the bot. - - Parameters - ---------- - mgr : Manager - The manager object. - - Returns - ------- - CarbonBot - The bot object. - """ - mgr.cfg.logger.info("Initializing the bot...") - bot = CarbonBot(ConfigObj=mgr.cfg) - bot.db = db - bot.db.mgr = mgr - assert isinstance( - bot.db, QueryInterface - ), "QueryInterface not initialized correctly" - return bot -bot = init_bot(mgr) -bot.db.handle_token_key_cleanup() -bot.db.remove_unmapped_uniswap_v2_pools() -bot.db.remove_zero_liquidity_pools() -bot.db.remove_unsupported_exchanges() -tokens = bot.db.get_tokens() -ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} -flashloan_tokens = bot.setup_flashloan_tokens(None) -CCm = bot.setup_CCm(None) -pools = db.get_pool_data_with_tokens() - -arb_mode = "multi" - - -# ------------------------------------------------------------ -# Test 045 -# File test_045_Validator.py -# Segment Test_MIN_PROFIT -# ------------------------------------------------------------ -def test_test_min_profit(): -# ------------------------------------------------------------ - - assert(cfg.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" - assert(C.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" - - -# ------------------------------------------------------------ -# Test 045 -# File test_045_Validator.py -# Segment Test_validator_in_out -# ------------------------------------------------------------ -def test_test_validator_in_out(): -# ------------------------------------------------------------ - - arb_finder = bot._get_arb_finder("multi") - assert arb_finder.__name__ == "FindArbitrageMultiPairwise", f"[TestMultiMode] Expected arb_finder class name name = FindArbitrageMultiPairwise, found {arb_finder.__name__}" - - -# ------------------------------------------------------------ -# Test 045 -# File test_045_Validator.py -# Segment Test_validator_multi -# ------------------------------------------------------------ -def test_test_validator_multi(): -# ------------------------------------------------------------ - - # + - arb_finder = bot._get_arb_finder("multi") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - - arb_opp = r[0] - - validated = bot.validate_optimizer_trades(arb_opp=arb_opp, arb_mode="multi", arb_finder=finder) - - - - assert arb_opp == validated - - # - - - -# ------------------------------------------------------------ -# Test 045 -# File test_045_Validator.py -# Segment Test_validator_single -# ------------------------------------------------------------ -def test_test_validator_single(): -# ------------------------------------------------------------ - - # + - arb_mode="single" - arb_finder = bot._get_arb_finder(arb_mode) - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - - arb_opp = 111 - - validated = bot.validate_optimizer_trades(arb_opp=arb_opp, arb_mode=arb_mode, arb_finder=finder) - - - assert arb_opp == validated - # - - - -# ------------------------------------------------------------ -# Test 045 -# File test_045_Validator.py -# Segment Test_validator_bancor_v3 -# ------------------------------------------------------------ -def test_test_validator_bancor_v3(): -# ------------------------------------------------------------ - - # + - arb_mode="bancor_v3" - - arb_finder = bot._get_arb_finder(arb_mode) - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - - arb_opp = None - - for arb in r: - has_carbon = False - for trade in arb[2]: - if '-' in trade['cid']: - has_carbon = True - - if not has_carbon: - arb_opp = arb - break - - validated = bot.validate_optimizer_trades(arb_opp=arb_opp, arb_mode=arb_mode, arb_finder=finder) - - assert arb_opp != validated - # - - - -# ------------------------------------------------------------ -# Test 045 -# File test_045_Validator.py -# Segment Test_validator_multi_triangle -# ------------------------------------------------------------ -def test_test_validator_multi_triangle(): -# ------------------------------------------------------------ - - # + - arb_mode="multi_triangle" - arb_finder = bot._get_arb_finder(arb_mode) - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - - arb_opp = 1191 - - validated = bot.validate_optimizer_trades(arb_opp=arb_opp, arb_mode=arb_mode, arb_finder=finder) - - - - assert arb_opp == validated \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_047_Randomizer.py b/fastlane_bot/tests/nbtest/test_047_Randomizer.py deleted file mode 100644 index 6d6434403..000000000 --- a/fastlane_bot/tests/nbtest/test_047_Randomizer.py +++ /dev/null @@ -1,225 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_047_Randomizer.py` -# ------------------------------------------------------------ -# source file = NBTest_047_Randomizer.py -# test id = 047 -# test comment = Randomizer -# ------------------------------------------------------------ - - - -""" -This module contains the tests for the exchanges classes -""" -from fastlane_bot import Bot, Config -from fastlane_bot.bot import CarbonBot -from fastlane_bot.tools.cpc import ConstantProductCurve -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.interface import QueryInterface -from fastlane_bot.helpers.poolandtokens import PoolAndTokens -from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper -from fastlane_bot.events.managers.manager import Manager -from fastlane_bot.events.interface import QueryInterface -from joblib import Parallel, delayed -import pytest -import math -import json -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -from fastlane_bot.modes import triangle_single_bancor3 -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -C = cfg = Config.new(config=Config.CONFIG_MAINNET) -C.DEFAULT_MIN_PROFIT_BNT = 0.02 -C.DEFAULT_MIN_PROFIT = 0.02 -cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 -cfg.DEFAULT_MIN_PROFIT = 0.02 -assert (C.NETWORK == C.NETWORK_MAINNET) -assert (C.PROVIDER == C.PROVIDER_ALCHEMY) -setup_bot = CarbonBot(ConfigObj=C) -pools = None -with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: - pools = json.load(f) -pools = [pool for pool in pools] -pools[0] -static_pools = pools -state = pools -exchanges = list({ex['exchange_name'] for ex in state}) -db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) -setup_bot.db = db - -static_pool_data_filename = "static_pool_data" - -static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) - -uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) - -tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) - -exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" - -exchanges = exchanges.split(",") - - -alchemy_max_block_fetch = 20 -static_pool_data["cid"] = [ - cfg.w3.keccak(text=f"{row['descr']}").hex() - for index, row in static_pool_data.iterrows() - ] -static_pool_data = [ - row for index, row in static_pool_data.iterrows() - if row["exchange_name"] in exchanges -] - -static_pool_data = pd.DataFrame(static_pool_data) -static_pool_data['exchange_name'].unique() -mgr = Manager( - web3=cfg.w3, - cfg=cfg, - pool_data=static_pool_data.to_dict(orient="records"), - SUPPORTED_EXCHANGES=exchanges, - alchemy_max_block_fetch=alchemy_max_block_fetch, - uniswap_v2_event_mappings=uniswap_v2_event_mappings, - tokens=tokens.to_dict(orient="records"), -) - -start_time = time.time() -Parallel(n_jobs=-1, backend="threading")( - delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data -) -cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") - -mgr.deduplicate_pool_data() -cids = [pool["cid"] for pool in mgr.pool_data] -assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" -def init_bot(mgr: Manager) -> CarbonBot: - """ - Initializes the bot. - - Parameters - ---------- - mgr : Manager - The manager object. - - Returns - ------- - CarbonBot - The bot object. - """ - mgr.cfg.logger.info("Initializing the bot...") - bot = CarbonBot(ConfigObj=mgr.cfg) - bot.db = db - bot.db.mgr = mgr - assert isinstance( - bot.db, QueryInterface - ), "QueryInterface not initialized correctly" - return bot -bot = init_bot(mgr) -bot.db.handle_token_key_cleanup() -bot.db.remove_unmapped_uniswap_v2_pools() -bot.db.remove_zero_liquidity_pools() -bot.db.remove_unsupported_exchanges() -tokens = bot.db.get_tokens() -ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} -flashloan_tokens = bot.setup_flashloan_tokens(None) -CCm = bot.setup_CCm(None) -pools = db.get_pool_data_with_tokens() - -arb_mode = "multi" - - -# ------------------------------------------------------------ -# Test 047 -# File test_047_Randomizer.py -# Segment Test_randomizer -# ------------------------------------------------------------ -def test_test_randomizer(): -# ------------------------------------------------------------ - - # + - arb_finder = bot._get_arb_finder("multi") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - - #arb_opp = r[0] - - - assert len(r) == 25, f"[NB047 Randomizer], expected 25 arbs, found {len(r)}" - - - arb_opp_0 = bot.randomize(arb_opps=r, randomizer=0) - arb_opp_1 = bot.randomize(arb_opps=r, randomizer=1) - arb_opp_2 = bot.randomize(arb_opps=r, randomizer=1) - arb_opp_3 = bot.randomize(arb_opps=r, randomizer=1) - arb_opp_25 = bot.randomize(arb_opps=r, randomizer=1) - arb_opp_None = bot.randomize(arb_opps=None, randomizer=5) - - assert len(arb_opp_0) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_0)}" - assert len(arb_opp_1) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_1)}" - assert len(arb_opp_2) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_2)}" - assert len(arb_opp_3) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_3)}" - assert len(arb_opp_25) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_25)}" - assert isinstance(np.float64(arb_opp_0[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_0[0])}" - assert isinstance(np.float64(arb_opp_1[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_1[0])}" - assert isinstance(np.float64(arb_opp_2[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_2[0])}" - # - - - assert isinstance(np.float64(arb_opp_3[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_3[0])}" - assert isinstance(np.float64(arb_opp_25[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_25[0])}" - - arb_opp_0[2] - - assert type(arb_opp_0[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_0[2])}" - assert type(arb_opp_1[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_1[2])}" - assert type(arb_opp_2[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_2[2])}" - assert type(arb_opp_3[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_3[2])}" - assert type(arb_opp_25[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_25[2])}" - - assert arb_opp_None == None, f"[NB047 Randomizer], expected randomizer to return None when it receives None, but it returned {type(arb_opp_None)}" - - -# ------------------------------------------------------------ -# Test 047 -# File test_047_Randomizer.py -# Segment Test_sorted_by_profit -# ------------------------------------------------------------ -def test_test_sorted_by_profit(): -# ------------------------------------------------------------ - - # + - arb_opps = [(2.6927646232907136, [{'cid': '0xe37abfaee752c24a764955cbb2d10c3c9f88472263cbd2c00ca57facb0f128fe', 'tknin': 'WETH-6Cc2', 'amtin': 0.003982724863828224, 'tknout': 'BNT-FF1C', 'amtout': -19.27862435251882, 'error': None}, {'cid': '3743106036130323098097120681749450326076-0', 'tknin': 'BNT-FF1C', 'amtin': 16.585859729228105, 'tknout': 'WETH-6Cc2', 'amtout': -0.003982724874543209, 'error': None}] - ), (2.5352758371554955, [{'cid': '0x748ab2bef0d97e5a044268626e6c9c104bab818605d44f650fdeaa03a3c742d2', 'tknin': 'WETH-6Cc2', 'amtin': 0.003982718826136988, 'tknout': 'BNT-FF1C', 'amtout': -19.1211355663836, 'error': None}, {'cid': '3743106036130323098097120681749450326076-0', 'tknin': 'BNT-FF1C', 'amtin': 16.585859729228105, 'tknout': 'WETH-6Cc2', 'amtout': -0.003982724874543209, 'error': None}] - ), (1.9702345513100596, [{'cid': '0xc4771395e1389e2e3a12ec22efbb7aff5b1c04e5ce9c7596a82e9dc8fdec725b', 'tknin': 'BNT-FF1C', 'amtin': 750.6057364856824, 'tknout': 'USDC-eB48', 'amtout': -293.5068652469199, 'error': None}, {'cid': '2381976568446569244243622252022377480332-1', 'tknin': 'USDC-eB48', 'amtin': 292.73623752593994, 'tknout': 'BNT-FF1C', 'amtout': -750.6057367324829, 'error': None}] - ), (2.67115241495777, [{'cid': '0xe37abfaee752c24a764955cbb2d10c3c9f88472263cbd2c00ca57facb0f128fe', 'tknin': 'WETH-6Cc2', 'amtin': 0.0034263543081607395, 'tknout': 'BNT-FF1C', 'amtout': -16.58585974665766, 'error': None}, {'cid': '3743106036130323098097120681749450326076-0', 'tknin': 'BNT-FF1C', 'amtin': 16.585859729228105, 'tknout': 'WETH-6Cc2', 'amtout': -0.003982724874543209, 'error': None}] - ), (2.535310217715329, [{'cid': '0x748ab2bef0d97e5a044268626e6c9c104bab818605d44f650fdeaa03a3c742d2', 'tknin': 'WETH-6Cc2', 'amtin': 0.003454648687693407, 'tknout': 'BNT-FF1C', 'amtout': -16.58585971966386, 'error': None}, {'cid': '3743106036130323098097120681749450326076-0', 'tknin': 'BNT-FF1C', 'amtin': 16.585859729228105, 'tknout': 'WETH-6Cc2', 'amtout': -0.003982724874543209, 'error': None}] - ), (5.438084583685771, [{'cid': '0x8f9771f2886aa12c1659c275b8e305f58c7c41ba82df03bb21c0bcac98ffde4b', 'tknin': 'WETH-6Cc2', 'amtin': 0.002847350733645726, 'tknout': 'HEX-eb39', 'amtout': -556.3312638401985, 'error': None}, {'cid': '14291859410679415465461733512134264881242-0', 'tknin': 'HEX-eb39', 'amtin': 556.3312644516602, 'tknout': 'WETH-6Cc2', 'amtout': -0.003980041696137606, 'error': None}] - ), (5.400385044154462, [{'cid': '0x3a98798837e610ac07762e2d58f29f0cf96297a2528f86e0fe9b903b1e45a204', 'tknin': 'WETH-6Cc2', 'amtin': 0.0028413006787388895, 'tknout': 'HEX-eb39', 'amtout': -553.6187023743987, 'error': None}, {'cid': '14291859410679415465461733512134264881242-0', 'tknin': 'HEX-eb39', 'amtin': 553.6187027173414, 'tknout': 'WETH-6Cc2', 'amtout': -0.003966139257351835, 'error': None}] - ), (1.9713220433332026, [{'cid': '0xc4771395e1389e2e3a12ec22efbb7aff5b1c04e5ce9c7596a82e9dc8fdec725b', 'tknin': 'BNT-FF1C', 'amtin': 748.6344146891497, 'tknout': 'USDC-eB48', 'amtout': -292.73623879346997, 'error': None}, {'cid': '2381976568446569244243622252022377480332-1', 'tknin': 'USDC-eB48', 'amtin': 292.73623752593994, 'tknout': 'BNT-FF1C', 'amtout': -750.6057367324829, 'error': None}] - ), (8.465616944048316, [{'cid': '0x5b5f170977fe879c965a9fec9aeba4dfe29659f503cd5fe6e67349bdc3089295', 'tknin': '0x0-1AD5', 'amtin': 359.7323400862515, 'tknout': 'WETH-6Cc2', 'amtout': -0.0070300615800533706, 'error': None}, {'cid': '9868188640707215440437863615521278132277-1', 'tknin': 'WETH-6Cc2', 'amtin': 0.00526677017535393, 'tknout': '0x0-1AD5', 'amtout': -359.73234041399974, 'error': None}] - ), (6.717558869249757, [{'cid': '0x1eda42a2cced5e9cfffe1b15d7c39253514267401c5bd2e9ca28287f8a996fde', 'tknin': 'rETH-6393', 'amtin': 0.2496827895520255, 'tknout': 'WETH-6Cc2', 'amtout': -0.26914170442614704, 'error': None}, {'cid': '3062541302288446171170371466885913903202-0', 'tknin': 'WETH-6Cc2', 'amtin': 0.267742513570596, 'tknout': 'rETH-6393', 'amtout': -0.2496827897163172, 'error': None}] - )] - - ops = bot.randomize(arb_opps=arb_opps, randomizer=3) - - assert iseq(ops[0], 8.465616944048316) or iseq(ops[0], 6.717558869249757) or iseq(ops[0], 5.438084583685771), f"[NB047 Randomizer], expected randomizer to return top 3 most profitable arbs, but it did not!" - # - - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_048_RespectFlashloanTokensClickParam.py b/fastlane_bot/tests/nbtest/test_048_RespectFlashloanTokensClickParam.py deleted file mode 100644 index 8d553c5c2..000000000 --- a/fastlane_bot/tests/nbtest/test_048_RespectFlashloanTokensClickParam.py +++ /dev/null @@ -1,100 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_048_RespectFlashloanTokensClickParam.py` -# ------------------------------------------------------------ -# source file = NBTest_048_RespectFlashloanTokensClickParam.py -# test id = 048 -# test comment = RespectFlashloanTokensClickParam -# ------------------------------------------------------------ - - - -""" -This module contains the tests which ensure that the flashloan tokens click parameters are respected. -""" -from fastlane_bot import Bot -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -import subprocess, os, sys -import pytest -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - - -def find_main_py(): - # Start at the directory of the current script - cwd = os.path.abspath(os.path.join(os.getcwd())) - - print(f"Searching for main.py in {cwd}") - while True: - # Check if main.py exists in the current directory - if "main.py" in os.listdir(cwd): - return cwd # Found the directory containing main.py - else: - # If not, go up one directory - new_cwd = os.path.dirname(cwd) - - # If we're already at the root directory, stop searching - if new_cwd == cwd: - raise FileNotFoundError("Could not find main.py in any parent directory") - - cwd = new_cwd - - -def run_command(arb_mode, expected_log_line): - - # Find the correct path to main.py - main_script_path = find_main_py() - print(f"Found main.py in {main_script_path}") - main_script_path = main_script_path + "/main.py" - - # Run the command - cmd = [ - "python", - main_script_path, - f"--arb_mode={arb_mode}", - "--default_min_profit_bnt=60", - "--limit_bancor3_flashloan_tokens=False", - "--use_cached_events=True", - "--logging_path=fastlane_bot/data/", - "--timeout=1", - "--loglevel=DEBUG", - "--flashloan_tokens=BNT-FF1C,ETH-EEeE,ETH2X-FLI-USD", - ] - subprocess.Popen(cmd) - - # Wait for the expected log line to appear - found = False - result = subprocess.run(cmd, text=True, capture_output=True, check=True, timeout=7) - - # Check if the expected log line is in the output - if expected_log_line in result.stderr or expected_log_line in result.stdout: - found = True - - if not found: - pytest.fail("Expected log line was not found within 1 minute") # If we reach this point, the test has failed - - - - -# ------------------------------------------------------------ -# Test 048 -# File test_048_RespectFlashloanTokensClickParam.py -# Segment Test flashloan_tokens is Respected -# ------------------------------------------------------------ -def test_test_flashloan_tokens_is_respected(): -# ------------------------------------------------------------ - - expected_log_line = "Flashloan tokens are set as: ['BNT-FF1C', 'ETH-EEeE', 'ETH2X_FLI-USD']" - arb_mode = "multi" - run_command(arb_mode=arb_mode, expected_log_line=expected_log_line) \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_049_CustomTradingFees.py b/fastlane_bot/tests/nbtest/test_049_CustomTradingFees.py deleted file mode 100644 index 6c7db1998..000000000 --- a/fastlane_bot/tests/nbtest/test_049_CustomTradingFees.py +++ /dev/null @@ -1,150 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_049_CustomTradingFees.py` -# ------------------------------------------------------------ -# source file = NBTest_049_CustomTradingFees.py -# test id = 049 -# test comment = CustomTradingFees -# ------------------------------------------------------------ - - - -from unittest.mock import Mock, patch, call - -import brownie -import pytest -from unittest.mock import MagicMock -from brownie import multicall as brownie_multicall - -from fastlane_bot import Bot, Config -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.managers.manager import Manager -Base = None -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC - -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * - -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - -# - -import json - -with open("fastlane_bot/data/event_test_data.json", "r") as f: - event_data = json.load(f) - -with open("fastlane_bot/data/test_pool_data.json", "r") as f: - pool_data = json.load(f) - - -cfg = Config.new(config=Config.CONFIG_MAINNET) - -manager = Manager(cfg.w3, cfg, pool_data, 20, SUPPORTED_EXCHANGES=['bancor_v3', 'carbon_v1', 'uniswap_v2', 'uniswap_v3']) - - - -# ------------------------------------------------------------ -# Test 049 -# File test_049_CustomTradingFees.py -# Segment test_update_from_event_carbon_v1_pair_create -# ------------------------------------------------------------ -def test_test_update_from_event_carbon_v1_pair_create(): -# ------------------------------------------------------------ - - # + - event = event_data['carbon_v1_event_pair_created'] - assert (event['args']['token0'], event['args']['token1']) not in manager.fee_pairs - - manager.update_from_event(event) - - assert (event['args']['token0'], event['args']['token1']) in manager.fee_pairs - - # - - - -# ------------------------------------------------------------ -# Test 049 -# File test_049_CustomTradingFees.py -# Segment test_update_from_event_carbon_v1_trading_fee_updated -# ------------------------------------------------------------ -def test_test_update_from_event_carbon_v1_trading_fee_updated(): -# ------------------------------------------------------------ - # - - # + - event = event_data['carbon_v1_trading_fee_updated'] - prevFeePPM = event['args']['prevFeePPM'] - newFeePPM = event['args']['newFeePPM'] - - mocked_contract = Mock() - mocked_contract.functions.tradingFeePPM.return_value.call.return_value = prevFeePPM - assert int(manager.exchanges['carbon_v1'].get_fee('', mocked_contract)[0]) == prevFeePPM - - # find all pools with fee==prevFeePPM - prev_default_pools = [idx for idx, pool in enumerate(manager.pool_data) if pool['fee'] == prevFeePPM] - - manager.update_from_event(event) - - for idx in prev_default_pools: - assert manager.pool_data[idx]['fee'] == newFeePPM - - mocked_contract.functions.tradingFeePPM.return_value.call.return_value = newFeePPM - - assert int(manager.exchanges['carbon_v1'].get_fee('', mocked_contract)[0]) == newFeePPM - # - - - -# ------------------------------------------------------------ -# Test 049 -# File test_049_CustomTradingFees.py -# Segment test_update_from_event_carbon_v1_pair_trading_fee_updated -# ------------------------------------------------------------ -def test_test_update_from_event_carbon_v1_pair_trading_fee_updated(): -# ------------------------------------------------------------ - - # + - event = event_data['carbon_v1_pair_trading_fee_updated'] - prevFeePPM = event['args']['prevFeePPM'] - newFeePPM = event['args']['newFeePPM'] - token0 = event['args']['token0'] - token1 = event['args']['token1'] - - # set the fee for the pair to prevFeePPM - idxs = [idx for idx, pool in enumerate(manager.pool_data) if pool['tkn0_address'] == token0 and pool['tkn1_address'] == token1 and pool['exchange_name'] == 'carbon_v1'] - for idx in idxs: - manager.pool_data[idx]['fee'] = f"{prevFeePPM}" - manager.pool_data[idx]['fee_float'] = prevFeePPM / 1e6 - - # set all other pools with a different fee than prevFeePPM - others = [i for i, pool in enumerate(manager.pool_data) if i not in idxs and pool['exchange_name'] == 'carbon_v1'] - for i in others: - manager.pool_data[i]['fee'] = f"{prevFeePPM-1}" - manager.pool_data[i]['fee_float'] = (prevFeePPM-1) / 1e6 - - manager.update_from_event(event) - - # check that the fee for the pair is now newFeePPM - for idx in idxs: - assert manager.pool_data[idx]['fee'] == f"{newFeePPM}" - assert manager.pool_data[idx]['fee_float'] == newFeePPM / 1e6 - - # check that all other pools have not been changed - for i in others: - assert manager.pool_data[i]['fee'] == f"{prevFeePPM-1}" - assert manager.pool_data[i]['fee_float'] == (prevFeePPM-1) / 1e6 - - # - - - # - - # \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_050_TestBancorV2.py b/fastlane_bot/tests/nbtest/test_050_TestBancorV2.py deleted file mode 100644 index d9adac411..000000000 --- a/fastlane_bot/tests/nbtest/test_050_TestBancorV2.py +++ /dev/null @@ -1,320 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_050_TestBancorV2.py` -# ------------------------------------------------------------ -# source file = NBTest_050_TestBancorV2.py -# test id = 050 -# test comment = TestBancorV2 -# ------------------------------------------------------------ - - - -""" -This module contains the tests for the exchanges classes -""" -from fastlane_bot import Bot, Config -from fastlane_bot.bot import CarbonBot -from fastlane_bot.tools.cpc import ConstantProductCurve -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.interface import QueryInterface -from fastlane_bot.helpers.poolandtokens import PoolAndTokens -from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper -from fastlane_bot.events.managers.manager import Manager -from fastlane_bot.events.interface import QueryInterface -from joblib import Parallel, delayed -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T -from dataclasses import dataclass, asdict, field -import pytest -import math -import json -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -from fastlane_bot.modes import triangle_single_bancor3 -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -C = cfg = Config.new(config=Config.CONFIG_MAINNET) -C.DEFAULT_MIN_PROFIT_BNT = 0.02 -C.DEFAULT_MIN_PROFIT = 0.02 -cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 -cfg.DEFAULT_MIN_PROFIT = 0.02 -assert (C.NETWORK == C.NETWORK_MAINNET) -assert (C.PROVIDER == C.PROVIDER_ALCHEMY) -setup_bot = CarbonBot(ConfigObj=C) -pools = None - -with open('fastlane_bot/data/tests/latest_pool_data_testing_bancor_v2.json') as f: - pools = json.load(f) -pools = [pool for pool in pools] -pools[0] -static_pools = pools -state = pools -exchanges = list({ex['exchange_name'] for ex in state}) -db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) -setup_bot.db = db - -static_pool_data_filename = "static_pool_data" - -static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) - -uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) - -tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) - -exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" - -exchanges = exchanges.split(",") - - -alchemy_max_block_fetch = 20 -static_pool_data["cid"] = [ - cfg.w3.keccak(text=f"{row['descr']}").hex() - for index, row in static_pool_data.iterrows() - ] -static_pool_data = [ - row for index, row in static_pool_data.iterrows() - if row["exchange_name"] in exchanges -] - -static_pool_data = pd.DataFrame(static_pool_data) -static_pool_data['exchange_name'].unique() -mgr = Manager( - web3=cfg.w3, - cfg=cfg, - pool_data=static_pool_data.to_dict(orient="records"), - SUPPORTED_EXCHANGES=exchanges, - alchemy_max_block_fetch=alchemy_max_block_fetch, - uniswap_v2_event_mappings=uniswap_v2_event_mappings, - tokens=tokens.to_dict(orient="records"), -) - -start_time = time.time() -Parallel(n_jobs=-1, backend="threading")( - delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data -) -cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") - -mgr.deduplicate_pool_data() -cids = [pool["cid"] for pool in mgr.pool_data] -assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" -def init_bot(mgr: Manager) -> CarbonBot: - """ - Initializes the bot. - - Parameters - ---------- - mgr : Manager - The manager object. - - Returns - ------- - CarbonBot - The bot object. - """ - mgr.cfg.logger.info("Initializing the bot...") - bot = CarbonBot(ConfigObj=mgr.cfg) - bot.db = db - bot.db.mgr = mgr - assert isinstance( - bot.db, QueryInterface - ), "QueryInterface not initialized correctly" - return bot -bot = init_bot(mgr) -bot.db.handle_token_key_cleanup() -bot.db.remove_unmapped_uniswap_v2_pools() -bot.db.remove_zero_liquidity_pools() -bot.db.remove_unsupported_exchanges() -tokens = bot.db.get_tokens() -ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} -flashloan_tokens = bot.setup_flashloan_tokens(None) -CCm = bot.setup_CCm(None) -pools = db.get_pool_data_with_tokens() - -arb_mode = "multi" - - -# ------------------------------------------------------------ -# Test 050 -# File test_050_TestBancorV2.py -# Segment Test_MIN_PROFIT -# ------------------------------------------------------------ -def test_test_min_profit(): -# ------------------------------------------------------------ - - assert(cfg.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" - assert(C.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" - - -# ------------------------------------------------------------ -# Test 050 -# File test_050_TestBancorV2.py -# Segment Test_Combos_and_Tokens -# ------------------------------------------------------------ -def test_test_combos_and_tokens(): -# ------------------------------------------------------------ - - arb_finder = bot._get_arb_finder("multi") - finder2 = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_TOKENS, - ConfigObj=bot.ConfigObj, - ) - all_tokens, combos = finder2.find_arbitrage() - assert len(all_tokens) == 971, f"[NBTest_50_TestBancorV2] Using wrong dataset, expected 971 tokens, found {len(all_tokens)}" - assert len(combos) == 5820, f"[NBTest_50_TestBancorV2] Using wrong dataset, expected 5820 tokens, found {len(combos)}" - - - -# ------------------------------------------------------------ -# Test 050 -# File test_050_TestBancorV2.py -# Segment Test_Expected_Output_BancorV2 -# ------------------------------------------------------------ -def test_test_expected_output_bancorv2(): -# ------------------------------------------------------------ - - # + - run_full = bot._run(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode=arb_mode, data_validator=False, result=bot.XS_ARBOPPS) - arb_finder = bot._get_arb_finder("multi") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - arb_with_bancor_v2 = [] - - for arb_opp in r: - pools = [] - for pool in arb_opp[2]: - pools += [curve for curve in CCm if curve.cid == pool['cid']] - for pool in pools: - if pool.params['exchange'] == "bancor_v2": - arb_with_bancor_v2.append(arb_opp) - - # get specific arb for tests - - test_arb = None - - test_cids = ['0x297f9a0e8d3f57de8c62a8fde0ff09193b934ff0ae906085526f0b97b90e188a', '3743106036130323098097120681749450326076-0', '3743106036130323098097120681749450326076-1'] - - for arb in arb_with_bancor_v2: - all_match = True - for pool in arb[2]: - if pool['cid'] not in test_cids: - all_match = False - - if all_match: - test_arb = arb - - ( - best_profit, - best_trade_instructions_df, - best_trade_instructions_dic, - best_src_token, - best_trade_instructions, - ) = test_arb - - # Order the trade instructions - ( - ordered_trade_instructions_dct, - tx_in_count, - ) = bot._simple_ordering_by_src_token( - best_trade_instructions_dic, best_src_token - ) - - # Scale the trade instructions - ordered_scaled_dcts = bot._basic_scaling( - ordered_trade_instructions_dct, best_src_token - ) - - # Convert the trade instructions - ordered_trade_instructions_objects = bot._convert_trade_instructions( - ordered_scaled_dcts - ) - - # Create the tx route handler - tx_route_handler = bot.TxRouteHandlerClass( - trade_instructions=ordered_trade_instructions_objects - ) - - # Aggregate the carbon trades - agg_trade_instructions = ( - tx_route_handler.aggregate_carbon_trades(ordered_trade_instructions_objects) - if bot._carbon_in_trade_route(ordered_trade_instructions_objects) - else ordered_trade_instructions_objects - ) - - # Calculate the trade instructions - calculated_trade_instructions = tx_route_handler.calculate_trade_outputs( - agg_trade_instructions - ) - - # Aggregate multiple Bancor V3 trades into a single trade - calculated_trade_instructions = tx_route_handler.aggregate_bancor_v3_trades( - calculated_trade_instructions - ) - - # Get the flashloan token - fl_token = fl_token_with_weth = calculated_trade_instructions[0].tknin_key - - # If the flashloan token is WETH, then use ETH - if fl_token == T.WETH: - fl_token = T.NATIVE_ETH - - best_profit = flashloan_tkn_profit = tx_route_handler.calculate_trade_profit(calculated_trade_instructions) - - # Use helper function to calculate profit - best_profit, flt_per_bnt, profit_usd = bot.calculate_profit( - CCm, best_profit, fl_token, fl_token_with_weth - ) - - # Check if the best profit is greater than the minimum profit - if best_profit < bot.ConfigObj.DEFAULT_MIN_PROFIT: - bot.ConfigObj.logger.info( - f"Opportunity with profit: {num_format(best_profit)} does not meet minimum profit: {self.ConfigObj.DEFAULT_MIN_PROFIT}, discarding." - ) - - # Get the flashloan amount and token address - flashloan_amount = int(calculated_trade_instructions[0].amtin_wei) - flashloan_token_address = bot.ConfigObj.w3.toChecksumAddress( - bot.db.get_token(key=fl_token).address - ) - - # Encode the trade instructions - encoded_trade_instructions = tx_route_handler.custom_data_encoder( - calculated_trade_instructions - ) - - # Get the deadline - deadline = bot._get_deadline(1) - - # Get the route struct - route_struct = [ - asdict(rs) - for rs in tx_route_handler.get_route_structs( - encoded_trade_instructions, deadline - ) - ] - assert arb_finder.__name__ == "FindArbitrageMultiPairwise", f"[NBTest_50_TestBancorV2] Expected arb_finder class name name = FindArbitrageMultiPairwise, found {arb_finder.__name__}" - assert len(r) == 41, f"[NBTest_50_TestBancorV2] Expected 41 arb opps, found {len(r)}" - assert len(arb_with_bancor_v2) == 4, f"[NBTest_50_TestBancorV2] Expected 4 arb opps with Bancor V2 pools, found {len(arb_with_bancor_v2)}" - assert encoded_trade_instructions[0].amtin * 10 ** 18 == flashloan_amount, f"[NBTest_50_TestBancorV2] First trade in should match flashloan amount" - assert route_struct[0]['customAddress'] == "0xb1CD6e4153B2a390Cf00A6556b0fC1458C4A5533" or route_struct[1]['customAddress'] == "0xb1CD6e4153B2a390Cf00A6556b0fC1458C4A5533", f"[NBTest_50_TestBancorV2] customAddress for Bancor V2.1 trade must be converter token address, expected: 0xb1CD6e4153B2a390Cf00A6556b0fC1458C4A5533 for one address, found: {route_struct[0]['customAddress']} and {route_struct[1]['customAddress']}" - # - - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_051_BalancerFlashloans.py b/fastlane_bot/tests/nbtest/test_051_BalancerFlashloans.py deleted file mode 100644 index 97ca2de8e..000000000 --- a/fastlane_bot/tests/nbtest/test_051_BalancerFlashloans.py +++ /dev/null @@ -1,367 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_051_BalancerFlashloans.py` -# ------------------------------------------------------------ -# source file = NBTest_051_BalancerFlashloans.py -# test id = 051 -# test comment = BalancerFlashloans -# ------------------------------------------------------------ - - - -""" -This module contains the tests for the exchanges classes -""" -from fastlane_bot import Bot, Config -from fastlane_bot.bot import CarbonBot -from fastlane_bot.tools.cpc import ConstantProductCurve -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.interface import QueryInterface -from fastlane_bot.helpers.poolandtokens import PoolAndTokens -from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper -from fastlane_bot.events.managers.manager import Manager -from fastlane_bot.events.interface import QueryInterface -from joblib import Parallel, delayed -from dataclasses import dataclass, asdict, field -import pytest -import math -import json -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -from fastlane_bot.modes import triangle_single_bancor3 -plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -C = cfg = Config.new(config=Config.CONFIG_MAINNET) -C.DEFAULT_MIN_PROFIT_BNT = 20 -C.DEFAULT_MIN_PROFIT = 20 -cfg.DEFAULT_MIN_PROFIT_BNT = 20 -cfg.DEFAULT_MIN_PROFIT = 20 -assert (C.NETWORK == C.NETWORK_MAINNET) -assert (C.PROVIDER == C.PROVIDER_ALCHEMY) -setup_bot = CarbonBot(ConfigObj=C) -pools = None - -with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: - pools = json.load(f) - - -pools = [pool for pool in pools] -pools[0] -static_pools = pools -state = pools -exchanges = list({ex['exchange_name'] for ex in state}) -db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) -setup_bot.db = db - -static_pool_data_filename = "static_pool_data" - -static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) - -uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) - -tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) - -exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" - -exchanges = exchanges.split(",") - - -alchemy_max_block_fetch = 20 -static_pool_data["cid"] = [ - cfg.w3.keccak(text=f"{row['descr']}").hex() - for index, row in static_pool_data.iterrows() - ] -static_pool_data = [ - row for index, row in static_pool_data.iterrows() - if row["exchange_name"] in exchanges -] - -static_pool_data = pd.DataFrame(static_pool_data) -static_pool_data['exchange_name'].unique() -mgr = Manager( - web3=cfg.w3, - cfg=cfg, - pool_data=static_pool_data.to_dict(orient="records"), - SUPPORTED_EXCHANGES=exchanges, - alchemy_max_block_fetch=alchemy_max_block_fetch, - uniswap_v2_event_mappings=uniswap_v2_event_mappings, - tokens=tokens.to_dict(orient="records"), -) - -start_time = time.time() -Parallel(n_jobs=-1, backend="threading")( - delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data -) -cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") - -mgr.deduplicate_pool_data() -cids = [pool["cid"] for pool in mgr.pool_data] -assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" -def init_bot(mgr: Manager) -> CarbonBot: - """ - Initializes the bot. - - Parameters - ---------- - mgr : Manager - The manager object. - - Returns - ------- - CarbonBot - The bot object. - """ - mgr.cfg.logger.info("Initializing the bot...") - bot = CarbonBot(ConfigObj=mgr.cfg) - bot.db = db - bot.db.mgr = mgr - assert isinstance( - bot.db, QueryInterface - ), "QueryInterface not initialized correctly" - return bot -bot = init_bot(mgr) -bot.db.handle_token_key_cleanup() -bot.db.remove_unmapped_uniswap_v2_pools() -bot.db.remove_zero_liquidity_pools() -bot.db.remove_unsupported_exchanges() -tokens = bot.db.get_tokens() -ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} -flashloan_tokens = bot.setup_flashloan_tokens(None) -CCm = bot.setup_CCm(None) -pools = db.get_pool_data_with_tokens() - -arb_mode = "multi_pairwise" - - -# ------------------------------------------------------------ -# Test 051 -# File test_051_BalancerFlashloans.py -# Segment Test_extract_flashloan_tokens -# ------------------------------------------------------------ -def test_test_extract_flashloan_tokens(): -# ------------------------------------------------------------ - - # + - ti1 = TradeInstruction( - cid='4083388403051261561560495289181218537544', - tknin='USDC-eB48', - amtin=5000, - tknout='WBTC-2c599', - amtout=1, - ConfigObj=cfg, - db = db, - tknin_dec_override = 6, - tknout_dec_override = 8, - tknin_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - tknout_addr_override = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', - exchange_override = 'bancor_v3' - ) - - ti2 = TradeInstruction( - cid='4083388403051261561560495289181218537544', - tknin='WBTC-2c599', - amtin=1, - tknout='USDC-eB48', - amtout=5005, - ConfigObj=cfg, - db = db, - tknout_dec_override = 8, - tknin_dec_override = 6, - tknout_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - tknin_addr_override = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', - exchange_override = 'carbon_v1' - ) - - ti3 = TradeInstruction( - cid='4083388403051261561560495289181218537544', - tknin='USDC-eB48', - amtin=5000, - tknout='WBTC-2c599', - amtout=1, - ConfigObj=cfg, - db = db, - tknin_dec_override = 6, - tknout_dec_override = 8, - tknin_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - tknout_addr_override = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', - exchange_override = 'bancor_v3' - ) - - ti4 = TradeInstruction( - cid='4083388403051261561560495289181218537544', - tknin='WBTC-2c599', - amtin=0.2, - tknout='USDC-eB48', - amtout=1000, - ConfigObj=cfg, - db = db, - tknout_dec_override = 8, - tknin_dec_override = 6, - tknout_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - tknin_addr_override = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', - exchange_override = 'carbon_v1' - ) - ti5 = TradeInstruction( - cid='4083388403051261561560495289181218537544', - tknin='WBTC-2c599', - amtin=0.3, - tknout='USDC-eB48', - amtout=2000, - ConfigObj=cfg, - db = db, - tknout_dec_override = 8, - tknin_dec_override = 6, - tknout_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - tknin_addr_override = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', - exchange_override = 'carbon_v1' - ) - - ti6 = TradeInstruction( - cid='4083388403051261561560495289181218537544', - tknin='WBTC-2c599', - amtin=0.5, - tknout='USDC-eB48', - amtout=3005, - ConfigObj=cfg, - db = db, - tknout_dec_override = 8, - tknin_dec_override = 6, - tknout_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - tknin_addr_override = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', - exchange_override = 'carbon_v1' - ) - - ti7 = TradeInstruction( - cid='4083388403051261561560495289181218537544', - tknin='USDT', - amtin=2000, - tknout='ETH-EEeE', - amtout=1.5, - ConfigObj=cfg, - db = db, - tknin_dec_override = 6, - tknout_dec_override = 18, - tknin_addr_override = '0xdAC17F958D2ee523a2206206994597C13D831ec7', - tknout_addr_override = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - exchange_override = 'bancor_v3' - ) - - ti8 = TradeInstruction( - cid='4083388403051261561560495289181218537544', - tknin='ETH-EEeE', - amtin=1.5, - tknout='USDT', - amtout=3005, - ConfigObj=cfg, - db = db, - tknout_dec_override = 18, - tknin_dec_override = 6, - tknout_addr_override = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - tknin_addr_override = '0xdAC17F958D2ee523a2206206994597C13D831ec7', - exchange_override = 'carbon_v1' - ) - - ti9 = TradeInstruction( - cid='4083388403051261561560495289181218537544', - tknin='ETH-EEeE', - amtin=5, - tknout='USDC', - amtout=10000, - ConfigObj=cfg, - db = db, - tknin_dec_override = 18, - tknout_dec_override = 6, - tknin_addr_override = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - tknout_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - exchange_override = 'bancor_v3' - ) - - ti10 = TradeInstruction( - cid='4083388403051261561560495289181218537544', - tknin='USDC', - amtin=10000, - tknout='ETH-EEeE', - amtout=5.7, - ConfigObj=cfg, - db = db, - tknout_dec_override = 6, - tknin_dec_override = 18, - tknout_addr_override = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - tknin_addr_override = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', - exchange_override = 'carbon_v1' - ) - - ti11 = TradeInstruction( - cid='4083388403051261561560495289181218537544', - tknin='BNT-FF1C', - amtin=50000, - tknout='USDC', - amtout=20000, - ConfigObj=cfg, - db = db, - tknin_dec_override = 18, - tknout_dec_override = 6, - tknin_addr_override = '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', - tknout_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - exchange_override = 'bancor_v3' - ) - - ti12 = TradeInstruction( - cid='4083388403051261561560495289181218537544', - tknin='USDC', - amtin=20000, - tknout='BNT-FF1C', - amtout=50115, - ConfigObj=cfg, - db = db, - tknout_dec_override = 6, - tknin_dec_override = 18, - tknout_addr_override = '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', - tknin_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - exchange_override = 'carbon_v1' - ) - instructions = [ti1, ti2] - instructions2 = [ti3, ti4, ti5, ti6, ti7, ti8] - instructions3 = [ti3, ti4, ti5, ti6, ti7, ti8, ti9, ti10, ti11, ti12] - - route_handler = TxRouteHandler(instructions) - route_handler2 = TxRouteHandler(instructions2) - route_handler3 = TxRouteHandler(instructions3) - - - flashloan_tokens = route_handler._extract_flashloan_tokens(instructions) - flashloan_tokens2 = route_handler._extract_flashloan_tokens(instructions2) - flashloan_tokens3 = route_handler._extract_flashloan_tokens(instructions3) - - - flashloan_struct = route_handler._get_flashloan_struct(instructions2) - flashloan_struct2 = route_handler._get_flashloan_struct(instructions3) - - - flash_struct3 = route_handler.generate_flashloan_struct(instructions3) - - assert len(flashloan_tokens2.keys()) == 2 - assert flashloan_tokens2['USDC-eB48']["flash_amt"] == 5000 - assert flashloan_tokens2['USDT']["flash_amt"] == 2000 - assert len(flash_struct3) == 4, f"[Advanced Routing NBTest044] wrong number of flash tokens length, expected 4, got {len(flash_struct3)}" - assert flash_struct3[0]['platformId'] == 2, f"[Balancer Flashloan Support [NBTest049]] wrong platformId, expected 2, got {flash_struct3[0]['platformId']}" - assert flash_struct3[1]['platformId'] == 2, f"[Balancer Flashloan Support [NBTest049]] wrong platformId, expected 2, got {flash_struct3[1]['platformId']}" - assert flash_struct3[3]['platformId'] == 7, f"[Balancer Flashloan Support [NBTest049]] wrong platformId, expected 7, got {flash_struct3[2]['platformId']}" - - for flashloan in flash_struct3: - assert len(flashloan['sourceTokens']) == len(flashloan['sourceAmounts']), f"[Balancer Flashloan Support [NBTest049]] number of source tokens does not match source amounts, tkns: {len(flashloan['sourceTokens'])} amts: {len(flashloan['sourceAmounts'])}" - # - - - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_051_CPCBalancer.py b/fastlane_bot/tests/nbtest/test_051_CPCBalancer.py deleted file mode 100644 index b485f7142..000000000 --- a/fastlane_bot/tests/nbtest/test_051_CPCBalancer.py +++ /dev/null @@ -1,661 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_051_CPCBalancer.py` -# ------------------------------------------------------------ -# source file = NBTest_051_CPCBalancer.py -# test id = 051 -# test comment = CPCBalancer -# ------------------------------------------------------------ - - - -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CurveBase -from fastlane_bot.testing import * - -from math import sqrt -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) - - - - -# ------------------------------------------------------------ -# Test 051 -# File test_051_CPCBalancer.py -# Segment pvec interface for CPC -# ------------------------------------------------------------ -def test_pvec_interface_for_cpc(): -# ------------------------------------------------------------ - - c0 = CPC.from_xy(100, 200) - assert c0.tknx == "TKNB" - assert c0.tkny == "TKNQ" - k0 = c0.invariant() - assert iseq(k0, sqrt(100*200)) - k1, k2 = c0.invariant(include_target=True) - assert iseq(k0, k1, k2) - - x,y,_ = c0.xyfromp_f(c0.p) - xvec = c0.xvecfrompvec_f({c0.tknx: c0.p, c0.tkny: 1} ) - assert iseq(x, 100) - assert iseq(y, 200) - assert iseq(xvec[c0.tknx], x) - assert iseq(xvec[c0.tkny], y) - assert iseq(c0.invariant(), c0.invariant(xvec)) - assert raises(c0.xvecfrompvec_f, {c0.tknx: c0.p} ).startswith("pvec must contain") - assert raises(c0.xvecfrompvec_f, {c0.tkny: 1} ).startswith("pvec must contain") - - p = 1.5*c0.p - x,y,_ = c0.xyfromp_f(p) - xvec = c0.xvecfrompvec_f({c0.tknx: p, c0.tkny: 1} ) - xvec2 = c0.xvecfrompvec_f({c0.tknx: 3*p, c0.tkny: 3} ) - xvec3 = c0.xvecfrompvec_f({c0.tknx: 3*p, c0.tkny: 3, "ETH": 15, "BTC": 300} ) - assert xvec == xvec2 - assert xvec == xvec3 - assert iseq(x, 81.64965809277261) - assert iseq(y, 244.9489742783178) - assert iseq(xvec[c0.tknx], x) - assert iseq(xvec[c0.tkny], y) - assert iseq(c0.invariant(), c0.invariant(xvec)) - - dx,dy,_ = c0.dxdyfromp_f(c0.p) - dxvec = c0.dxvecfrompvec_f({c0.tknx: c0.p, c0.tkny: 1} ) - assert abs(dx)<1e-10 - assert abs(dy)<1e-10 - assert iseq(dxvec[c0.tknx], dx) - assert iseq(dxvec[c0.tkny], dy) - assert raises(c0.dxvecfrompvec_f, {c0.tknx: c0.p} ).startswith("pvec must contain") - assert raises(c0.dxvecfrompvec_f, {c0.tkny: 1} ).startswith("pvec must contain") - - p = 1.5*c0.p - dx,dy,_ = c0.dxdyfromp_f(p) - dxvec = c0.dxvecfrompvec_f({c0.tknx: p, c0.tkny: 1} ) - dxvec2 = c0.dxvecfrompvec_f({c0.tknx: 3*p, c0.tkny: 3} ) - dxvec3 = c0.dxvecfrompvec_f({c0.tknx: 3*p, c0.tkny: 3, "ETH": 15, "BTC": 300} ) - assert dxvec == dxvec2 - assert dxvec == dxvec3 - assert iseq(dx, -18.35034190722739) - assert iseq(dy, 44.94897427831779) - assert iseq(dxvec[c0.tknx], dx) - assert iseq(dxvec[c0.tkny], dy) - - - -# ------------------------------------------------------------ -# Test 051 -# File test_051_CPCBalancer.py -# Segment CurveBase -# ------------------------------------------------------------ -def test_curvebase(): -# ------------------------------------------------------------ - - # Checking that `CurveBase` can only instantiate with all functions defined - - # + - class CB1(CurveBase): - pass - - class CB2(CurveBase): - def dxvecfrompvec_f(self, pvec, *, ignorebounds=False): - pass - - class CB3(CurveBase): - def xvecfrompvec_f(self, pvec, *, ignorebounds=False): - pass - - class CB4(CurveBase): - def xvecfrompvec_f(self, pvec, *, ignorebounds=False): - pass - def dxvecfrompvec_f(self, pvec, *, ignorebounds=False): - pass - def invariant(self, xvec=None, *, include_target=False): - pass - - assert raises(CB1).startswith("Can't instantiate abstract class") - assert raises(CB2).startswith("Can't instantiate abstract class") - assert raises(CB3).startswith("Can't instantiate abstract class") - assert not raises(CB4) - # - - - assert isinstance(CPC.from_xy(100, 200), CurveBase) - - -# ------------------------------------------------------------ -# Test 051 -# File test_051_CPCBalancer.py -# Segment Constant product constructor -# ------------------------------------------------------------ -def test_constant_product_constructor(): -# ------------------------------------------------------------ - - c0 = CPC.from_xy(100, 200) - assert c0.x == 100 - assert c0.y == 200 - assert c0.k == 20000 - assert c0.x == c0.x_act - assert c0.y == c0.y_act - assert c0.alpha == 0.5 - assert c0.eta == 1 - assert c0.constr == "xy" - assert c0.is_constant_product() == True - c0 - - assert c0.asdict() == { - 'k': 20000, - 'x': 100, - 'x_act': 100, - 'y_act': 200.0, - 'alpha': 0.5, - 'pair': 'TKNB/TKNQ', - 'cid': 'None', - 'fee': None, - 'descr': None, - 'constr': 'xy', - 'params': {} - } - - c1 = CPC.from_xyal(100, 200) - assert c1.constr == "xyal" - assert c1.is_constant_product() == True - assert c1==c0 - c1 - - assert c1.asdict() == { - 'k': 20000, - 'x': 100, - 'x_act': 100, - 'y_act': 200.0, - 'alpha': 0.5, - 'pair': 'TKNB/TKNQ', - 'cid': 'None', - 'fee': None, - 'descr': None, - 'constr': 'xyal', - 'params': {} - } - - c2 = CPC.from_xyal(100, 200, alpha=0.5) - assert c2.constr == "xyal" - assert c2.is_constant_product() == True - assert c2==c0 - assert c2.asdict() == c1.asdict() - c2 - - c3 = CPC.from_xyal(100, 200, eta=1) - assert c3.constr == "xyal" - assert c3.is_constant_product() == True - assert c3==c0 - assert c3.asdict() == c1.asdict() - c3 - - assert raises(CPC.from_xyal, 100, 200, - alpha=0.5, eta=1) == 'at most one of alpha and eta must be given [0.5, 1]' - - -# ------------------------------------------------------------ -# Test 051 -# File test_051_CPCBalancer.py -# Segment Weighted constructor -# ------------------------------------------------------------ -def test_weighted_constructor(): -# ------------------------------------------------------------ - - c0 = CPC.from_xy(100, 200) - assert c0.x == 100 - assert c0.y == 200 - assert c0.k == 20000 - assert c0.x == c0.x_act - assert c0.y == c0.y_act - assert c0.alpha == 0.5 - assert c0.eta == 1 - assert c0.constr == "xy" - assert iseq(c0.invariant(), c0.kbar) - assert c0.is_constant_product() == True - c0 - - - - c1 = CPC.from_xyal(100, 200) - assert c1.constr == "xyal" - assert c1.is_constant_product() == True - assert c1 == c0 - assert c1.asdict()["alpha"] == 0.5 - assert iseq(c1.invariant(), c1.kbar) - c1 - - c2 = CPC.from_xyal(100, 200, alpha=0.25) - assert c2.constr == "xyal" - assert c2.is_constant_product() == False - assert c2.alpha == 0.25 - assert c2.asdict()["alpha"] == 0.25 - assert iseq(c2.eta, 0.25/0.75) - assert iseq(c2.invariant(), c2.kbar) - assert c2 != c0 - assert c2 != c1 - c2 - - c3 = CPC.from_xyal(100, 200, alpha=0.8) - assert c3.constr == "xyal" - assert c3.is_constant_product() == False - assert iseq(c3.alpha, 0.8) - assert c3.asdict()["alpha"] == 0.8 - assert iseq(c3.eta, 0.8/0.2) - assert iseq(c3.invariant(), c3.kbar) - assert c3 != c0 - assert c3 != c1 - assert c3 != c2 - c2 - - c3b = CPC.fromdict(c3.asdict()) - assert c3b == c3 - c3b - - assert raises(CPC.from_xyal,100, 200, alpha=0) == 'alpha must be > 0 [0]' - assert raises(CPC.from_xyal,100, 200, alpha=-1) == 'alpha must be > 0 [-1]' - assert raises(CPC.from_xyal,100, 200, alpha=1) == 'alpha must be < 1 [1]' - assert raises(CPC.from_xyal,100, 200, alpha=2) == 'alpha must be < 1 [2]' - - raises(CPC.from_xyal,100, 200, alpha=0) - - assert not raises(CPC.from_xyal,100, 200, alpha=1-1e-10) - assert not raises(CPC.from_xyal,100, 200, alpha=0.01) - - raises(CPC.from_xyal,100, 200, alpha=0.001) - - -# ------------------------------------------------------------ -# Test 051 -# File test_051_CPCBalancer.py -# Segment High level testing of all functions -# ------------------------------------------------------------ -def test_high_level_testing_of_all_functions(): -# ------------------------------------------------------------ - # - # (including not YET implemented) - - c0 = CPC.from_xyal(100, 200) - assert c0.is_constant_product() == True - c0 - - c1 = CPC.from_xyal(100, 200, alpha=0.25) - assert c1.is_constant_product() == False - c1 - - # #### Not (yet) implemented functions - # - # Those function groups are not currently planned to be implemented at all - # - # - `execute` as there is no need to simulate those curves for the time being; that was a Carbon thing - # - # The functions we may implement at a later stage are - # - # - `description` should probably be updated, but it is tedious; `format` ditto - # - `x_max`, `x_min`, `p_max`, `p_min` and the other leverage functions once we consider it important and safe - - # execute - - assert not raises(c0.execute) - assert raises(c1.execute).startswith("only implemented for") - - # description and format - - assert not raises(c0.description) - assert raises(c1.description).startswith("only implemented for") - - assert not raises(c0.format) - assert raises(c1.format).startswith("only implemented for") - - # leverage related functions (primary) - - assert not raises(lambda: c0.p_max) - assert raises(lambda: c1.p_max).startswith("only implemented for") - - assert not raises(lambda: c0.p_min) - assert raises(lambda: c1.p_min).startswith("only implemented for") - - assert not raises(lambda: c0.x_min) - assert raises(lambda: c1.x_min).startswith("only implemented for") - - assert not raises(lambda: c0.x_max) - assert raises(lambda: c1.x_max).startswith("only implemented for") - - assert not raises(lambda: c0.y_min) - assert raises(lambda: c1.y_min).startswith("only implemented for") - - assert not raises(lambda: c0.y_max) - assert raises(lambda: c1.y_max).startswith("only implemented for") - - # leverage related functions (secondary, ie calling primary ones) - - assert not raises(c0.p_max_primary) - assert raises(c1.p_max_primary).startswith("only implemented for") - - assert not raises(c0.p_min_primary) - assert raises(c1.p_min_primary).startswith("only implemented for") - - assert not raises(lambda: c0.at_xmin) - assert raises(lambda: c1.at_xmin).startswith("only implemented for") - - assert not raises(lambda: c0.at_xmax) - assert raises(lambda: c1.at_xmax).startswith("only implemented for") - - assert not raises(lambda: c0.at_ymin) - assert raises(lambda: c1.at_ymin).startswith("only implemented for") - - assert not raises(lambda: c0.at_ymax) - assert raises(lambda: c1.at_ymax).startswith("only implemented for") - - assert not raises(lambda: c0.at_boundary) - assert raises(lambda: c1.at_boundary).startswith("only implemented for") - - # todo - - assert not raises(c0.xyfromp_f) - assert raises(c1.xyfromp_f).startswith("only implemented for") - - assert not raises(c0.dxdyfromp_f) - assert raises(c1.dxdyfromp_f).startswith("only implemented for") - - # #### Implemented functions - - assert not raises(lambda: c0.y) - assert not raises(lambda: c1.y) - - assert not raises(lambda: c0.p) - assert not raises(lambda: c1.p) - - assert not raises(lambda: c0.kbar) - assert not raises(lambda: c1.kbar) - - assert not raises(c0.tvl) - assert not raises(c1.tvl) - - assert not raises(c0.yfromx_f, 110) - assert not raises(c1.yfromx_f, 110, ignorebounds=True) - assert raises(c1.yfromx_f, 110, ignorebounds=False) - - assert not raises(c0.xfromy_f, 210) - assert not raises(c1.xfromy_f, 110, ignorebounds=True) - assert raises(c1.xfromy_f, 110, ignorebounds=False) - - assert not raises(c0.dyfromdx_f, 1) - assert not raises(c1.dyfromdx_f, 1, ignorebounds=True) - assert raises(c1.dyfromdx_f, 1, ignorebounds=False) - - assert not raises(c0.dxfromdy_f, 1) - assert not raises(c1.dxfromdy_f, 1, ignorebounds=True) - assert raises(c1.dxfromdy_f, 1, ignorebounds=False) - - -# ------------------------------------------------------------ -# Test 051 -# File test_051_CPCBalancer.py -# Segment Simple Tests -# ------------------------------------------------------------ -def test_simple_tests(): -# ------------------------------------------------------------ - - c0 = CPC.from_xyal(100, 200) - c1 = CPC.from_xyal(100, 200, eta=2) - c2 = CPC.from_xyal(100, 200, eta=0.5) - - assert iseq(c0.alpha, 1/2) - assert iseq(c1.alpha, 2/3) - assert iseq(c2.alpha, 1/3) - - # #### Current token balance $y$ - # - # $$ - # y = \left( \frac k x \right)^\eta - # $$ - - assert iseq(c0.y, 200) - assert iseq(c1.y, 200) - assert iseq(c2.y, 200) - - # #### Current price $p$ - # - # $$ - # p = \eta\, \frac y x - # $$ - - assert iseq(c0.p, 2 * c0.eta) - assert iseq(c1.p, 2 * c1.eta) - assert iseq(c2.p, 2 * c2.eta) - - # #### TVL - # - # $$ - # \mathrm{TVL} = x_a*p + y_a - # $$ - - assert c0.x == c0.x_act - assert c0.y == c0.y_act - assert c1.x == c1.x_act - assert c1.y == c1.y_act - assert c2.x == c2.x_act - assert c2.y == c2.y_act - - assert iseq(c0.tvl(), 100 * c0.p + 200) - assert iseq(c1.tvl(), 100 * c1.p + 200) - assert iseq(c2.tvl(), 100 * c2.p + 200) - - # #### Pool constant $k$ - # - # $$ - # k^\alpha = x^\alpha\, y^{1-\alpha} - # $$ - # - # $$ - # k = x\,y^\frac{1-\alpha}{\alpha} = x\,y^{\frac 1 \eta} - # $$ - # - - assert iseq(c0.k**(1/2), c0.x**(1/2) * c0.y**(1/2)) - assert iseq(c1.k**(2/3), c1.x**(2/3) * c1.y**(1/3)) - assert iseq(c2.k**(1/3), c1.x**(1/3) * c1.y**(2/3)) - - # #### Pool constant $\bar k$ - # - # $$ - # x^\alpha\, y^{1-\alpha} = \bar k = k^\alpha - # $$ - - assert iseq(c0.kbar, c0.x**(1/2) * c0.y**(1/2)) - assert iseq(c1.kbar, c1.x**(2/3) * c1.y**(1/3)) - assert iseq(c2.kbar, c1.x**(1/3) * c1.y**(2/3)) - - assert iseq(c0.kbar, c0.k**c0.alpha) - assert iseq(c1.kbar, c1.k**c1.alpha) - assert iseq(c2.kbar, c2.k**c2.alpha) - - # #### Token balance function $y(x)$ - # - # $$ - # y(x) = \left( \frac k x \right)^\eta - # $$ - - assert c0.eta == 1 - assert iseq(c0.yfromx_f(100, ignorebounds=True), 200) - assert iseq(c0.yfromx_f( 50, ignorebounds=True), 400) - assert iseq(c0.yfromx_f(200, ignorebounds=True), 100) - - assert iseq(c1.eta, 2) - assert iseq(c1.yfromx_f(100, ignorebounds=True), 200) - assert iseq(c1.yfromx_f( 50, ignorebounds=True), 200*2**2) - assert iseq(c1.yfromx_f(200, ignorebounds=True), 200/2**2) - - assert iseq(c2.eta, 1/2) - assert iseq(c2.yfromx_f(100, ignorebounds=True), 200) - assert iseq(c2.yfromx_f( 50, ignorebounds=True), 200*sqrt(2)) - assert iseq(c2.yfromx_f(200, ignorebounds=True), 200/sqrt(2)) - - # #### Token balance function $x(y)$ - # - # $$ - # x(y) - # = \frac{k}{ y^{\frac{1-\alpha}{\alpha}} } - # = \frac{k}{ y^{\frac{1}{\eta}} } - # $$ - - assert c0.eta == 1 - assert iseq(c0.xfromy_f(200, ignorebounds=True), 100) - assert iseq(c0.xfromy_f(100, ignorebounds=True), 200) - assert iseq(c0.xfromy_f(400, ignorebounds=True), 50) - - assert iseq(c1.eta, 2) - assert iseq(c1.xfromy_f(200, ignorebounds=True), 100) - assert iseq(c1.xfromy_f(100, ignorebounds=True), 100*2**0.5) - assert iseq(c1.xfromy_f(400, ignorebounds=True), 100/2**0.5) - - assert iseq(c2.eta, 1/2) - assert iseq(c2.xfromy_f(200, ignorebounds=True), 100) - assert iseq(c2.xfromy_f(100, ignorebounds=True), 100*2**2) - assert iseq(c2.xfromy_f(400, ignorebounds=True), 100/2**2) - - # #### Price response function $(x(p), y(p))$ - # - # $$ - # x(p) - # = - # \left(\frac \eta p\right)^{1-\alpha} k^\alpha - # $$ - # - # $$ - # y(p) = \left( \frac{kp}{\eta} \right)^\alpha - # $$ - - assert iseq(c0.xyfromp_f(c0.p, ignorebounds=True)[0], c0.x) - assert iseq(c1.xyfromp_f(c1.p, ignorebounds=True)[0], c1.x) - assert iseq(c2.xyfromp_f(c2.p, ignorebounds=True)[0], c2.x) - - assert iseq(c0.xyfromp_f(c0.p, ignorebounds=True)[1], c0.y) - assert iseq(c1.xyfromp_f(c1.p, ignorebounds=True)[1], c1.y) - assert iseq(c2.xyfromp_f(c2.p, ignorebounds=True)[1], c2.y) - - for ci in [c0, c1, c2]: - for p in [2, 1, 4]: - eta_over_p = ci.eta / p - x = eta_over_p ** (1-ci.alpha) * ci.kbar - y = 1/eta_over_p**ci.alpha * ci.kbar - xx, yy, pp = ci.xyfromp_f (p, ignorebounds=True) - dx, dy, _ = ci.dxdyfromp_f(p, ignorebounds=True) - assert iseq(x, xx) - assert iseq(y, yy) - assert iseq(p, pp) - assert iseq(dx, xx-ci.x) - assert iseq(dy, yy-ci.y) - - -# ------------------------------------------------------------ -# Test 051 -# File test_051_CPCBalancer.py -# Segment Consistency tests -# ------------------------------------------------------------ -def test_consistency_tests(): -# ------------------------------------------------------------ - - c0 = CPC.from_xyal(100, 200) - c1 = CPC.from_xyal(100, 200, eta=2) - c2 = CPC.from_xyal(100, 200, eta=0.5) - cc = [c0, c1, c2] - - assert iseq(c0.alpha, 1/2) - assert iseq(c1.alpha, 2/3) - assert iseq(c2.alpha, 1/3) - - # ### Assert inversions - # - # $$ - # y(x(y)) = y - # $$ - # - # and vice versa - - for xy in np.logspace(1, 3, 100): - for ci in cc: - #print(f"xy={xy}, eta={ci.eta}") - assert iseq(ci.yfromx_f(ci.xfromy_f(xy, ignorebounds=True), ignorebounds=True), xy) - assert iseq(ci.xfromy_f(ci.yfromx_f(xy, ignorebounds=True), ignorebounds=True), xy) - - # ### Assert that prices are correct - # - # $$ - # p \simeq -\frac{\Delta y}{\Delta x} - # $$ - - for alpha in np.linspace(0.01, 0.99, 100): - ci = CPC.from_xyal(100, 200, alpha=alpha) - dy = ci.yfromx_f(ci.x+0.1, ignorebounds=True)-ci.yfromx_f(ci.x-0.1, ignorebounds=True) - assert iseq(dy/0.2, -ci.p, eps=1e-2), f"error: {dy/0.2/ci.p+1}" - - # ### Check `dyfromdx_f` against `yfromx_f` - - for dxy in np.linspace(0.1, 99, 100): - for ci in cc: - assert iseq(ci.dyfromdx_f(dxy, ignorebounds=True), - (ci.yfromx_f(ci.x+dxy, ignorebounds=True)-ci.y)) - assert iseq(ci.dxfromdy_f(dxy, ignorebounds=True), - (ci.xfromy_f(ci.y+dxy, ignorebounds=True)-ci.x)) - - -# ------------------------------------------------------------ -# Test 051 -# File test_051_CPCBalancer.py -# Segment Charts [NOTEST] -# ------------------------------------------------------------ -def notest_charts(): -# ------------------------------------------------------------ - - plt.style.use('seaborn-v0_8-dark') - plt.rcParams['figure.figsize'] = [12,6] # only picked up at second run (?!?) - - c0 = CPC.from_xyal(100, 200) - c1 = CPC.from_xyal(100, 200, eta=2) - c2 = CPC.from_xyal(100, 200, eta=0.5) - cc = [c0, c1, c2] - xvals = np.linspace(50,200) - pvals = np.linspace(1,4) - - for ci in cc: - plt.plot(xvals, [ci.yfromx_f(x, ignorebounds=True) for x in xvals], label=f"eta={ci.eta:0.2f}") - plt.grid() - plt.legend() - plt.title("Indifference curve token balance y vs token balance x at different weights") - plt.xlabel("Token balance x [native units]") - plt.ylabel("Token balance y [native units]") - plt.show() - - for ci in cc: - plt.plot( - xvals, - [ - -(ci.yfromx_f(x+0.1, ignorebounds=True) - ci.yfromx_f(x-0.1, ignorebounds=True))/0.2 - for x in xvals - - ], - label=f"eta={ci.eta:0.2f}") - plt.grid() - plt.legend() - plt.title("Price vs token balance x at different weights") - plt.xlabel("Token balance x [native units]") - plt.ylabel("Price [dy/dx]") - plt.show() - - for ci in cc: - plt.plot( - pvals, - [ - ci.xyfromp_f(p, ignorebounds=True)[1] - for p in pvals - - ], - label=f"eta={ci.eta:0.2f}") - plt.grid() - plt.legend() - plt.title("Token balance y vs price at different weights") - plt.xlabel("Price [dy/dx]") - plt.ylabel("Token balance y [native units]") - plt.show() - - - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_053_TknMaxTrade.py b/fastlane_bot/tests/nbtest/test_053_TknMaxTrade.py deleted file mode 100644 index 5bd148b52..000000000 --- a/fastlane_bot/tests/nbtest/test_053_TknMaxTrade.py +++ /dev/null @@ -1,131 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_053_TknMaxTrade.py` -# ------------------------------------------------------------ -# source file = NBTest_053_TknMaxTrade.py -# test id = 053 -# test comment = TknMaxTrade -# ------------------------------------------------------------ - - - -""" -This module contains the tests for the exchanges classes -""" -from fastlane_bot import Bot, Config -from fastlane_bot.bot import CarbonBot -from fastlane_bot.tools.cpc import ConstantProductCurve -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.interface import QueryInterface -from fastlane_bot.helpers.poolandtokens import PoolAndTokens -from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper -from fastlane_bot.events.managers.manager import Manager -from fastlane_bot.events.interface import QueryInterface -from fastlane_bot.helpers.routehandler import RouteStruct, maximize_last_trade_per_tkn -from joblib import Parallel, delayed -from dataclasses import dataclass, asdict, field -import pytest -import math -import json -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -from fastlane_bot.modes import triangle_single_bancor3 -plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - - -# ------------------------------------------------------------ -# Test 053 -# File test_053_TknMaxTrade.py -# Segment Test_use_0_for_sourceAmount -# ------------------------------------------------------------ -def test_test_use_0_for_sourceamount(): -# ------------------------------------------------------------ - - # + - - - ti1 = RouteStruct( - platformId=8, - sourceToken="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", - targetToken="0x6b175474e89094c44da98b954eedeac495271d0f", - sourceAmount=62211456000000000000, - minTargetAmount=99890009252976620728523, - deadline=1702409775, - customAddress="0x6b175474e89094c44da98b954eedeac495271d0f", - customInt=0, - customData="0x" - ) - - ti2 = RouteStruct(platformId=4, - sourceToken="0x6b175474e89094c44da98b954eedeac495271d0f", - targetToken="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", - sourceAmount=99890009252976620728523, - minTargetAmount=62256092760867779024, - deadline=1702409775, - customAddress="0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - customInt=3000, - customData="0x") - - - ti3 = RouteStruct( - platformId=8, - sourceToken="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", - targetToken="0x6b175474e89094c44da98b954eedeac495271d0f", - sourceAmount=62211456000000000000, - minTargetAmount=99890009252976620728523, - deadline=1702409775, - customAddress="0x6b175474e89094c44da98b954eedeac495271d0f", - customInt=0, - customData="0x" - ) - ti4 = RouteStruct( - platformId=8, - sourceToken="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", - targetToken="0x6b175474e89094c44da98b954eedeac495271d0f", - sourceAmount=62211456000000000000, - minTargetAmount=99890009252976620728523, - deadline=1702409775, - customAddress="0x6b175474e89094c44da98b954eedeac495271d0f", - customInt=0, - customData="0x" - ) - - ti5 = RouteStruct(platformId=4, - sourceToken="0x6b175474e89094c44da98b954eedeac495271d0f", - targetToken="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", - sourceAmount=99890009252976620728523, - minTargetAmount=62256092760867779024, - deadline=1702409775, - customAddress="0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - customInt=3000, - customData="0x") - - instructions = [ti1, ti2] - instructions2 = [asdict(ti3), asdict(ti4), asdict(ti5)] - - max_trade_route_struct = maximize_last_trade_per_tkn(instructions) - max_trade_route_struct2 = maximize_last_trade_per_tkn(instructions2) - - assert max_trade_route_struct[0].sourceAmount == 0, f"[NBTest_053] sourceAmount expected 0, actual: {max_trade_route_struct[0].sourceAmount}" - assert max_trade_route_struct[1].sourceAmount == 0, f"[NBTest_053] sourceAmount expected 0, actual: {max_trade_route_struct[1].sourceAmount}" - assert max_trade_route_struct2[0]["sourceAmount"] == 62211456000000000000, f"[NBTest_053] sourceAmount expected 0, actual: {max_trade_route_struct2[0]['sourceAmount']}" - assert max_trade_route_struct2[1]["sourceAmount"] == 0, f"[NBTest_053] sourceAmount expected 0, actual: {max_trade_route_struct2[1]['sourceAmount']}" - assert max_trade_route_struct2[2]["sourceAmount"] == 0, f"[NBTest_053] sourceAmount expected 0, actual: {max_trade_route_struct2[2]['sourceAmount']}" - - # - - - - - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_054_TestAutoPoolShutdown.py b/fastlane_bot/tests/nbtest/test_054_TestAutoPoolShutdown.py deleted file mode 100644 index 24a0b66fe..000000000 --- a/fastlane_bot/tests/nbtest/test_054_TestAutoPoolShutdown.py +++ /dev/null @@ -1,199 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_054_TestAutoPoolShutdown.py` -# ------------------------------------------------------------ -# source file = NBTest_054_TestAutoPoolShutdown.py -# test id = 054 -# test comment = TestAutoPoolShutdown -# ------------------------------------------------------------ - - - -""" -This module contains the tests for the exchanges classes -""" -from fastlane_bot import Bot, Config -from fastlane_bot.bot import CarbonBot -from fastlane_bot.tools.cpc import ConstantProductCurve -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.interface import QueryInterface -from fastlane_bot.helpers.poolandtokens import PoolAndTokens -from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper -from fastlane_bot.events.managers.manager import Manager -from fastlane_bot.events.interface import QueryInterface -from fastlane_bot.tools.pool_shutdown import AutomaticPoolShutdown -from joblib import Parallel, delayed -import pytest -import math -import json -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -from fastlane_bot.modes import triangle_single_bancor3 -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -C = cfg = Config.new(config=Config.CONFIG_MAINNET) -C.DEFAULT_MIN_PROFIT_BNT = 0.02 -C.DEFAULT_MIN_PROFIT = 0.02 -cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 -cfg.DEFAULT_MIN_PROFIT = 0.02 -assert (C.NETWORK == C.NETWORK_MAINNET) -assert (C.PROVIDER == C.PROVIDER_ALCHEMY) -setup_bot = CarbonBot(ConfigObj=C) -pools = None -with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: - pools = json.load(f) -pools = [pool for pool in pools] -pools[0] -static_pools = pools -state = pools -exchanges = list({ex['exchange_name'] for ex in state}) -db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) -setup_bot.db = db - -static_pool_data_filename = "static_pool_data" - -static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) - -uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) - -tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) - -exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" - -exchanges = exchanges.split(",") - - -alchemy_max_block_fetch = 20 -static_pool_data["cid"] = [ - cfg.w3.keccak(text=f"{row['descr']}").hex() - for index, row in static_pool_data.iterrows() - ] -static_pool_data = [ - row for index, row in static_pool_data.iterrows() - if row["exchange_name"] in exchanges -] - -static_pool_data = pd.DataFrame(static_pool_data) -static_pool_data['exchange_name'].unique() -mgr = Manager( - web3=cfg.w3, - cfg=cfg, - pool_data=static_pool_data.to_dict(orient="records"), - SUPPORTED_EXCHANGES=exchanges, - alchemy_max_block_fetch=alchemy_max_block_fetch, - uniswap_v2_event_mappings=uniswap_v2_event_mappings, - tokens=tokens.to_dict(orient="records"), -) - -start_time = time.time() -Parallel(n_jobs=-1, backend="threading")( - delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data -) -cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") - -mgr.deduplicate_pool_data() -cids = [pool["cid"] for pool in mgr.pool_data] -assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" -def init_bot(mgr: Manager) -> CarbonBot: - """ - Initializes the bot. - - Parameters - ---------- - mgr : Manager - The manager object. - - Returns - ------- - CarbonBot - The bot object. - """ - mgr.cfg.logger.info("Initializing the bot...") - bot = CarbonBot(ConfigObj=mgr.cfg) - bot.db = db - bot.db.mgr = mgr - assert isinstance( - bot.db, QueryInterface - ), "QueryInterface not initialized correctly" - return bot - - - -pool_shutdown = AutomaticPoolShutdown(mgr=mgr, polling_interval=12) - - -# ------------------------------------------------------------ -# Test 054 -# File test_054_TestAutoPoolShutdown.py -# Segment Test White List -# ------------------------------------------------------------ -def test_test_white_list(): -# ------------------------------------------------------------ - - assert len(pool_shutdown.shutdown_whitelist) > 0, f"[NB054 Automatic Shutdown] failed to retrieve pool whitelist" - - -# ------------------------------------------------------------ -# Test 054 -# File test_054_TestAutoPoolShutdown.py -# Segment Test parse_active_pools -# ------------------------------------------------------------ -def test_test_parse_active_pools(): -# ------------------------------------------------------------ - - # + - pool_shutdown.parse_active_pools() - - for pool in pool_shutdown.active_pools: - assert type(pool_shutdown.active_pools[pool]) == int - assert pool_shutdown.active_pools[pool] >= 0 - # - - - -# ------------------------------------------------------------ -# Test 054 -# File test_054_TestAutoPoolShutdown.py -# Segment Test iterate_active_pools -# ------------------------------------------------------------ -def test_test_iterate_active_pools(): -# ------------------------------------------------------------ - - # + - ETH = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" - pool_shutdown.active_pools = {} - pool_shutdown.active_pools[ETH] = 100000000000000000 - tkn = pool_shutdown.iterate_active_pools() - - assert tkn == ETH - # - - - -# ------------------------------------------------------------ -# Test 054 -# File test_054_TestAutoPoolShutdown.py -# Segment Test iterate_active_pools_two -# ------------------------------------------------------------ -def test_test_iterate_active_pools_two(): -# ------------------------------------------------------------ - - # + - ETH = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" - pool_shutdown.active_pools = {} - pool_shutdown.active_pools[ETH] = 100000000000000000000000 - tkn = pool_shutdown.iterate_active_pools() - - assert tkn == None - # - - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_055_Optimization.py b/fastlane_bot/tests/nbtest/test_055_Optimization.py deleted file mode 100644 index 77870edeb..000000000 --- a/fastlane_bot/tests/nbtest/test_055_Optimization.py +++ /dev/null @@ -1,458 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_055_Optimization.py` -# ------------------------------------------------------------ -# source file = NBTest_055_Optimization.py -# test id = 055 -# test comment = Optimization -# ------------------------------------------------------------ - - - -from fastlane_bot.tools.cpc import CPCContainer, ConstantProductCurve as CPC, CurveBase -from fastlane_bot.tools.optimizer import MargPOptimizer, PairOptimizer -from fastlane_bot.testing import * - -from math import sqrt -from copy import deepcopy -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCContainer)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MargPOptimizer)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(PairOptimizer)) - -plt.style.use('seaborn-v0_8-dark') -plt.rcParams['figure.figsize'] = [12,6] - - - -# - - -CURVES = [ - -{ - 'k': 6.157332844764952e+20, - 'x': 615733222.5892723, - 'x_act': 0, - 'y_act': 100000.0, - 'alpha': 0.5, - 'pair': 'WETH/DAI', # WETH-6Cc2/DAI-1d0F - 'cid': '0x33ed', - # 0x33ed451d5c7b7a76266b8cdfab030f6de8143fcfbdcd08dabeed0de8d684b4de - 'fee': 0.0, - 'descr': 'bancor_pol DAI-1d0F/ETH-EEeE 0.000', - 'constr': 'carb', - 'params': {'exchange': 'bancor_pol', - 'tknx_dec': 18, - 'tkny_dec': 18, - 'tknx_addr': '0x6B175474E89094C44Da98b954EedeAC495271d0F', - 'tkny_addr': '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - 'blocklud': 18121620, - 'y': 100000.0, - 'yint': 100000.0, - 'A': 0, - 'B': 40.29987368093254, - 'pa': 1624.0799811071013, - 'pb': 1624.0799811071013}}, - - { - 'k': 1147678924959.0112, - 'x': 42728400.31211105, - 'x_act': 7575.552803896368, - 'y_act': 8.665306719478394, - 'alpha': 0.5, - 'pair': 'DAI/WETH', # DAi-1d0F/WETH-6Cc2 - 'cid': '0xb1d8', - # 0xb1d8cd62f75016872495dae3e19d96e364767e7d674488392029d15cdbcd7b34', - 'fee': 0.0005, - 'descr': 'uniswap_v3 DAI-1d0F/WETH-6Cc2 500', - 'constr': 'pkpp', - 'params': {'exchange': 'uniswap_v3', - 'tknx_dec': 18, - 'tkny_dec': 18, - 'tknx_addr': '0x6B175474E89094C44Da98b954EedeAC495271d0F', - 'tkny_addr': '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', - 'blocklud': 18121789, - 'L': 1071297.7760450225}}, - - -{ - 'k': 1541847511355.546, - 'x': 49517090.33542573, - 'x_act': 99496.94394361228, - 'y_act': 30.763865271412214, - 'alpha': 0.5, - 'pair': 'DAI/WETH', # DAi-1d0F/WETH-6Cc2 - 'cid': '0xae2b', - # '0xae2b487dff467a33b88e5a4e6874f91ee212886979f673dd18d3e0396862112f', - 'fee': 0.003, - 'descr': 'uniswap_v3 DAI-1d0F/WETH-6Cc2 3000', - 'constr': 'pkpp', - 'params': {'exchange': 'uniswap_v3', - 'tknx_dec': 18, - 'tkny_dec': 18, - 'tknx_addr': '0x6B175474E89094C44Da98b954EedeAC495271d0F', - 'tkny_addr': '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', - 'blocklud': 18121689, - 'L': 1241711.5250151888}} -] -CC = CPCContainer.from_dicts(CURVES) - -PRICES = { - 'DAI': 0.0006286424878113893, - 'WETH': 1, -} -PRICE0 = PRICES["WETH"]/PRICES["DAI"] -PRICE0 - - -c0 = CC[0] - -xyp = c0.xyfromp_f(1592, withunits=True, ignorebounds=True) -CURVES0 = deepcopy(CURVES) -CURVES0[0]["x"] = xyp[0] -CC0 = CPCContainer.from_dicts(CURVES0) -xyp - -CC[0].p, CC0[0].p - - -CCul = CPCContainer([ - CPC.from_pk(p=1500, k=1500*100, pair="WETH/DAI", cid="c1500"), - CPC.from_pk(p=1600, k=1600*100, pair="WETH/DAI", cid="c1600") -]) - -cnorm = CPC.from_pk(p=PRICE0, k=PRICE0*c0.x, pair="WETH/DAI", cid="normalizer") -CCn = CPCContainer([c for c in CC]+[cnorm]) - -c0.x, c0.tknx - -#help(CPC) - - - -# ------------------------------------------------------------ -# Test 055 -# File test_055_Optimization.py -# Segment MargPOptimizer current -# ------------------------------------------------------------ -def test_margpoptimizer_current(): -# ------------------------------------------------------------ - # ### Setup - - # + - #help(MargPOptimizer) - # - - - - # ### Unlevered curves `CCul` - - Oul = MargPOptimizer(curves=CCul) - assert len(Oul.curves) == len(CCul) - - r = Oul.optimize("WETH") - assert r.error is None - assert r.method == "margp" - assert r.targettkn == "WETH" - assert r.tokens_t == ('DAI',) - assert r.dtokens["WETH"] < 0 - assert iseq(r.result, -0.005204267821271813) - assert iseq(r.p_optimal_t[0], 0.0006449934107164284) - assert iseq(r.dtokens_t[0], -4.737194103654474e-08) - r - - # the original curves are 1500 and 1600, so ~1550 is right in the middle - - assert iseq(1/r.p_optimal_t[0], 1550.4034357331604) - 1/r.p_optimal_t[0] - - # this process converged -- the aggregate change in DAI amount < 1e-5 - - assert abs(r.dtokens["DAI"] < 1e-5) - assert r.dtokens["WETH"] < 0 - assert iseq(r.dtokens["WETH"], -0.005204267821271813) - r.dtokens - - # there is some trading going on - - v = r.dxvecvalues(asdict=True) - assert iseq(v["c1500"]["DAI"], 249.9349296963901) - assert iseq(v["c1600"]["WETH"], 0.15868818867025603) - v - - # ### Normalized curves `CCn` - - On = MargPOptimizer(curves=CCn) - assert len(On.curves) == len(CC)+1 - - r = On.optimize("WETH") - assert r.error is None - assert r.method == "margp" - assert r.targettkn == "WETH" - assert r.tokens_t == ('DAI',) - assert r.dtokens["WETH"] < 0 - assert iseq(r.result, -1.244345098228223) - assert iseq(r.p_optimal_t[0], 0.00062745798800732) - assert iseq(r.dtokens_t[0], -1.9371509552001953e-06, eps=0.1) - # assert iseq(r.dtokens_t[0], -1.9371509552001953e-06, eps=0.01) # FAILS ON GITHUB - # assert iseq(r.dtokens_t[0], -1.9371509552001953e-06, eps=0.001) # FAILS ON GITHUB - # assert iseq(r.dtokens_t[0], -1.9371509552001953e-06, eps=0.0001) # FAILS ON GITHUB - r - - # the original curves are 1500 and 1600, so ~1550 is right in the middle - - assert iseq(1/r.p_optimal_t[0], 1593.7322005825413, eps=0.001) - 1/r.p_optimal_t[0] - - # this process converged -- the aggregate change in DAI amount < 1e-5 - - assert abs(r.dtokens["DAI"] < 1e-5) - assert r.dtokens["WETH"] < 0 - assert iseq(r.dtokens["WETH"], -1.244345098228223) - r.dtokens - - # there is some trading going on - - v = r.dxvecvalues(asdict=True) - v - - # ### Succeeding optimization process `CC0` [TODO] - # - # note: the parameters still don't allow for convergence! - - O0 = MargPOptimizer(curves=CC0) - assert len(O0.curves) == len(CC) - - r = O0.optimize("WETH") - assert r.error is None - assert r.method == "margp" - assert r.targettkn == "WETH" - assert r.tokens_t == ('DAI',) - assert iseq(r.result, -39.42917199089061) - assert iseq(r.p_optimal_t[0], 0.0006273686958774544) - assert iseq(r.dtokens_t[0], 62760.13561845571) - r - - r.dtokens - - r.dxvecvalues(asdict=True) - - # ### Failing optimization process `CC` - - O = MargPOptimizer(curves=CC) - assert len(O.curves) == len(CC) - - r = O.optimize("WETH") - assert r.error is None - assert r.method == "margp" - assert r.targettkn == "WETH" - assert r.tokens_t == ('DAI',) - assert iseq(r.result, 22.14415018604268) - assert iseq(r.p_optimal_t[0], 0.0006273686958774544) - assert iseq(r.dtokens_t[0], -37239.86438154429) - r - - # Here we show that the final price is not the same as the initial one, but also not totally crazy (this calculation has not converged but is stuck on a plateau) - - PRICES, r.p_optimal - - 1/r.p_optimal_t[0], PRICES["WETH"]/PRICES["DAI"] - - # The `result` is the amount of target token extracted. Note that this assumes that the algo has converged which it has not in this case. The `dtokens` property shows the _aggregate_ change in tokens, and it _should_ be zero for everything but the target token WETH which is not the case here. - - assert r.result == r.dtokens["WETH"] - r.result - - r.dtokens - - # `dxdyvalues` and `dxvecvalues` show the changes of the respective curves. For standard two-asset curves they are equivalent, just in a different format; for three+ asset curves only dxvecvalues is defined - - r.dxdyvalues(asdict=True) - - r.dxvecvalues(asdict=True) - - # This shows that the algorithm **has not converged** -- this number (the net flow of DAI; note that the target token here is WETH) should be zero! - - s_DAI = sum(x["DAI"] for x in r.dxvecvalues(asdict=True).values()) - assert iseq(s_DAI, r.dtokens["DAI"]) - s_DAI - - # This number is not expected to be zero as the profit is being extracted in WETH - - s_WETH = sum(x["WETH"] for x in r.dxvecvalues(asdict=True).values()) - assert iseq(s_WETH, r.dtokens["WETH"]) - s_WETH - - - -# ------------------------------------------------------------ -# Test 055 -# File test_055_Optimization.py -# Segment PairOptimizer vs MarpP -# ------------------------------------------------------------ -def test_pairoptimizer_vs_marpp(): -# ------------------------------------------------------------ - # ### Setup - - # ### Unlevered curves `CCul` - - Oul = PairOptimizer(curves=CCul) - Oul_mp = MargPOptimizer(curves=CCul) - assert len(Oul.curves) == len(CCul) - - # Unlevered curves converged nicely in the margp (gradient descent) optimizer, and they are converging nicely here; the results are very close together (better than 1e-5) - - r = Oul.optimize("WETH") - rmp = Oul_mp.optimize("WETH") - assert r.error is None - assert rmp.error is None - assert r.method == "margp-pair" - assert rmp.method == "margp" - assert r.targettkn == "WETH" - assert rmp.targettkn == "WETH" - assert r.tokens_t == ('DAI',) - assert rmp.tokens_t == ('DAI',) - assert r.dtokens["WETH"] < 0 - assert rmp.dtokens["WETH"] < 0 - assert iseq(r.p_optimal_t[0], 0.0006449934107144566) - assert iseq(rmp.p_optimal_t[0], 0.0006449934107164284) - assert r.result/rmp.result-1 < 1e-5 - r, rmp, r.result/rmp.result-1 - - # It is notable that the bisection algorithm is **six times slower** than the gradient descent - - r.time/rmp.time - - # the optimal price here is very very close: 1e-12 - - assert r.p_optimal_t[0]/rmp.p_optimal_t[0]-1 < 1e-8 - r.p_optimal_t[0]/rmp.p_optimal_t[0]-1 - - # Here we show that (a) the DAI transfer is de-minimis and close enough to zero, and more importantly, that (b) both our methods give essentially the same result as to how much ETH can be obtained from the arb - - assert r.dtokens["DAI"] < 1e-5 - assert rmp.dtokens["DAI"] < 1e-5 - assert r.dtokens["WETH"]/rmp.dtokens["WETH"]-1 < 1e-5 - r.dtokens, rmp.dtokens, r.dtokens["WETH"]/rmp.dtokens["WETH"]-1 - - # ### Normalized curves `CCn` - - On = PairOptimizer(curves=CCn) - On_mp = MargPOptimizer(curves=CCn) - assert len(On.curves) == len(CC)+1 - - r = On.optimize("WETH") - rmp = On_mp.optimize("WETH") - assert r.error is None - assert rmp.error is None - assert r.method == "margp-pair" - assert rmp.method == "margp" - assert r.targettkn == "WETH" - assert rmp.targettkn == "WETH" - assert r.tokens_t == ('DAI',) - assert rmp.tokens_t == ('DAI',) - assert r.dtokens["WETH"] < 0 - assert rmp.dtokens["WETH"] < 0 - assert iseq(r.p_optimal_t[0], 0.0006274579880072543) - assert iseq(rmp.p_optimal_t[0], 0.00062745798800732) - assert r.result/rmp.result-1 < 1e-5 - r, rmp, r.result/rmp.result-1 - - # ### Succeeding optimization process `CC0` [TODO] - - O0 = PairOptimizer(curves=CC0) - O0_mp = MargPOptimizer(curves=CC0) - assert len(O0.curves) == len(CC) # sic - - r = O0.optimize("WETH") - r - - # ### Optimization process `CC` (fails in full margp) - - O = PairOptimizer(curves=CC) - O_mp = MargPOptimizer(curves=CC) - assert len(O.curves) == len(CC) - - - r = O.optimize("WETH") - rmp = O_mp.optimize("WETH") - assert r.error is None - assert rmp.error is None - assert r.method == "margp-pair" - assert rmp.method == "margp" - assert r.targettkn == "WETH" - assert rmp.targettkn == "WETH" - assert r.tokens_t == ('DAI',) - assert rmp.tokens_t == ('DAI',) - assert r.dtokens["WETH"] < 0 - assert not rmp.dtokens["WETH"] < 0 # FAILS! - assert iseq(r.p_optimal_t[0], 0.0006157332379890538) - assert iseq(rmp.p_optimal_t[0], 0.0006273686958774544) - assert r.result/rmp.result-1 < 1e-5 - r, rmp, r.result/rmp.result-1 - - # This now converges fine (note as we see below we need an eps parameter of about 1e-10, and also not that we can't go much higher because in this case it gets stuck, probably because of float precision. - - r.dtokens, r.dtokens["WETH"]*PRICE0 - - # We see that accuracy at eps=1e-6 is not that great, but at 1e-10 it is very good; also it seems that by and large the runtime does not really depend on the precision parameter here, so we go for 1e-10 throughout [not you can't go for higher precision as it then never returns, probably because of float accuracy issues] - - r06 = O.optimize("WETH", params={"eps":1e-6}) - r08 = O.optimize("WETH", params={"eps":1e-8}) - r10 = O.optimize("WETH", params={"eps":1e-10}) - r06.dtokens, r08.dtokens, r10.dtokens - - [r10.time/r06.time, r08.time/r06.time] - - -# ------------------------------------------------------------ -# Test 055 -# File test_055_Optimization.py -# Segment MargPOptimizer new TODO -# ------------------------------------------------------------ -def test_margpoptimizer_new_todo(): -# ------------------------------------------------------------ - # - # this is still on the todo lost, but does not have high priority; the new margp optimizer will have a different convergence criterium [p ~ 0 rather than d log p ~ 0]. This will not help in terms of convergence on a plateau -- a gradient algorithm can not recover from f'(x) = 0 -- but it will allow identifying instances of non convergence. - # - # ### Setup - - pass - - # + - # Oul = PairOptimizer(curves=CCul) - # On = PairOptimizer(curves=CCn) - # O0 = PairOptimizer(curves=CC0) - # O = PairOptimizer(curves=CC) - # assert len(On.curves) == len(CC)+1 - # assert len(O0.curves) == len(CC) - # assert len(O.curves) == len(CC) - # - - - - # ### Unlevered curves `CCul` - - # ### Normalized curves `CCn` - - # ### Succeeding optimization process `CC0` [TODO] - - # ### Failing optimization process `CC` - - - -# ------------------------------------------------------------ -# Test 055 -# File test_055_Optimization.py -# Segment Charts [NOTEST] -# ------------------------------------------------------------ -def notest_charts(): -# ------------------------------------------------------------ - - CC.plot() - - CCul.plot() - - CC0.plot() - - CCn.plot() - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_900_OptimizerDetailedSlow.py b/fastlane_bot/tests/nbtest/test_900_OptimizerDetailedSlow.py deleted file mode 100644 index b1f290ccc..000000000 --- a/fastlane_bot/tests/nbtest/test_900_OptimizerDetailedSlow.py +++ /dev/null @@ -1,743 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_900_OptimizerDetailedSlow.py` -# ------------------------------------------------------------ -# source file = NBTest_900_OptimizerDetailedSlow.py -# test id = 900 -# test comment = OptimizerDetailedSlow -# ------------------------------------------------------------ - - - -#from fastlane_bot import Bot, Config, ConfigDB, ConfigNetwork, ConfigProvider -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair -from fastlane_bot.tools.analyzer import CPCAnalyzer -from fastlane_bot.tools.optimizer import PairOptimizer, MargPOptimizer, ConvexOptimizer -from fastlane_bot.tools.optimizer import OptimizerBase, CPCArbOptimizer -from fastlane_bot.tools.arbgraphs import ArbGraph -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCAnalyzer)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(OptimizerBase)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCArbOptimizer)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(PairOptimizer)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MargPOptimizer)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ConvexOptimizer)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ArbGraph)) -#print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -from fastlane_bot.testing import * -import itertools as it -import collections as cl -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -try: - CCm = CPCContainer.from_df(pd.read_csv("_data/NBTest_006.csv.gz")) -except: - CCm = CPCContainer.from_df(pd.read_csv("fastlane_bot/tests/nbtest/_data/NBTest_006.csv.gz")) - -CCu3 = CCm.byparams(exchange="uniswap_v3") -CCu2 = CCm.byparams(exchange="uniswap_v2") -CCs2 = CCm.byparams(exchange="sushiswap_v2") -CCc1 = CCm.byparams(exchange="carbon_v1") -tc_u3 = CCu3.token_count(asdict=True) -tc_u2 = CCu2.token_count(asdict=True) -tc_s2 = CCs2.token_count(asdict=True) -tc_c1 = CCc1.token_count(asdict=True) -CAm = CPCAnalyzer(CCm) -#CCm.asdf().to_csv("A011-test.csv.gz", compression = "gzip") - -CA = CAm -pairs0 = CA.CC.pairs(standardize=False) -pairs = CA.pairs() -pairsc = CA.pairsc() -tokens = CA.tokens() - - -# ------------------------------------------------------------ -# Test 900 -# File test_900_OptimizerDetailedSlow.py -# Segment Market structure analysis [NOTEST] -# ------------------------------------------------------------ -def notest_market_structure_analysis(): -# ------------------------------------------------------------ - - print(f"Total pairs: {len(pairs0):4}") - print(f"Primary pairs: {len(pairs):4}") - print(f"...carbon: {len(pairsc):4}") - print(f"Tokens: {len(CA.tokens()):4}") - print(f"Curves: {len(CCm):4}") - - CA.count_by_pairs() - - CA.count_by_pairs(minn=2) - - # ### All crosses - - CCx = CCm.bypairs( - CCm.filter_pairs(notin=f"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}") - ) - len(CCx), CCx.token_count()[:10] - - AGx=ArbGraph.from_cc(CCx) - AGx.plot(labels=False, node_size=50, node_color="#fcc")._ - - # ### Biggest crosses (HEX, UNI, ICHI, FRAX) - - CCx2 = CCx.bypairs( - CCx.filter_pairs(onein=f"{T.HEX}, {T.UNI}, {T.ICHI}, {T.FRAX}") - ) - ArbGraph.from_cc(CCx2).plot() - len(CCx2) - - # ### Carbon - - ArbGraph.from_cc(CCc1).plot()._ - - len(CCc1), len(CCc1.tokens()) - - CCc1.token_count() - - - len(CCc1.pairs()), CCc1.pairs() - - # ### Token subsets - - O = MargPOptimizer(CCm.bypairs( - CCm.filter_pairs(bothin=f"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}") - )) - r = O.margp_optimizer(f"{T.USDC}", params=dict(verbose=False, debug=False)) - r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("") - - # + - #r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("").to_excel("ti.xlsx") - # - - - ArbGraph.from_r(r).plot()._ - - # + - #O.CC.plot() - # - - - -# ------------------------------------------------------------ -# Test 900 -# File test_900_OptimizerDetailedSlow.py -# Segment ABC Tests -# ------------------------------------------------------------ -def test_abc_tests(): -# ------------------------------------------------------------ - - assert raises(OptimizerBase).startswith("Can't instantiate abstract class") - assert raises(OptimizerBase.OptimizerResult).startswith("Can't instantiate abstract class") - - assert raises(CPCArbOptimizer).startswith("Can't instantiate abstract class") - assert raises(CPCArbOptimizer.OptimizerResult).startswith("Can't instantiate abstract class") - - assert not raises(MargPOptimizer, CCm) - assert not raises(PairOptimizer, CCm) - assert not raises(ConvexOptimizer, CCm) - - assert MargPOptimizer(CCm).kind == "margp" - assert PairOptimizer(CCm).kind == "pair" - assert ConvexOptimizer(CCm).kind == "convex" - - CPCArbOptimizer.MargpOptimizerResult(None, time=0,errormsg="err", optimizer=None) - - -# ------------------------------------------------------------ -# Test 900 -# File test_900_OptimizerDetailedSlow.py -# Segment General and Specific Tests -# ------------------------------------------------------------ -def test_general_and_specific_tests(): -# ------------------------------------------------------------ - - CA = CAm - - # ### General tests - - # #### General data integrity (should ALWAYS hold) - - assert len(pairs0) > 2500 - assert len(pairs) > 2500 - assert len(pairs0) > len(pairs) - assert len(pairsc) > 10 - assert len(CCm.tokens()) > 2000 - assert len(CCm)>4000 - assert len(CCm.filter_pairs(onein=f"{T.ETH}")) > 1900 # ETH pairs - assert len(CCm.filter_pairs(onein=f"{T.USDC}")) > 300 # USDC pairs - assert len(CCm.filter_pairs(onein=f"{T.USDT}")) > 190 # USDT pairs - assert len(CCm.filter_pairs(onein=f"{T.DAI}")) > 50 # DAI pairs - assert len(CCm.filter_pairs(onein=f"{T.WBTC}")) > 30 # WBTC pairs - - xis0 = {c.cid: (c.x, c.y) for c in CCm if c.x==0} - yis0 = {c.cid: (c.x, c.y) for c in CCm if c.y==0} - assert len(xis0) == 0 # set loglevel debug to see removal of curves - assert len(yis0) == 0 - - # #### Data integrity - - assert len(CCm) == 4155 - assert len(CCu3) == 1411 - assert len(CCu2) == 2177 - assert len(CCs2) == 236 - assert len(CCm.tokens()) == 2233 - assert len(CCm.pairs()) == 2834 - assert len(CCm.pairs(standardize=False)) == 2864 - - - assert CA.pairs() == CCm.pairs(standardize=True) - assert CA.pairsc() == {c.pairo.primary for c in CCm if c.P("exchange")=="carbon_v1"} - assert CA.tokens() == CCm.tokens() - - # #### prices - - r1 = CCc1.prices(result=CCc1.PR_TUPLE) - r2 = CCc1.prices(result=CCc1.PR_TUPLE, primary=False) - r3 = CCc1.prices(result=CCc1.PR_TUPLE, primary=False, inclpair=False) - assert isinstance(r1, tuple) - assert isinstance(r2, tuple) - assert isinstance(r3, tuple) - assert len(r1) == len(r2) - assert len(r1) == len(r3) - assert len(r1[0]) == 3 - assert isinstance(r1[0][0], str) - assert isinstance(r1[0][1], float) - assert len(r1[0][2].split("/"))==2 - - r2[:2] - - r3[:2] - - r1a = CCc1.prices(result=CCc1.PR_DICT) - r2a = CCc1.prices(result=CCc1.PR_DICT, primary=False) - r3a = CCc1.prices(result=CCc1.PR_DICT, primary=False, inclpair=False) - assert isinstance(r1a, dict) - assert isinstance(r2a, dict) - assert isinstance(r3a, dict) - assert len(r1a) == len(r1) - assert len(r1a) == len(r2a) - assert len(r1a) == len(r3a) - assert list(r1a.keys()) == list(x[0] for x in r1) - assert r1a.keys() == r2a.keys() - assert r1a.keys() == r3a.keys() - assert set(len(x) for x in r1a.values()) == {2}, "all records must be of of length 2" - assert set(type(x[0]) for x in r1a.values()) == {float}, "all records must have first type float" - assert set(type(x[1]) for x in r1a.values()) == {str}, "all records must have second type str" - assert tuple(r3a.values()) == r3 - - df = CCc1.prices(result=CCc1.PR_DF, primary=False) - assert len(df) == len(r1) - assert tuple(df.index) == tuple(x[0] for x in r1) - assert tuple(df["price"]) == r3 - df - - # #### more prices - - CCt = CCm.bypairs(f"{T.USDC}/{T.ETH}") - - r = CCt.prices(result=CCt.PR_TUPLE) - assert isinstance(r, tuple) - assert len(r) == len(CCt) - assert r[0] == ('6c988ffdc9e74acd97ccfb16dd65c110', 1833.9007005259564, 'WETH-6Cc2/USDC-eB48') - assert CCt.prices() == CCt.prices(result=CCt.PR_DICT) - r = CCt.prices(result=CCt.PR_DICT) - assert len(r) == len(CCt) - assert isinstance(r, dict) - assert r['6c988ffdc9e74acd97ccfb16dd65c110'] == (1833.9007005259564, 'WETH-6Cc2/USDC-eB48') - df = CCt.prices(result=CCt.PR_DF) - assert len(df) == len(CCt) - assert tuple(df.loc["1701411834604692317316873037158841057339-0"]) == (1799.9999997028303, 'WETH-6Cc2/USDC-eB48') - - # #### price_ranges - - CCt = CCm.bypairs(f"{T.USDC}/{T.ETH}") - CAt = CPCAnalyzer(CCt) - - r = CAt.price_ranges(result=CAt.PR_TUPLE) - assert len(r) == len(CCt) - assert r[0] == ( - 'WETH/USDC', - '16dd65c110', - 'sushiswap_v2', - 'b', - 's', - None, - None, - 1833.9007005259564 - ) - assert r[1] == ( - 'WETH/USDC', - '41057334-0', - 'carbon_v1', - 'b', - '', - 1699.999829864358, - 1700.000169864341, - 1700.000169864341 - ) - r = CAt.price_ranges(result=CAt.PR_TUPLE, short=False) - assert r[0] == ( - 'WETH-6Cc2/USDC-eB48', - '6c988ffdc9e74acd97ccfb16dd65c110', - 'sushiswap_v2', - 'b', - 's', - None, - None, - 1833.9007005259564 - ) - r = CAt.price_ranges(result=CAt.PR_DICT) - assert len(r) == len(CCt) - assert r['6c988ffdc9e74acd97ccfb16dd65c110'] == ( - 'WETH/USDC', - '16dd65c110', - 'sushiswap_v2', - 'b', - 's', - None, - None, - 1833.9007005259564 - ) - df = CAt.price_ranges(result=CAt.PR_DF) - assert len(df) == len(CCt) - assert tuple(df.index.names) == ('pair', 'exch', 'cid') - assert tuple(df.columns) == ('b', 's', 'p_min', 'p_max', 'p_marg') - assert set(df["p_marg"]) == set(x[-1] for x in CAt.price_ranges(result=CCt.PR_TUPLE)) - for p1, p2 in zip(df["p_marg"], df["p_marg"][1:]): - assert p2 >= p1 - df - - # #### count_by_pairs - - assert len(CA.count_by_pairs()) == len(CA.pairs()) - assert sum(CA.count_by_pairs()["count"])==len(CA.CC) - assert np.all(CA.count_by_pairs() == CA.count_by_pairs(asdf=True)) - assert len(CA.count_by_pairs()) == len(CA.count_by_pairs(asdf=False)) - assert type(CA.count_by_pairs()).__name__ == "DataFrame" - assert type(CA.count_by_pairs(asdf=False)).__name__ == "list" - assert type(CA.count_by_pairs(asdf=False)[0]).__name__ == "tuple" - for i in range(10): - assert len(CA.count_by_pairs(minn=i)) >= len(CA.count_by_pairs(minn=i)), f"failed {i}" - - # #### count_by_tokens - - r = CA.count_by_tokens() - assert len(r) == len(CA.tokens()) - assert sum(r["total"]) == 2*len(CA.CC) - assert tuple(r["total"]) == tuple(x[1] for x in CA.CC.token_count()) - for ix, row in r[:10].iterrows(): - assert row[0] >= sum(row[1:]), f"failed at {ix} {tuple(row)}" - CA.count_by_tokens() - - # #### pool_arbitrage_statistics - - pas = CAm.pool_arbitrage_statistics() - assert np.all(pas == CAm.pool_arbitrage_statistics(CAm.POS_DF)) - assert len(pas)==165 - assert list(pas.columns) == ['price', 'vl', 'itm', 'b', 's', 'bsv'] - assert list(pas.index.names) == ['pair', 'exchange', 'cid0'] - assert {x[0] for x in pas.index} == {Pair.n(x) for x in CAm.pairsc()} - assert {x[1] for x in pas.index} == {'bancor_v2', 'bancor_v3','carbon_v1','sushiswap_v2','uniswap_v2','uniswap_v3'} - pas - - pasd = CAm.pool_arbitrage_statistics(CAm.POS_DICT) - assert isinstance(pasd, dict) - assert len(pasd) == 26 - assert len(pasd['WETH-6Cc2/DAI-1d0F']) == 7 - pd0 = pasd['WETH-6Cc2/DAI-1d0F'][0] - assert pd0[:2] == ('WETH/DAI', 'WETH-6Cc2/DAI-1d0F') - assert iseq(pd0[2], 1840.1216491367131) - assert pd0[3:6] == ('594', '594', 'uniswap_v3') - assert iseq(pd0[6], 8.466598820198278) - assert pd0[7:] == ('', 'b', 's', 'buy-sell-WETH @ 1840.12 DAI per WETH') - pd0 - - pasl = CAm.pool_arbitrage_statistics(result = CAm.POS_LIST) - assert isinstance(pasl, tuple) - assert len(pasl) == len(pas) - pd0 = [(ix, x) for ix, x in enumerate(pasl) if x[2]==1840.1216491367131] - pd0 = pasl[pd0[0][0]] - assert pd0[:2] == ('WETH/DAI', 'WETH-6Cc2/DAI-1d0F') - assert iseq(pd0[2], 1840.1216491367131) - assert pd0[3:6] == ('594', '594', 'uniswap_v3') - assert iseq(pd0[6], 8.466598820198278) - assert pd0[7:] == ('', 'b', 's', 'buy-sell-WETH @ 1840.12 DAI per WETH') - pd0 - - # ### MargP Optimizer - - # #### margp optimizer - - tokenlist = f"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}" - targettkn = f"{T.USDC}" - O = MargPOptimizer(CCm.bypairs(CCm.filter_pairs(bothin=tokenlist))) - r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) - r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("") - - # #### MargpOptimizerResult - - assert type(r) == MargPOptimizer.MargpOptimizerResult - assert iseq(r.result, -4606.010157294979) - assert r.time > 0.001 - assert r.time < 0.1 - assert r.method == O.METHOD_MARGP - assert r.targettkn == targettkn - assert set(r.tokens_t)==set(['USDT-1ec7', 'WETH-6Cc2', 'WBTC-C599', 'DAI-1d0F', 'BNT-FF1C']) - p_opt_d0 = {t:x for x, t in zip(r.p_optimal_t, r.tokens_t)} - p_opt_d = {t:round(x,6) for x, t in zip(r.p_optimal_t, r.tokens_t)} - print("optimal p", p_opt_d) - assert p_opt_d == {'WETH-6Cc2': 1842.67228, 'WBTC-C599': 27604.143472, - 'BNT-FF1C': 0.429078, 'USDT-1ec7': 1.00058, 'DAI-1d0F': 1.000179} - assert r.p_optimal[r.targettkn] == 1 - po = [(k,v) for k,v in r.p_optimal.items()][:-1] - assert len(po)==len(r.p_optimal_t) - for k,v in po: - assert p_opt_d0[k] == v, f"error at {k}, {v}, {p_opt_d0[k]}" - - # #### TradeInstructions - - assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS) - ti = r.trade_instructions(ti_format=O.TIF_OBJECTS) - cids = tuple(ti_.cid for ti_ in ti) - assert isinstance(ti, tuple) - assert len(ti) == 86 - ti0=[x for x in ti if x.cid=="357"] - assert len(ti0)==1 - ti0=ti0[0] - assert ti0.cid == ti0.curve.cid - assert type(ti0).__name__ == "TradeInstruction" - assert type(ti[0]) == MargPOptimizer.TradeInstruction - assert ti0.tknin == f"{T.USDT}" - assert ti0.tknout == f"{T.USDC}" - assert round(ti0.amtin, 8) == 1214.45596849 - assert round(ti0.amtout, 8) == -1216.41933959 - assert ti0.error is None - ti[:2] - - tid = r.trade_instructions(ti_format=O.TIF_DICTS) - assert isinstance(tid, tuple) - assert len(tid) == len(ti) - tid0=[x for x in tid if x["cid"]=="357"] - assert len(tid0)==1 - tid0=tid0[0] - assert type(tid0)==dict - assert tid0["tknin"] == f"{T.USDT}" - assert tid0["tknout"] == f"{T.USDC}" - assert round(tid0["amtin"], 8) == 1214.45596849 - assert round(tid0["amtout"], 8) == -1216.41933959 - assert tid0["error"] is None - tid[:2] - - df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") - assert tuple(df.index) == cids - assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna("")==df) - assert len(df) == len(ti) - assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout'] - assert len(df.columns) == 4 + len(r.tokens_t) + 1 - tif0 = dict(df.loc["357"]) - assert tif0["pair"] == "USDC-eB48/USDT-1ec7" - assert tif0["pairp"] == "USDC/USDT" - assert tif0["tknin"] == tid0["tknin"] - assert tif0[tif0["tknin"]] == tid0["amtin"] - assert tif0[tif0["tknout"]] == tid0["amtout"] - df[:2] - - dfa = r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("") - assert tuple(dfa.index)[:-4] == cids - assert len(dfa) == len(df)+4 - assert len(dfa.columns) == len(r.tokens_t) + 1 - assert set(dfa.columns) == set(r.tokens_t).union(set([r.targettkn])) - assert list(dfa.index)[-4:] == ['PRICE', 'AMMIn', 'AMMOut', 'TOTAL NET'] - dfa[:10] - - dfpg = r.trade_instructions(ti_format=O.TIF_DFPG) - assert set(x[1] for x in dfpg.index) == set(cids) - assert np.all(dfpg["gain_tknq"]>=0) - assert np.all(dfpg["gain_r"]>=0) - assert round(np.max(dfpg["gain_r"]),8) == 0.04739068 - assert round(np.min(dfpg["gain_r"]),8) == 1.772e-05 - assert len(dfpg) == len(ti) - for p, t in zip(tuple(dfpg["pair"]), tuple(dfpg["tknq"])): - assert p.split("/")[1] == t, f"error in {p} [{t}]" - print(f"total gains: {sum(dfpg['gain_ttkn']):,.2f} {r.targettkn} [result={-r.result:,.2f}]") - assert abs(sum(dfpg["gain_ttkn"])/r.result+1)<0.01 - dfpg[:10] - - # ### Convex Optimizer - - tokens = f"{T.DAI},{T.USDT},{T.HEX},{T.WETH},{T.LINK}" - CCo = CCu2.bypairs(CCu2.filter_pairs(bothin=tokens)) - CCo += CCs2.bypairs(CCu2.filter_pairs(bothin=tokens)) - CA = CPCAnalyzer(CCo) - O = ConvexOptimizer(CCo) - #ArbGraph.from_cc(CCo).plot()._ - - CA.count_by_tokens() - - # + - #CCo.plot() - # - - - # #### convex optimizer - - targettkn = T.USDT - # r = O.margp_optimizer(targettkn, params=dict(verbose=True, debug=False)) - # r - - SFC = O.SFC(**{targettkn:O.AMMPays}) - r = O.convex_optimizer(SFC, verbose=False, solver=O.SOLVER_SCS) - r - - # #### NofeesOptimizerResult - - round(r.result,-5) - - assert type(r) == ConvexOptimizer.NofeesOptimizerResult - # assert round(r.result,-5) <= -1500000.0 - # assert round(r.result,-5) >= -2500000.0 - # assert r.time < 8 - assert r.method == "convex" - assert set(r.token_table.keys()) == set(['USDT-1ec7', 'WETH-6Cc2', 'LINK-86CA', 'DAI-1d0F', 'HEX-eb39']) - assert len(r.token_table[T.USDT].x)==0 - assert len(r.token_table[T.USDT].y)==10 - lx = list(it.chain(*[rr.x for rr in r.token_table.values()])) - lx.sort() - ly = list(it.chain(*[rr.y for rr in r.token_table.values()])) - ly.sort() - assert lx == [_ for _ in range(21)] - assert ly == lx - - # #### trade instructions - - ti = r.trade_instructions() - assert type(ti[0]) == ConvexOptimizer.TradeInstruction - - assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS) - ti = r.trade_instructions(ti_format=O.TIF_OBJECTS) - cids = tuple(ti_.cid for ti_ in ti) - assert isinstance(ti, tuple) - assert len(ti) == 21 - ti0=[x for x in ti if x.cid=="175"] - assert len(ti0)==1 - ti0=ti0[0] - assert ti0.cid == ti0.curve.cid - assert type(ti0).__name__ == "TradeInstruction" - assert type(ti[0]) == ConvexOptimizer.TradeInstruction - assert ti0.tknin == f"{T.LINK}" - assert ti0.tknout == f"{T.DAI}" - # assert round(ti0.amtin, 8) == 8.50052943 - # assert round(ti0.amtout, 8) == -50.40963779 - assert ti0.error is None - ti[:2] - - tid = r.trade_instructions(ti_format=O.TIF_DICTS) - assert isinstance(tid, tuple) - assert type(tid[0])==dict - assert len(tid) == len(ti) - tid0=[x for x in tid if x["cid"]=="175"] - assert len(tid0)==1 - tid0=tid0[0] - assert tid0["tknin"] == f"{T.LINK}" - assert tid0["tknout"] == f"{T.DAI}" - # assert round(tid0["amtin"], 8) == 8.50052943 - # assert round(tid0["amtout"], 8) == -50.40963779 - assert tid0["error"] is None - tid[:2] - - df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") - assert tuple(df.index) == cids - assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna("")==df) - assert len(df) == len(ti) - assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout'] - assert len(df.columns) == 4 + 4 + 1 - tif0 = dict(df.loc["175"]) - assert tif0["pair"] == 'LINK-86CA/DAI-1d0F' - assert tif0["pairp"] == "LINK/DAI" - assert tif0["tknin"] == tid0["tknin"] - assert tif0[tif0["tknin"]] == tid0["amtin"] - assert tif0[tif0["tknout"]] == tid0["amtout"] - df[:2] - - assert raises(r.trade_instructions, ti_format=O.TIF_DFAGGR).startswith("TIF_DFAGGR not implemented for") - assert raises(r.trade_instructions, ti_format=O.TIF_DFPG).startswith("TIF_DFPG not implemented for") - - # ### Simple Optimizer - - pair = f"{T.ETH}/{T.USDC}" - CCs = CCm.bypairs(pair) - CA = CPCAnalyzer(CCs) - O = PairOptimizer(CCs) - #ArbGraph.from_cc(CCs).plot()._ - - CA.count_by_tokens() - - # + - #CCs.plot() - # - - - # #### simple optimizer - - r = O.optimize(T.USDC) - r - - # #### result - - assert type(r) == PairOptimizer.MargpOptimizerResult - assert round(r.result, 5) == -1217.2442 - assert r.time < 0.1 - assert r.method == "margp-pair" - assert r.errormsg is None - - round(r.result,5) - - # #### trade instructions - - ti = r.trade_instructions() - assert type(ti[0]) == PairOptimizer.TradeInstruction - - assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS) - ti = r.trade_instructions(ti_format=O.TIF_OBJECTS) - cids = tuple(ti_.cid for ti_ in ti) - assert isinstance(ti, tuple) - assert len(ti) == 12 - ti0=[x for x in ti if x.cid=="6c988ffdc9e74acd97ccfb16dd65c110"] - assert len(ti0)==1 - ti0=ti0[0] - assert ti0.cid == ti0.curve.cid - assert type(ti0).__name__ == "TradeInstruction" - assert type(ti[0]) == PairOptimizer.TradeInstruction - assert ti0.tknin == f"{T.USDC}" - assert ti0.tknout == f"{T.WETH}" - assert round(ti0.amtin, 5) == 48153.80865 - assert round(ti0.amtout, 5) == -26.18300 - assert ti0.error is None - ti[:2] - - tid = r.trade_instructions(ti_format=O.TIF_DICTS) - assert isinstance(tid, tuple) - assert type(tid[0])==dict - assert len(tid) == len(ti) - tid0=[x for x in tid if x["cid"]=="6c988ffdc9e74acd97ccfb16dd65c110"] - assert len(tid0)==1 - tid0=tid0[0] - assert tid0["tknin"] == f"{T.USDC}" - assert tid0["tknout"] == f"{T.WETH}" - assert round(tid0["amtin"], 5) == 48153.80865 - assert round(tid0["amtout"], 5) == -26.183 - assert tid0["error"] is None - tid[:2] - - # trade instructions of format `TIF_DFRAW` (same as `TIF_DF`): raw dataframe - - df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") - assert tuple(df.index) == cids - assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna("")==df) - assert len(df) == len(ti) - assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout'] - assert len(df.columns) == 4 + 1 + 1 - tif0 = dict(df.loc["6c988ffdc9e74acd97ccfb16dd65c110"]) - assert tif0["pair"] == 'WETH-6Cc2/USDC-eB48' - assert tif0["pairp"] == "WETH/USDC" - assert tif0["tknin"] == tid0["tknin"] - assert tif0[tif0["tknin"]] == tid0["amtin"] - assert tif0[tif0["tknout"]] == tid0["amtout"] - df[:2] - - # trade instructions of format `TIF_DFAGGR` (aggregated data frame) - - df = r.trade_instructions(ti_format=O.TIF_DFAGGR) - assert len(df) == 16 - assert tuple(df.index[-4:]) == ('PRICE', 'AMMIn', 'AMMOut', 'TOTAL NET') - assert tuple(df.columns) == ('USDC-eB48', 'WETH-6Cc2') - df - - - - # prices and gains analysis data frame `TIF_DFPG` - - df = r.trade_instructions(ti_format=O.TIF_DFPG) - assert len(df) == 12 - assert set(x[0] for x in tuple(df.index)) == {'carbon_v1', 'sushiswap_v2', 'uniswap_v2', 'uniswap_v3'} - assert max(df["margp"]) == min(df["margp"]) - assert tuple(df.index.names) == ('exch', 'cid') - assert tuple(df.columns) == ( - 'fee', - 'pair', - 'amt_tknq', - 'tknq', - 'margp0', - 'effp', - 'margp', - 'gain_r', - 'gain_tknq', - 'gain_ttkn' - ) - df - - -# ------------------------------------------------------------ -# Test 900 -# File test_900_OptimizerDetailedSlow.py -# Segment Analysis by pair -# ------------------------------------------------------------ -def test_analysis_by_pair(): -# ------------------------------------------------------------ - - # + - # CCm1 = CAm.CC.copy() - # CCm1 += CPC.from_carbon( - # pair=f"{T.WETH}/{T.USDC}", - # yint = 1, - # y = 1, - # pa = 1500, - # pb = 1501, - # tkny = f"{T.WETH}", - # cid = "test-1", - # isdydx=False, - # params=dict(exchange="carbon_v1"), - # ) - # CAm1 = CPCAnalyzer(CCm1) - # CCm1.asdf().to_csv("NBTest_006-augmented.csv.gz", compression = "gzip") - # - - - pricedf = CAm.pool_arbitrage_statistics() - assert len(pricedf)==165 - pricedf - - # ### WETH/USDC - - pair = "WETH-6Cc2/USDC-eB48" - print(f"Pair = {pair}") - - df = pricedf.loc[Pair.n(pair)] - assert len(df)==24 - df - - pi = CAm.pair_data(pair) - O = MargPOptimizer(pi.CC) - - # #### Target token = base token - - targettkn = pair.split("/")[0] - print(f"Target token = {targettkn}") - r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) - r.trade_instructions(ti_format=O.TIF_DFAGGR) - - dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8) - print(f"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}") - dfti1 - - # #### Target token = quote token - - targettkn = pair.split("/")[1] - print(f"Target token = {targettkn}") - r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) - r.trade_instructions(ti_format=O.TIF_DFAGGR) - - dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8) - print(f"Total gain: {sum(dfti2['gain_ttkn']):.4f}", targettkn) - dfti2 \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_901_TestMultiTriangleModeSlow.py b/fastlane_bot/tests/nbtest/test_901_TestMultiTriangleModeSlow.py deleted file mode 100644 index 6604f208e..000000000 --- a/fastlane_bot/tests/nbtest/test_901_TestMultiTriangleModeSlow.py +++ /dev/null @@ -1,247 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_901_TestMultiTriangleModeSlow.py` -# ------------------------------------------------------------ -# source file = NBTest_901_TestMultiTriangleModeSlow.py -# test id = 901 -# test comment = TestMultiTriangleModeSlow -# ------------------------------------------------------------ - - - -""" -This module contains the tests for the exchanges classes -""" -from fastlane_bot import Bot, Config -from fastlane_bot.bot import CarbonBot -from fastlane_bot.tools.cpc import ConstantProductCurve -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -from fastlane_bot.events.interface import QueryInterface -from fastlane_bot.helpers.poolandtokens import PoolAndTokens -from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper -from fastlane_bot.events.managers.manager import Manager -from fastlane_bot.events.interface import QueryInterface -from joblib import Parallel, delayed -import pytest -import math -import json -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -from fastlane_bot.modes import triangle_single_bancor3 -#plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -C = cfg = Config.new(config=Config.CONFIG_MAINNET) -C.DEFAULT_MIN_PROFIT_BNT = 0.02 -C.DEFAULT_MIN_PROFIT = 0.02 -cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 -cfg.DEFAULT_MIN_PROFIT = 0.02 -assert (C.NETWORK == C.NETWORK_MAINNET) -assert (C.PROVIDER == C.PROVIDER_ALCHEMY) -setup_bot = CarbonBot(ConfigObj=C) -pools = None -with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: - pools = json.load(f) -pools = [pool for pool in pools] -pools[0] -static_pools = pools -state = pools -exchanges = list({ex['exchange_name'] for ex in state}) -db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) -setup_bot.db = db - -static_pool_data_filename = "static_pool_data" - -static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) - -uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) - -tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) - -exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" - -exchanges = exchanges.split(",") - - -alchemy_max_block_fetch = 20 -static_pool_data["cid"] = [ - cfg.w3.keccak(text=f"{row['descr']}").hex() - for index, row in static_pool_data.iterrows() - ] -static_pool_data = [ - row for index, row in static_pool_data.iterrows() - if row["exchange_name"] in exchanges -] - -static_pool_data = pd.DataFrame(static_pool_data) -static_pool_data['exchange_name'].unique() -mgr = Manager( - web3=cfg.w3, - cfg=cfg, - pool_data=static_pool_data.to_dict(orient="records"), - SUPPORTED_EXCHANGES=exchanges, - alchemy_max_block_fetch=alchemy_max_block_fetch, - uniswap_v2_event_mappings=uniswap_v2_event_mappings, - tokens=tokens.to_dict(orient="records"), -) - -start_time = time.time() -Parallel(n_jobs=-1, backend="threading")( - delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data -) -cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") - -mgr.deduplicate_pool_data() -cids = [pool["cid"] for pool in mgr.pool_data] -assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" -def init_bot(mgr: Manager) -> CarbonBot: - """ - Initializes the bot. - - Parameters - ---------- - mgr : Manager - The manager object. - - Returns - ------- - CarbonBot - The bot object. - """ - mgr.cfg.logger.info("Initializing the bot...") - bot = CarbonBot(ConfigObj=mgr.cfg) - bot.db = db - bot.db.mgr = mgr - assert isinstance( - bot.db, QueryInterface - ), "QueryInterface not initialized correctly" - return bot -bot = init_bot(mgr) -bot.db.handle_token_key_cleanup() -bot.db.remove_unmapped_uniswap_v2_pools() -bot.db.remove_zero_liquidity_pools() -bot.db.remove_unsupported_exchanges() -tokens = bot.db.get_tokens() -ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} -flashloan_tokens = bot.setup_flashloan_tokens(None) -CCm = bot.setup_CCm(None) -pools = db.get_pool_data_with_tokens() - -arb_mode = "multi_triangle" - - -# ------------------------------------------------------------ -# Test 901 -# File test_901_TestMultiTriangleModeSlow.py -# Segment Test_min_profit -# ------------------------------------------------------------ -def test_test_min_profit(): -# ------------------------------------------------------------ - - assert(cfg.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" - assert(C.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" - assert bot.ConfigObj.DEFAULT_MIN_PROFIT_BNT == 0.02 - - # ### Test_arb_mode_class - - arb_finder = bot._get_arb_finder("multi_triangle") - assert arb_finder.__name__ == "ArbitrageFinderTriangleMulti", f"[TestMultiMode] Expected arb_finder class name name = FindArbitrageMultiPairwise, found {arb_finder.__name__}" - - -# ------------------------------------------------------------ -# Test 901 -# File test_901_TestMultiTriangleModeSlow.py -# Segment Test_combos -# ------------------------------------------------------------ -def test_test_combos(): -# ------------------------------------------------------------ - - arb_finder = bot._get_arb_finder("multi_triangle") - finder2 = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_TOKENS, - ConfigObj=bot.ConfigObj, - ) - combos = finder2.get_combos(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode="multi_triangle") - assert len(combos) == 1370, f"[TestMultiMode] Using wrong dataset, expected 1370 combos, found {len(combos)}" - - # ### Test_find_arbitrage - - run_full = bot._run(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode=arb_mode, data_validator=False, result=bot.XS_ARBOPPS) - arb_finder = bot._get_arb_finder("multi_triangle") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - assert len(r) == 40, f"[TestMultiMode] Expected 40 arbs, found {len(r)}" - assert len(r) == len(run_full), f"[TestMultiMode] Expected arbs from .find_arbitrage: {len(r)} - to match _run: {len(run_full)}" - - # ### Test_multi_carbon_pools - - arb_finder = bot._get_arb_finder("multi_triangle") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - multi_carbon_count = 0 - for arb in r: - ( - best_profit, - best_trade_instructions_df, - best_trade_instructions_dic, - best_src_token, - best_trade_instructions, - ) = arb - if len(best_trade_instructions_dic) > 3: - multi_carbon_count += 1 - assert multi_carbon_count > 0, f"[TestMultiMode] Not finding arbs with multiple Carbon curves." - - # ### Test_mono_direction_carbon_curves - - arb_finder = bot._get_arb_finder("multi_triangle") - finder = arb_finder( - flashloan_tokens=flashloan_tokens, - CCm=CCm, - mode="bothin", - result=bot.AO_CANDIDATES, - ConfigObj=bot.ConfigObj, - ) - r = finder.find_arbitrage() - for arb in r: - ( - best_profit, - best_trade_instructions_df, - best_trade_instructions_dic, - best_src_token, - best_trade_instructions, - ) = arb - if len(best_trade_instructions_dic) > 3: - - has_zero_curves = False - has_one_curves = False - for curve in best_trade_instructions_dic: - if "-0" in curve['cid']: - has_zero_curves = True - if "-1" in curve['cid']: - has_one_curves = True - assert not has_zero_curves or not has_one_curves, f"[TestMultiMode] Finding Carbon curves in opposite directions - not supported in this mode." \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_903_FlashloanTokens.py b/fastlane_bot/tests/nbtest/test_903_FlashloanTokens.py deleted file mode 100644 index 501ab7f69..000000000 --- a/fastlane_bot/tests/nbtest/test_903_FlashloanTokens.py +++ /dev/null @@ -1,100 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_903_FlashloanTokens.py` -# ------------------------------------------------------------ -# source file = NBTest_903_FlashloanTokens.py -# test id = 903 -# test comment = FlashloanTokens -# ------------------------------------------------------------ - - - -""" -This module contains the tests which ensure the the flashloan_tokens parameter is respected when using the b3_two_hop and bancor_v3 arb modes. -""" -from fastlane_bot import Bot -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -import subprocess, os, sys -import pytest -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - - -def find_main_py(): - # Start at the directory of the current script - cwd = os.path.abspath(os.path.join(os.getcwd())) - - with open("log.txt", "w") as f: - f.write(f"Searching for main.py in {cwd}") - - print(f"Searching for main.py in {cwd}") - while True: - # Check if main.py exists in the current directory - if "main.py" in os.listdir(cwd): - return cwd # Found the directory containing main.py - else: - # If not, go up one directory - new_cwd = os.path.dirname(cwd) - - # If we're already at the root directory, stop searching - if new_cwd == cwd: - raise FileNotFoundError("Could not find main.py in any parent directory") - - cwd = new_cwd - - -def run_command(mode): - - # Find the correct path to main.py - main_script_path = find_main_py() - print(f"Found main.py in {main_script_path}") - main_script_path = main_script_path + "/main.py" - - # Run the command - cmd = [ - "python", - main_script_path, - f"--arb_mode={mode}", - "--default_min_profit_bnt=60", - "--limit_bancor3_flashloan_tokens=True", - "--use_cached_events=True", - "--logging_path=fastlane_bot/data/", - "--timeout=60" - ] - subprocess.Popen(cmd) - - # Wait for the expected log line to appear - expected_log_line = "limiting flashloan_tokens to [" - found = False - result = subprocess.run(cmd, text=True, capture_output=True, check=True, timeout=120) - - # Check if the expected log line is in the output - if expected_log_line in result.stderr: - found = True - - if not found: - pytest.fail("Expected log line was not found within 1 minute") # If we reach this point, the test has failed - - - - -# ------------------------------------------------------------ -# Test 903 -# File test_903_FlashloanTokens.py -# Segment Test Flashloan Tokens b3_two_hop -# ------------------------------------------------------------ -def test_test_flashloan_tokens_b3_two_hop(): -# ------------------------------------------------------------ - - run_command("b3_two_hop") \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_904_Bancor3DataValidation.py b/fastlane_bot/tests/nbtest/test_904_Bancor3DataValidation.py deleted file mode 100644 index 35216954e..000000000 --- a/fastlane_bot/tests/nbtest/test_904_Bancor3DataValidation.py +++ /dev/null @@ -1,98 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_904_Bancor3DataValidation.py` -# ------------------------------------------------------------ -# source file = NBTest_904_Bancor3DataValidation.py -# test id = 904 -# test comment = Bancor3DataValidation -# ------------------------------------------------------------ - - - -""" -This module contains the tests which ensure that data validation checks always occur when running a bancor3-related arb_mode. -""" -from fastlane_bot import Bot -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -import subprocess, os, sys -import pytest -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - - -def find_main_py(): - # Start at the directory of the current script - cwd = os.path.abspath(os.path.join(os.getcwd())) - - print(f"Searching for main.py in {cwd}") - while True: - # Check if main.py exists in the current directory - if "main.py" in os.listdir(cwd): - return cwd # Found the directory containing main.py - else: - # If not, go up one directory - new_cwd = os.path.dirname(cwd) - - # If we're already at the root directory, stop searching - if new_cwd == cwd: - raise FileNotFoundError("Could not find main.py in any parent directory") - - cwd = new_cwd - - -def run_command(arb_mode, expected_log_line): - - # Find the correct path to main.py - main_script_path = find_main_py() - print(f"Found main.py in {main_script_path}") - main_script_path = main_script_path + "/main.py" - - # Run the command - cmd = [ - "python", - main_script_path, - f"--arb_mode={arb_mode}", - "--default_min_profit_bnt=60", - "--limit_bancor3_flashloan_tokens=False", - "--use_cached_events=True", - "--logging_path=fastlane_bot/data/", - "--timeout=60" - ] - subprocess.Popen(cmd) - - # Wait for the expected log line to appear - found = False - result = subprocess.run(cmd, text=True, capture_output=True, check=True, timeout=120) - - # Check if the expected log line is in the output - if expected_log_line in result.stderr or expected_log_line in result.stdout: - found = True - - if not found: - pytest.fail("Expected log line was not found within 1 minute") # If we reach this point, the test has failed - - - - -# ------------------------------------------------------------ -# Test 904 -# File test_904_Bancor3DataValidation.py -# Segment Test Data Validation For b3_two_hop -# ------------------------------------------------------------ -def test_test_data_validation_for_b3_two_hop(): -# ------------------------------------------------------------ - - expected_log_line = "Transactions will be required to pass data validation for" - arb_mode = "b3_two_hop" - run_command(arb_mode=arb_mode, expected_log_line=expected_log_line) \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_906_TargetTokens.py b/fastlane_bot/tests/nbtest/test_906_TargetTokens.py deleted file mode 100644 index e7852d1a9..000000000 --- a/fastlane_bot/tests/nbtest/test_906_TargetTokens.py +++ /dev/null @@ -1,101 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_906_TargetTokens.py` -# ------------------------------------------------------------ -# source file = NBTest_906_TargetTokens.py -# test id = 906 -# test comment = TargetTokens -# ------------------------------------------------------------ - - - -""" -This module contains the tests which ensure the target_tokens parameter is respected. -""" -from fastlane_bot import Bot -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -import subprocess, os, sys -import pytest -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) -from fastlane_bot.testing import * -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -from fastlane_bot.tools.cpc import T - - -def find_main_py(): - # Start at the directory of the current script - cwd = os.path.abspath(os.path.join(os.getcwd())) - - with open("log.txt", "w") as f: - f.write(f"Searching for main.py in {cwd}") - - print(f"Searching for main.py in {cwd}") - while True: - # Check if main.py exists in the current directory - if "main.py" in os.listdir(cwd): - return cwd # Found the directory containing main.py - else: - # If not, go up one directory - new_cwd = os.path.dirname(cwd) - - # If we're already at the root directory, stop searching - if new_cwd == cwd: - raise FileNotFoundError("Could not find main.py in any parent directory") - - cwd = new_cwd - - -def run_command(mode): - - # Find the correct path to main.py - main_script_path = find_main_py() - print(f"Found main.py in {main_script_path}") - main_script_path = main_script_path + "/main.py" - - # Run the command - cmd = [ - "python", - main_script_path, - f"--arb_mode={mode}", - "--use_cached_events=True", - "--logging_path=fastlane_bot/data/", - "--timeout=45", - f"--target_tokens={T.WETH},{T.DAI}" - ] - subprocess.Popen(cmd) - - # Wait for the expected log line to appear - expected_log_line = "Limiting pools by target_tokens. Removed " - found = False - result = subprocess.run(cmd, text=True, capture_output=True, check=True, timeout=120) - - # Check if the expected log line is in the output - if expected_log_line in result.stderr: - found = True - - if not found: - pytest.fail("Expected log line was not found within 1 minute") # If we reach this point, the test has failed - - - - -# ------------------------------------------------------------ -# Test 906 -# File test_906_TargetTokens.py -# Segment Test Flashloan Tokens b3_two_hop -# ------------------------------------------------------------ -def test_test_flashloan_tokens_b3_two_hop(): -# ------------------------------------------------------------ - - run_command("single") \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index c4ff1ca50..c5fd32994 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,6 @@ packaging==21.3 requests==2.28.1 python-dateutil==2.8.1 typing-extensions~=4.4.0 -eth-brownie~=1.19.3 python-dotenv~=0.16.0 joblib~=1.2.0 pandas~=1.5.2 diff --git a/resources/NBTest/NBTest_036_Manager.ipynb b/resources/NBTest/NBTest_036_Manager.ipynb index 1bb959bbf..47fd94a89 100644 --- a/resources/NBTest/NBTest_036_Manager.ipynb +++ b/resources/NBTest/NBTest_036_Manager.ipynb @@ -15,7 +15,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "ConstantProductCurve v3.2 (15/Sep/2023)\n", + "ConstantProductCurve v3.3 (21/Sep/2023)\n", "CarbonBot v3-b2.2 (20/June/2023)\n", "UniswapV2 v0.0.2 (2023-08-27)\n", "UniswapV3 v0.0.2 (2023-08-27)\n", @@ -30,10 +30,8 @@ "source": [ "from unittest.mock import Mock, patch, call\n", "\n", - "import brownie\n", "import pytest\n", "from unittest.mock import MagicMock\n", - "from brownie import multicall as brownie_multicall\n", "\n", "from fastlane_bot import Bot, Config\n", "from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3\n", @@ -98,12 +96,12 @@ "name": "stderr", "output_type": "stream", "text": [ - "2023-09-20 07:03:06,113 [fastlane:INFO] - \n", - "2023-09-20 07:03:06,113 [fastlane:INFO] - **********************************************\n", - "2023-09-20 07:03:06,114 [fastlane:INFO] - The logging path is set to: logs/20230920-070306/bot.log\n", - "2023-09-20 07:03:06,114 [fastlane:INFO] - **********************************************\n", - "2023-09-20 07:03:06,114 [fastlane:INFO] - \n", - "2023-09-20 07:03:07,076 [fastlane:INFO] - Retrieved 169 carbon pairs from contract\n" + "2023-09-26 17:02:08,875 [fastlane:INFO] - \n", + "2023-09-26 17:02:08,876 [fastlane:INFO] - **********************************************\n", + "2023-09-26 17:02:08,876 [fastlane:INFO] - The logging path is set to: logs/20230926-170208/bot.log\n", + "2023-09-26 17:02:08,877 [fastlane:INFO] - **********************************************\n", + "2023-09-26 17:02:08,877 [fastlane:INFO] - \n", + "2023-09-26 17:02:09,863 [fastlane:INFO] - Retrieved 176 carbon pairs from contract\n" ] } ], @@ -289,7 +287,7 @@ "formats": "ipynb,py:light" }, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -303,7 +301,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.8.17" } }, "nbformat": 4, diff --git a/resources/NBTest/NBTest_036_Manager.py b/resources/NBTest/NBTest_036_Manager.py index e0a45cd08..66c861c06 100644 --- a/resources/NBTest/NBTest_036_Manager.py +++ b/resources/NBTest/NBTest_036_Manager.py @@ -8,7 +8,7 @@ # format_version: '1.5' # jupytext_version: 1.15.2 # kernelspec: -# display_name: Python 3 +# display_name: Python 3 (ipykernel) # language: python # name: python3 # --- @@ -16,10 +16,8 @@ # + from unittest.mock import Mock, patch, call -import brownie import pytest from unittest.mock import MagicMock -from brownie import multicall as brownie_multicall from fastlane_bot import Bot, Config from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 diff --git a/resources/NBTest/NBTest_049_CustomTradingFees.ipynb b/resources/NBTest/NBTest_049_CustomTradingFees.ipynb index eb62540c8..e8fc23025 100644 --- a/resources/NBTest/NBTest_049_CustomTradingFees.ipynb +++ b/resources/NBTest/NBTest_049_CustomTradingFees.ipynb @@ -6,8 +6,8 @@ "id": "6b800d59", "metadata": { "ExecuteTime": { - "end_time": "2023-08-18T16:09:17.886785Z", - "start_time": "2023-08-18T16:09:14.524416Z" + "end_time": "2023-09-26T23:56:49.056590Z", + "start_time": "2023-09-26T23:56:48.444153Z" } }, "outputs": [ @@ -15,13 +15,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "ConstantProductCurve v2.14 (23/May/2023)\n", + "ConstantProductCurve v3.3 (21/Sep/2023)\n", "CarbonBot v3-b2.2 (20/June/2023)\n", - "UniswapV2 v0.0.1 (2023-07-03)\n", - "UniswapV3 v0.0.1 (2023-07-03)\n", - "SushiswapV2 v0.0.1 (2023-07-03)\n", - "CarbonV1 v0.0.1 (2023-07-03)\n", - "BancorV3 v0.0.1 (2023-07-03)\n", + "UniswapV2 v0.0.2 (2023-08-27)\n", + "UniswapV3 v0.0.2 (2023-08-27)\n", + "SushiswapV2 v0.0.2 (2023-08-27)\n", + "CarbonV1 v0.0.2 (2023-08-27)\n", + "BancorV3 v0.0.2 (2023-08-27)\n", "imported m, np, pd, plt, os, sys, decimal; defined iseq, raises, require\n", "Version = 3-b2.2 [requirements >= 3.0 is met]\n" ] @@ -30,10 +30,8 @@ "source": [ "from unittest.mock import Mock, patch, call\n", "\n", - "import brownie\n", "import pytest\n", "from unittest.mock import MagicMock\n", - "from brownie import multicall as brownie_multicall\n", "\n", "from fastlane_bot import Bot, Config\n", "from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3\n", @@ -68,8 +66,7 @@ "id": "80ddef38", "metadata": { "ExecuteTime": { - "end_time": "2023-08-18T16:09:17.917160Z", - "start_time": "2023-08-18T16:09:17.883556Z" + "start_time": "2023-09-26T23:56:49.055902Z" } }, "outputs": [], @@ -89,11 +86,24 @@ "id": "7919999a", "metadata": { "ExecuteTime": { - "end_time": "2023-08-18T16:09:21.604522Z", - "start_time": "2023-08-18T16:09:17.904953Z" + "end_time": "2023-09-26T23:56:49.056802Z", + "start_time": "2023-09-26T23:56:49.056710Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-09-26 17:00:39,128 [fastlane:INFO] - \n", + "2023-09-26 17:00:39,129 [fastlane:INFO] - **********************************************\n", + "2023-09-26 17:00:39,129 [fastlane:INFO] - The logging path is set to: logs/20230926-170039/bot.log\n", + "2023-09-26 17:00:39,129 [fastlane:INFO] - **********************************************\n", + "2023-09-26 17:00:39,129 [fastlane:INFO] - \n", + "2023-09-26 17:00:39,945 [fastlane:INFO] - Retrieved 176 carbon pairs from contract\n" + ] + } + ], "source": [ "\n", "# Create mock instances for all required parameters\n", @@ -117,8 +127,7 @@ "id": "71334cab", "metadata": { "ExecuteTime": { - "end_time": "2023-08-18T16:09:22.459969Z", - "start_time": "2023-08-18T16:09:21.605871Z" + "start_time": "2023-09-26T23:56:49.057733Z" } }, "outputs": [], @@ -145,11 +154,18 @@ "id": "71d67e1c", "metadata": { "ExecuteTime": { - "end_time": "2023-08-18T16:09:22.541960Z", - "start_time": "2023-08-18T16:09:22.475198Z" + "start_time": "2023-09-26T23:56:49.058342Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-09-26 17:00:42,169 [fastlane:INFO] - Retrieved 176 carbon pairs from contract\n" + ] + } + ], "source": [ "event = event_data['carbon_v1_trading_fee_updated']\n", "prevFeePPM = event['args']['prevFeePPM']\n", @@ -186,8 +202,7 @@ "id": "452029c9", "metadata": { "ExecuteTime": { - "end_time": "2023-08-18T16:09:22.549238Z", - "start_time": "2023-08-18T16:09:22.547821Z" + "start_time": "2023-09-26T23:56:49.058959Z" } }, "outputs": [], @@ -225,11 +240,9 @@ }, { "cell_type": "markdown", - "source": [], - "metadata": { - "collapsed": false - }, - "id": "55fa981cd591525d" + "id": "55fa981cd591525d", + "metadata": {}, + "source": [] }, { "cell_type": "markdown", @@ -243,7 +256,7 @@ "formats": "ipynb,py:light" }, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -257,7 +270,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.8.17" } }, "nbformat": 4, diff --git a/resources/NBTest/NBTest_049_CustomTradingFees.py b/resources/NBTest/NBTest_049_CustomTradingFees.py index 314297f71..7825e0e91 100644 --- a/resources/NBTest/NBTest_049_CustomTradingFees.py +++ b/resources/NBTest/NBTest_049_CustomTradingFees.py @@ -8,7 +8,7 @@ # format_version: '1.5' # jupytext_version: 1.15.2 # kernelspec: -# display_name: Python 3 +# display_name: Python 3 (ipykernel) # language: python # name: python3 # --- @@ -16,10 +16,8 @@ # + from unittest.mock import Mock, patch, call -import brownie import pytest from unittest.mock import MagicMock -from brownie import multicall as brownie_multicall from fastlane_bot import Bot, Config from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 diff --git a/setup.py b/setup.py index 07c6ab6b0..38442fbf4 100644 --- a/setup.py +++ b/setup.py @@ -49,7 +49,6 @@ if os.environ[var] == '' and 'TENDERLY' not in var and 'ETHERSCAN_TOKEN' not in var: raise Exception(f"The {var} environment variable cannot be None. Please update the .env file. See README.md for instructions") -import brownie_setup with open("fastlane_bot/__init__.py") as fd: version = re.search( From 6f8d007c0e1673ba0bcdf2747580ec4145a320d6 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Tue, 26 Sep 2023 17:28:42 -0700 Subject: [PATCH 12/33] remove multicall for pool shutdown --- fastlane_bot/tools/pool_shutdown.py | 33 ++++++++++++++--------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/fastlane_bot/tools/pool_shutdown.py b/fastlane_bot/tools/pool_shutdown.py index 6d0efc854..303786f95 100644 --- a/fastlane_bot/tools/pool_shutdown.py +++ b/fastlane_bot/tools/pool_shutdown.py @@ -111,23 +111,22 @@ def parse_active_pools(self): """ This function uses a multicall to get pool details for each Bancor V3 token. If the pool is active, it updates the dict with the current staked balance. If the pool is inactive, it removes it from the dictionary if it existed previously. """ - with self.mgr.multicall(address=self.mgr.cfg.MULTICALL_CONTRACT_ADDRESS): - for tkn in self.shutdown_whitelist: - ( - pool_token, - trading_fee_PPM, - trading_enabled, - depositing_enabled, - average_rate, - tkn_pool_liquidity, - ) = self.pool_collection_contract.functions.poolData(tkn).call() - tkn_results = list(tkn_pool_liquidity) - ( - bnt_trading_liquidity, - tkn_trading_liquidity, - staked_balance, - ) = tkn_results - self.active_pools[tkn] = staked_balance + for tkn in self.shutdown_whitelist: + ( + pool_token, + trading_fee_PPM, + trading_enabled, + depositing_enabled, + average_rate, + tkn_pool_liquidity, + ) = self.pool_collection_contract.functions.poolData(tkn).call() + tkn_results = list(tkn_pool_liquidity) + ( + bnt_trading_liquidity, + tkn_trading_liquidity, + staked_balance, + ) = tkn_results + self.active_pools[tkn] = staked_balance def iterate_active_pools(self): """ From a7743095197a47234f4acf01f196ad867f9d7197 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Tue, 26 Sep 2023 17:48:43 -0700 Subject: [PATCH 13/33] Update run-pytest.yml --- .github/workflows/run-pytest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-pytest.yml b/.github/workflows/run-pytest.yml index c55f77789..8226d60a7 100644 --- a/.github/workflows/run-pytest.yml +++ b/.github/workflows/run-pytest.yml @@ -28,7 +28,7 @@ jobs: - name: Install Dependencies run: | python -m pip install --upgrade pip - pip install jupytext + pip install jupytext pytest pip install -r requirements.txt --force-reinstall - name: Run Tests run: | From 599537a0df720917bebffaad3a614650a233fc50 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Tue, 26 Sep 2023 17:52:08 -0700 Subject: [PATCH 14/33] Update requirements.txt --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index c5fd32994..d4d875404 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,3 +16,4 @@ hexbytes~=0.2.3 click~=8.1.3 setuptools~=67.6.1 protobuf==3.19.5 +tqdm From 48234de96e9d11fcf017662d4c98231a311b70ae Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Wed, 27 Sep 2023 03:47:26 -0700 Subject: [PATCH 15/33] fixes tests --- fastlane_bot/tests/nbtest/__init__.py | 0 .../nbtest/_data/NBTEST_002_Curves.csv.gz | Bin 0 -> 16687 bytes .../nbtest/_data/NBTest_006-augmented.csv.gz | Bin 0 -> 437898 bytes .../tests/nbtest/_data/NBTest_006.csv.gz | Bin 0 -> 437869 bytes fastlane_bot/tests/nbtest/_data/README.md | 19 + .../tests/nbtest/test_000_Template.py | 98 + .../tests/nbtest/test_002_CPCandOptimizer.py | 1970 +++++++++++++++++ .../tests/nbtest/test_003_Serialization.py | 408 ++++ .../tests/nbtest/test_004_GraphCode.py | 855 +++++++ fastlane_bot/tests/nbtest/test_005_Uniswap.py | 253 +++ .../tests/nbtest/test_007_NoneResult.py | 148 ++ fastlane_bot/tests/nbtest/test_033_Pools.py | 212 ++ .../tests/nbtest/test_034_Interface.py | 129 ++ fastlane_bot/tests/nbtest/test_035_Utils.py | 89 + fastlane_bot/tests/nbtest/test_036_Manager.py | 161 ++ .../tests/nbtest/test_037_Exchanges.py | 166 ++ .../tests/nbtest/test_038_TestBancorV3Mode.py | 380 ++++ .../tests/nbtest/test_039_TestMultiMode.py | 272 +++ .../tests/nbtest/test_040_TestSingleMode.py | 232 ++ .../nbtest/test_042_TestBancorV3ModeTwoHop.py | 465 ++++ .../nbtest/test_043_TestEmptyCarbonOrders.py | 234 ++ .../tests/nbtest/test_045_Validator.py | 289 +++ .../tests/nbtest/test_047_Randomizer.py | 225 ++ ...st_048_RespectFlashloanTokensClickParam.py | 100 + .../nbtest/test_049_CustomTradingFees.py | 148 ++ .../tests/nbtest/test_050_TestBancorV2.py | 322 +++ .../nbtest/test_051_BalancerFlashloans.py | 367 +++ .../tests/nbtest/test_051_CPCBalancer.py | 661 ++++++ .../tests/nbtest/test_053_TknMaxTrade.py | 131 ++ .../nbtest/test_054_TestAutoPoolShutdown.py | 199 ++ .../tests/nbtest/test_055_Optimization.py | 515 +++++ .../tests/nbtest/test_899_CustomMulticall.py | 241 ++ .../nbtest/test_900_OptimizerDetailedSlow.py | 743 +++++++ .../test_901_TestMultiTriangleModeSlow.py | 247 +++ .../tests/nbtest/test_903_FlashloanTokens.py | 100 + .../nbtest/test_904_Bancor3DataValidation.py | 98 + .../tests/nbtest/test_906_TargetTokens.py | 101 + requirements.txt | 3 +- .../NBTest/NBTest_002_CPCandOptimizer.py | 2 +- resources/NBTest/NBTest_033_Pools.py | 44 +- resources/NBTest/NBTest_037_Exchanges.py | 18 +- .../NBTest/NBTest_038_TestBancorV3Mode.py | 2 +- resources/NBTest/NBTest_039_TestMultiMode.py | 2 +- resources/NBTest/NBTest_040_TestSingleMode.py | 2 +- .../NBTest_042_TestBancorV3ModeTwoHop.py | 2 +- resources/NBTest/NBTest_047_Randomizer.py | 2 +- resources/NBTest/NBTest_050_TestBancorV2.py | 2 +- resources/NBTest/NBTest_051_CPCBalancer.py | 2 +- resources/NBTest/NBTest_055_Optimization.py | 4 +- .../NBTest/NBTest_899_CustomMulticall.ipynb | 143 +- .../NBTest/NBTest_899_CustomMulticall.py | 61 +- .../NBTest_900_OptimizerDetailedSlow.py | 2 +- .../NBTest_901_TestMultiTriangleModeSlow.py | 2 +- 53 files changed, 10730 insertions(+), 141 deletions(-) create mode 100644 fastlane_bot/tests/nbtest/__init__.py create mode 100644 fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz create mode 100644 fastlane_bot/tests/nbtest/_data/NBTest_006-augmented.csv.gz create mode 100644 fastlane_bot/tests/nbtest/_data/NBTest_006.csv.gz create mode 100644 fastlane_bot/tests/nbtest/_data/README.md create mode 100644 fastlane_bot/tests/nbtest/test_000_Template.py create mode 100644 fastlane_bot/tests/nbtest/test_002_CPCandOptimizer.py create mode 100644 fastlane_bot/tests/nbtest/test_003_Serialization.py create mode 100644 fastlane_bot/tests/nbtest/test_004_GraphCode.py create mode 100644 fastlane_bot/tests/nbtest/test_005_Uniswap.py create mode 100644 fastlane_bot/tests/nbtest/test_007_NoneResult.py create mode 100644 fastlane_bot/tests/nbtest/test_033_Pools.py create mode 100644 fastlane_bot/tests/nbtest/test_034_Interface.py create mode 100644 fastlane_bot/tests/nbtest/test_035_Utils.py create mode 100644 fastlane_bot/tests/nbtest/test_036_Manager.py create mode 100644 fastlane_bot/tests/nbtest/test_037_Exchanges.py create mode 100644 fastlane_bot/tests/nbtest/test_038_TestBancorV3Mode.py create mode 100644 fastlane_bot/tests/nbtest/test_039_TestMultiMode.py create mode 100644 fastlane_bot/tests/nbtest/test_040_TestSingleMode.py create mode 100644 fastlane_bot/tests/nbtest/test_042_TestBancorV3ModeTwoHop.py create mode 100644 fastlane_bot/tests/nbtest/test_043_TestEmptyCarbonOrders.py create mode 100644 fastlane_bot/tests/nbtest/test_045_Validator.py create mode 100644 fastlane_bot/tests/nbtest/test_047_Randomizer.py create mode 100644 fastlane_bot/tests/nbtest/test_048_RespectFlashloanTokensClickParam.py create mode 100644 fastlane_bot/tests/nbtest/test_049_CustomTradingFees.py create mode 100644 fastlane_bot/tests/nbtest/test_050_TestBancorV2.py create mode 100644 fastlane_bot/tests/nbtest/test_051_BalancerFlashloans.py create mode 100644 fastlane_bot/tests/nbtest/test_051_CPCBalancer.py create mode 100644 fastlane_bot/tests/nbtest/test_053_TknMaxTrade.py create mode 100644 fastlane_bot/tests/nbtest/test_054_TestAutoPoolShutdown.py create mode 100644 fastlane_bot/tests/nbtest/test_055_Optimization.py create mode 100644 fastlane_bot/tests/nbtest/test_899_CustomMulticall.py create mode 100644 fastlane_bot/tests/nbtest/test_900_OptimizerDetailedSlow.py create mode 100644 fastlane_bot/tests/nbtest/test_901_TestMultiTriangleModeSlow.py create mode 100644 fastlane_bot/tests/nbtest/test_903_FlashloanTokens.py create mode 100644 fastlane_bot/tests/nbtest/test_904_Bancor3DataValidation.py create mode 100644 fastlane_bot/tests/nbtest/test_906_TargetTokens.py diff --git a/fastlane_bot/tests/nbtest/__init__.py b/fastlane_bot/tests/nbtest/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz b/fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..486f5046ca6e59422ce3fa6e73c6218358218fc1 GIT binary patch literal 16687 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 KC4i|;yZ`_fv#3)5 literal 0 HcmV?d00001 diff --git a/fastlane_bot/tests/nbtest/_data/NBTest_006-augmented.csv.gz b/fastlane_bot/tests/nbtest/_data/NBTest_006-augmented.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..fc525c8aed65b8629889b8069b166be8819f8863 GIT binary patch literal 437898 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 HQnS&qO4j6*N^WL*f4H1Osx){ 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 z z>ibliQ%SHBvpvM{G9ZaZ*bCh@Bas;>B)Sg%1-n3XN=Y9|fTXe#}A)m&F?cHVH=61WK{bbss3_r)Xlqq=RIKl$S%t}z=#h8Qf zs8-~aT*!lVJbR-{F441yF$E2`4zCugGRB!aL@&KoK^wSg&rVXZzypyOPkLI`lDd-- z=flFcs&qCkKCHqM#1_> z){GzCY#*izK-tYE(z98QL5Ya;liUl-y=((CE3%Q(zU&q&Ugn7<8C=JsY;J+lTW;_# zuvzjN+dfqhEZJ(|*m+hi$7m%9+bGNu4;9govQwl!!AH6tfv;g#yTbns`NxGEe%N1J z;PY?q^Q$?Jf-qi+f=Hy*q}C=BoM;DlKpI!G@Y1;C3K#Mi*J3(5xq9QVA9=-{_1y+( zYxjwiNMzd?Eh*it55kjZlhx=pS{^O34$qtoiBa)d6nTZk52obg@ZF(<} z4>Ec(zJ%Ph?@^^0@AZU4dtN7e#K~v8&%rq^X>bU1IKawAkv6jmWI6D14C zs31mTg|P-2K(s(B5y&+D#(*i_=$zs{s@ONla9k@0Ss)Jab5O^Tw$ z7&{Vo|NH@9iuXCa5i2YBgP$3*UVp7+k^JD<< zn>uymv=ey7yzxZ3?+}A7N?=q(hm2pE=U>XF<6bMs;Ny<-fPeb&qt$$RDyESa33;Fh5XYlY$a}!^#fRyY2m@B9`3p?8$7_H zg^wTMci4mO1{UQ7*x0ZHkHqaKBMPP>=}V-`m%Mu&-hcPz?O!e{JkQO}q?1{Xq8^;L z9e^gWmAT>#-4-!-r)1GI4^ZcODX6f7&VpvfwIpiAM7-E}0~H6CyP@4rKk- zA0(&7B0-I#Jp^c^<;}fT@M|n{JQ>l%HjdoCa5=0k`fX#<>*<17(_d*!`gPVfs9xU> z5z5&*zq=V&P}{7{6l~tKf+O}RZ(RA;3GYPKy;O;a*}OqyjTt!);;PQgmDbb1D2vyOTMLt^^!PP(4;{VxwrOW;GTS5WA){1OQ+NVYH-Q zwG_l8bChRSRAlAoZ@v!RP@M*th7@;J4?oWzmdk>)_0RLPzS!PfHmlEcyw9dRh=oKs zu}_QLtTjjuy`FgVH!r=d-7omulrg|cPOQ!9u z;1A*|pqOVp0B_%3y0bSiNq8nqzjWkmllJ19dmOI~muqXRiF~I~;j1 z{WLWimBsqDs+65#CynT)*BN_oW`h&xSWun#$>tBAkY_Z-v z{JNg=D4WMU;r%Q4NCB9bl zBt-zOMudw1hS6kxA%(J~^f8`Cl$Mn4z=k3kC7&o8NGlbrR?j=Wep>>n&O5%otO5Na zV#e;S4PSqx1{A^YS1sdDcKIY>j7T|Bwq1RcE*=G|pF9u8V`PDI_*KkUku%%}_-}*Y z%EISgwTwNW%F{or0rN-I`yplQ$QyWw7?bBwYhnMM$1UN%NVFVC!S5B>BjEM$O{!P$ z_(4*v;&|NJkAO|2a`RfV@_qR9ApiX7;r^fe+^-GvX#<>n>(`ASNTrP&mnncm%4L7u z34)a$9-jbz012A>xDmv7uw02xzuJ#Gf!}dFBgLNzl8Vy@UAnX0C)2IOla4_igBq0GFr1>2z}r#Gimihh^A>^&wY_kHO#avgUrnfTn6 zMe=77uO2e+WJREW43HQPN17;<^(t`bo>y;17R7_|;i$KQzu=t|%)%q`c+jUuPc}bF zuAPjy@sJO|79zzGo+8Drkq}CAvkmuT(xdYBG8s4=WLhoLH+iv#%^8nJu=?3=*kzsz zxwmx2AzQ*8Jezb%!09H`hPMDaK-N@D6iwyf-~wP11a^0%KH1UO9Ld0-4BiHd%1Et8+kddy{;cgPcEIs^czb$V=%*_mo>bG{>A5uNLJ z49L^AsaQj1akA?^SKWdt&8u#@sD2>lIhB*OF{AT742Ip~JSj9}TlB|m!>Hkm8q!$CyJMrP`^kF0(>j$$pqg+CwS!4z^$fH}6Q+vmrCZ>QH6U(8MN z%8zrty8GqMUru@q zYs=q*MZdhi+yHZuf_Eov*<@5Qrj>PFs-!v+y(s(B`z=p`eTVG1+ss1R0B@F4k} zlwphpaSvwY?N5N8(bPF&ztzbQ30ip)s098b6*Y(H#s2bQth{-+eKP4W@WiZQhg-m| zC-G0Mken#Dq@C-E8VB1x>`0MWw; zK<~&&NlqvvaWRZYn5nyYI&?4>>3HB3%j<|?ee?ZxnWVZco^UWSpO@7M z;0>quxTmoB&V@Y0@Nn!QOVguof%uyh)tZduaO665H-z8-q2S&HfRS)g4Ia200G7R1 zhS%`!WJF4UT+gDQL$gKwMzCm~UIGs8_U66iuXDb^>xG(tC*9(vgs`<*t*vlWV4L3wqLir^-Yk~yiki8$dha-0caGF7C^oBfhuP_43kbDXNdz#dt5jQ-gy-t&B=)5 z(Uy`9d)-Q4$~gR&?Wg76{^egUZo5q{e?IRqVO6-kG_g*z&C2n$-{fM}Yy#l3vujDy zl(>$&dv_Whu8Ghk>6``mL~}@hv~)Da;@>hL&(WH9lsu_bk(F-bQ#@ou$WQ#`Z>1c0 zD{!0}kqt1|;nmCS^~GAh-KO=sn)H~v`ZR0bko^Z9Chj$O3ccc^`8hjPb*)qKT*pJ| zYqgZ{?7V2s{UG`P;49T-?0B14c8^#}PBU@Hm^r5bW2EJ|gLiVIu!ajKBZvS}9PxnV zTS(c4d3tl9wB+r!tS{$0>i*K3We$s?y2hqT+=ST;RoJ^O)Hk2w+PILro1BG)2)MO1 zjmPXQ@C#4}Zz!5cwi?&6q3Emeu-pg?10bXE6wDaK!JjMKk%wLn=)l@e#U4b@8uaIc z&_8YOrb{#Krnus#N#CMeNEcdb z6~xqFj!Vm=q%JB{1kzwAo$lF={stmD^YMG6X8?uU1; zE?Y4-H~RIQM=^$m9`PdP-Rh;YOgN~yvLuIEL{%56fO8@DE-@5zcjsSfUqS0_Ek{KpU0w2Y@*w>+w%CNciEiB}ps@SrB7+Q70$@d6fK1);?42I689O z4F5R2|KXPlBGvL+v;T%g@odsPXcSK`EQ}Jf$@tU~8Dd?$?6X&bb~9oT$dcy5l{`#d zT~ZJF;Q1i9<~=RFJ+O;&NK}*H1!@S@@mN)N^ZLb`H}AJgm-e>0{rSYlV9G@5+1b^whA4I&jn3|< z9*XKn{q&4CMB2w(;NgkqqJtH(0L8`};i$9M06A5uM434f%fZ>e`)i7HQ*%Lvk$T1e zMZoWju4h9EuYz-U%gF34@ME86ukU`klxo%OCZdnCzQraYo)n~ry=6qsR0^*6+{=RP z+!NqOo&d7B_VcESgSIcRJKWhOk&Sh{P|fDv_zX-#UL_8WTmVHlsZk-e8y5%V;Y^$z z@zxpOdtN7<3|Y$xQe_m6g$=1J-@bYE{<7LB-P-gglOENRtDEa`GqTjGLYvAqE3sr} zDAz&p(Nr`Sa(C*=LwpgDR*7^0+EW41o3-9+{L-$s+h@ZF(Evk2JMIk>#@9NgX5>05&6w zM5!gob)KFg=(FwjvTVit7)!+Wse!y((H2-+Z;E| zh1@-=+M_|VV}o0jawI{KK&p?2Utn~m{;`tznJp3k@1A?zk{ytzHX~bZv8}Nm+{p+G zEhyoI-w*3AZ!fJ&e+x=p&v{I#23*JzikM|et0*G#{$B2FcPTi(@e|Ao*KzMs4SyJ0 zlwwqEx{~EK_Elokk^mOZ%oY-E(01h~ADmq!cE zu)KNoYI=9ECb-*zx+l{fMS`BBo7Eikto`J--IiHQ?8anU zG*Z{zLJmpbdyQHn0D+B)7J=NXf#PZQ!0;4*iIlf+nk>c!9%NK!LnIP4L`aGy9}?Nq z&u?D+w7q-z`p1jy@+JxQ*JeJd>TxO2&)DCKoobq!vU^;yi=~}pTLP=|92au$jMmD7 z{yCW*vsTtO1KYvJ6^}Qn`^0 zL~P0f#RTND`yca%6V{c~wb+?A@^a^k#Z_DK6fO$7i!1 zbCl!uT$Dg&n5|wm0B^kJGctRmlvA#bq;{I?c!=GBxq8#Vr9Msd2F@jB6 zjK5^Yu$npxmSREiAgjL~fj46@AQc#lCp%&oe%L;|yHHpA=E3Flq({|L3cGA!R&8o+ z@~fGX-3tMQMPO6at6kk<}8!0}6Rk zs0%|uBWa8#fy2=>N~&1|AnKPM)ijEHrHb0&fJW9D``qsHoA+;CUqo&38sVJHdJx3< zBSkj=4J&fbYK;<$oA7F6q2XXvce1c}S46J-6ylih@!pCu$N=X&D}q~zMm>>cnA~il zTrztMv+6`8E&Jqhp{}WB!zVSUs9`HclEg@@oI^IOSOUn$b~VBRK(acI5||DN!v6aE ziwRS`CI50g=P{=ZGtycSBY*(*ofhkgtrv=(XSX9uH#?R+aUFMV0sZwAKn4I%17}mK zIVgK0%pW7Xeyk#MD_f%W2$(O)`T*Ax4*t54WoGdZLOmU#RH`Q5oeR`%gBM%g|8NPx z-8?(35dv!W7`YOj6PaV|$%xbx^%z}L6e0J>qd%*BeYgGdCDiRC#9mE#7#H~O z*7(}CJ$9`l@_JYZeje}t)|bA>2|g)N5=C?6rg$4Ay(VRXcL*SorRdhdI{ZhXd#Yb235{3G_J{_@wCZ;y#P6FWz4?GOSye=GQ6T z9-?Vtj!7+g0~`^{?#-+gzuPEhmBm6{aa*|Z8#R^i6~R`oYB$DL9b<| zFpPZF!f_n^9!F8-$O>0PV!#HmamF{N zpSCtFYSIz;B`bB|1ZImz*ISqYBb(f*QR(!#_LPr@R%s)>$H9VN$Ol|ocCCkwXP}jC z19rUyaMx5tizC%`=+Su}$Z~?`Ut87&MP8(EUu)-|$&nuRG_;ap(3Ci)gk?WonzzhZu{w{%M_OM=O2E7!%#Hj zmCa8kJ*tw@`Z;Qy{Gy8CZR?Dkx|5Z7(zVSxCM&s+6Qj?Qk!$V3&A#tzh%1GPvYn!y z_qHpeOv_yP*Nq-}$N_HG=% zn9RwDj~Z}hL;%s&TZ+HFfBWXmtBZhZ`SV98a#G82J?UZRFG1+CO)9HNtGP}xZ%)=j zmAgA6=4SI;$C)DI-+^$hYiM}Q;gBto$cv4YJmLjRNj*oTK9#x-aWDu7+Op)Gq?!@o z4;iLA2$2-IZpboyJ>p46L>&`t4w+>2S)1opA;;C6M_u#%esP{ZcFjjp($|M>3h z#Z123>_@ns^r-3?_JhgY6w|jLRQ6)_enQ-Iyw&s*cAexx?tQbQ7&=u!PVWIhI*Wlr zk4^h-BH&>vx+clTOPy3%PsRNuvkd5@Uu%7>6@5xkxRj zF5M#h8Zd`4451cL5tu0Oke2mgek5N~& zXZ&$=81E~tEBtO2JI{`Cf1(BamqHg>b>D!(kpm{K`y3qd2E*BsoNu*Mc#>Re&b`W} zL#r$suwsByFeXX_1wp<`l7zu^u*raOYBpMXHX;oj5wijTkk7*M;T44$7gKJk@tjP0 zROL)vg8-sxx|-Aw|F@<#wxF7Z55FSePK67(J5`l9{7Pv&jgnn^Q{gpyND0|v0)S!L z)8LTBkln=SgYD87^7R=@%_FjAvTg5dB(fU>38+VC*VyBFSYKRh2sh<2uBJQ+vSjR` z5~SM5dFE`~m)Lm(UPaMSD7OU7g*?QmL`S(m{DRDtE{&4Z&ZlHriA4zHljK=u2`|v3 zfK$gN)&Pyj?8&U*1XG^@F2{Sx7fVrDO}Hm(MuZ^VtWxyL4%rRNTuXaI40OU1Gfy^jfWA~ zqz#|p$Yesv-4Kr}Iej*y$TX%|$E0|7`z*4 z7T^+UqK70iFF*+jS@%0ohlD++mN&HUDWrL@&N`$$!ZY#F>SV;RtHU4<<&^|m1czz= z<>DrF^Gf1+&coz)c)dRDVMXeKAd{2r+iJ85yPC1NwDFM(xwi|~@}PLcv+5~PmcWD% z0hTIVh0HFPEb;)r=zU-suf+%}D&+sH-$g7WjXL=|Pew?jhgb`r&iZN|CBA+2e!gIZ z?$6Wm?y~9SB=5YQ^LtFL{)SwC+lah$cYd{7*%EIw>zs|s*f=4&&3CTj#N_N!bh}Wo zhdst^-#1JCGcrHViAv8%6S?xQ6FfTU3to=Kayz3+3?85x*rEe>C-%8eLk6CmC0!y4 zettYFBt^i143v>#q}L;gBKPoKl}C>+2`H!8y-qG~{#d3$y7?RIJJ^_)kkGDP@Nr&nP_-Da8nWH(ds zGMlt2-SCDd!G+wt5ndct$6l}2){x=E7^vY$daS1O9DCL*m_|~`MolD?*ud1_ky5a7 z9S;JD5rs#+JPvFOyb0bH>)9co*(~EdSqlIx6`QhOTui)0TLrXoHRnNSCF-`3ea8oe zztEQz5j3nmv(snU1&_eFkjM1~1Na#h29Y2MRyw5Cvqb!DhWzy`4oW@73RmQFb-t67 z5cnHNJpuU<3F}e}$pZaQN?nAfo`bIp16m>&Fb@PulMYVkN7k@U7et!rw#MMe zw8vDH&LQfF92OnGFk9dDDJ)K{NDq}yN*Q5RuHzw(0id+P6E$60G$jF~mZEzvNL0Hi z{xCQqt`(ZcDg>ENkAcw4l0zBG^Fgr3<9aBHk>%`63PZ!yW$)FLmo zOY!7!H)NS5znD09swE5>2gi=SKu_Yxjd}!J!P82IxbCd=@u^Es9y}5(7YO`g|AZ73 z*@FGT=)yh^!q=1jWFK;3z@oT~N2If|+qCAuW0{f>zFe5JA~P)4aqklY7^1j0gJf4n^dojXkB<)~ z!|S0#9gL(mtN~+gGrXQ(zqo{!ZbspgNssDeRh~s|!A*8v>m;2hqB-)mO-?wUL$84g zd5HU0*%zH!%1HT4sK7oZ23?i!Ehod{7|l8^UT}|&Tw=&_0|1Q*JoZsG@|N#x2-t_T zQW5BsT~sCvuij&S1Ag5+9=@9MsI$u20GM@CesetN^RpFAF1`1t z1lM+Rdtc3Y(Du&oe2&U@n`%KeLrDWNg#b<$IpZy!JsT^-gSL0>c(Y^=5rH(p?E?O} zmXPmhWKU(F+#9Kx$R0@|9M5_>(q8+~Qm)7=sZU1m05mT|*d-sV4#V4*+ogru1mxFq z9(9T%{Nh=xo4jv*R&r-)|BOH;TItFgD<>}GF($XH|3@HUU8748o}_r5HY0>eoBIIF zh#zi7MQu|a#%uC+Sb!P25v6TB83Fi_)JdV3im_yo8`kfBx|pnPrcT#$9%XX17DMLZ z5USPisIJU;C4rZ$QTD!+s=1K6o1B%U#YA?Lb-Yr_w2-1MMzcN#5u_v`hd4&Qb-;%Q zj~jx`MLb{7zAJxZOrGMTiSwV9wrWiOg!oh~n>38gF% zEZoOn4;9D2D-UBlE7-3`1doSFLC#7rq#s%hKfif%v8$PHD}-OqdKi_JVS=iC@>T@E zl^yHmy=EeZm*0Gi8?1<>++81>cK5Ld;3e`mBomthRL>UKQ!J6HNqx{#k$+$m6cW=) zDW1GUD(JCy-Y6NBJ{xho2;n`>@Sf)_7tuF$#dq=>lb_9d)LwTp6`iT2?ZdhP;5Hp6 zyrg<(nZRCIE}x`R^4iZ{5a>^YlG}Mvz28JYL+2w zz<*+G%ITShP%&4eRWnz9UXSWPGn5v_9Q_89wJ_;lMzN?MG*^+*GrIz?3ex3rHFj9mhXDbqfUvD&QS40wibEA zmV%pw>l2FrmOynOXSk4ipAt)dG$5pEfqqKQ*z5{E21ql*L)k7$Who@7${9>O8w%L> z1t%owVc6v104;f4BD6C+^+YHUhYXR#o;Ny3tU)U;)iAwy`Iig+4t0Zn>159D;a~b& znm%SElUN>d%1CWDH5&tm(*W0UQe{;xkmOq3y{_zIH#~_4y&N5Bm=1PjR*2Mwq$s$a zGRv%UOWkK43Hib@zibAw2_Hq1tdx`*pA4UZMaGsFQkE3`CnKK3hxkCueGeh|Vf*># zi<0T)Y0mYW$J`Ghs|*1AbK8+6>TVC+Lc914V9o@g{3bltad$e^aL~tl(z_>^x#A^b z6(t^kc0A!}-gInj&3c0{BK#hj)?siFR#4O-rZ#AR6Tco&@bs)6Hd-SHuwHbS7bLGv zrJETjwge46wP68_l9Yu5heytzUN8)s(tY9Cq;8#_?FS2L}*LOjRu`4-WHWM2&btM=C&R79r zL&NVJnl{HFJe|7dLmKhWB)s<3?^*VYt z&DNV-s@Ic#$G+Epi;tON&&IW{i8<>v)KdQ8mV*yeQpQqa~qZ zV)kUL%gu-~IF{Z<7ViO#Q_lcCg%ZvNK9Lu$068Zk*z!sk)*Cny!<*m8$*n(c^92jo zZ${IPlfJ=d>bngSIpiJEO1Om{_c}*DK5XhV*Pt_3{&lM#ZOHgLd@-}YF({~wHmb+Ox7=RuqvnXgj5+%lHpzeWyjWcL*5ZShwLAToIP4;SUW zJUsr5r@5YT4@Yx$Y+T&7*`{R;Dy&VBxn9i?FX|Fn3|oTR=R)p$Y#hQz;#!huvS3>| zb}TX094|nwNMT9M(T_CN0u-4ftFJ{L=tW@f2X=V4XK-Lr9s_ zacL+?sfdm8>$=0B`u)_zr$;7 zDctZpP4vuzOVxuh@aZx3hFz;=>9STiXd78u=|;+G!_%{v^fZag|xhg98#%>*8@-~3oiWY zoq&j)tyks&0{gkdP_R*LwiS5+!TkUbPL3sbH8nc*Bt(J404Xec&iog@Gf_)KR;Qx0 z!;9&M?ShxG+(MEklYWPp?O$~?E8f4^?n31#yiTi5Nb?dPO;UR9LdJcUT*lpb@(wE( zvKzvEh!RasE+%9*6ovK`fU=U(2Nphbza-p)LC_f3F6=x!6R%CIf{s+ z(GH;|gS1lk5)!E*@joP}LTP=lYw~pEAW|Y04{*#3v@9e%8IgEnu=%4WGx^b}_ROM6 zT(-X6jGG_le0wG@W^FRWDfeiK^<77oSA3;Xmb@c0d&^w;xygCO1d}-S6IPd;5zVCt zFAm6(;B92dnXF0Cjz`0XjtrmV_EmOdYi)>BQal@xBV|GmH@zS+Ez#wh7q2f3X zeM!|Gx)Ki9b;Q4#$7Dm0>^vh|7?lBdn0P%x*AkzyBZYJcyMK7KyuZ|Wx?L-IHRn<1 zypxR4$?Rr?wiUi2Bq?oIHYK^nFwI4FF61F1#81McEjK3$?}&1BQq)dibC;SbY`;;g zdXz`a3;?2P|A0?{%}>!=xHL&>nlOs9A&HEY7pc;*TbhiXum1BA<9@SZ@@mRsZZ(1n z*h@fVNGvC17l&Las6yc+6S~nQ`p9)W#_Ulxwrw;dWXAUpyI{9uOeXniS^_Bd@Du{( z+CiQBMQgd;n%KO2%PCi5(`(G;PRQV!GGUoKR1z1dQKHRn;+*EX?!7NC)m z=DotZZ0x)lj;&>@Uc2bu* z2|I~m_nK{-Om&4TKR5YtpYe3qA}K&=GIeWg3GndQ$ZjO5V@G;yY$#Yk4SX8@5MH{@?xb!?w?Hwx)*$6O`IUiD%z($> z;JlIM8&5g8>j9+^Qc311mFu|o#fCWQC0oYctcA5Pu#=0(AdB-h%L>~UNlY2$z1u@b>&^HrAMV|V90JVM`WZ$H*46kdT{)BBSw-z0KY`3;I<8NhLL$HJD0xv zts2=GA1K(N@wf!Qx%l6#ZnU$$iCE5NJ!X&3uEA8sEDot35<)*)rJ53X!DpXhiZhaF ztmE$YcH&TRmMv&qMGN_;JB`%ZV&?A;$|Q0_AgSTi^hik*_!;ink(2{W?78W`9N=9B zyb3#V2Fa0sN!r(#fQZNv*Z866vvV0McP;@6v=$bM_9Ni?IM zda#i>iD#bUx95jyDCxiFfBV<}`+vzlamu!}?Tf?1rzv0B_tPKy`|Z0m{IebZZco4P zKij9_<(nNma-_w&)P2^Q5{_)5pB>#qg&&So%r*8yDbpkrA8mhOYrJw+WdaSW)gmNn0 zN^%~B0e**_&XOeil)1srqxdrhNMH=CX>>Rnkt3VI6|2j6qGN{l-~V!%#qCnz>p2e! z6e5a!F{{PG*U0K4<28UF^82_pH_0$BoeQ~p+1^nv4-nu}mdTZD8ou&6@jM~pQ5TO? z%X%wFvMS6d5Bv^Krr5oMJPJ6TJ+bC&Nb|JbIxFymz0>3qe)E^;k~pP)!H?(%f;?Ne~oSO z?Hf6wltMECoz>iXSXRG8W(%wP0X%z zaTqTHvQ^>WgWE-mXTOo^x4)72H4M|s_seC5+rN1Lc0K7qn|1bUNA|7uscDf)*J6p2 zohNDh>SpZTY#SGH_ri8_DAq;vQ;2OE@P8HU$9HwFwMJr*U;kv<)|djSYj3niaR0R8yp{lzY!T-C%}Pq{};jJdO_ zAp({*s>#+7(-xbml3Dqpva>5JQl`w6-|i+LXR;niO^D3NMbC$k9DqC$t_;H(R}mXi zF1=~n3lgge7(}ovfR7t+|l9lP;N~*f)eqI3K$+*? zF>GqHFoP|gvKl-rc2S$PTg8>1?sxf-;9W`;MoT#sYAm@Yxf<)S;SI%n3k;4t6FEQ< zRix$=vYtk!Jjpzf%>W~Nhgs(s*`A6AhKLzR5&_4eM-s&wsy9U@NY=8V@wkJuOf>bd ze7F76#nk4%e#fEzbTa98JdgNS4{^NMR+v>G!4##rxcObWeKng?-ep*TO0ihRo$ol1 zoP2B|AiFhCHWkPeoJc%0f~Bn;uRsU<2pvI?%>ps>q;#p#4Nh39U6cG4kKJkbZ6(-$ zN?|OX)X*E94zW0jf`H`Si|i$Pu5s=HAf^xvFNZaMt6LC zyjjN7ji_RBQ{c+KE~4s<7^0Mi0uVio#}k5w$16)^i9^8ykX)S&0pN_-0v2zUry`d5 z9An>qw{7pgn=YGo;cIdB`J8Vq)+(*`SpcEOs!Y)cYN53??}r{(S1sCU=EA=oYvGes z))~;GS7TdFNjKm`plpS7y|I3d`y8MxN_;7F@y;WrU~ z;bh$KAMhC$+pYZb`W{P`kA5MuycQ?yX2wxQ?^3 zyTtkjfW5u5n+Ql+i`7>R=OCI~E37WL@~=yGY8jhj`H;=YG=-dBkkCpX=?aNV0Z%-S zQBa3QARfU*DEuux9#?#kWnpI{EK}FQSUe5~$B!K8?KXXXnX12819md$F(@6oqXK;? z)AlB|qB4+qT^imeM{4?jiYxhi#b{|$gAW2aB0mtGNCH+FAvli0X!TL0h#_E z>>6ypAb?>=bdt0t*F(HEiR9Jrl3U$V8SC|WNm=OI%2-#E9#v#2`s{<5eOnQ(s4AA_ zI#>3Hr+rm1YMHo@$Cw?!5VKpWodKjrUwjjSaWkc$%K!(V&B4;6{b&v8uiXd?PYz$~ ze1VtbWQ1%Td{aH5FjLs@ysiE1+l!E5zS$4+H07IXhw0MfIITMs995ox-GIZ8ks~4$ zFIlt~*ormZ+~+kTWx{sXrXr0>hkUZY#>Y4%4iQkL<^e!Jo`79HC=w@`5l;f18W8Yo z1VG*arn5VhaS93RvivV~3H$9r$CF8qaxPMBFas|X`=&!(O`OE6ZAPwPXX}u?7cS&M zyF7QmZ(BsAY*S<)gsZSf9BMTxvuwawN{#_?BhPWHJvz>BpG0pAFMCc#$T()CWZRNv zgVXa}{@wKbbOAIHxAys`N#7n6UxS@i4;R3OqAC!0T|!c{2!kY5Sd$_PKjc@Keh)QI zkyRK z_wZjBDJjQ#YomXf^bIy7nPuN%n^IV6CT;H&#O(9pLSMs_#qL(amESPBti8ggQ5XvV zBZU@_A?XhI5u}rOpacrGI$K65ODiIk$l_6TbYR5juLrD=+5#~~*1o*?@ZG!1f+u*Z z@$O{OAHUQ;W6Tgf=}pL3;4^2uilwX~0xV)*c@J}1!!_^uW3ZSk#YH7S~d$laWI`+fnF@v;zP|!~38256h)5 z@+Rrp*{lcEmS%qF&4@iDyJR0Hq>*NmY06G)Ho-?%uHzw<(|G5RaAwi7>Tn4yTkLgb zWl0s8DeT8yqVZ7PkeaEFF@q)dBioLYBrSkC8xf;{XP3M@4T=ZwSDa8+Q{>7PRDmB(Rhd%2Nnm=@91C4 zC8;TgSWEFYOWq9<5q>O~{PoWvRx3at%CzDg_*gXg^iBArXaCrv45xKtJm4%~zva1T zx7ueoMWik^CMs@`J5PD8mn`^H+&V~eM+$B!Hn5$HNQMV#MH zOZJD#><@&oHhm;ZbbZoXN|a6RXD7~K3VLM;G{q1i@x*B~~4_Pny`+V{!feU&;X zuH)_-ooD??V_!>$T&*IjNI9}Z!AhCg)8k_v5Tld{3?+CFQo}h%?rOohwcmWH0|fxA zvd;qhO_7k3X}^oP-~IJQz~3+T^hYkqqd1z38xNJ63V1n8a~`io*R_OT5qQ&~=ITf< zE+i#4jf`Vp%^9gYU{Nip+Cvd~CJKs`JqWTk!h?Hy5#u{?#`(LA!d8j);SW-kZ} zkVq2ZhwrBEzn?BTmwGdnp3HhwKCvNjvQy5p-PaJX8?&m6{oXXM=hgVSaUl<3EH}L= zFS;!-zp2VbkyMx6WEpBLvJH~hl?rmybyau>107C~z>vHPV1d-h2)o-xWF>5Tb0i=B zO)1DfUP{v9b{)vmoNq6T^6}_dtJxK7ut}S}JHy)zfqcrW)lQ{x<>y5p{@@&AeOe6# z7RD16v8vt$*(?xC3h;|Oy1(- z!rMsF#w(zp?#PIZO)Ex8(gNzt1=g2oczpf&i!hQq0$3MdMd5`o!wZ&rRJ+`CCMT1A zhl$nS;7Y99s}XUN)lb-t^Xdhu|6<*@q;{l5*>N3@X|567(=nT%GBSWpf)>%c%D%e_ z^f7qq^s)kn!Yu5<0SG^C&5>*(-m(}foDH!$lc)U#G3(%n8>V+Zym@!oj7xw1SY3IB zVos(#On*oM46hpt{34>C>(f>d_;t%p>9vsL7|#GJIWhg;Q?+@mKXmBJDI;0m3hP#8 z#5obmIM;!1bkmNdIB+y-WVeSW5iQbAqC%=Cv-MjWeKO({8E)b83HA|&?XZ9N%bz~{ z+kb2SdP%0l+v-nWoBOawV8tp+L{f+FPaazD+On50t10NIB1c6~)Q-0Z83)LkreSD2mNv2)3nakpvzyBzHR-l7KvsJi{uIlTrsW zynOxR`%5U|rei;u^r&;_sDxkDruv3Az=wUVQxM!nEMHt~Tw~`#9wKKMkRIillC5}! zOsdHjymP6C%Cn!C1{3@fiHBgfA-kj$z&X!Wkf>ToHQe(d0R+SIH!|Q-MA{86Xh?77 zo5wIGlOA^dPuL)NWubW!XXj;`<~gl)4Y2xdM4P#gd!K&EqY@1`AL(dS9*?;e8=7&! z72!m#BKR^OJ&Gh`g%3GSNO}GbL}N8PC2|^`T>HVZ2auA`0S1=5nZXEhToybC$Id7} ze0cMEdGqr1rM50_)peiGdq`e&O+tTAsu?O4X0vsUjv z3ZGeLJd2mulua%U9*h;9%mj^W7Pf52g_I(LHkAPpn2SL+#JeqoS2mJ(fJK9s14s;8 zACH3v2#C_xBigbPV&v;g*QGyK9&hXR`T}%xgNNeNlt0cxap$UIE^41-4!a82qC4Ii z@8GG7h8GELUlrmB=A08z9E}aV!>^f89MApXd;;D^S*XGojgIieVX*` z>Hh6gj1zFEG_z0*KwK<7@>h%OXU98GlI6-zt#0+lJ`+}w!EnfPym#`DtB6i8f$}mV z`78~P1#=o@NO?^P5QL2nM`>B9Oqn{uPjPUVhmof@K&0Vp2-wO|tdW$W!-tpa^y;GV zp5H2VIGgnt9xWA@ybA23Z7U?^iBT=96Y$MW?{QCI0|LZ4?tGHt)KfcyDP6nc%ES1U z0>Ea9CM%m_ZapEYI-dF{1l>521Rl99HCJF`Piz^VlwGffczi5`#a5zXv$0`VUcP>F zaX|k!D+aG8J&MMF%;Gw0JFVoz+eiw$E0swSr{R471S!~gZ^(lf$>Th=BKzPYJ1$EMT*uvS;l-~HphuZf$keV0>H$(OuNi*!A=^$G4#Sywn*vwdfR2B*;`N zkyIGX(}iMNua5E`29X#k6iJ1VHTwac99sfA#T;*sjwd77GKxaeBf@e#^c9~GXV25? z?=N_{{7ri8PqV%~v+pLe9RyIbEGyob#m%u!tn@>I>{lN*v2x|-7g5J{hchvzb*uUz zKa@jY6H3)RhNKfOx}VgI<%md*995}79}vhJo?ue{(VUE^G4ie!K#27ZnuYl9->&a2 zVz0M7&Gn>5buyRLWM4PeYYWtv?Vf6>tARyqvRS}g5Y zCOzs#q_55c!?zr>6MpMVkEs3RHGCuhHz}{x-4Ak}td5u(b#XBP$s44z*(cviDIHr} z<}P7B-Y4;h;ONoRJUfOJ1gVBcq-E5i9w-lm2NR`0?nP98*pr9GN*hTIJZFZ9tcWGH zTOzJkQ+^NYiu+q^4kUx0Pqtsc81nX-4O!saWnIWpFfEn~x%XK@Fdwf3S)auAOTZON zPICHt7Hebf{bca(?07c`*1f($?< z8x!lhNsG(-KFvaK=M5Qz*tW)ADOPAAHxg7|HK#*|W(Dj_?F-V`grWWL;oXZ%n7$PC z`>k6!oAoF00u&{bhKCUrvA@}wxK^@5wa2*gMmCi}5kN{R2 znGt-$GpvsMVu943%$CSa$vOgsM3v+=q%V)K@5zW7y~g_)s5PxvfjG=>UauEK?tc4x z{$$$2j^^=c{J;Zg<8V^D2y$9m8ZBlyE*!x(@-H+xEMi7ZzNpss0j7TEnkW$Vz zryjyl`mNc0$@A(FS-z%*7Bz(^$&D`%>otj3u7{|cDB|cSMkFlW%+D_7r&oWuY&G9F z82dQmn>!Z^cs2C2t@7wYkcRqiT~(EqDptPXGDR-@>*r#ji{_apgf-S39VXn?0)LU>O$VSL@rgMdV%xI`l5Mt{M5_AWl@z1B)J^6;f8vikrdw8alEIcUm+X#?2BJJ8 z-H%7OpHnASqP82Cac?2ZC_lkRBnZ}%pqzvTRvlM^DziGgH)UNiIhBx8bx9uk-3*P1eSsF6Q4ezG);>@IP zK>6z_k5VtzvV?6a^S;*=DSYv8!X^Vk2RxkW!?I&jo9W(7`!K|38mKYy4MIj_ltSQT zkwTZ=_SA$z95&sv!a;WGo_4sR*2z8}6xpTC$dU(1ZFIwO8^I$nLzW?uv|JD2QH+st zBnBCTWI%sjw&~3!?zijZ&t^U9xY+rc5WGTJg-IE`O@%ibeH6C(D?(|uub2S_K7EAaResfdtli`Zq9}f6b$kJZ}0{o zP+Rqa5$*NcOSH==@VuJzFxdGQ_|W>Uc=-U&TxQ?Bt|r%}8Xgu>qs@ku#C%x$DeQCy z!E*;#>DIx&NW6V5n2@o*Yt_`y;bD!9Q3J$?gEdr2Y-KmHdW z5mxtaPjX-Gz#=p9G~Kl{rSM|3apmWC zQu1iQ4R~5G73HD~@>;}*hNm4fZhzn66=Nf)_emze>^YPYcrT&-GX%D)X6-zAG6KV;1hM57wi`^u% z^i}JXqy%&2Lhi1Ap+0+l67M_sd`&?Yn2x}xC(>w_z>bFO$r06nNS)1y2^btCDYwW~ z!CDB1KXE{Y74TXd{gv#SV=ec==P!a_r#f}3VQOUp3w9*^KJn`C1C>Uq4&u9C_|<|} z>;xB`%=+u7=rrw>ZkyRUXS0|xyJoZ&o)XVV5Lm0?xQsJSG=&U#TI@!l)#SaN61>U0 z^tN`tAhhP9xbE}j2K(u8@SK_qLo5yS2&qT0U?)LHtE!4(oInQq_i6qMl z@-m=(#}tfK+vnRAtVjjTk;!uVqf=#y!Z6>xAzx3rkkGW^Q3R^@`_hQ zhLSGclw{zyTicvqo>6#C7Pm&>l5@|b)xqBT`(`jLMG+xTQ;B!f5pL`%pNBf|Fk{rgK4f9I<3YR;pSVZB_Jl)BAHM={Hp91>dT zi2~4l!e^H|7xEZZfbIb9V@b9NV?$2`(Ltw*}u>sJ5NTgh_?wr2AT59|m$g-YZznzv3zrMYgm~Ki&eP!Zfl)AFy zQS3sQ_+FT%Sic)zk=ODDjV`;r z6@E`pEr4~ENKKJ>vLHd7jF9JpCv$M|;m}2XnJ>NBKRjLVA(vbE(&tIvV4tk*t))f8 zRlAvfYoGAYHoJ7a^G09}2+dge4ar!YsAb=D4e2PZk5wmEeP=O9L|*R#Ko!q|E#R$+ z3J3<#7S?4Gn`b46JsDx^L*OA0uW=n~E{FN2_rG0qH|Zw7)b*rCftqF3rMVR_z0X2a z+kp+R*`w>KQX5ok6BqIrpWV(#>*{=i_?LgKX{r)G3ObW6smQ809zb<|Zb! z$Rul4NjWa$K{n4a25h!&RHf=Ac09%cBn$<+dsgg!YV<*rpUc%RLj>dK5nw~Y&V zl;NGNk%h3@^z05+w~!4&KQ#m@$v#FIiERuIc{D}qC_f?)n>}m%!u5bB*$SCoDT7H> z<^M^@f_En0GWp4*N4Xb#{G=3sTq%oH)kwRQ9quLWF|PbDo999vWbv8+WZ_>B%A1s- z!tknun3PPtwn6HkMnGCtC`9bpcpMm7wjgW$@=Ha2YrvOCz5_FSKFIynSEBfOMRFH6jBbU~d= zdeAZBKVMz;mztnH?dYCcm$kDp8N-ox-q@5R_#z=ho1 z^oKlmbfUA@hIAY(i3!BjNn|_%0qk^Wz8u$h(!gcOAu&+GM&at654#)G(5 z`Ykbv8NMQetL4iDXEUn*f-c{T|LAO1pS6?CL`bWGw4GNSY#8m}CIngN{bJfn^C% z!Y`3ol@bVkc>iJl^|EGFzl1Sgl+L@o`u%2q0ew+O_}CU4RljK}R9 z_0*AY8Y@O%NMIU#4xWcy4@Jgj^|3S2;oULAhvy%+OIV`0^%k5=dX)AtKAt-$?0}oS z>~h_g2vbq=2Cgl1+Qr>8MElN*7RJvd+l}@iB4(W!`M8#5@ zK_YD)S+5ZTl7$%Qdaj3DU^^gNUR5MK`lDyzhwb~P#QS3Vhy^=!SW~ouZI~a zrG7Adk_;}6R5vnk=7tPr*F%W=j+ra`y*t!=+%V0*y?=iR>*T(B|I_;)o-U$qXIl4X z(;h}d8R}6v-?Ub{G@|($Yo24=?1r>l?Ot&urxa!y);Oec!ny(jHY5R3sct%UaoI&& zB3J%(*{vhg4U7AZ;AP##wp*vjPRKzwH7rLq`w z=YwX9hTKC)3%xf!$l?3{@$Y~8Z~ra*%hSL8uM5G?O~munxsSQ=aN)QYi+!nmlMPru z!>sEReOdxSU~ljR@&4KlM-ip&T}2(Dud2a8mk?EPMF`Mh3`|Z1D?J7t z2pdl(T&pQScs*c9I^-S8(2YK5Eq~m8+n+8G5#VMy!O5&gbqEGtbw;s>gSAxcrF2u{ zlxH_vgiKE+L5xFdiY^_H@%*>iw?!zXjwR)_NcanX>D#_ zr<_<*wV746w!5$W$&OkAPjXiXW$C~UzeEu}Kuz}7!m;rWJsUzKHdJk8wrQPAOhVYGs{f1M_Z0nbixRLg2!p@|3uayT25N{Y$N(c33vTekJ6P zJ2rK!G3QirA6QXfkkgVh-C(Q7f$ZIZf&>6aBSM8g8DU{l46L$=%*mq}o?c&4)b93` z_n)RbDiBYkYykXNRteNcPNlK|ngE&XXSC$8k)A~WvjQzPj@k+SPtO%EmI z5-J`bB5RR}qJjuTJeSlX!DBFv3_~Nlg|lo9IfxcdMx;P49i$(bdy#tLWr4v@>+_{9 z!reMl`+d$gSYD8TAoO0`DtgX~kv+TJi72}ZyKa2l4Ojkk8g7+%AKirPLGzN7;$iU3 zH6vZBa43V56sCZ`)`k~SZUFjZH}r^PkTF) zV{S?KDaGDZM#QOr^eU)g)2xlEB221#sT$XD_hRgWEfiQhs4SFjJULF8cc#{KJOPAL zIBj*{NC|L=pNv#mS3)0ztyW4oO0vM64Mlc^grm5FZ6M}oOn!CgOOvJ&i~ z-ILaG0-(rFZ<}TWYB5$(c2zTW5Et?gkv5n*OWtHlM8JNU{&vyH+uPgzWZGj;qtdQYC@Ab$yl{)I zWT$c1fRXHW!FGIhtmE!aAskPkE8{Ej9we~9g)sph#wvMD#oi>+%(DfY8c@8hk9;n8 zE6IlF@j{RW zBA~ynagM1^u&U+CZyLTh>{*#*F(Qi;;P8F1z%-R@s{>nCsR0h?JyI)#q#lHcltYc| zusLdjuZJ{KGs>Zck@^;R9bVXed3ybPan7e(mj68I4t9_CW&Y6JSsKjFVl^t^jbB!= z=c;{OsdhhYECEbkH#F7ru z_d5&wo(*|kgp>N2-BHi~^>6={{`=o9Mk;wz>-TitL*#ztVuICM5!G4}S_uJA)AlqM zzah|xJo$;sxO?fxvDs~vp#>yp)tlZ*RFw4P5wt^ATq5={QXZIGlk}N#XKGO7`#c^3 z5+SQkN8AYK&iW_byuBV^ zgOu_J2-l_4A}}Q2NiRX#(s_D%)jY_4Dp$=7ifkJGu6)d%>08 z@Gsi7?o9=l0c6i9C)<5#B#+eOA?Dd`q}b)r+u=x?Z7`&JEQe4W7bMW0u>pQ4`%iXs3(h zOR~1&TVrI&7Ji;u$&Gpsy$l|4fr>fo!qKD)g7e^|sPKL@{>SRO$v3nOs%Bhhs@e9xX_8olo^jSUX zbf^D5=iA%o+XCEx^s2T#+n}*eCjg*X7I-OGPGl+}P3OWnV@A z%M%42#2S;#)(qQik^RAxZi-$^dvvqwLYx!v-RCY(`Y<|DHM50)+SK8A8c5s8?iPD9 zwUktK!@ru&*adiCgC30wa4il%o}}<_KSx)kr6ypYPC_`qr=^gwlF9-^+Jo@i4CMMJ zJ2+BTEe?W$AJ%tp+)cRe-afzj?b2(i*H^69bN-oU68~;~iY*wsLk1sI?!a@^ky~?- z%>sM{QSnp+*KtOTSR-J9+JG}AlYz6N&`nLsuYS*~Y*M<$h5wx=LQx5}tg;)=Dd*Ke zS!sN7shTR&A=+Y+uRbAm3xM)021%twg{Ou$)C05oK@-^XwiNGzV7)Lr5(bWJiIjZE zv`Fniab!CJ*g7MG^~2j&@7D{0zW?sC$*&&9$((=c1yO(hX_%cj05F<7scy?DxZNci z@+K#MwSD%13psfj|Hy+p5w8E8ZriGlItipd#GlB!*48@t4B#shwt1n7OD?@zdMl*3 zdLUH+IdCc1Ep!lM${oqAO+pVA<`^&h*^r{n#YinvB*EUo9}KMNz`knV{a#ykRdjYW z<1r;?A{VP-5n^F+b=r2fDkbJEEN)8@_4Vir8H^F$buWC*Q8@oOqocN$eO;ODft$N%KYh&=1bue0uY{nv@h!XA72-dk`LK?(Ggq_3SlD{iVOd`(S3y9PsWwPb|&AF$U5R@DaKZu zmIIPllF*alKak2Y9@=$y0wWo(to+k=;UgzBIV22)8Qk#sD(}00{qg<9hT={MB>pt# zG5it#$mQLiZ&~s2?X+1v!wol&^nMqimUW(IWC+#BtvdUuBInBSYkic@gsxHz)>9@q z`Iv2L9l_scpw`w0CCR-#!r4=C9Ofh1v25ONmjRZFU=n1+UDILxB-nLDs61k^&R;oS8{L4PZ59T zegj$|Q74Pw#lfL>=zaU*VwK%Q2SihIq^1cVajr^+!WJkbvpTBLYNs6%KR6d*MtAgk zM`bJk&)E>0Fh|XbSHZ3|`G>pty@=!M&gS9}c+Mf>TQ6L}$WDi2{0Bu;epD#A6n-xsg za~^d*T&8ZUnNw8F?W#l-*PZEc zEPvEGXmSmEB}Y;c42H3D40Md-HlUjN)rhB`U~LE95T{jq5mDFa!*oFuayRz)?^C`# zzW)1xbK&QrB5c{Ip(LIKvnJUXB-$yJie1l+vMR6- zDLDj3Pp>U`qhbH}BB)WkAY5AC;S2YR5jS2LZ-MY;}Y59*BrClle5{7 za}Bx88ckf0Bo=ZnZ(R9#F&H(hIO4_SK zpf!?;IUqek66(Uq2y&sL9$OvM9dO)g_^`cuH|@{wUSGQ0ZeJ{YW#*&UvKI^YDue=V zFty3h;_miF=GdU@9zr2=>}KxnJQyLZ?mE<-MN+_YrKVosC*`02ap)!QGYi(pN`mHAJnJ&f6H zc5aDy`?sw9p1hlq-YV%M^%k0ryU1M0>E7=t;Vmy2h|y@E9~Jgpq^$w;cv~dzPoh7) zX0ji%q3jJj231_EQS6Vjog~6|tFq6!3?6unJZ&CfPes7(k2F?fnvayS)FZXzyg3`P z?EhgS4$>@M@tNWM^ycZJjoQEaFg?8j7T5Aj*79o7qYf&ql1oghoAioQ0&r0$;B2*3 zrNg{Qxd&G3?We*}_@|rIXES$QN|;v|XccPJYEHJVdL@(6d5>}Y*!vVyDaF9kG?S1E z^-f6}1sIr;t9{U(r{@6aBUM2pfFWBE3=&Mzc=7>X54bS|2jHo#VjC6`&UFR=U!&JI zQOfnCN5K?V;%axfdF5*ptRIBGMfPvYX4SeWJP9u3-WMJRL2XLRXYeNiahqfjb8>^F zsVku=LQKvL#j*|faf|dPdTNAXJ3BaXqcvHC)yW7O)aWQ>gbM;zd0F+lzkYsmY0<5> zZah9u`sONSRu%NN#G3uA@sYRHCRKvpvI(mN)Z3@%xbUwVy3rWEw0AYm>3eoX2)&QA=T#S^H$z1t4_qF&aK_PnaaA`atrwWlT6o=A1 zQ2YXEP_$Z)RDxzFFoB^THJJ&hH{rAe96K3_mP#X(_fm{F`sFqD_WJG9yX~T#yIHpJ zV%j%II?iL4HEx9$3c>^S0a(t(&0C!nLUUAj4?bO8ebw;NV$ZX}-H6^&v`HfA&$d@t zbROVfM!pGwqLwhD2tzb{5b*H`lZubzWJHbBE+(h&0n}jQc|(Fz^LDe9?_|=WI1KFW ze33xiaYNAG*S?2UPSz^rroBm90JQUV_fEb~R!0OxRt_rz>~)`Og`23#wW_m8#E_Kh z1H2h2m;f}1A;p^|L{}IyI<2XXdp#8OsMrS!AVn7+%-cspVnUV029R*Gv zwRy&U`Hd77P(6@(jIja^>BZT=4^OY2FSd7gi;Vg6q;HOlIp?^qaZd(@TZAqMpxA_c zN7$m0#vIG$xbSmRvsxok2B+FkQq86WyhyT;%Fn^lrX$IxI!f?zvp&cc zEL2mb@@z-~vO7$7$cyM%tQy|__U`$zRDaW*pGt-6#@~ktq341QOB?+-XZ5G~f+lCzXZ)!$&r501Ik-JMuRu zw|zF^JYqx`*~Jm`@az6W0BGc`Zn2X|kLeaODH)j;M4Gt71^I|?t8@!2DJe*WyHYLFuZ!&FK|3JOO>wYJnYf7_Bb`F*-j;FJ#ry;-{k7B zxeB!+zQOat+>*?0y{0H6P$kXq6!5-Jy16=3y)kJTsdGm;1zHCdG*G-iR%#`M=vGmJrSA?F{gQf zcedg-rTEpH$F$;UD^}eFKykLSlDlYl89P;K?X<;})o~xt-BGKKCq6|MDAFxF{ZXjd*9gj^?FU$D02AfBpA# z>0X#y2=T?Vzm5^(T_NIx_jiSRb&JA3K7^iR?85HsQk0X5qOn)QoU=FhLu#)8(*YIo z1l=YP;9@kgbXXn`y!8R@9Z5VriXj)nAp&8Lt&Tog9s?-$LY@p6NjN_8y%6~Gkcxi3 z+Wh|Ahl^oW`_;?O-)DStcb{mYa^n%|yu$KJOzfUGT#(i6hTt(~T7gZ>NtY#<09-=jqu5H#aS;=+Wn<^tjdK0Z%s1}Zlti3s; z4j-NmqBiMt&4VOckAW4(z+DW34rD!5B8=AYSRF9uWJHp%jfK5I9-^;)`1QBv%jR$M zEnm-h)I9|=IsgQOtSz~!#AbZ3S})R0ZWdw29^*ppj#A=rz0ae^1|$fl9gztc(jg(8 zMOp-xO}!;}cX8-FjGpzndT`X^AoJ#-<}5@w84-s%fuQuNLvYq64)5Nq7Y77%^IYX> z&ZBb9;8<2jV^UdAH zRkL<-)VszW&d_X>h`K(T4)2_JKM)o!{Jhx0f9zZDA{4|@*^I3{Qxp_-D|qEvcXcoa zr>q=x(1PWlNQtnI+1r8C3{XZmbuwZ`>jOJI!XbPM7xkZkK(x`*&7AXU&ZFAwrnorY zTXWP@h;_@8Ac<=+^J47o*u2k$Jf@{omPE0;BufRTQzR~msVMK6_!=>g7)X+#BdSr_ zNI^VmUg0GfElC9x@7Yd9i~wRG;({+)-oL(t;BFpeUC((8UQs-I(qUUCDx5SAyr;IL zfI5N&e%Urs{b3#VKFJdCuyz;1)h=V{2-z+cD$aVz0`!86h~58!Mb2t;Jd*NMgTPjX z%YcJ^`6XU1BMs(x227-&FEvlz|Mu$nQt?1WPYC~w5w~hdPSojS)E3Gn1nN?LLJ9vMu;7^=4qSR)Ns#;b@7)g>eNp%fYPEf|c z!I;7_!8{oui$K(2)XsclV|aPPyeyZg*xT33pXPjfoFl=kp$eTQBexys*(1R;tM?i9 zn+?8NJQx0TlS`d-H#z14NLOM7s0Q9}fu+tx^gK|ohFy!s$Uv?a;1Pe66bZ#<2@0Q{ zj95#ac1J03;6m23EI(}PI$aRJ*PHbCXVV@94IK=-EppwER!=-=UbNlBYy*27A|8a3 zT*%!$_{Y5tlO@qzZ{3iCGg>|gsi@Ey5_}4B14NKOGIwla9@Ub<9I%yI*U}zM(AOj6 zRCDl&yp2+%!5H2q*y|#yxv2zsHtV0UyZ8_In6=6on^hFAH>4xT-H;I>Icjk52SV5d z7jkdAOYza}rR#{?v%>Dhr`(g`6%JszN+k`<$)uw$J5n6UJ|Jvq9jN>O2QT%XzlFQU z>w>JG73RbA{nM|P4BvTEy8U|6U-#x`N&bAWHcRDgoQ+)+TmpP}L)x5^Dyzb)&1Kv> zXnr!Z(}{KVB~=)@;i9oeTtX)yt&jY05};z9)$UXk*uQwsvmxS z|KUPvt6RS0dd`D9c=n6xWpx$kO0`<6n*0=J!7?dtCMQ;#xsV5Wk{D`rMWieY8H;Q% zJzCXVDzSYO*(AU=@XeG=X5Q{bGQu9s%psbq?=i;(R<}q)<|y?NsC+*?y?KAJOS{QT z_s6VnkijTsEfvtoj6J@Qjc#dWw#TuN5P4h8-njBx+uSG95(_A#sYlDR;q4oI81N!| zilrtVOMbM+R>!`DiKAe-K7rqt-$+t7S~0@Xq~C#;e5o0}KV7u7^G(U{PjkMxA{Aiv zrd!QYPJ4>F7+JGLt^sfzYa>U9+PLsrhIXMdf6b}^o%E1P50S)0?C$iH2Uqs!8B{{~ zkl$=E859-4;M_Pp;PNWiBnn(u_k2k2i!ZZfxwbFsy?c$M9es zDbNC2ZxyAK-N{J6I~D*VNf)4;j4!P|J(0;WOjEx}c=>tOH%OpkZH=Cq8qH18d%PA6 z9~@C^WA7Uqd@5Id!|bZSXP1WDry1Ljmiyx-0>%qHR-TPx%NhlM4Tnwcb2H$laN7n+ zrF0}OwkIQqLcHR1l*vF~4ayF`t@~wj?&gj1^_)kQ*NR%^Bn-TuFlComudzM?lt&GN z!+Je(A&&{4PH01pZi!?c9xk<*DsQB;@imbT#5+V&?0W-)k~xRW(U#>WBQWF96z$H2 z;5DTlspL)-4LpWBwlLQF>D7k|fXq!=(UVCJ$$bm}^h%Dx z)fS{{DR`tiW{<)lnbz1eq#4CB?p>eq(V@svOz$44Q>PX{M0Oq$eybzh4Z-jnkQ6u3 z0f~$hx8oU#iX%w~DM#}18vuDEq*20^L<*vY7ck|+_pdIdMRg0N{66QKgDFcfq_14J zo)I_srRvy_-E7O&cQ(1MmJ9zn^O-?{1N7I6cFEvj#zwNJDsquM0o)Bhf`W1iBOxIR z-UiO|)4ifM6-M;xZd*jRqW}nEj58 zEqv@`s)~2Nu0JeJHZBs+3sWh=+YUmYBJhG4Q(A>rfJ=xY3p}Ou1lM>51cu`Cf90qT zMP#G2l?H%N4)gQt`9isin+Cp~^iNp$KX48xmuRzyy1Iot^LpET@zM27>mHW{o)R0> z-=BW?qk%=qJZCw|x102t9VM0WHn3;Y*qzcuW;RIA9VU@7k==91&b=l7Af+$PhIkZc z4&3fiS?rwG# zC_B*{FN=BMY^(_xxKHpV4Sw3$m|0H`$UXuqQzpbj+8tTFrv8l}%z*2$r$c}t4gr&* z;k+;o!#hgt;w8FShjKONQI`!K+uKePlET$??0D~V=6(2-)uEuWS;K|gU5E70vv8)% zl!UI$m=s(RlGIsBX{lIZ18?#3Hs^6;Gv88g!Dllc-)ftL-> zuP@EtCZf2W^C0mGKrrNUaku!iN-RhNQza7t^56)}fcMpK9e3a8> zLxish?jT+90Cyu#V#$4Icm^)D)j)mJcV)W6Br{@vJ440;Ps%>=@wk=J>TpNg?4${O z{`JE}uk991>-CgJk(2>Iu~!oI+7>KOcU|#|oU z*#fX6(j67U2;9x9{3xxEBgw&)N35`?LnO@xs6o0eu{)Rm@cUs5BvaO2X?*|hY*_-thBHnf6xUQ$RIe>;iFqO7g?G8jAnp6CRU zrP7bvK}FJ-0jvNEN{Kw}WJK!GMj}t);kJ|me0lf$>u;C7-!5K0oAnq7LvqZRV)4Z! z_(H38>d5!GG`YfzgcFMEcnIyes)*Q0#Y(WKLXW){-wi9=M6Q&t#D?Wjs}4bHg|3a;b7wLKpI%nbbyO!wW3>-Yuqb{us4 zWMpoZD?hjT!DQ=Y2h0yipk zdwxpG>)xrI*hAc(Y!#y1m`Xk&uED4@iaZ0v}Na@P$EV$uaNHGdL#g< z0`y20k$X$!`WJWi-@kskxbANj+kT$(P44$SZN1cKYHZ=huaNIeF5b9F*{PYNx$^VQ zPIYi2I+Lly>JyPnM*MC~(r5IHWVH?OFz`n%BAXgLt0s7E&New@N~5H@h`JuoByvK& z!M=UUlET2Rm+9@rm@aPWZ(UD%42;RkhPTmX-YS~vN_DHWn-{&Uaud-^tC_fthx9HZ z`VB0$H4&cMkV@b3wjPNNNwXXr3<9J#CnMxQuw-}wb^#*rcq=|1q`dy|-33X;Vb#wE zE&5-setsBK+&X8`|7XuxVh_7lX`*;-2{R&9#dg}IYP+)`mPJpN3qNNH_DA=9E{2(* zbICMOk{1#lJL5qirFV^W59BJR(?0Gn&A>b#sT%w^oINR>Pex!UgcE(J%i=>&?&JOX z{QYGU>rIb+GU-tboZ7d#TGapx;%)-6`5uxA#marDb6j0=T*yO+CKWAg*#L*E-WH3b zGf_}fmf~VY9*L)hyhf9@kR?DArF5)h)?_%alwKLUgwuelc1Lp?{LFBqO=D2NnO3s* z(+}UjeZJ_lY+vU0Uz}}SPr1k0)+vDv(rZL-EOs{qFJtTzy@w}Bq**4iYH%TUPVc=J zpN_UzNa|%AS)m(we#jS~$gZ<3`b0<{lgY0lSz%`FfMEi0Yr!$+i=?9rl< zE8xgcAr#Jr@FKy|zy;cpBgX0B{fFt@tBae}?N{Jr)}u0`4emQyF;$ln_Sf##)rqhc zj}0Ayo8>fdA@{z=IO;0!#?j>rsV+E$D2-QD*_~ico6!b(z+So07Om;dDLeK?ht8SW%r$$;uP27vPHLUjs>5jnGs!_Ey9>eHnAb_2rDNH9(kP`I4n zPe#N@wOqssx+@Zq4)3;C({IQvWx36Ocs=V;u6|{*pCYhURl05fxQmWPMVE@7&FYoh zxRATIjjKa{+h#V@8cVtDR-$nt3xvxKpH@U2tQLx9M=I~Ej>nM-%gmJn1mr2AHbI>Y zk)te<_8i-YyTQIZ1bF-QLQ%$>GKwFke0$KmE$|9jS}S&h##qX%iuWwHGy7b$MLM6j z@>|N4!sv>Z#8+<`JH!qC98YbIV&O~J_oEJ@Ah_Q~43j z-m&)Vg}L9a-(O-9H>;h0pYtusvxcDJw6XsTo2kI{PXG`-6`g_u7BOY!%D-L;fMltr z=&EAjCPHW~Ogv+(p;p^E#fK#s$Blw3R|kFpRN<`z32k@@#G;q$5%x|-?F;#1;N8~vK%Uv zO!rm8u_Pq3#nXX{$UM@sIZK*g2KLUfG>xALk{7yp#X0bJ%#3n@3+^N*2{7WwOr463}_)U z4DvWY#qM=eu>F*inWfkq(obtAvj?u@?v01)D4nYmfC~Wq!K7?bu=S|DO(h$Z^PnO% z?jvk1q_9XX*wcwj->@ndc@Yl`-Pw>MReVJ7loGi>{Ne=t?ej0&yUS+9&GxK6W_^3U zWmi2;a44E|*IAb)t=W2Rvon2;+PHmLxbhn}(86~lM4Fe4oT zgp$%ZipaB+*^&f-tT-cJt%kEd8BquTRO-Weh82n4sz5f-Jt#k=zRoNtbHB|3@SFJ_t2N;^rBtlZn~0K@&JMU?Zx zg`eA)f=$AQCYmq!o0aJa#_2ib-m_LcA5A|Ygz-3&<%K^IcVI$E)dS|M$E`I*;MUCcS)4YqNrsRqFSLs!#iA0%l-cvDC8cm z$dOVZOK^<_$xhO+U5QARg6UPXLF*B_Ah02eCkFnpdcT) zu*hJCpP$yt61SU`EZ1`$#f-f~K&Ctw_`TjkEpVKnc)Xz#a%*ASmI4=YZ|7}~vU5Bn zyj-?bwhuKHC7RrLSzK9yO`cEQ+>bU0l9(aAaYJN#p^B8(Lo%u9SguB77)b=>rB;-> zG4q+`OrlgAFLhc?g5Bc}V%-$iT zS3FfwQAnN{2Gx2OI+cMpL}Xl0V+2Au%o!0wkj#^$NV;L@M*r~C|>c(Gx zyI8Sqx4BjSH04p*{pWvF>DUmq&pNaXQO)*4PQ31k3%U2L#343mgvf$=WCakkXqBo} zNr+Um?Is_UhcYO(%mR-nQW_4P4T+Q;kHAju5FWc4for5Q@)D>;e<_Q#zxi;9tG$_O z{yyh1&itxdJG4 z7>`^*NMfix!IB2D0L@cj^BfoQkm6g-nsbs)hVD&kEo)fYWse6~W6|}{ zLc#0j*m$e8rAja$cmR}fEardlwHOtwEQo@XgmVEl{P6U8yRd5E=AroYq{lcG6G*l^ zxi076*+;41SypGfMZ985Hd1Y_;~_u=Zo4NVYo)wi2`)70T0z3tEBv@?12aiaPGTgU zqaf!BENJmR02dZDQ@-GOMAE&G8Jn?lm|i_yjJ(ZAaXsfTA=AwwYh>3d8%o74E>xr~ z$*l9v+gw>T=A92_)hU6f#j(X@o_+8L?RSM zYj|g@qCOdk^x&Rd+6O}%?7u9(URYIjGjLwbc~pjv%`7Zj<%Bo2Y<6Gq;u^+%Z8ku} z4I7pVx%&oZ-62dAa)GDqT@x<{;Z;(>WQ6b}TtVbys)>Xh7H6TM{V2VJI2#@N6p`VO znBsaUvd271YIw1TP7Xi4|KaJvm*+FZGc0CnqI=~k+>1)H zY@cXp?{0QkfrU(~cv%o+b&k{8;@FXsgaF_nPBZ{^zzyUJUIIXpN0<_N5{^R&N{J7aTnnQ;+Tj$nTu+Cn zCW&b5=-)%|cmd`Q7p(WT7}lSsJSyLJg|vD*rAIovIUIb{yVXmbLbiGqrD`tZF&>7r z|2AcF)D60tfX|cGy=o*xF_B{^YWRnP>jn`uIx=e^uT>gJQXr3<4W~n_q5%5Tyko(K z(!>7z>iHs-x@q*2Ne?pnj5J$McCFeiQMN^`lZ~?sp?6_eUC|Q{7$0SJ*8yfqPNA|8 zFJ#}OfEQ8(WF0y$U;MlSj)=^mToIey}hdu0QW;UmHOku_U`Qk4$t30>eq7~ zgVaS5P3I08mnoGYiM=b+hU}|0}DN}_0l2`V&Uf;7WVf-f6IO< zggLEX0=Q<@`CH7W&3x1j5{-OZF2vfAKjoI#0LuQB$Ra~0wKeMS&a7-UR32xU(8reA zKMzq49>r<@9wi05*%JW{OK54`rEn$e?}I(=w&D z&RqG|1wISwtq@ZKHa;Gp&MEdPyv~jKms$)es2E4jn`xjF3LgkoQ2^=y=p2GK_H@Wm zM{xw8CkJ$p5joc%HvKO@J+14-7jd%<`j1)Pp5@mm?&}2nhlFe5d7;#1a+{cwTPES0 zGR<-2U$;CWD&84S9z{|qSfr=;fAX9u>P5r#kpkMwiy%T&0F~@j0pLMe*Z!0AREoFM z<73UU;K42%@tN`c-~R3Y!4RvG@!j-^A8+P=#~3}bdosp^Kuv4>;D4r1KQZx-e~ji&^65|h zkp~BSI$A|8S^TZULBOBKle2<-dsf+zVt&f1&yS8U+rA*g{4z%W|MSs({LG&p-OHh? z=f^UPfHy$_qki%Hn1vrqI>5+AzI=XP{shmD-LY^{EmG&gR-I#4R^*1v06!ssLY||v z9FgZCwzIlSnsAgPP`-^!noKmVhtz1SbQF9I2g`l1!#Y1*#8z%z-Coam*s%qxN^{4X zVrt!8^l*G4Z;ldXns>Jd$ymtU%W#-JDt# z@MdgOW%;Vc<2Fbd@U#R~cTR?=wqXQbM4qbhOk>!m`Q6h(29uiwm8a7l)y`Mko}4R6 zrcL+7XzQcc46mVGidzb5b6m*XjZc^5NgW82+iKW#kb_BG)~It1Dx{tUE$~+(PTMF( z$DTA&vB!Y-Cs3hVMRJfyMQ$pfFzY?}PMtxnAra&qdq?oQyyE>YZ$4a%^Y**f(+Api zp2byH>&cvlQMS=9ZM?LYmE9(mhG-i~KJNY}eQ?EdDJN$4tDO4eXD>si9CV$vm~@(p zSbA|HOlj#{`YGIv?i1W)m8yuNiJn|Y+C)ANMHzK#YKgLwTP=BkKQX)5TIxC1K_SU= zJddNou?H?5T%bS?;I?LqJ)Y0i0N!BDeq?w%B_k`_{(w?HKfQl?esiHh#4W`2V%j%Y zHjhWP`za#6@^0JtT$FeC9qh&#f%ov*So!%8-cdh-9UPfRlcCxJu{QisGFFw@h?Wtr zr93LK^+>Ul0E-UP&|pS7BB4NP!cBiNL}^F1;p72NqMhJf zmnilG3-x)z=J2w0Uz4f`Un}-Z;X)oFz*d{0bSF{@-3=)o3fT#B?XXl9O%4I684xo$ zBST=(+Q3R;)cVdn!YSfcCkKsoBM;!N`tp1PC zeOz;+9vZ#QHkEW?)vM`FrXXGK-TT@*Kw%jia6e1C>AyW&7+BCv5fl?gc0f`2@p{Cw zpiLNk$aDbu=;6nw*9-3%*L1VS;dI)gZh<#4lgiD-IquUGnrq&!``#$Gz8wHBb0Lp8 zwYK=na%*JEHzczv2Uotc9RNlH<9L7=pdesIuST+Pz>xzB(DP^m$cb3u&xW)e$w$U= zWjwEFEiVYiAa2w4;N9ix}^*8dD1th3(?kTZL{rDLKtkWFoPv0n2GDYirFt3xd0Y^e(8Hum9Vq2 z+k`9?$W=Pto_NuetpIw$0Wbz;o_NE;(PRbyg4a!3{NH%oKRD%2MkJ9bS+ChM&$3uE zy#DF^j~BJnn^)~8lO9#!00WnZ4cbDo>jVRvn2LoDt!AFR^;7p;$V0ZbPR$9Ga|%9~ zYHDuTcb@?mi$}7YSl)`nIr4}(M$Kb5*vcxZZwLTOE%30y*^t67A|oD+brMf4ygVFz z^So{svEG*0{50NP!~E|(sd zDI^Ezk4Kzx_vH{U4eZz+9kuNlOX2_@uH@)hRLk-;B+F+*#*MrcCQVRey@_R~;Qv;a zCFc3>^a@_hdeku`aDavXa0p10U<<(9HqMj6PHIN^weOY-d5p`)X4h3UW|SrtWLwqa z>sq4g*;Gr>J5uhAi2itp$3a=72A-Cdf+zs%taG~_g7t+U#ivD9EWP`J(*O{CxopdF zv%2c@q;JsWySQthJQG{2k<9RTBc@g+E#}Y-wqH?P`3<|2@e)ifo@mC;;`;DS(GLq=E3$vmscVWhO!MobM>gT7G_a0S0q7!TZ&mM|H3* zLT9rr(Xb>KUQ+FQTo(9HwZxeqhgno{ci-#bC^u=?=h?g1%1a3J%yHz|a(`Q2xSO@@LM3|i#LrxD*>-OuV^y%ge)XAhr)wOwXC~qTM zvQf`rU*TKzzHZp|dfMUG^U8%hWWP(_Bgr@`{E9J2hVBq#YOEP1s~z!DQ1IRa-Yt<6 zOCM*w*!ZJlX%E}K-N^`kK`Pe4k+@QkIs5JF=Qo#C4;cp8Kv`@A4%Q&9Pj9~8-d+0SZYHm%(;jm;6PumaxW+zJ8C36LiaJjL zuq!)fa!FYTuH#XLug&{jvx0NiDY{&GQaK^aI!PTM>~RBtsDai!Yj?2Sc@C^bmNJmj zO}LX0JR|lC85SeDKv4hm{?&BxLft$NJDKz-04b6Sdu)hY-r>U+X-i{Agl}7(gU$}& z77KZh)hpnNgW+?6=Wao3WJ9U>21t|aK??+DFWKd-;D4xuC6Q?bZ4K)ONC|K3*$~f* zB@50qi;bAg{_FPB`^z4jzh(E6Nsl_KY1Ay)X6AlNUy9c|K(wF5UQ+M7_OEHpC0y!TK2-tX!yo)GQP=@(rh%`1Tl7BVw zt{C9|WrO(pUoOh6^UVhFPjkM(`oWL?>|NR^?>hQAd7$@Nik!FuckDi{{8miWHj@Fg z%4AGV3Aiu#P+fz!uNl@GC56X$;6-s|xV@tUN&?6u@%1EWkt`B)r$eKq0&aB1vu+>g z=s(GqdDBn-`qS&_$EQn7>1OKma^4-D!kx=%O>w4+z3I?OO}m&=>lJ2*n`9SM@;Y{F|Himp7)K`7@mGrx(&rnHp#OvcKHr^WW6AZ0VPSuqC6Qn9svEj)?XBkzy9#* zqOEN=4+uWZxx)^>cjbmg0!hZT5F=Z0V^KaeCo)y6!r}aihm_wItvPvB&<9c31p{~8aWoSDL~R;ot`eTiv7F! z)lV0>_Y;l7t0|8Pr?X^5oY{B?W)@@C6hp@AxV74*#Y79_i*=k`IN4P-xaOI+orYY& zEjHd5g%FpxZ*0xw%D-;#Ox4clftv~srF}+Nz?VAcRw$7**h8z?AYST`#EYcYi}ASA zpwxjARQ)^~g7uFEIBLQF{O$s;wccXQx|;GJ_V;QTp#%~OvPWm@)Z#;&gfzCT-iqcn zuH(*?uwH#UeNT8PkQU&*M^>P+LpBbad))6V^ z)qru-g5&wA9p3-&G+!1|wp*4yne-siTANlUvq-Ra^}Oe)%l`i{_byA4B-xeNuk>OT zq`=%--;bp|t5Pao$jqv)?wvkK2q1t6Fhk7nL%8CGe?a~MmlPR(6VI{8%!(?v^hS5P zQz9X#j?mPIRKKQn@42e?p5x3WH~0@ByO^EfI__<2&6`xOLz1Z~RY~gadbGYEouR%6 zax_^6%i3c&kx>~I*dxRYmMqtjX9p@Att3a!rc!tv5CtOnY$yX~tl)tFtMPc$!-KE& zqT%SieZQoCcQWa(x#>`U*6P~qaFG^S2>#>TmVuRb0ECb?IRRhovkzRyo$r?b+CE=& zcuE+O^an0L9EJ20fkTSaIu#0a4K9_UlDCZ|)F}@XT_zV9s~LGwO=@Pz-dPn#YBXCb zr9B%0$PZSIhJGmy?_RyWgplm5Yrg9_59)YR-fjp~vZ<&SNL4_DYMM4@&6vY%_at@*KGNL-wECpyO1kGMqB%Ew!7}Y=^$$Cej;g9%IoQ+T* z%fnr2%2NdEhV|WdA1^tno5ZRolO6*U=d!FM&rqq!NzHAtUP~Ck)8RV!MG-cvQvdl#Po?v`Wt*G$Q%Pt3KWt1wU9`tpb=B>Ip?=oYy04qQis0 zOC^JGHiY5B^kKUczuY|iI+^sSqElUa>ejEwy60GU2+&DRRjfdUxB;cDkqfyyBOe1d)!+i zj>f7)sLmL2?GvzOqf+sB5WTZ%fXd7C7?A*hL4Ll>PCQ>>p*u_Rkn#)7Oo05Kuzdi| zgrhl*YG8QB<}D;y6q`l@`}*C7_2UJeP~6alKb!QZRs$DYr&dGre#+t~%u2`%YtLf# zy)ElXDVcol>PL#@eQq^?7qBBwmsuYJBeCr!q{jPfc=&2GIr;(RGt+ySB=*I?9vo7{ zMWYBCOz3GOhGSp-x5vYrrL{z|A*!nDkY}n?tQY4P|s}5KP zXp-tK0|n7E8T_n?N1OVfNL8WvwWap60P-ghv9lOp&n@q`f9do@sQa{B?5yS0n{YPi zuXz*PpFJq}8=4Adhg=JuV{ri0KqY=gz-&t71^aU%akLR!_$knIU!>#$b)8506t522 z?IK(5zINZE=|~zd-89vuB&m9BgFAZo02O&KZ!BH`IeH40n<&Yg3zuWhhBVt69NTj7 z65!{aAJ}}@K7N{h{4l-!^zpLdhi;Nu{ATV8Eb!=kak@u^AOefcNc-2oj4IWpXR|6f zJFfiO^p>eu5>lGjU}EIEEb2+VHZRF7k`R#L*@NNnJK(-xvHQUHKpslZh#6i0SDuWR z@gSZj7K(U9)bMUuF4P6QsabI~=TUc2yF|95WZIjzGd?~!4%*Rfw>7_r)y|3wxqGF7 zJq~etbvfhT?3wgzp|I)C01Kq3a<2eERE+ls2ShslP^X~2+=!GGFE9H?%*hDvy1gAK zHK$BKP#!)`Z`Vt*Rs8n_)Rvi{59La+!l$Gi)JjPgK43%gS{;M7|YhQ96oH$y@>4LyDc}48@CF zNc1&$GxB1Ohd$WSlqgp4D3L{~ipdl?T&_nn0tymdvc_T+R)t>_is82}AuQsmzeM3Aobt}?7v z8~*7q7;o^4dHcld)sUbrN~BH!5cIfe6+C#j9wNUh8#PIJfzUx-wC|_)@BesFuHV#X zJ)89?FC%>1c~5M%*!HC6vdfyOX@SsKLp241SjfFMdN_{HI^t;0xfRJQuS5sLl%=v6 zt7;w*m7N9A2+~<1^hO>dP)iQ5-2t=k1e4k!kut9O5aTukm}WFABST;ynL79W7m4j} zTV4O|dd`Ciw*L}Y?R%zKUzLg}{?3jL%{B)u;&DG!LQ~ko-N}YDHYXo@C4s+I3a+OQ z04qUfZ62}6%=VmowRJdN0K$XSuUHc?#4O8)r?0S zG5|rYCTwMLKEoP(iDRLD!EQ1!i`jbQO76b@*FXmEkyp1QQ*ub=?B^#T;Qo;X zdPMi(^#|BF-GVv#ch_?s&KL;Qb9576~l53}21dQ%+$F(vp81;k~J zb5>6}aM8kmXhG5xGOQ~MQYk}t00lhf5kcB1{JUpEn$ z3b3wjITR1C>s{E8n(xyp zy68%7TDRcYEVFpMtz5|69m`tmtqSai z)#Onp!(U*F@zn_6S(JDL;y^#z$Y1HC&mS+d*r(e%>7OUP#0p~m4bsld)vfZDdlD4- zc1y6+EM~omz?Fa7=mlss7lGhiJe*mHhK%an86`?iwjI<4NQIC~Nu!P~*@23B&WxwCz8VzdPQpm%p0ysAeeHqGb8eUQ4kFujvxj2?4bt zgLI2lS(D^DK4h=M>~JsH!K%`ff`2`x(vaFV=isw=RKT25cwRAKm1L+?RCrKqN>;$= zadamm2erCJR^}C68q#>oKfHST-6a8#-7FeDne`x<-7*QauF-bA%ck`@`Q1)^lXjaJ z;-)M-*Kv2VhXW|OB)V=snQWYMiHw%1VfUK|$5WY+0!>-ATuSy_`oRK@z?F>7QQ+08 z>j5>AiplWQ&hx2-Vcp(-x=hO6ZiKp?^ceXgjhIK4Z$RuAON3`737?+m0K2E z$D=H+8vs&?z8M3Q)T%PwuwAv*oa3M!vL~a+uw;3gEr(!CkU@>=sc7EClM#088-XN4 zAWr~lWF^QCKqHHoZ;O;%O?p(1tM;*5RRy40jG--g@>(K)+&0rUt5shk7xECJ$K*1_ zTM-Y)d81-sZ6zIAEIcOySPT}ZT=6holkex~dUeN{4I8(GydIzo8wpl5TdLp}hw1e) z{b~AeiFv=-kZ?ZlQO%a3W1C?|A>11mr-cpFQB@U?lf(kRzC|wNF`FGGcD;~CU6_*a zs$tj4rjqR?mskfNSrT9cc#K1afud>}*-x~iWoNF8R7AcWI{HTRQDILFt*C}i-)|Sz zxZTV{ujV|+=zt276AR$NZdRjuRFf56OrdYTITH+noadvvfbPv4|5CWl6T zCg+Pz!NJq8pogFG4Wqw`2_UDN=adf5W7#7dSU;;$fUnS#z+@Lb1(%x+6-o+XuR#BQ-3{j^F*p!6i| z;7OyvPIxzpKu67%S9Uc}lM3!XN@M-mkR=}r&nly*xE);2AJ%u@ZI_6&F2!_OLA$a&OBY4BC>X>Y3Uk0NO3(h^3XAQY3Z1OE)qgM%8DcW>TbTnORYypq>b9&^oF z@Oh(IGVt+2FRDn{+^uI}1d+hxyW%n)LMxdKHfBhfedGXoCF?F(OI|c`Rbkw~TS&MU z5}mL>J8(pL9%>mRK_06OCnHRf@Q@s-owVl(&hW?gueQsw>6?!IWYWX93#_t0EN1F9 z_KeVGEkzgF(%dvVu~iefkb7Tv99>YrgAIwlFXY`z8W>Qu94no&5T1&pEZ8GWq#<6H zhnzjd9}xRTxDNcL=*~u@qHv~)PpYy30pa66w*Pinfevn&{bbT(9J_FnkjYew-Ra|6 z?TTHq&E3ffI6%R<)WCH-L#x(PFTp(d{DLFJB;Q@&;eoUz#hwd;R9($ZG!W=E^TqUS4yh zU)Nadl9RBTv~ofIx35huJ93pJPI9&D#Fc-WnOQZ2O_dC5%nW<7N->(!UkQLiSTQK7 zqf-OZjy!`T`Fa>vU25+C7EZ{!26p|(bdYHxvU; zDXzis&!Q&nO{i|h&h9R5cmu5JB2+H?+>smz(RFtEdRy_rGiWwomeMoABs{!hGqt2Y z05(MU(`*dJX6BWO5tMTgItWUrUk|}n9>2uKD2!L6=or3x`|d&!vD=Lx*Rvkh2*RfF zMjE{!7FImy)%bOmnYp2bKLB_OT*}=WL5{Mp?lg~TOO?vx7?aS>rqDvSNEAe)Ca*Yz zy`>ltP@-kSDoc@+9xa|0OTey296QY-Ab=xvxgK7>`t)BfKE<10~_ki6l7o?4#BvpWAug1W-I`+O*SN%v?d`S{2kj5 zj*B>eZeE=W`h0w*>k(FuDTOQvd6CEeKUX;T!}R`Qw*4j}#MenLP%U%8!!SUTRYV1! zz@n@+`5nH!3az?T&2Z)CRn~0r%L$k;i%jVhBa2B$qim(x9|3td1igbB$wLlo&Jr0* z7EV1rmCFGCv48J+#E%yEk_5yyO6ic!uCG2`%DTAQtYW{N^Duf;F;kL(^uR!5)Tpde zWPBxAIBpmx*>_L1(L)o( zHTZ(fhLv|dSoyc<-xY}|YKXF@j-)K6UYc~Js4RW6Y|x9Emnoxz2NFz+hDcrl;78V} zl0L$njEK?dqrBR%NZXLu;O+aLKVF)hZ|Y{9OnQ*jCutYIA^YyaFKKsq-vPhYfXp!V z90=4WF61Ff>$+9}oSqYGZ;%|soVs9TTu06sS|4CDWgP%Y7=@w;78`0bX_+NE1>n8a z$%yirxSmayZkXl|7hr_tR=vyhoX6C=Bq{TXJX2t+^<<0*yGX^f+IOk<^}a47B_JrcQ2!+ z*`;yV%_0R`x=Ee%_@YKr5mS+osxpwp04_q1eeIZMQQw~89(y2iBI1^_%YlB2Z>M?3Y7%wpp@9$Nfx8whw0VZ z?bBsnLb_Q?cQ)-o#3u}v)g=Y2Wfv*hG#NX|9ihJZHk-1q6W4Kf)AN=HW|CDVK|(&$ zY);xC!i1b#%CaUlGE(jhP8t9_O2A0EZ!(;Wc$Ik6$nbeJqN$sUhhfz)EgvqMUiMqW zKG$;|L?DK&&Fx5Hde~#!_MKX*79d#rIeEc8p~!XIo!I9vwa>D^BCv5JlTu7YWLK-S zBo-@u@J=cLOpY{1QZ{8^$GYPAxMdHp6aHjGl4yY4Gr*@tyQqer_CH=49R02BeLd$< zcm85s?Nq~VYb>mZn#+5AD=o zHM<)RzG^^q$0Ks&MuGH7Y-|^`Li^x;JdWL-mW8OW0yS+~Mc z3K0+s2gUX}HL`u0=Wg~;O}!dII5nip1FmO*3-Y63{)hb^F7p&_9_XG-demWyk8R&K?S0%Pu1 zUt*_wR%C>DXu=EkOwe%u@b2xW3)0+vOVRL`Suak~um{$__+=5K&dqpx7d*6$7wtwA zp>{ueF8t>1uF}=qV`8&KO{$ZoEeA4kTH^rp41Sk0^clSEiG!x%fb^s2sfL zIhmS(?PJ7l7be>7wGamrPt?5bk6t=fzB%oWHaYly3hTLeG6KJTD0&JFcX?DF{q+9* z1v&Q3a_H+h4|3#oL&B-nB`Y>d?Pd!|FA~thW|4hv$iZFaLLTGDb+7#9*|qfqE;o zY1NAlB%6Y*k(nQ3N; z98wpcq_A<}r;i~VoYn{z*4G-l@TT+vb8FXm6`f4um4pqrTKVOpB!|lHG-_ChVri4%*MAkFVOOI=ao2ClaY*PxIT)Tjl zh3mLCl5xDl5Rw%ZrSyYQ#QB75KLNF;n4*ax4P>XLk=YTd0<|IeqzDw*;I9B1{pnCV zs5C9>)C_{N{AG9Nd0G#VyhYvE;m>EixLppX#7coa1*x}9bt}_~pKQWxlL&e0X5G2) z^Id)*ntb%XGI0r>ZTcKlAA*CSuGYQ5Gl3xo7*?fb=;l9 zS{>3H+O&!U6!_e9DiajhY8K7pAeyMW=wzXmi2}*KaKNK~r&xX-NxeqMV>KyyF{-~c ziid^Y4t$AK;`hYi)AaNA(@)#mS8sp39=_mlNB!-T5 z^ay8uGQzioEO>Z+q(kyyc$5C~zx|hwu+c@i!FAl-`UEu9hMY3xK?!JV%9`x2_)m_lTkd)`X^>R#$c`KmQAL6&$8QBC zR~^Ncu7|t;xMb^$R6>&JX!!Vt{q@D_a8sT6WYVKpF%aIiZc0QJskhpM$f<67SrlON z95%r1%7xs$hWcO?G&y-CT8rHp8D#E78qs>_K9&L(1Q1BwE6rnG5ftDiypnSk_{H!b z2Y%9@j2y)IfuzatxP1!GRSf^r`tRv~`j>ycsA$ryo4x1rUS5@B?Q&8*08A!8qAl1e z&042vX6wNcN}2>^G|x%Yjz*)H0dg8|I`CibdXTAv?s~yr1Gaab1z2ReaDyYZE>crF zSc!y6AW^2oA%5t30MSIiz7K1mA8l;(wj=;MA+j)|p8C2T$2rg*if! zhDWILq3E2`*bo|!#*EL4HU7ALdbL~}5c4g=|1#^v6>HQzy1Z_}!^ja>+-P7Bi}`8S zp&|7tFd`Oy%kUv%Z@bV5H(-A0$Oh?iHMX!c1J1!RgBoRIeZ19!)4?5wWYn1 zBr&NW6A3xi*lsXPKYVxxbW(4!Gn`C%)CKmG$!ZJCwH33@rQ-uf-nt>@TNk~DZ3$e+ zLx_=)ts*T*y~b8eaWRu08<9X(!ODM%4=7&mYANZgX}|V&_!My@LPw}|)MJ9B53S|% zQK?3LK@Wd3K)hfn7{2Ek*iI$rs>C2SQRK&xQ7+NFj?k%S-( zua@h0&~u>V+)<&V03}mG4qK~;@Ia!ov5sds)&Z)Fj_32(*Pi{|qu|Y|WHHCpKoCHk zJhp)YA}OpNrte<;e987UZNSN-$CUconS`E!9JX;bc2To2i;N8rEGJb~vI%h=4>Gv1 zK4s)j6n3g2ndWsTL0X9bk!B#JJ@zdUq8JRtO9m5I8Uw880)mPr&(YNgOn$t~(kV(; zl56A5A3uJ&bbXuq=w#BPx=xoKVo3sfJw^&{XtfshH&-?JUAYuD&xJh5>b4oh<8{DD zD|5CwJKr19*F@G#k{<SKD?(MBS4Y|SSou$T zUAinRK4qgXdkCatbGl&H2KkNQOkn0{1TQzPMx-4Ll?J?L6=d`(4nKP-RHIbh~tV&7!k%Io!KLMjSm!oqgstA?eSC<*vr+Qn8SjYB{cGeBm1GOuors#)mLK>mW527Qk3u_!>8@_g%sI04|%WV{1p~f{{gS<{9H=KiyJ#O z+Y27#p4UFOe;yr$fj`4^?<7#LUz3 z?(GE`n!nW*b2jTSeKFc}AAR#O3cUNW>@4L3T(EX>GGsfiJn?S+?tL-#2$UWfP-;#m zVPdY?H5I7D7DwAhD5D`L$~lq^kh%`U9x9xS@XRHs(NWZatY6O$b3eR# zcQKzSV!nBz_<7C?Y*l9$zFfsBt9MmzOAZaYeW${SUgzHX)VT6*Z*n7g1rp5JMMV*y zT=0J>V`F0@_?`zz9a&8cHV2G^ePH0SNA__X9EwXUz; zT*9WrEu(*(^a77@^R@vsdb^oo@Mg60(c{#v9=({(5=i6tR@}Z2+NW$(x{UWsevNZDA-kMhM(8%=Zh;r-*PP{ zlO80`@azxJft4FMqLj_pRn7Ybe?D;?_x3FEIK&kt#K`LkpYUG;Oz(_mw@BjYCSL=Eq+C57) zuV+2#er_^yMaXos?>jReveRTcMLq9rr*c-yT*+Dg*A(}4%8LAr6Lp@D^i6IPb8^ch z$dcF`SN?4x4BzpE#@?=qszee1FY>MfxCJPrCnPn2onHVTNZRSuhoklmgS>*K!k`+g zMHD``q$&NygIrijODq~Gl>%PG%kg3Q)4LCss!IL#Ue~`nn{@}Zsguoa#kw6r9yTmR z+pedWEIi9JX)~{;%wBk|vx6S)$S&f+C9cM($#Zah3F0d09a__nTdoaNWV{C@e5n_=%!YwyRGExb*-*uFO z)pB$`P`6Q9?tcMq!eVuDG?38i5azualJHfdVnZ3QCEyvJ`!l@q-KWcf@O~51e4g_H zwX0P`Xh`glK!g!2s&3RnJZBACV_k^=k(zhk1z(HA@f?<=oPRVV|g zj#%I_GQhH_m2Ss*D)ZnUz{5BjP|^U;7~poY4hX6!zy0~5lDnCnUe9@$#idMMw+7(r zc5JWRZn99NsZ1J>u!+>Ukb7_Q!{SJR$SrNj{KHC>%nNCoLlT~Sn0~N|Lg0dw^rMyr z5ZsX#3{DHiWc$)I^x;H}SrF+`*taXfm zd99h$EU42**@vQi;>yqciaQLh3o_&4b(RKDK6-=-sfD4YVv7z&Qu%o+@^) zld2BJ_mPSK&Ylh#WU1Dv@z?Bi-+#EI=*&&>y3cd&U~YBao6#6{Z?l|8xmuCAHV#YBJCYdeYpw2wAKz{l6HESfIq%mgFRqpsAIQ#Au&d>zw5mdj1hC+y zoo9<$G}iiH;os&@r_h@3j)~RH$%qkno6JZ+LNeyyo-2R< z@Zqwp>#>i&npFSpdct8+am%Fo|6h{==mI9|()QTgYE`H!3&D2;x8xm}?7QZ|&( zqL>mZyV#p9*(n`@=6_m6gh1li!a&(>AV5-eV_zC-qj@U4I(97{LN4-TM9GoB1h5f- zQX71p;nmL{FBJ&q=DqUOoJUlHXf|UR2!X1&?k#@Vk#>6e+|gT2shokTTviFdZ%c+NMcW+`FyXjL2KYOa0|C-C zMWpbec;rdXOIhB(d;PI$py7oEuznYoB93adPDr&>paZ{4 zuKdplAIES=A7fKmN=6?{-l9fVibKdurpp+TI;z-ZQvEm>)PX9Jnomn>IH~by_4S55 z$M{Vc!h<>+I>dQ}C5bQ`9jOAppO)`mT}rvFb#ylCQREoOHzVx=ybFhuY!Jomh<|HQ zuDdCvDmO0V?l%~`B;xV7w>{+Ak*=hYklrRodPaI0ya}v4l$sF|X)mzspt!B!`r-8` z_Dz|%9msV4X?XN_dEx4fy= z7E!s7yIY)RjH2bhUN7&8LKvk;VJwA7K$9|CD(Uh_N5xUfL$f{()?v#_k_6EGkih$T zgbxVmKFMMY-Y%nt@85m8D7W1#X}O;BC{$kDw%Mj7kXcw8KY36yX`GkPV%QQZMzD~3 zGmv_oGTNLl&rt@d0EO4wx)(~RnnWUb?!dMq3B)J7VHKfMm7@)k zhNfx;(pu++<)`IhHglWl=xWZRxB?qx;e<6onKrqZ`QGNN+w@eO*(meGbv(q{BKpcM zc*DFWBV_j0ZPF~#YQXnlaAXTmNb^}g1Zx8=>M`&j6JRP@@?@Tk1WE0Hkte$(9(W#F zUw!)S!(}cp+)9MLPI`f7D+q+UVZAfn>b(L7A=MV_6H1NYK+52_@^hm<-9*diduKB> z(wIy_>FTQR+4N#WL(cAjRz_hX;5%zl!XTX=J)8)o7my^ehvj6*IN%(w9#^=a5-fM&;{lklW8EH80elZ!$K7j%4u(KeyvjBqTsSsGBPBw>u3lD) zRKFCeagn@>-oXJo#UYTm&XG*iSQnhsCnJKXDY*rlq?mMs!+-t$^~KxyW}o!+oQEBb zt7rjz4L)X=Vr)^z-RI5Cb0cf5bSZEl4>7sojc0RRBTT@F=VXe}P1>SZ#uV*(sP33%|Q! zW9m89kl=bftfIx-rJ1+cIWGL$#!j}?&g-@Y(AHdwc*%0CJ{9T^CovGVu=SZICmLWn zlF>^ z#O~cBh27?4@ho@^_85OsstUcq&t`aFb`SYP{bE&_7^TUUWkJD)~e>Le*g>jpT%}zPbc3<&ME6UJo9%-?P zeqN2Q8`p7Sb}}A&m8J;PT*7Q48&2#lRofBQVp;TLx$<+fAB~?@kt<3&T^w?GmApV! z*=uh~^_1E{(oNczQBx`-@IkOBhv z2nBfvinhi(cbuLG&x0!<8Nd}_K9bIvkrm_DL&hT0Ax#pnIFeNru5s z%3;43S1Y?!))40ilTkf)RfwLdwm^OO`=di%x)l?VQbr$qY5?Rt!A~V$O7E%5oJrmq z$$O5yj?H{@whc$K5L;46j*b9(J)r%_@Z{J}?SSR+Ltko`Z=PRW&3Tl`|AMmRyGnE) zyIo61ITtGtUx86VbJ2=|JRJ!SQy$_+p~(FdgyBWoG2$#SH|fvW+j}+?Nli*c9dgA4 zXNHfTrsao=nA6QmqO)0#;=XiKaMhWB6vVCzc2x=ZfU`$zomv1a-y9e65NY%Rkg8G+ zCO2aGn!Qb}iI9C}6$)uAyfCmURl2GEgiOeYky^y;jRt&lfGF1^aQ47LQJIm~(!6?o zF4DD3?=NmLHyiuEPI`d^7Ivayx`#jBW)XQxDvoM~EotqNU4&0u`L}h^jZ9jQGN*@Z z@NXq#XFBE1D+>!KbI1Tvsw=P}j*JO|HY004CHak&icbfDk+gQg^DYmVUJYvN;Qb$z^MW~6n4>Q2 z_{Sbeaxn!@q+=hK2&l)E+?$qE#n0~oyf!+io5zFZX< zolW}7%Z&a5=HF(sC_sEbygUI^EL%)4hF+YnWNkLuWv=3kG4L;_ra7-NQpGtzatmZp z#!_(B$gF_*k=C|uD%^c^(3$u7}iUOO%xKibBr5t_)ytvffOaQnQ6`=R)qT*Z9QOsD-Yo0sMvS%Iq~#Q|BX9-c}PF%Pe_w)K{mY zC}zhb&Ky;|`iT?VWR;WbvLM?PJp+R_Wp(JX0VKtN&0Uu2y!`RNdyav65A^Zc3IqQl zjid$bz^db%VGVAZDo>3(x%kow7XaV zh7=+SR(@WtM6)N|Nc37NnP*h*8O9@@G9TS!Xqw znG3mlU0yuI28vLEWdR0%iVdmt;+^jb>8`g-xSXX#3BUmXC5c58QvlWxz_G{?Am?Pn zjE8fwfjZQ1qG4FyeYgGT0tk1L>*#FOqu57QL|Heh?qhKKHrr&fKmgwIZug{Cp8~YB1K9FE`%?&k#IDtfxQ8&+SQ|mXOj9L!qB`80i3M{Ia4 z*g7C2veT0xMWyi3cqe&=udMu~2kF)Ndb_N6z-NZPp7pT({kL=?!4zKmV5T16Z5y_C zH+WN$Mh1{p7@%0L{nYY~XT~lSO|d&ij3ZgPjdZn8kU`omOdi-_7rh|SE6}5{dXR87 zmfEJ23$v1K1=k}y67@P#kAP>$>Q|%<%iD{$le-BSKhJrAfHAV+6z@aBkNUpoef3st zZ9*y(<`!0}?qKELW?nB{VK3_hm{<%RRVY^HNcZ3h(o7eR5)aJ?CNV923*&m}Ab< zz8K{catXYYR;o-sa@Mc9oPzyaT7BVJNU?H7MW%DA#95-nhSY|*^$H)OAQl>^c1a=RiQIE z!q#ng3UKR4>VaF13vi-GOR5+E!=snLk_wPbrzb-SPTdDVet1eGaI^pP=@PTQO^SIv z=|L(Ev5`wf0hHst=BcUQ;dPJ)E}^uTU~-&>PFb0xF$yOfAPydez6FC9LOw zT-g#91W7YgfcL=8Fi45;Xn;B4p07s~Z^$X`!&|aL#^FEEFQ!iW#a>=f``^$n_GI-c z1kHpvSvr|9Q%Eem_B1bSRR`D(Nsc@C=&1-s=CqM?y6`JXN18aC4&mkCAtZ&WN3!8R zxBK#X`okrZa+9aw>!g=w_l8^$J9UoaA#y?cId%zeTtbW0_s|ijx$<+no5Sw1;7w~S zHc!^kSZxu&d!B4xF~PT6_-i+^&(Z5+|FfJRGWFMv#T!k<3F7P&!Ec?9LU2q|H_b}$k!z8IZkRzf89uk!Z zbk$ijb{D8V0K@~8jL`*(f>GL3kzjO;2Yb4V(aVz&37-SxqsUq%@!VMENG2_ogiEI$M>xF4Km)A@jaRKs1Aed z>g+As)G5G|?1Zdhqc&)0epBnTC(DIAsG!N0%Cdp3g-Kbk-a`feNHW2cXa)d5qeprT zql6LK@Z>j27GFDMqQQ>#XG3CS=MpLHS+QzK$uoU;yIjJy-Q4aclOBa0;fZ0b5@;@w ztIew^Ik+kjB3F_COqL6INI_FfuBXn^hyomvOw2|i)yzqE0LhL}sUu~1sD9_k@i5wf zmwE!f0U%u-x$MaZHGHV?i}zOt;PnN*1CQ+%1@FnE$Fzz`HP1Yp6QNKF*U3%5tHy1? zb~nP1#4>Ol_vYYzsvy%DIdST}Afl!O&@EcTZ;41M5dr%^bw?wdACY2u-ct_Μ*{ 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%0A{=O+p$- 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 literal 0 HcmV?d00001 diff --git a/fastlane_bot/tests/nbtest/_data/NBTest_006.csv.gz b/fastlane_bot/tests/nbtest/_data/NBTest_006.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..585e100216e914f53b706ca61101c3d375660dad GIT binary patch literal 437869 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 z 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

e}ToDiD^?_g=9MwF()4^uF{aU(D#n=2gU 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%0Ae*b;8! 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 N0{}e$;d`Lx7XT^;vdjPg literal 0 HcmV?d00001 diff --git a/fastlane_bot/tests/nbtest/_data/README.md b/fastlane_bot/tests/nbtest/_data/README.md new file mode 100644 index 000000000..14320b5fb --- /dev/null +++ b/fastlane_bot/tests/nbtest/_data/README.md @@ -0,0 +1,19 @@ +# NBTest Data + +All data referred to by NBTest notebooks is stored in this directory. It is copied into the respective directory in the test area by the `run_tests` script. Currently the data will be accessed differently in the notebooks and in the actual tests. + +- **Notebooks**. In the notebooks the data can be accessed via a relative path `_data\mydata.csv`. + +- **Tests**. In the actual tests the data must be imported via the relative path `fastlane_bot/tests/nbtest/_data/mydata.csv` + + +Example + + try: + with open("_data/mydata.csv", "r") as f: + data = f.read() + except: + with open("fastlane_bot/tests/nbtest/_data/mydata.csv", "r") as f: + data = f.read() + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_000_Template.py b/fastlane_bot/tests/nbtest/test_000_Template.py new file mode 100644 index 000000000..19f94570d --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_000_Template.py @@ -0,0 +1,98 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_000_Template.py` +# ------------------------------------------------------------ +# source file = NBTest_000_Template.py +# test id = 000 +# test comment = Template +# ------------------------------------------------------------ + + + + +from fastlane_bot.testing import * +from fastlane_bot import __VERSION__ +require("2.0", __VERSION__) + + + + +MYVAR0 = 0 + + +# ------------------------------------------------------------ +# Test 000 +# File test_000_Template.py +# Segment Demo section [NOTEST] +# ------------------------------------------------------------ +def notest_demo_section(): +# ------------------------------------------------------------ + # + # _this optional section is for demo purposes and it does not generate tests (inidcated by the trailing `[NOTEST`_ + # + # - slow running not test relevant code SHOULD go here + # - code producing charts or code reading data not available in the testing environment MUST go here + # - any Heading 2 section can be market `[NOTEST]` regarding of location + + pass + + +# ------------------------------------------------------------ +# Test 000 +# File test_000_Template.py +# Segment Section 1 +# ------------------------------------------------------------ +def test_section_1(): +# ------------------------------------------------------------ + # + # This section will be converted to a function named `test_section_1()` therefore it is important to only have alphanumerics or underscore in the title. + # + # Note: Heading 3 and below are only decorative and should be used liberally. + + # ### Using `iseq` + # + # `iseq` should be used for `float` comparisons; syntax is `iseq(a,b,c,...)` and they all must be equal to `a` for it not to fail. + + assert m.sqrt(2) != 1.414213562373095 + assert iseq(m.sqrt(2), 1.414213562373095) + + # ### Using `raises` + # + # With raisese you can check whether a function call raises; eg to check if `f(a,b=b)` raises you do + # + # assert raises(f, a, b=b) == + # + + inv = lambda x: 1/x + assert inv(2) == 0.5 + assert raises(inv, 0) == 'division by zero' + + # ### Variable scope + # + # see next section + + MYVAR1 = 1 + assert MYVAR1 == 1 + assert MYVAR0 == 0 + + +# ------------------------------------------------------------ +# Test 000 +# File test_000_Template.py +# Segment Section 2 +# ------------------------------------------------------------ +def test_section_2(): +# ------------------------------------------------------------ + # + # This is a new Heading two and therefor a new function, in this case called `test_section_2()`. Note the variables defined in a previous scope are not defined here. + + myvar1 = lambda: MYVAR1 + + assert MYVAR0 == 0 + + # + + #myvar1() == 1 # ONLY True in the Notebook + # - + + assert raises (myvar1) == "name 'MYVAR1' is not defined" # ONLY True in tests + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_002_CPCandOptimizer.py b/fastlane_bot/tests/nbtest/test_002_CPCandOptimizer.py new file mode 100644 index 000000000..6d55fa941 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_002_CPCandOptimizer.py @@ -0,0 +1,1970 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_002_CPCandOptimizer.py` +# ------------------------------------------------------------ +# source file = NBTest_002_CPCandOptimizer.py +# test id = 002 +# test comment = CPCandOptimizer +# ------------------------------------------------------------ + + + +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, CPCInverter, Pair +from fastlane_bot.tools.optimizer import CPCArbOptimizer, F, MargPOptimizer, PairOptimizer +from fastlane_bot.tools.analyzer import CPCAnalyzer +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Pair)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCArbOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MargPOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(PairOptimizer)) + +from fastlane_bot.testing import * +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + +# + +try: + market_df = pd.read_csv("_data/NBTEST_002_Curves.csv.gz") +except: + market_df = pd.read_csv("fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz") +CCmarket = CPCContainer.from_df(market_df) + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment description +# ------------------------------------------------------------ +def test_description(): +# ------------------------------------------------------------ + + d = CCmarket.bycid("167").description().splitlines() + d0 = """ + cid = 167 [167] + primary = WETH/DAI [WETH/DAI] + pp = 1,826.764318 DAI per WETH + pair = DAI/WETH [DAI/WETH] + tknx = 3,967,283.591895 DAI [virtual: 3,967,283.592] + tkny = 2,171.754481 WETH [virtual: 2,171.754] + p = 0.0005474159913752679 [min=0, max=None] WETH per DAI + fee = 0.003 + descr = sushiswap_v2 DAI/WETH 0.003 + """.strip().splitlines() + d0 = [l.strip() for l in d0] + for l,l0 in zip(d,d0): + print(f"d: {l}\nd0: {l0}\n") + assert l==l0 + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment bycids +# ------------------------------------------------------------ +def test_bycids(): +# ------------------------------------------------------------ + + CC = CCmarket + + assert len(CC.bycids()) == len(CC) + assert type(CC.bycids()) == type(CC) + assert type(CC.bycids(ascc=False)) == tuple + for c in CC: + assert isinstance(c.cid, str), f"{c.cid} is not of type str" + cids = [c.cid for c in CC] + assert raises(CC.bycids, include="foo", endswith="bar") == 'include and endswith cannot be used together' + assert raises(CC.bycids,"167, 168, 169") + CC1 = CC.bycids(["167", "168", "169"]) + assert len(CC1) == 3 + assert [c.cid for c in CC1] == ['167', '168', '169'] + CC2 = CC.bycids(endswith="11") + assert len(CC2) == 5 + assert [c.cid for c in CC2] == ['211', '311', '411', '511', '611'] + CC3 = CC.bycids(endswith="11", exclude=['311', '411']) + assert [c.cid for c in CC3] == ['211', '511', '611'] + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment pairo and primary +# ------------------------------------------------------------ +def test_pairo_and_primary(): +# ------------------------------------------------------------ + + assert Pair.n("WETH-eeee") == "WETH" + assert Pair.n("WETH") == "WETH" + assert Pair.n("USDC-uuuu/WETH-eeee") == "USDC/WETH" + + pairo = Pair("USDC-uuuu/WETH-eeee") + assert pairo.isprimary == False + assert raises (Pair, tknb='USDC-uuuu', tknq='WETH-eeee') + assert pairo.tknb == 'USDC-uuuu' + assert pairo.tknq == 'WETH-eeee' + assert pairo.tknb_n == 'USDC' + assert pairo.tknq_n == 'WETH' + assert pairo.tknx == 'USDC-uuuu' + assert pairo.tkny == 'WETH-eeee' + assert pairo.tknx_n == 'USDC' + assert pairo.tkny_n == 'WETH' + assert pairo.pair == 'USDC-uuuu/WETH-eeee' + assert pairo.pair_n == 'USDC/WETH' + assert pairo.primary == 'WETH-eeee/USDC-uuuu' + assert pairo.primary_n == 'WETH/USDC' + assert pairo.secondary == pairo.pair + assert pairo.secondary_n == pairo.pair_n + assert pairo.primary_tknb == "WETH" + assert pairo.primary_tknq == "USDC" + + pairo = Pair("WETH-eeee/USDC-uuuu") + assert pairo.isprimary == True + assert pairo.tknq == 'USDC-uuuu' + assert pairo.tknb == 'WETH-eeee' + assert pairo.tknq_n == 'USDC' + assert pairo.tknb_n == 'WETH' + assert pairo.tkny == 'USDC-uuuu' + assert pairo.tknx == 'WETH-eeee' + assert pairo.tkny_n == 'USDC' + assert pairo.tknx_n == 'WETH' + assert pairo.pair == 'WETH-eeee/USDC-uuuu' + assert pairo.pair_n == 'WETH/USDC' + assert pairo.primary == pairo.pair + assert pairo.primary_n == pairo.pair_n + assert pairo.secondary == 'USDC-uuuu/WETH-eeee' + assert pairo.secondary_n == 'USDC/WETH' + assert pairo.primary_tknb == "WETH" + assert pairo.primary_tknq == "USDC" + + c1 = CPC.from_pk(pair="USDC-uuuu/WETH-eeee", p=1, k=100) + c2 = CPC.from_pk(pair="WETH-eeee/USDC-uuuu", p=1, k=100) + CC = CPCContainer([c1,c2]) + assert c1.pairo.primary == 'WETH-eeee/USDC-uuuu' + assert c2.pairo.primary == 'WETH-eeee/USDC-uuuu' + assert c1.primary == c1.pairo.primary + assert CC.pairs() == {'WETH-eeee/USDC-uuuu'} + assert CC.pairs(standardize=True) == CC.pairs() + assert CC.pairs(standardize=False) == {'USDC-uuuu/WETH-eeee', 'WETH-eeee/USDC-uuuu'} + + assert Pair("WETH/USDC").isprimary == True + assert Pair("USDC/WETH").isprimary == False + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment buysell +# ------------------------------------------------------------ +def test_buysell(): +# ------------------------------------------------------------ + + # selling ETH at 2000-2001 USDC per ETH + c1 = CPC.from_carbon(pair="WETH/USDC", tkny="WETH", yint=10, y=10, pa=1/2000, pb=1/2001, isdydx=True) + assert c1.pair == "USDC/WETH" + assert c1.primary == "WETH/USDC" + assert c1.pairo.isprimary == False + assert c1.buysell(verbose=True, withprice=True) == 'sell-WETH @ 2000.00 USDC per WETH' + assert c1.buysell(verbose=False) == "s" + assert c1.buysell() == "s" + + # selling ETH at 2000-2001 USDC per ETH + c1 = CPC.from_carbon(pair="WETH/USDC", tkny="WETH", yint=10, y=10, pa=2000, pb=2001, isdydx=False) + assert c1.pair == "USDC/WETH" + assert c1.primary == "WETH/USDC" + assert c1.pairo.isprimary == False + assert c1.buysell(verbose=True, withprice=True) == 'sell-WETH @ 2000.00 USDC per WETH' + assert c1.buysell(verbose=False) == "s" + assert c1.buysell(verbose=False, withprice=True) == ('s', 2000.0000000000005) + assert c1.buysell() == "s" + + # buying ETH at 1500-1499 USDC per ETH + c2 = CPC.from_carbon(pair="WETH/USDC", tkny="USDC", yint=10, y=10, pa=1500, pb=1499, isdydx=True) + assert c2.pair == "WETH/USDC" + assert c2.primary == "WETH/USDC" + assert c2.pairo.isprimary == True + assert c2.buysell(verbose=True, withprice=True) == 'buy-WETH @ 1500.00 USDC per WETH' + assert c2.buysell(verbose=False) == "b" + assert c2.buysell(verbose=False, withprice=True) == ('b', 1500.0000000000002) + assert c2.buysell() == "b" + + # buying ETH at 1500-1499 USDC per ETH + c2 = CPC.from_carbon(pair="WETH/USDC", tkny="USDC", yint=10, y=10, pa=1500, pb=1499, isdydx=False) + assert c2.pair == "WETH/USDC" + assert c2.primary == "WETH/USDC" + assert c2.pairo.isprimary == True + assert c2.buysell(verbose=True, withprice=True) == 'buy-WETH @ 1500.00 USDC per WETH' + assert c2.buysell(verbose=False) == "b" + assert c2.buysell(verbose=False, withprice=True) == ('b', 1500.0000000000002) + assert c2.buysell() == "b" + + # univ3 1899-1901 @ 1900 USDC per WETH + c3 = CPC.from_univ3(pair="WETH/USDC", Pmarg=1900, uniPa=1899, uniPb=1901, uniL=1000, cid="", fee=0, descr="") + assert c3.pair == "WETH/USDC" + assert c3.primary == "WETH/USDC" + assert c3.pairo.isprimary == True + assert c3.buysell(verbose=True, withprice=True) == 'buy-sell-WETH @ 1900.00 USDC per WETH' + assert c3.buysell(verbose=False) == "bs" + assert c3.buysell(verbose=False, withprice=True) == ('bs', 1900.0000000000007) + assert c3.buysell() == "bs" + + # univ3 1899-1901 @ 1900 USDC per WETH + c3 = CPC.from_univ3(pair="USDC/WETH", Pmarg=1/1900, uniPb=1/1899, uniPa=1/1901, uniL=1000, cid="", fee=0, descr="") + assert c3.pair == "USDC/WETH" + assert c3.primary == "WETH/USDC" + assert c3.pairo.isprimary == False + assert c3.buysell(verbose=True, withprice=True) == 'buy-sell-WETH @ 1900.00 USDC per WETH' + assert c3.buysell(verbose=False) == "bs" + assert c3.buysell(verbose=False, withprice=True) == ('bs', 1900.) + assert c3.buysell() == "bs" + + # univ3 1899-1901 @ 1899 USDC per WETH (WETH low, therefore 100% in WETH, therefore sell WETH) + c4 = CPC.from_univ3(pair="WETH/USDC", Pmarg=1899, uniPa=1899, uniPb=1901, uniL=1000, cid="", fee=0, descr="") + assert c4.pair == "WETH/USDC" + assert c4.primary == "WETH/USDC" + assert c4.pairo.isprimary == True + assert c4.buysell(verbose=True, withprice=True) == 'sell-WETH @ 1899.00 USDC per WETH' + assert c4.buysell(verbose=False) == "s" + assert c4.buysell(verbose=False, withprice=True) == ('s', 1899.0000000000002) + assert c4.buysell() == "s" + + # univ3 1899-1901 @ 1901 USDC per WETH (WETH high, therefore 100% in USDC, therefore buy WETH) + c5 = CPC.from_univ3(pair="WETH/USDC", Pmarg=1901, uniPa=1899, uniPb=1901, uniL=1000, cid="", fee=0, descr="") + assert c5.pair == "WETH/USDC" + assert c5.primary == "WETH/USDC" + assert c5.pairo.isprimary == True + assert c5.buysell(verbose=True, withprice=True) == 'buy-WETH @ 1901.00 USDC per WETH' + assert c5.buysell(verbose=False) == "b" + assert c5.buysell(verbose=False, withprice=True) == ('b', 1900.9999999999998) + assert c5.buysell() == "b" + + # univ2 (tknb=2000 USDC, tknq=1 ETH) + c6 = CPC.from_univ2(pair="USDC/WETH", x_tknb=2000, y_tknq=1, cid="", fee=0, descr="") + assert c6.pair == "USDC/WETH" + assert c6.primary == "WETH/USDC" + assert c6.pairo.isprimary == False + assert c6.buysell(verbose=True, withprice=True) == 'buy-sell-WETH @ 2000.00 USDC per WETH' + assert c6.buysell(verbose=False) == "bs" + assert c6.buysell(verbose=False, withprice=True) == ('bs', 2000.) + assert c6.buysell() == "bs" + + # univ2 (tknq=2000 USDC, tknb=1 ETH) + c7 = CPC.from_univ2(pair="WETH/USDC", x_tknb=1, y_tknq=2000, cid="", fee=0, descr="") + assert c7.pair == "WETH/USDC" + assert c7.primary == "WETH/USDC" + assert c7.pairo.isprimary == True + assert c7.buysell(verbose=True, withprice=True) == 'buy-sell-WETH @ 2000.00 USDC per WETH' + assert c7.buysell(verbose=False) == "bs" + assert c7.buysell(verbose=False, withprice=True) == ('bs', 2000.) + assert c7.buysell() == "bs" + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment P +# ------------------------------------------------------------ +def test_p(): +# ------------------------------------------------------------ + + c = CPC.from_pk(pair="USDC/WETH", p=1, k=100, params=dict(exchange="univ3", a=dict(b=1, c=2))) + assert c.P("exchange") == "univ3" + assert c.P("a") == {'b': 1, 'c': 2} + assert c.P("a:b") == 1 + assert c.P("a:c") == 2 + assert c.P("a:d") is None + assert c.P("b") is None + assert c.P("b", "meh") == "meh" + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment byparams +# ------------------------------------------------------------ +def test_byparams(): +# ------------------------------------------------------------ + + pair = "USDC/WETH" + c = [CPC.from_pk(pair=pair, p=1, k=100, params=dict(exchange="univ3", foo=1)) for _ in range(5)] + c += [CPC.from_pk(pair=pair, p=1, k=100, params=dict(exchange="carbv1", foo=2)) for _ in range(15)] + CC = CPCContainer(c) + assert len(CC)==20 + + + assert type(CC.byparams(exchange="meh")) == CPCContainer + assert type(CC.byparams(exchange="meh", _ascc=True)) == CPCContainer + assert type(CC.byparams(exchange="meh", _ascc=False)) == tuple + assert type(CC.byparams(exchange="meh", _asgenerator=True)).__name__ == "generator" + assert type(CC.byparams(exchange="meh", _ascc=True, _asgenerator=True)).__name__ == "generator" + assert type(CC.byparams(exchange="meh", _ascc=False, _asgenerator=True)).__name__ == "generator" + assert len(CC.byparams(exchange="univ3")) == 5 + assert len(CC.byparams(exchange="carbv1")) == 15 + assert len(CC.byparams(exchange="meh")) == 0 + assert len(CC.byparams(foo=1)) == 5 + assert len(CC.byparams(foo=2)) == 15 + assert len(CC.byparams(foo=3)) == 0 + assert raises (CC.byparams, foo=1, bar=2) == "currently only one param allowed {'foo': 1, 'bar': 2}" + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment itm +# ------------------------------------------------------------ +def test_itm(): +# ------------------------------------------------------------ + + # + + itm0 = CPC.itm0 + assert CPC.ITM_THRESHOLDPC == 0.01 + + assert itm0( ("bs", 1000), ("bs", 1000) ) == False + assert itm0( ("bs", 1000), ("bs", 1009) ) == False + assert itm0( ("bs", 1009), ("bs", 1000) ) == False + assert itm0( ("bs", 1000), ("bs", 1011) ) == True + assert itm0( ("bs", 1011), ("bs", 1000) ) == True + assert itm0( ("bs", 1000), ("bs", 1011), thresholdpc=0.02 ) == False + assert itm0( ("bs", 1011), ("bs", 1000), thresholdpc=0.02 ) == False + assert itm0( ("bs", 1000), ("bs", 1021), thresholdpc=0.02 ) == True + assert itm0( ("bs", 1021), ("bs", 1000), thresholdpc=0.02 ) == True + + assert itm0( ("b", 1000), ("s", 1100) ) == False + assert itm0( ("b", 1000), ("b", 1100) ) == False + assert itm0( ("b", 1000), ("bs", 1100) ) == False + assert itm0( ("s", 1000), ("s", 1100) ) == False + assert itm0( ("s", 1000), ("b", 1100) ) == True + assert itm0( ("s", 1000), ("bs", 1100) ) == True + assert itm0( ("bs", 1000), ("s", 1100) ) == False + assert itm0( ("bs", 1000), ("b", 1100) ) == True + assert itm0( ("bs", 1000), ("bs", 1100) ) == True + + assert itm0( ("s", 1000), ("b", 900) ) == False + assert itm0( ("s", 1000), ("s", 900) ) == False + assert itm0( ("s", 1000), ("bs", 900) ) == False + assert itm0( ("b", 1000), ("b", 900) ) == False + assert itm0( ("b", 1000), ("s", 900) ) == True + assert itm0( ("b", 1000), ("bs", 900) ) == True + assert itm0( ("bs", 1000), ("b", 900) ) == False + assert itm0( ("bs", 1000), ("s", 900) ) == True + assert itm0( ("bs", 1000), ("bs", 900) ) == True + # - + + + # c1: sell ETH @ 2000, c2: buy ETH @ 1500 --> no arb + c1 = CPC.from_carbon(pair="WETH/USDC", tkny="WETH", yint=10, y=10, pa=2000, pb=2001, isdydx=False) + c2 = CPC.from_carbon(pair="WETH/USDC", tkny="USDC", yint=10, y=10, pa=1500, pb=1499, isdydx=False) + bs1 = c1.buysell(verbose=False, withprice=True) + bs2 = c2.buysell(verbose=False, withprice=True) + assert (bs1, bs2) == (('s', 2000.0000000000005), ('b', 1500.0000000000002)) + assert itm0(bs1, bs2) == False + assert c1.itm(c2) == c2.itm(c1) + assert c1.itm(c2) == itm0(bs1, bs2) + assert c1.itm([c2,c2], aggr=False) == (itm0(bs1, bs2), itm0(bs1, bs2)) + + # c1: buy ETH @ 2000, c2: sell ETH @ 1500 --> arb + c1 = CPC.from_carbon(pair="WETH/USDC", tkny="USDC", yint=10, y=10, pb=2000, pa=2001, isdydx=False) + c2 = CPC.from_carbon(pair="WETH/USDC", tkny="WETH", yint=10, y=10, pb=1500, pa=1499, isdydx=False) + bs1 = c1.buysell(verbose=False, withprice=True) + bs2 = c2.buysell(verbose=False, withprice=True) + assert (bs1, bs2) == (('b', 2000.9999999999998), ('s', 1499.0000000000002)) + assert itm0(bs1, bs2) == True + assert c1.itm(c2) == c2.itm(c1) + assert c1.itm(c2) == itm0(bs1, bs2) + assert c1.itm([c2,c2], aggr=False) == (itm0(bs1, bs2), itm0(bs1, bs2)) + + # c1: buy ETH @ 2000, c2: sell ETH @ 1500, c2b: sell ETH @ 2500 --> arb, noarb + c1 = CPC.from_carbon(pair="WETH/USDC", tkny="USDC", yint=10, y=10, pb=2000, pa=2001, isdydx=False) + c2 = CPC.from_carbon(pair="WETH/USDC", tkny="WETH", yint=10, y=10, pb=1500, pa=1499, isdydx=False) + c2b = CPC.from_carbon(pair="WETH/USDC", tkny="WETH", yint=10, y=10, pb=2500, pa=2499, isdydx=False) + CC = CPCContainer([c1,c2,c2b]) + assert c1.itm(c2) == True + assert c1.itm(c2b) == False + assert c1.itm([c2,c2b], aggr=False) == (True, False) + assert c1.itm([c2b,c2], aggr=False) == (False, True) + assert c1.itm([c2b,c2], aggr=True) == True + assert c1.itm([c2,c2b], aggr=True) == True + assert c1.itm([c2b,c2]) == True + assert c1.itm([c2,c2b]) == True + assert c1.itm(CC, aggr=True) == True + assert c1.itm(CC, aggr=False) == (False, True, False) + + # c3: buy/sell @ 1900, c4: buy/sell @ 1899 --> arb depending on threshold + c3 = CPC.from_univ3(pair="WETH/USDC", Pmarg=1900, uniPa=1898, uniPb=1902, uniL=1000, cid="", fee=0, descr="") + c4 = CPC.from_univ3(pair="WETH/USDC", Pmarg=1899, uniPa=1898, uniPb=1902, uniL=1000, cid="", fee=0, descr="") + bs3 = c3.buysell(verbose=False, withprice=True) + bs4 = c4.buysell(verbose=False, withprice=True) + assert (bs3, bs4) == (('bs', 1900.0000000000007), ('bs', 1899.0000000000002)) + assert itm0(bs3, bs4, thresholdpc=0.0001) == True + assert itm0(bs3, bs4, thresholdpc=0.001) == False + assert c3.itm(c4) == c4.itm(c3) + assert c3.itm(c4) == itm0(bs3, bs4) + assert c3.itm([c4,c4], aggr=False) == (itm0(bs3, bs4), itm0(bs3, bs4)) + + # c3: buy/sell @ 1900, c4: buy/sell @ 1899 --> arb depending on threshold + c3 = CPC.from_univ3(pair="WETH/USDC", Pmarg=1900, uniPa=1898, uniPb=1902, uniL=1000, cid="", fee=0, descr="") + c4 = CPC.from_univ3(pair="USDC/WETH", Pmarg=1/1899, uniPb=1/1898, uniPa=1/1902, uniL=1000, cid="", fee=0, descr="") + bs3 = c3.buysell(verbose=False, withprice=True) + bs4 = c4.buysell(verbose=False, withprice=True) + assert (bs3, bs4) == (('bs', 1900.0000000000007), ('bs', 1899.0000000000002)) + assert itm0(bs3, bs4, thresholdpc=0.0001) == True + assert itm0(bs3, bs4, thresholdpc=0.001) == False + assert c3.itm(c4) == c4.itm(c3) + assert c3.itm(c4) == itm0(bs3, bs4) + assert c3.itm([c4,c4], aggr=False) == (itm0(bs3, bs4), itm0(bs3, bs4)) + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment TVL +# ------------------------------------------------------------ +def test_tvl(): +# ------------------------------------------------------------ + + c = CPC.from_pk(pair="WETH/USDC", p=2000, k=1*2000) + assert c.tvl(incltkn=True) == (4000.0, 'USDC', 1) + assert c.tvl("USDC", incltkn=True) == (4000.0, 'USDC', 1) + assert c.tvl("WETH", incltkn=True) == (2.0, 'WETH', 1) + assert c.tvl("USDC", incltkn=True, mult=2) == (8000.0, 'USDC', 2) + assert c.tvl("WETH", incltkn=True, mult=2) == (4.0, 'WETH', 2) + assert c.tvl("WETH", incltkn=False) == 2.0 + assert c.tvl("WETH") == 2.0 + assert c.tvl() == 4000 + assert c.tvl("WETH", mult=2000) == 4000 + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment estimate prices +# ------------------------------------------------------------ +def test_estimate_prices(): +# ------------------------------------------------------------ + + CC = CPCContainer() + CC += [CPC.from_univ3(pair="WETH/USDC", cid="uv3", fee=0, descr="", + uniPa=2000, uniPb=2010, Pmarg=2005, uniL=10*m.sqrt(2000))] + CC += [CPC.from_pk(pair="WETH/USDC", cid="uv2", fee=0, descr="", + p=1950, k=5**2*2000)] + CC += [CPC.from_pk(pair="USDC/WETH", cid="uv2r", fee=0, descr="", + p=1/1975, k=5**2*2000)] + CC += [CPC.from_carbon(pair="WETH/USDC", cid="carb", fee=0, descr="", + tkny="USDC", yint=1000, y=1000, pa=1850, pb=1750)] + CC += [CPC.from_carbon(pair="WETH/USDC", cid="carb", fee=0, descr="", + tkny="WETH", yint=1, y=0, pb=1/1850, pa=1/1750)] + CC += [CPC.from_carbon(pair="WETH/USDC", cid="carb", fee=0, descr="", + tkny="USDC", yint=1000, y=500, pa=1870, pb=1710)] + #CC.plot() + + assert CC.price_estimate(tknq=T.WETH, tknb=T.USDC, result=CC.PE_PAIR) == f"{T.USDC}/{T.WETH}" + assert CC.price_estimate(pair=f"{T.USDC}/{T.WETH}", result=CC.PE_PAIR) == f"{T.USDC}/{T.WETH}" + assert raises(CC.price_estimate, tknq="a", result=CC.PE_PAIR) + assert raises(CC.price_estimate, tknb="a", result=CC.PE_PAIR) + assert raises(CC.price_estimate, tknq="a", tknb="b", pair="a/b", result=CC.PE_PAIR) + assert raises(CC.price_estimate, pair="ab", result=CC.PE_PAIR) + assert CC.price_estimates(tknqs=[T.WETH], tknbs=[T.USDC], pairs=True, + unwrapsingle=False)[0][0] == f"{T.USDC}/{T.WETH}" + assert CC.price_estimates(tknqs=[T.WETH], tknbs=[T.USDC], pairs=True, + unwrapsingle=True)[0] == f"{T.USDC}/{T.WETH}" + assert CC.price_estimates(tknqs=[T.WETH], tknbs=[T.USDC], pairs=True)[0] == f"{T.USDC}/{T.WETH}" + r = CC.price_estimates(tknqs=list("ABC"), tknbs=list("DEFG"), pairs=True) + assert r.ndim == 2 + assert r.shape == (3,4) + r = CC.price_estimates(tknqs=list("A"), tknbs=list("DEFG"), pairs=True) + assert r.ndim == 1 + assert r.shape == (4,) + + assert CC[0].at_boundary == False + assert CC[1].at_boundary == False + assert CC[2].at_boundary == False + assert CC[3].at_boundary == True + assert CC[3].at_xmin == True + assert CC[3].at_ymin == False + assert CC[3].at_xmax == False + assert CC[3].at_ymax == True + assert CC[4].at_boundary == True + assert CC[4].at_ymin == True + assert CC[4].at_xmin == True + assert CC[4].at_ymax == True + assert CC[4].at_xmax == True + assert CC[5].at_boundary == True + + r = CC.price_estimate(tknq="USDC", tknb="WETH", result=CC.PE_CURVES) + assert len(r)==3 + + p,w = CC.price_estimate(tknq="USDC", tknb="WETH", result=CC.PE_DATA) + assert len(p) == len(r) + assert len(w) == len(r) + assert iseq(sum(p), 5930) + assert iseq(sum(w), 894.4271909999159) + pe = CC.price_estimate(tknq="USDC", tknb="WETH") + assert pe == np.average(p, weights=w) + + O = PairOptimizer(CC) + Om = PairOptimizer(CCmarket) + assert O.price_estimates(tknq="USDC", tknbs=["WETH"]) == CC.price_estimates(tknqs=["USDC"], tknbs=["WETH"]) + CCmarket.fp(onein="USDC") + r = Om.price_estimates(tknq="USDC", tknbs=["WETH", "WBTC"]) + assert iseq(r[0], 1820.89875275) + assert iseq(r[1], 28351.08150121) + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment triangle estimates +# ------------------------------------------------------------ +def test_triangle_estimates(): +# ------------------------------------------------------------ + + CC = CPCContainer() + CC += [CPC.from_univ3(pair=f"{T.WETH}/{T.USDC}", cid="uv3-1", fee=0, descr="", + uniPa=2000, uniPb=2002, Pmarg=2001, uniL=10*m.sqrt(2000))] + CC += [CPC.from_univ3(pair=f"{T.WBTC}/{T.USDC}", cid="uv3-2", fee=0, descr="", + uniPa=20000, uniPb=20020, Pmarg=20010, uniL=1*m.sqrt(20000))] + #CC.plot() + + help(CC.price_estimate) + + assert iseq(CC.price_estimate(pair=f"{T.WETH}/{T.USDC}"), 2001) + assert iseq(CC.price_estimate(pair=f"{T.WBTC}/{T.USDC}"), 20010) + assert iseq(CC.price_estimate(pair=f"{T.USDC}/{T.WETH}"), 1/2001) + assert iseq(CC.price_estimate(pair=f"{T.USDC}/{T.WBTC}"), 1/20010) + + assert CC.price_estimate(tknb=T.WETH, tknq=T.USDC, result=CC.PE_PAIR) == f"{T.WETH}/{T.USDC}" + r = CC.price_estimate(tknb=T.WETH, tknq=T.USDC, result=CC.PE_CURVES) + assert len(r) == 1 + assert r[0][0].cid=="uv3-1" + assert iseq(r[0][1], 2001) + assert iseq(r[0][2], 200000.0) + r = CC.price_estimate(tknb=T.WETH, tknq=T.USDC, result=CC.PE_DATA) + assert len(r) == 2 + assert r[0].shape == (1,) + assert r[1].shape == (1,) + assert iseq(r[0][0], 2001) + + help(CC.price_estimates) + + r = CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC], unwrapsingle=True, pairs=True) + assert r.shape == (1,) + assert r[0] == f"{T.WBTC}/{T.WETH}" + assert CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC], pairs=True) == r + r + + r = CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC], unwrapsingle=False, pairs=True) + assert r.shape == (1,1) + assert r[0][0] == f"{T.WBTC}/{T.WETH}" + r + + assert raises(CC.price_estimates, tknqs=[T.WETH], tknbs=[T.WBTC], + triangulate=False).startswith("('no price found") + r = CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC], raiseonerror=False, triangulate=False) + assert r == CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC], raiseonerror=False, triangulate=False) + assert r.shape == (1,) + assert r[0] is None + + r = CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC], triangulate=[T.USDC]) + assert r == CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC], triangulate=True) + assert r == CC.price_estimates(tknqs=[T.WETH], tknbs=[T.WBTC]) + assert iseq(r[0], 10) + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment price estimates in optimizer +# ------------------------------------------------------------ +def test_price_estimates_in_optimizer(): +# ------------------------------------------------------------ + + prices = {"USDC":1, "LINK": 5, "AAVE": 100, "MKR": 500, "WETH": 2000, "WBTC": 20000} + CCfm, ctr = CPCContainer(), 0 + for tknb, pb in prices.items(): + for tknq, pq in prices.items(): + if pb>pq: + pair = f"{tknb}/{tknq}" + pp = pb/pq + k = (100000)**2/(pb*pq) + CCfm += CPC.from_pk(p=pp, k=k, pair=pair, cid = f"mkt-{ctr}") + ctr += 1 + + O = MargPOptimizer(CCfm) + assert O.MO_PSTART == O.MO_P + tknq = "WETH" + df = O.margp_optimizer(tknq, result=O.MO_PSTART) + rd = df[tknq].to_dict() + assert len(df) == len(prices)-1 + assert df.columns[0] == tknq + assert df.index.name == "tknb" + assert rd == {k:v/prices[tknq] for k,v in prices.items() if k!=tknq} + df2 = O.margp_optimizer(tknq, result=O.MO_PSTART, params=dict(pstart=df)) + assert np.all(df == df2) + df2 = O.margp_optimizer(tknq, result=O.MO_PSTART, params=dict(pstart=rd)) + assert np.all(df == df2) + df + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment Assertions and testing +# ------------------------------------------------------------ +def test_assertions_and_testing(): +# ------------------------------------------------------------ + + c = CPC.from_px(p=2000,x=10, pair="ETH/USDC") + assert c.pair == "ETH/USDC" + assert c.tknb == c.pair.split("/")[0] + assert c.tknx == c.tknb + assert c.tknq == c.pair.split("/")[1] + assert c.tkny == c.tknq + assert f"{c.tknb}/{c.tknq}" == c.pair + print (c.descr) + + c = CPC.from_xy(10,20) + assert c == CPC.from_kx(c.k, c.x) + assert c == CPC.from_ky(c.k, c.y) + assert c == CPC.from_xy(c.x, c.y) + assert c == CPC.from_pk(c.p, c.k) + assert c == CPC.from_px(c.p, c.x) + assert c == CPC.from_py(c.p, c.y) + + c + + c = CPC.from_px(p=2, x=100, x_act=10, y_act=20) + assert c.y_max*c.x_min == c.k + assert c.x_max*c.y_min == c.k + assert c.p_min == c.y_min / c.x_max + assert c.p_max == c.y_max / c.x_min + assert c.p_max >= c.p_min + + c = CPC.from_px(p=2, x=100, x_act=10, y_act=20) + e = 1e-5 + assert 95*c.yfromx_f(x=95) == c.k + assert 105*c.yfromx_f(x=105) == c.k + assert 190*c.xfromy_f(y=190) == c.k + assert 210*c.xfromy_f(y=210) == c.k + assert not c.yfromx_f(x=90) is None + assert c.yfromx_f(x=90-e) is None + assert not c.xfromy_f(y=180) is None + assert c.xfromy_f(y=180-e) is None + assert c.dyfromdx_f(dx=-5) + assert (c.y+c.dyfromdx_f(dx=-5))*(c.x-5) == c.k + assert (c.y+c.dyfromdx_f(dx=+5))*(c.x+5) == c.k + assert (c.x+c.dxfromdy_f(dy=-5))*(c.y-5) == c.k + assert (c.x+c.dxfromdy_f(dy=+5))*(c.y+5) == c.k + + c = CPC.from_pkpp(p=100, k=100) + assert c.p_min == 100 + assert c.p_max == 100 + assert c.p == 100 + assert c.k == 100 + + c = CPC.from_pkpp(p=100, k=100, p_min=80, p_max=120) + assert c.p_min == 80 + assert iseq(c.p_max, 120) + assert c.p == 100 + assert c.k == 100 + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment iseq +# ------------------------------------------------------------ +def test_iseq(): +# ------------------------------------------------------------ + + assert iseq("a", "a", "ab") == False + assert iseq("a", "a", "a") + assert iseq(1.0, 1, 1.0) + assert iseq(0,0) + assert iseq(0,1e-10) + assert iseq(0,1e-5) == False + assert iseq(1, 1.00001) == False + assert iseq(1, 1.000001) + assert iseq(1, 1.000001, eps=1e-7) == False + assert iseq("1", 1) == False + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment New CPC features in v2 +# ------------------------------------------------------------ +def test_new_cpc_features_in_v2(): +# ------------------------------------------------------------ + + # + + p = CPCContainer.Pair("ETH/USDC") + assert str(p) == "ETH/USDC" + assert p.pair == str(p) + assert p.tknx == "ETH" + assert p.tkny == "USDC" + assert p.tknb == "ETH" + assert p.tknq == "USDC" + + pp = CPCContainer.Pair.wrap(["ETH/USDC", "WBTC/ETH"]) + assert len(pp) == 2 + assert pp[0].pair == "ETH/USDC" + assert pp[1].pair == "WBTC/ETH" + assert pp[0].unwrap(pp) == ('ETH/USDC', 'WBTC/ETH') + # - + + pairs = ["A", "B", "C"] + assert CPCContainer.pairset(", ".join(pairs)) == set(pairs) + assert CPCContainer.pairset(pairs) == set(pairs) + assert CPCContainer.pairset(tuple(pairs)) == set(pairs) + assert CPCContainer.pairset(p for p in pairs) == set(pairs) + + pairs = [f"{a}/{b}" for a in ["ETH", "USDC", "DAI"] for b in ["DAI", "WBTC", "LINK", "ETH"] if a!=b] + CC = CPCContainer() + fp = lambda **cond: CC.filter_pairs(pairs=pairs, **cond) + assert fp(bothin="ETH, USDC, DAI") == {'DAI/ETH', 'ETH/DAI', 'USDC/DAI', 'USDC/ETH'} + assert fp(onein="WBTC") == {'DAI/WBTC', 'ETH/WBTC', 'USDC/WBTC'} + assert fp(onein="ETH") == fp(contains="ETH") + assert fp(notin="WBTC, ETH, DAI") == {'USDC/LINK'} + assert fp(tknbin="WBTC") == set() + assert fp(tknqin="WBTC") == {'DAI/WBTC', 'ETH/WBTC', 'USDC/WBTC'} + assert fp(tknbnotin="WBTC") == set(pairs) + assert fp(tknbnotin="WBTC, ETH, DAI") == {'USDC/DAI', 'USDC/ETH', 'USDC/LINK', 'USDC/WBTC'} + assert fp(notin_0="WBTC", notin_1="DAI") == fp(notin="WBTC, DAI") + assert fp(onein = "ETH") == fp(anyall=CC.FP_ANY, tknbin="ETH", tknqin="ETH") + + P = CPCContainer.Pair + ETHUSDC = P("ETH/USDC") + USDCETH = P(ETHUSDC.pairr) + assert ETHUSDC.pair == "ETH/USDC" + assert ETHUSDC.pairr == "USDC/ETH" + assert USDCETH.pairr == "ETH/USDC" + assert USDCETH.pair == "USDC/ETH" + assert ETHUSDC.isprimary + assert not USDCETH.isprimary + assert ETHUSDC.primary == ETHUSDC.pair + assert ETHUSDC.secondary == ETHUSDC.pairr + assert USDCETH.primary == USDCETH.pairr + assert USDCETH.secondary == USDCETH.pair + assert ETHUSDC.primary == USDCETH.primary + assert ETHUSDC.secondary == USDCETH.secondary + + assert P("BTC/ETH").isprimary + assert P("WBTC/ETH").isprimary + assert P("BTC/WETH").isprimary + assert P("WBTC/ETH").isprimary + assert P("BTC/USDC").isprimary + assert P("XYZ/USDC").isprimary + assert P("XYZ/USDT").isprimary + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment Real data and retrieval of curves +# ------------------------------------------------------------ +def test_real_data_and_retrieval_of_curves(): +# ------------------------------------------------------------ + + # try: + # df = pd.read_csv("../nbtest_data/NBTEST_002_Curves.csv.gz") + # except: + # df = pd.read_csv("fastlane_bot/tests/nbtest_data/NBTEST_002_Curves.csv.gz") + CC = CPCContainer.from_df(market_df) + assert len(CC) == 459 + assert len(CC) == len(market_df) + assert len(CC.pairs()) == 326 + assert len(CC.tokens()) == 141 + assert CC.tokens_s + assert CC.tokens_s()[:60] == '1INCH,1ONE,AAVE,ALCX,ALEPH,ALPHA,AMP,ANKR,ANT,APW,ARCONA,ARM' + print("Num curves:", len(CC)) + print("Num pairs:", len(CC.pairs())) + print("Num tokens:", len(CC.tokens())) + #print(CC.tokens_s()) + + assert CC.bypairs(CC.fp(onein="WETH, WBTC")) == CC.bypairs(CC.fp(onein="WETH, WBTC"), asgenerator=False) + assert len(CC.bypairs(CC.fp(onein="WETH, WBTC"))) == 254 + assert len(CC.bypairs(CC.fp(onein="WETH, WBTC"), ascc=True)) == 254 + CC1 = CC.bypairs(CC.fp(onein="WBTC"), ascc=True) + assert len(CC1) == 29 + cids = [c.cid for c in CC.bypairs(CC.fp(onein="WBTC"))] + assert len(cids) == len(CC1) + assert CC.bycid("bla") is None + assert not CC.bycid("191") is None + assert raises(CC.bycids, ["bla"]) + assert len(CC.bycids(cids)) == len(cids) + assert len(CC.bytknx("WETH")) == 46 + assert len(CC.bytkny("WETH")) == 181 + assert len(CC.bytknys("WETH")) == len(CC.bytkny("WETH")) + assert len(CC.bytknxs("USDC, USDT")) == 41 + assert len(CC.bytknxs(["USDC", "USDT"])) == len(CC.bytknxs("USDC, USDT")) + assert len(CC.bytknys(["USDC", "USDT"])) == len(CC.bytknys({"USDC", "USDT"})) + cs = CC.bytknx("WETH", asgenerator=True) + assert raises(len, cs) + assert len(tuple(cs)) == 46 + assert len(tuple(cs)) == 0 # generator empty + + CC2 = CC.bypairs(CC.fp(bothin="USDC, DAI, BNT, SHIB, ETH, AAVE, LINK"), ascc=True) + tt = CC2.tokentable() + assert tt["ETH"].x == [] + assert tt["ETH"].y == [0] + assert tt["DAI"].x == [1,4,8] + assert tt["DAI"].y == [3,6] + tt + + assert CC2.tknxs() == {'AAVE', 'BNT', 'DAI', 'LINK'} + assert CC2.tknxl() == ['BNT', 'DAI', 'LINK', 'LINK', 'DAI', 'LINK', 'LINK', 'AAVE', 'DAI'] + assert set(CC2.tknxl()) == CC2.tknxs() + assert set(CC2.tknyl()) == CC2.tknys() + assert len(CC2.tknxl()) == len(CC2.tknyl()) + assert len(CC2.tknxl()) == len(CC2) + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment TokenScale tests [NOTEST] +# ------------------------------------------------------------ +def notest_tokenscale_tests(): +# ------------------------------------------------------------ + + pass + + # + + # TSB = ts.TokenScaleBase() + # assert raises (TSB.scale,"ETH") + # assert TSB.DEFAULT_SCALE == 1e-2 + + # + + # TS = ts.TokenScale.from_tokenscales(USDC=1e0, ETH=1e3, BTC=1e4) + # TS + + # + + # assert TS("USDC") == 1 + # assert TS("ETH") == 1000 + # assert TS("BTC") == 10000 + # assert TS("MEH") == TS.DEFAULT_SCALE + + # + + # TSD = ts.TokenScaleData + + # + + # tknset = {'AAVE', 'BNT', 'BTC', 'ETH', 'LINK', 'USDC', 'USDT', 'WBTC', 'WETH'} + # assert tknset - set(TSD.scale_dct.keys()) == set() + + # + + # cc1 = CPC.from_xy(x=10, y=20000, pair="ETH/USDC") + # assert cc1.tokenscale is cc1.TOKENSCALE + # assert cc1.tknx == "ETH" + # assert cc1.tkny == "USDC" + # assert cc1.scalex == 1 + # assert cc1.scaley == 1 + # cc2 = CPC.from_xy(x=10, y=20000, pair="BTC/MEH") + # assert cc2.tknx == "BTC" + # assert cc2.tkny == "MEH" + # assert cc2.scalex == 1 + # assert cc2.scaley == 1 + # assert cc2.scaley == cc2.tokenscale.DEFAULT_SCALE + + # + + # cc1 = CPC.from_xy(x=10, y=20000, pair="ETH/USDC") + # cc1.set_tokenscale(TSD) + # assert cc1.tokenscale != cc1.TOKENSCALE + # assert cc1.tknx == "ETH" + # assert cc1.tkny == "USDC" + # assert cc1.scalex == 1e3 + # assert cc1.scaley == 1e0 + # cc2 = CPC.from_xy(x=10, y=20000, pair="BTC/MEH") + # cc2.set_tokenscale(TSD) + # assert cc2.tknx == "BTC" + # assert cc2.tkny == "MEH" + # assert cc2.scalex == 1e4 + # assert cc2.scaley == 1e-2 + # assert cc2.scaley == cc2.tokenscale.DEFAULT_SCALE + # - + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment dx_min and dx_max etc +# ------------------------------------------------------------ +def test_dx_min_and_dx_max_etc(): +# ------------------------------------------------------------ + + cc = CPC.from_pkpp(p=100, k=100*10000, p_min=90, p_max=110) + assert iseq(cc.x_act, 4.653741075440777) + assert iseq(cc.y_act, 513.167019494862) + assert cc.dx_min == -cc.x_act + assert cc.dy_min == -cc.y_act + assert iseq( (cc.x + cc.dx_max)*(cc.y + cc.dy_min), cc.k) + assert iseq( (cc.y + cc.dy_max)*(cc.x + cc.dx_min), cc.k) + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment xyfromp_f and dxdyfromp_f +# ------------------------------------------------------------ +def test_xyfromp_f_and_dxdyfromp_f(): +# ------------------------------------------------------------ + + # + + c = CPC.from_pkpp(p=100, k=100*10000, p_min=90, p_max=110, pair=f"{T.ETH}/{T.USDC}") + + assert c.pair == 'WETH-6Cc2/USDC-eB48' + assert c.pairp == 'WETH/USDC' + assert c.p == 100 + assert iseq(c.x_act, 4.653741075440777) + assert iseq(c.y_act, 513.167019494862) + assert c.tknx == T.ETH + assert c.tkny == T.USDC + assert c.tknxp == "WETH" + assert c.tknyp == "USDC" + assert c.xyfromp_f() == (c.x, c.y, c.p) + assert c.xyfromp_f(withunits=True) == (100.0, 10000.0, 100.0, 'WETH', 'USDC', 'WETH/USDC') + + x,y,p = c.xyfromp_f(p=85, ignorebounds=True) + assert p == 85 + assert iseq(x*y, c.k) + assert iseq(y/x,85) + + x,y,p = c.xyfromp_f(p=115, ignorebounds=True) + assert p == 115 + assert iseq(x*y, c.k) + assert iseq(y/x,115) + + x,y,p = c.xyfromp_f(p=95) + assert p == 95 + assert iseq(x*y, c.k) + assert iseq(y/x,p) + + x,y,p = c.xyfromp_f(p=105) + assert p == 105 + assert iseq(x*y, c.k) + assert iseq(y/x,p) + + x,y,p = c.xyfromp_f(p=85) + assert p == 85 + assert iseq(x*y, c.k) + assert iseq(y/x,90) + + x,y,p = c.xyfromp_f(p=115) + assert p == 115 + assert iseq(x*y, c.k) + assert iseq(y/x,110) + + # + + assert c.dxdyfromp_f(withunits=True) == (0.0, 0.0, 100.0, 'WETH', 'USDC', 'WETH/USDC') + + dx,dy,p = c.dxdyfromp_f(p=85, ignorebounds=True) + assert p == 85 + assert iseq((c.x+dx)*(c.y+dy), c.k) + assert iseq((c.y+dy)/(c.x+dx),p) + + dx,dy,p = c.dxdyfromp_f(p=115, ignorebounds=True) + assert p == 115 + assert iseq((c.x+dx)*(c.y+dy), c.k) + assert iseq((c.y+dy)/(c.x+dx),p) + + dx,dy,p = c.dxdyfromp_f(p=95) + assert p == 95 + assert iseq((c.x+dx)*(c.y+dy), c.k) + assert iseq((c.y+dy)/(c.x+dx),p) + + dx,dy,p = c.dxdyfromp_f(p=105) + assert p == 105 + assert iseq((c.x+dx)*(c.y+dy), c.k) + assert iseq((c.y+dy)/(c.x+dx),p) + + dx,dy,p = c.dxdyfromp_f(p=85) + assert p == 85 + assert iseq((c.x+dx)*(c.y+dy), c.k) + assert iseq((c.y+dy)/(c.x+dx), 90) + assert iseq(dy, -c.y_act) + + dx,dy,p = c.dxdyfromp_f(p=115) + assert p == 115 + assert iseq((c.x+dx)*(c.y+dy), c.k) + assert iseq((c.y+dy)/(c.x+dx), 110) + assert iseq(dx, -c.x_act) + + assert iseq(c.x_min*c.y_max, c.k) + assert iseq(c.x_max*c.y_min, c.k) + assert iseq(c.y_max/c.x_min, c.p_max) + assert iseq(c.y_min/c.x_max, c.p_min) + # - + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment Asymmetric curves and curve classifications +# ------------------------------------------------------------ +def test_asymmetric_curves_and_curve_classifications(): +# ------------------------------------------------------------ + # + # We here briefly run through asymmetric curves; we also ensure that the associated functions (is_constant_product) etc work across the board + + ETA = 3 + cc = CPC.from_xyal(x=10, y=100/ETA*10, eta=ETA) + assert cc.alpha == 0.75 + assert cc.eta == 3 + assert iseq(cc.x, 10) + assert iseq(cc.y, 100/ETA*10) + assert iseq(cc.p, 100) + assert iseq(cc.x_act, cc.x) + assert iseq(cc.y_act, cc.y) + assert (cc.x_min, cc.x_max) == (0,None) + assert (cc.y_min, cc.y_max) == (0,None) + assert not cc.is_constant_product() # DEPRECATED + assert not cc.is_symmetric() + assert cc.is_asymmetric() + assert not cc.is_levered() + assert cc.is_unlevered() + + ETA = 1 + cc = CPC.from_xyal(x=10, y=100/ETA*10, eta=ETA) + assert cc.alpha == 0.5 + assert cc.eta == 1 + assert iseq(cc.x, 10) + assert iseq(cc.y, 100/ETA*10) + assert iseq(cc.p, 100) + assert iseq(cc.x_act, cc.x) + assert iseq(cc.y_act, cc.y) + assert (cc.x_min, cc.x_max) == (0,None) + assert (cc.y_min, cc.y_max) == (0,None) + assert cc.is_constant_product() # DEPRECATED + assert cc.is_symmetric() + assert not cc.is_asymmetric() + assert not cc.is_levered() + assert cc.is_unlevered() + + cc = CPC.from_xy(x=10, y=100*10) + assert cc.alpha == 0.5 + assert cc.eta == 1 + assert iseq(cc.x, 10) + assert iseq(cc.y, 100/ETA*10) + assert iseq(cc.p, 100) + assert iseq(cc.x_act, cc.x) + assert iseq(cc.y_act, cc.y) + assert (cc.x_min, cc.x_max) == (0,None) + assert (cc.y_min, cc.y_max) == (0,None) + assert cc.is_constant_product() # DEPRECATED + assert cc.is_symmetric() + assert not cc.is_asymmetric() + assert not cc.is_levered() + assert cc.is_unlevered() + + cc = CPC.from_pkpp(p=100, k=10*100, p_min=90, p_max=110) + assert cc.alpha == 0.5 + assert cc.eta == 1 + assert iseq(cc.x, 3.1622776601683795) + assert iseq(cc.y, 316.2277660168379) + assert iseq(cc.p, 100) + assert not iseq(cc.x_act, cc.x) + assert not iseq(cc.y_act, cc.y) + assert not (cc.x_min, cc.x_max) == (0,None) + assert not (cc.y_min, cc.y_max) == (0,None) + assert cc.is_constant_product() # DEPRECATED + assert cc.is_symmetric() + assert not cc.is_asymmetric() + assert cc.is_levered() + assert not cc.is_unlevered() + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment CPCInverter +# ------------------------------------------------------------ +def test_cpcinverter(): +# ------------------------------------------------------------ + + c = CPC.from_pkpp(p=2000, k=10*20000, p_min=1800, p_max=2200, fee=0.001, pair=f"{T.ETH}/{T.USDC}", params={"foo": "bar"}) + c2 = CPC.from_pkpp(p=1/2000, k=10*20000, p_max=1/1800, p_min=1/2200, fee=0.002, pair=f"{T.USDC}/{T.ETH}", params={"foo": "bar"}) + ci = CPCInverter(c) + c2i = CPCInverter(c2) + curves = CPCInverter.wrap([c,c2]) + assert c.pairo == c2i.pairo + assert ci.pairo == c2.pairo + + assert ci.P("foo") == c.P("foo") + assert c2i.P("foo") == c2.P("foo") + assert ci.fee == c.fee + assert c2i.fee == c2.fee + + #print("x_act", c.x_act, c2i.x_act) + assert iseq(c.x_act, c2i.x_act) + xact = c.x_act + dx = -0.1*xact + c_ex = c.execute(dx=dx) + assert isinstance(c_ex, CPC) + assert iseq(c_ex.x_act, xact+dx) + assert iseq(c_ex.x, c.x+dx) + c2i_ex = c2i.execute(dx=dx) + assert iseq(c2i_ex.x_act, xact+dx) + assert iseq(c2i_ex.x, c.x+dx) + assert isinstance(c2i_ex, CPCInverter) + + assert len(curves) == 2 + assert set(c.pair for c in curves) == {'WETH-6Cc2/USDC-eB48'} + assert len(set(c.pair for c in curves)) == 1 + assert len(set(c.tknx for c in curves)) == 1 + assert len(set(c.tkny for c in curves)) == 1 + + assert c.tknx == ci.tkny + assert c.tkny == ci.tknx + assert c.tknxp == ci.tknyp + assert c.tknyp == ci.tknxp + assert c.tknb == ci.tknq + assert c.tknq == ci.tknb + assert c.tknbp == ci.tknqp + assert c.tknqp == ci.tknbp + assert f"{c.tknq}/{c.tknb}" == ci.pair + assert f"{c.tknqp}/{c.tknbp}" == ci.pairp + assert c.x == ci.y + assert c.y == ci.x + assert c.x_act == ci.y_act + assert c.y_act == ci.x_act + assert c.x_min == ci.y_min + assert c.x_max == ci.y_max + assert c.y_min == ci.x_min + assert c.y_max == ci.x_max + assert c.k == ci.k + assert iseq(c.p, 1/ci.p) + assert iseq(c.p_min, 1/ci.p_max) + assert iseq(c.p_max, 1/ci.p_min) + + + assert c.pair == c2i.pair + assert c.tknx == c2i.tknx + assert c.tkny == c2i.tkny + assert c.tknxp == c2i.tknxp + assert c.tknyp == c2i.tknyp + assert c.tknb == c2i.tknb + assert c.tknq == c2i.tknq + assert c.tknbp == c2i.tknbp + assert c.tknqp == c2i.tknqp + assert iseq(c.p, c2i.p) + assert iseq(c.p_min, c2i.p_min) + assert iseq(c.p_max, c2i.p_max) + assert c.x == c2i.x + assert c.y == c2i.y + assert c.x_act == c2i.x_act + assert c.y_act == c2i.y_act + assert c.x_min == c2i.x_min + assert c.x_max == c2i.x_max + assert c.y_min == c2i.y_min + assert c.y_max == c2i.y_max + assert c.k == c2i.k + + assert iseq(c.xfromy_f(c.y), c2i.xfromy_f(c2i.y)) + assert iseq(c.yfromx_f(c.x), c2i.yfromx_f(c2i.x)) + assert iseq(c.xfromy_f(c.y*1.05), c2i.xfromy_f(c2i.y*1.05)) + assert iseq(c.yfromx_f(c.x*1.05), c2i.yfromx_f(c2i.x*1.05)) + assert iseq(c.dxfromdy_f(1), c2i.dxfromdy_f(1)) + assert iseq(c.dyfromdx_f(1), c2i.dyfromdx_f(1)) + + assert c.xyfromp_f() == c2i.xyfromp_f() + assert c.dxdyfromp_f() == c2i.dxdyfromp_f() + assert c.xyfromp_f(withunits=True) == c2i.xyfromp_f(withunits=True) + assert c.dxdyfromp_f(withunits=True) == c2i.dxdyfromp_f(withunits=True) + assert iseq(c.p, c2i.p) + x,y,p = c.xyfromp_f(c.p*1.05) + x2,y2,p2 = c2i.xyfromp_f(c2i.p*1.05) + assert iseq(x,x2) + assert iseq(y,y2) + assert iseq(p,p2) + dx,dy,p = c.dxdyfromp_f(c.p*1.05) + dx2,dy2,p2 = c2i.dxdyfromp_f(c2i.p*1.05) + assert iseq(dx,dx2) + assert iseq(dy,dy2) + assert iseq(p,p2) + + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment simple_optimizer +# ------------------------------------------------------------ +def test_simple_optimizer(): +# ------------------------------------------------------------ + + CC = CPCContainer(CPC.from_pk(p=2000+i*10, k=10*20000, pair=f"{T.ETH}/{T.USDC}") for i in range(11)) + c0 = CC.curves[0] + c1 = CC.curves[-1] + CC0 = CPCContainer([c0]) + assert len(CC) == 11 + assert iseq([c.p for c in CC][-1], 2100) + assert len(CC0) == 1 + assert iseq([c.p for c in CC0][-1], 2000) + + # + + O = PairOptimizer(CC) + O0 = PairOptimizer(CC0) + func = O.optimize(result=O.SO_DXDYVECFUNC) + func0 = O0.optimize(result=O.SO_DXDYVECFUNC) + funcs = O.optimize(result=O.SO_DXDYSUMFUNC) + funcvx = O.optimize(result=O.SO_DXDYVALXFUNC) + funcvy = O.optimize(result=O.SO_DXDYVALYFUNC) + x,y = func0(2100)[0] + xb, yb, _ = c0.dxdyfromp_f(2100) + assert x == xb + assert y == yb + x,y = func(2100)[-1] + xb, yb, _ = c1.dxdyfromp_f(2100) + assert x == xb + assert y == yb + assert np.all(sum(func(2100)) == funcs(2100)) + + p = 2100 + dx, dy = funcs(p) + assert iseq(dy + p*dx, funcvy(p)) + assert iseq(dy/p + dx, funcvx(p)) + + p = 1500 + dx, dy = funcs(p) + assert iseq(dy + p*dx, funcvy(p)) + assert iseq(dy/p + dx, funcvx(p)) + + assert iseq(float(O0.optimize(result=O.SO_PMAX)), c0.p) + assert iseq(float(O.optimize(result=O.SO_PMAX)), 2049.6451720862074, eps=1e-3) + # - + + O.optimize(result=O.SO_PMAX) + + # ### global max + # + # the global max function has not been properly connected to the MargPResult object because it does not really make sense; the function is not currently used so it does not really matter + + r = O.optimize() + r_ = O.optimize(result=O.SO_GLOBALMAX) + assert raises(O.optimize, targettkn=T.WETH, result=O.SO_GLOBALMAX) + assert iseq(float(r), float(r_)) + assert len(r.curves) == len(CC) + #assert np.all(r.dxdy_sum == sum(r.dxdy_vec)) + #dx, dy = r.dxdy_vecs + #assert tuple(tuple(_) for _ in r.dxdy_vec) == tuple(zip(dx,dy)) + #assert r.result == r.dxdy_valx + # for dp in np.linspace(-500,500,100): + # assert r.dxdyfromp_valx_f(p) < r.dxdy_valx + # assert r.dxdyfromp_valy_f(p) < r.dxdy_valy + + CC_ex = CPCContainer(c.execute(dx=dx) for c, dx in zip(r.curves, r.dxvalues)) + # CC.plot() + # CC_ex.plot() + prices = [c.p for c in CC] + prices_ex = [c.p for c in CC_ex] + assert iseq(np.std(prices), 31.622776601683707) + #assert iseq(np.std(prices_ex), 4.547473508864641e-13) + #prices, prices_ex + + # ### target token + + r = O.optimize(targettkn=T.WETH) + r_ = O.optimize(targettkn=T.WETH, result=O.SO_TARGETTKN) + assert raises(O.optimize,targettkn=T.DAI) + assert raises(O.optimize, result=O.SO_TARGETTKN) + assert iseq(float(r), float(r_)) + assert abs(sum(r.dyvalues) < 1e-6) + assert sum(r.dxvalues) < 0 + assert iseq(float(r),sum(r.dxvalues)) + + r = O.optimize(targettkn=T.USDC) + assert abs(sum(r.dxvalues) < 1e-6) + assert sum(r.dyvalues) < 0 + assert iseq(float(r),sum(r.dyvalues)) + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment optimizer plus inverted curves +# ------------------------------------------------------------ +def test_optimizer_plus_inverted_curves(): +# ------------------------------------------------------------ + # + # note: `O.optimize()` without `targettkn='...'` is the globalmax result! + + CCr = CPCContainer(CPC.from_pk(p=2000+i*100, k=10*(20000+10000*i), pair=f"{T.ETH}/{T.USDC}") for i in range(11)) + CCi = CPCContainer(CPC.from_pk(p=1/(2050+i*100), k=10*(20000+10000*i), pair=f"{T.USDC}/{T.ETH}") for i in range(11)) + CC = CCr.bycids() + assert len(CC) == len(CCr) + CC += CCi + assert len(CC) == len(CCr) + len(CCi) + + # + + # CC.plot() + # - + + O = PairOptimizer(CC) + r = O.optimize() + #print(f"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]") + assert iseq(r.result, 3.292239037185821) + + # + + #CC.plot() + # - + + CC_ex = CPCContainer(c.execute(dx=dx) for c, dx in zip(r.curves, r.dxvalues)) + # CC.plot() + # CC_ex.plot() + + prices_ex = [c.pairo.primary_price(c.p) for c in CC_ex] + assert np.std(prices_ex) < 1e-10 + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment posx and negx +# ------------------------------------------------------------ +def test_posx_and_negx(): +# ------------------------------------------------------------ + + O = CPCArbOptimizer + a = O.a + + assert O.posx([0,-1,2]) == (0, 0, 2) + assert O.posx((-1,-2, 3)) == (0, 0, 3) + assert O.negx([0,-1,2]) == (0, -1, 0) + assert O.negx((-1,-2, 3)) == (-1, -2, 0) + assert np.all(O.posx(a([0,-1,2])) == a((0, 0, 2))) + assert O.t(a((-1,-2))) == (-1,-2) + + for v in ((1,2,3), (1,-1,5-10,0), (-10.5,8,2.34,-17)): + assert np.all(O.posx(a(v))+O.negx(a(v)) == v) + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment TradeInstructions +# ------------------------------------------------------------ +def test_tradeinstructions(): +# ------------------------------------------------------------ + + TI = CPCArbOptimizer.TradeInstruction + + ti = TI.new(curve_or_cid="1", tkn1="ETH", amt1=1, tkn2="USDC", amt2=-2000) + print(f"cid={ti.cid}, out={ti.amtout} {ti.tknout}, , out={ti.amtin} {ti.tknin}") + assert ti.tknin == "ETH" + assert ti.amtin > 0 + assert ti.tknout == "USDC" + assert ti.amtout < 0 + assert ti.price_outperin == 2000 + assert ti.price_inperout == 1/2000 + assert ti.prices == (2000, 1/2000) + assert ti.price_outperin == ti.p + assert ti.price_inperout == ti.pr + assert ti.prices == ti.pp + + assert not raises(TI, cid="1", tknin="USDC", amtin=2000, tknout="ETH", amtout=-1, raiseonerror=True) + assert raises(TI, cid="1", tknin="USDC", amtin=2000, tknout="ETH", amtout=1, raiseonerror=True) + assert raises(TI, cid="1", tknin="USDC", amtin=-2000, tknout="ETH", amtout=-1, raiseonerror=True) + assert raises(TI, cid="1", tknin="USDC", amtin=-2000, tknout="ETH", amtout=1, raiseonerror=True) + assert raises(TI, cid="1", tknin="USDC", amtin=2000, tknout="ETH", amtout=0, raiseonerror=True) + assert raises(TI, cid="1", tknin="USDC", amtin=0, tknout="ETH", amtout=-1, raiseonerror=True) + assert not raises(TI.new, curve_or_cid="1", tkn1="USDC", amt1=2000, tkn2="ETH", amt2=-1, raiseonerror=True) + assert not raises(TI.new, curve_or_cid="1", tkn1="USDC", amt1=-2000, tkn2="ETH", amt2=1, raiseonerror=True) + assert raises(TI.new, curve_or_cid="1", tkn1="USDC", amt1=2000, tkn2="ETH", amt2=1, raiseonerror=True) + assert raises(TI.new, curve_or_cid="1", tkn1="USDC", amt1=-2000, tkn2="ETH", amt2=-1, raiseonerror=True) + assert raises(TI.new, curve_or_cid="1", tkn1="USDC", amt1=0, tkn2="ETH", amt2=1, raiseonerror=True) + assert raises(TI.new, curve_or_cid="1", tkn1="USDC", amt1=-2000, tkn2="ETH", amt2=0, raiseonerror=True) + + assert not TI(cid="1", tknin="USDC", amtin=2000, tknout="ETH", amtout=-1, raiseonerror=False).error + assert TI(cid="1", tknin="USDC", amtin=2000, tknout="ETH", amtout=1, raiseonerror=False).error + assert TI(cid="1", tknin="USDC", amtin=-2000, tknout="ETH", amtout=-1, raiseonerror=False).error + assert TI(cid="1", tknin="USDC", amtin=-2000, tknout="ETH", amtout=1, raiseonerror=False).error + assert TI(cid="1", tknin="USDC", amtin=2000, tknout="ETH", amtout=0, raiseonerror=False).error + assert TI(cid="1", tknin="USDC", amtin=0, tknout="ETH", amtout=-1, raiseonerror=False).error + assert not TI.new(curve_or_cid="1", tkn1="USDC", amt1=2000, tkn2="ETH", amt2=-1, raiseonerror=False).error + assert not TI.new(curve_or_cid="1", tkn1="USDC", amt1=-2000, tkn2="ETH", amt2=1, raiseonerror=False).error + assert TI.new(curve_or_cid="1", tkn1="USDC", amt1=2000, tkn2="ETH", amt2=1, raiseonerror=False).error + assert TI.new(curve_or_cid="1", tkn1="USDC", amt1=-2000, tkn2="ETH", amt2=-1, raiseonerror=False).error + assert TI.new(curve_or_cid="1", tkn1="USDC", amt1=0, tkn2="ETH", amt2=1, raiseonerror=False).error + assert TI.new(curve_or_cid="1", tkn1="USDC", amt1=-2000, tkn2="ETH", amt2=0, raiseonerror=False).error + + + til = [ + TI.new(curve_or_cid=f"{i+1}", tkn1="ETH", amt1=1*(1+i/100), tkn2="USDC", amt2=-2000*(1+i/100)) + for i in range(10) + ] + tild = TI.to_dicts(til) + tildf = TI.to_df(til, robj=None) + assert len(tild) == 10 + assert len(tildf) == 10 + assert tild[0] == { + 'cid': '1', + 'tknin': 'ETH', + 'amtin': 1.0, + 'tknout': 'USDC', + 'amtout': -2000.0, + 'error': None,} + assert dict(tildf.iloc[0]) == { + 'pair': '', + 'pairp': '', + 'tknin': 'ETH', + 'tknout': 'USDC', + 'ETH': 1.0, + 'USDC': -2000.0 + } + + tild[0] + + tildf + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment margp_optimizer +# ------------------------------------------------------------ +def test_margp_optimizer(): +# ------------------------------------------------------------ + + # ### no arbitrage possible + + CCa = CPCContainer() + CCa += CPC.from_pk(pair="WETH/USDC", p=2000, k=10*20000, cid="c0") + CCa += CPC.from_pk(pair="WETH/USDT", p=2000, k=10*20000, cid="c1") + CCa += CPC.from_pk(pair="USDC/USDT", p=1.0, k=200000*200000, cid="c2") + O = MargPOptimizer(CCa) + + r = O.margp_optimizer("WETH", result=O.MO_DEBUG) + assert isinstance(r, dict) + prices0 = r["price_estimates_t"] + assert not prices0 is None, f"prices0 must not be None [{prices0}]" + r1 = O.arb("WETH") + r2 = O.SelfFinancingConstraints.arb("WETH") + assert isinstance(r1, CPCArbOptimizer.SelfFinancingConstraints) + assert r1 == r2 + assert r["sfc"] == r1 + assert r1.is_arbsfc() + assert r1.optimizationvar == "WETH" + + r + + prices0 + + f = O.optimize("WETH", result=O.MO_DTKNFROMPF, params=dict(verbose=True, debug=False)) + r3 = f(prices0, islog10=False) + assert np.all(r3 == (0,0)) + r4, r3b = f(prices0, asdct=True, islog10=False) + assert np.all(r3==r3b) + assert len(r4) == len(r3)+1 + assert tuple(r4.values()) == (0,0,0) + assert set(r4) == {'USDC', 'USDT', 'WETH'} + + r = O.optimize("WETH", result=O.MO_MINIMAL, params=dict(verbose=True)) + rd = r.asdict + assert abs(float(r)) < 1e-10 + assert r.result == float(r) + assert r.method == "margp" + assert r.curves is None + assert r.targettkn == "WETH" + assert r.dtokens is None + assert sum(abs(x) for x in r.dtokens_t) < 1e-10 + assert not r.p_optimal is None + assert iseq(0.0005, r.p_optimal_t[0], r.p_optimal_t[1]) + assert set(r.tokens_t) == {'USDC', 'USDT'} + assert r.errormsg is None + assert r.is_error == False + assert r.time > 0 + assert r.time < 0.1 + + # + + r = O.optimize("WETH", result=O.MO_FULL) + rd = r.asdict() + r2 = O.margp_optimizer("WETH") + r2d = r2.asdict() + for k in rd: + #print(k) + if not k in ["time", "curves"]: + assert rd[k] == r2d[k] + assert r2.curves == r.curves # the TokenScale object fails in the dict + + assert abs(float(r)) < 1e-10 + assert r.result == float(r) + assert r.method == "margp" + assert len(r.curves) == 3 + assert r.targettkn == "WETH" + assert set(r.dtokens.keys()) == set(['USDT', 'WETH', 'USDC']) + assert sum(abs(x) for x in r.dtokens.values()) < 1e-10 + assert sum(abs(x) for x in r.dtokens_t) < 1e-10 + assert iseq(0.0005, r.p_optimal["USDC"], r.p_optimal["USDT"]) + assert iseq(0.0005, r.p_optimal_t[0], r.p_optimal_t[1]) + assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t + assert set(r.tokens_t) == set(('USDC', 'USDT')) + assert r.errormsg is None + assert r.is_error == False + assert r.time > 0 + assert r.time < 0.1 + # - + + # ### arbitrage + + CCa = CPCContainer() + CCa += CPC.from_pk(pair="WETH/USDC", p=2000, k=10*20000, cid="c0") + CCa += CPC.from_pk(pair="WETH/USDT", p=2000, k=10*20000, cid="c1") + CCa += CPC.from_pk(pair="USDC/USDT", p=1.2, k=200000*200000, cid="c2") + O = MargPOptimizer(CCa) + + r = O.optimize("WETH", result=O.MO_DEBUG) + assert isinstance(r, dict) + prices0 = r["price_estimates_t"] + r1 = O.arb("WETH") + r2 = O.SelfFinancingConstraints.arb("WETH") + assert isinstance(r1, CPCArbOptimizer.SelfFinancingConstraints) + assert r1 == r2 + assert r["sfc"] == r1 + assert r1.is_arbsfc() + assert r1.optimizationvar == "WETH" + + f = O.optimize("WETH", result=O.MO_DTKNFROMPF) + r3 = f(prices0, islog10=False) + assert set(r3.astype(int)) == set((17425,-19089)) + r4, r3b = f(prices0, asdct=True, islog10=False) + assert np.all(r3==r3b) + assert len(r4) == len(r3)+1 + assert set(r4) == {'USDC', 'USDT', 'WETH'} + + r = O.optimize("WETH", result=O.MO_FULL) + assert iseq(float(r), -0.03944401129301944) + assert r.result == float(r) + assert r.method == "margp" + assert len(r.curves) == 3 + assert r.targettkn == "WETH" + assert abs(r.dtokens_t[0]) < 1e-6 + assert abs(r.dtokens_t[1]) < 1e-6 + assert r.dtokens["WETH"] == float(r) + assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t + assert tuple(r.p_optimal)[:-1] == r.tokens_t + assert iseq(r.p_optimal_t[0], 0.0005421803152482512) or iseq(r.p_optimal_t[0], 0.00045575394031021585) + assert iseq(r.p_optimal_t[1], 0.0005421803152482512) or iseq(r.p_optimal_t[1], 0.00045575394031021585) + assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t + assert set(r.tokens_t) == set(('USDC', 'USDT')) + assert r.errormsg is None + assert r.is_error == False + assert r.time > 0 + assert r.time < 0.1 + + abs(r.dtokens_t[0]) + + ti = r.trade_instructions() + assert len(ti) == 3 + dfa = r.trade_instructions(ti_format=O.TIF_DFAGGR) + assert len(dfa)==7 + assert list(dfa.index) == ['c0', 'c1', 'c2', 'PRICE', 'AMMIn', 'AMMOut', 'TOTAL NET'] + assert list(dfa.columns) == ['WETH', 'USDC', 'USDT'] + assert dfa.loc["PRICE"][0] == 1 + assert iseq(dfa.loc["PRICE"][1], 0.0005421803152) + assert iseq(dfa.loc["PRICE"][2], 0.0004557539403) + dfa + + df = r.trade_instructions(ti_format=O.TIF_DF) + assert len(df) == 3 + assert list(df.columns) == ['pair', 'pairp', 'tknin', 'tknout', 'WETH', 'USDC', 'USDT'] + df + + df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") + assert len(df) == 3 + assert list(df.columns) == ['pair', 'pairp', 'tknin', 'tknout', 'WETH', 'USDC', 'USDT'] + assert df["USDT"].loc["c0"] == "" + df + + dcts = r.trade_instructions(ti_format=O.TIF_DICTS) + assert len(dcts) == 3 + assert list(dcts[0].keys()) == ['cid', 'tknin', 'amtin', 'tknout', 'amtout', 'error'] + d0 = dcts[0] + assert d0["cid"] == "c0" + assert iseq(d0["amtin"], 0.41326380379418914) + dcts + + objs = r.trade_instructions(ti_format=O.TIF_OBJECTS) + assert len(objs) == 3 + assert type(objs[0]).__name__ == 'TradeInstruction' + objs + + help(r.trade_instructions) + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment simple_optimizer demo [NOTEST] +# ------------------------------------------------------------ +def notest_simple_optimizer_demo(): +# ------------------------------------------------------------ + + CC = CPCContainer(CPC.from_pk(p=2000+i*100, k=10*(20000+i*10000), pair=f"{T.ETH}/{T.USDC}") for i in range(11)) + #O = CPCArbOptimizer(CC) + c0 = CC.curves[0] + CC0 = CPCContainer([c0]) + O = PairOptimizer(CC) + O0 = PairOptimizer(CC0) + funcvx = O.optimize(result=O.SO_DXDYVALXFUNC) + funcvy = O.optimize(result=O.SO_DXDYVALYFUNC) + funcvx0 = O0.optimize(result=O.SO_DXDYVALXFUNC) + funcvy0 = O0.optimize(result=O.SO_DXDYVALYFUNC) + #CC.plot() + + xr = np.linspace(1500, 3000, 50) + plt.plot(xr, [funcvx(x)/len(CC) for x in xr], label="all curves [scaled]") + plt.plot(xr, [funcvx0(x) for x in xr], label="curve 0 only") + plt.xlabel(f"price [{c0.pairp}]") + plt.ylabel(f"value [{c0.tknxp}]") + plt.grid() + plt.show() + plt.plot(xr, [funcvy(x)/len(CC) for x in xr], label="all curves [scaled]") + plt.plot(xr, [funcvy0(x) for x in xr], label="curve 0 only") + plt.xlabel(f"price [{c0.pairp}]") + plt.ylabel(f"value [{c0.tknyp}]") + plt.grid() + plt.show() + + r = O.optimize() + #print(f"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]") + + CC_ex = CPCContainer(c.execute(dx=dx) for c, dx in zip(r.curves, r.dxvalues)) + CC.plot() + CC_ex.plot() + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment MargP Optimizer Demo [NOTEST] +# ------------------------------------------------------------ +def notest_margp_optimizer_demo(): +# ------------------------------------------------------------ + + CCa = CPCContainer() + CCa += CPC.from_pk(pair="WETH/USDC", p=2000, k=10*20000, cid="c0") + CCa += CPC.from_pk(pair="WETH/USDT", p=2000, k=10*20000, cid="c1") + CCa += CPC.from_pk(pair="USDC/USDT", p=1.2, k=20000*20000, cid="c2") + O = MargPOptimizer(CCa) + + CCa.plot() + + r = O.margp_optimizer("WETH", params=dict(verbose=True)) + rd = r.asdict + r + + rd + + CCa1 = O.adjust_curves(r.dxvalues) + CCa1.plot() + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment Optimizer plus inverted curves [NOTEST] +# ------------------------------------------------------------ +def notest_optimizer_plus_inverted_curves(): +# ------------------------------------------------------------ + + CCr = CPCContainer(CPC.from_pk(p=2000+i*100, k=10*(20000+10000*i), pair=f"{T.ETH}/{T.USDC}") for i in range(11)) + CCi = CPCContainer(CPC.from_pk(p=1/(2050+i*100), k=10*(20000+10000*i), pair=f"{T.USDC}/{T.ETH}") for i in range(11)) + CC = CCr.bycids() + assert len(CC) == len(CCr) + CC += CCi + assert len(CC) == len(CCr) + len(CCi) + CC.plot() + + O = PairOptimizer(CC) + r = O.optimize() + #print(f"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]") + CC_ex = CPCContainer(c.execute(dx=dx) for c, dx in zip(r.curves, r.dxvalues)) + prices_ex = [c.pairo.primary_price(c.p) for c in CC_ex] + print("prices post arb:", prices_ex) + print("stdev", np.std(prices_ex)) + #CC.plot() + CC_ex.plot() + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment Operating on leverage ranges [NOTEST] +# ------------------------------------------------------------ +def notest_operating_on_leverage_ranges(): +# ------------------------------------------------------------ + + N = 10 + + # + + CCc, CCm, ctr = CPCContainer(), CPCContainer(), 0 + U, U1 = CPCContainer.u, CPCContainer.u1 + tknb, tknq = T.ETH, T.USDC + pb, pq = 2000, 1 + pair = f"{tknb}/{tknq}" + pp = pb/pq + k = 100000**2/(pb*pq) + CCm += CPC.from_pk(p=pp, k=k, pair=pair, cid = f"mkt-{pair}", params=dict(xc="market")) + #print("\n***PAIR:", tknb, pb, tknq, pq, pair, pp) + for i in range(N): + p = pp * (1+0.2*U(-0.5, 0.5)) + p_min, p_max = (p, U(1.001, 1.5)*p) if U1()>0.5 else (U(0.8, 0.999)*p, p) + amtusdc = U(10000, 200000) + k = amtusdc**2/(pb*pq) + #print("*curve", int(amtusdc), p, p_min, p_max, int(k)) + CCc += CPC.from_pkpp(p=p, k=k, p_min=p_min, p_max=p_max, + pair=pair, cid = f"carb-{ctr}", params=dict(xc="carbon")) + ctr += 1 + + CC = CCc.bycids().add(CCm) + CC.plot() + + # + + # O = CPCArbOptimizer(CC) + # r = O.simple_optimizer() + # print(f"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]") + # CC_ex = CPCContainer(c.execute(dx=dx) for c, dx in zip(r.curves, r.dxvalues)) + # prices_ex = [c.pairo.primary_price(c.p) for c in CC_ex] + # print("prices post arb:", prices_ex) + # print("stdev", np.std(prices_ex)) + # #CC.plot() + # CC_ex.plot() + # - + + r.dxvalues + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment Arbitrage testing [NOTEST] +# ------------------------------------------------------------ +def notest_arbitrage_testing(): +# ------------------------------------------------------------ + + c1 = CPC.from_pkpp(p=95, k=100*10000, p_min=90, p_max=110, pair=f"{T.ETH}/{T.USDC}") + c2 = CPC.from_pkpp(p=105, k=90*10000, p_min=90, p_max=110, pair=f"{T.ETH}/{T.USDC}") + CC = CPCContainer([c1,c2]) + CC.plot() + + a = lambda x: np.array(x) + pr = np.linspace(70,130,200) + dx1, dy1, p = zip(*(c1.dxdyfromp_f(p) for p in pr)) + assert np.all(p == pr) + dx2, dy2, p = zip(*(c2.dxdyfromp_f(p) for p in pr)) + assert np.all(p == pr) + v1 = a(dy1)+a(p)*a(dx1) + v2 = a(dy2)+a(p)*a(dx2) + plt.plot(p, v1, label="Value curve c1") + plt.plot(p, v2, label="Value curve c2") + plt.plot(p, v1+v2, label="Value combined curves") + plt.legend() + plt.grid() + + + def vfunc(p): + + dx1, dy1, _ = c1.dxdyfromp_f(p) + dx2, dy2, _ = c2.dxdyfromp_f(p) + v1 = dy1 + p*dx1 + v2 = dy2 + p*dx2 + v = v1+v2 + #print(f"[v] v({p}) = {v}") + return -v + + + O = CPCArbOptimizer + O.findmin(vfunc, 100, N=100) + + func1 = lambda x: (x-2)**2 + O.findmin(func1, 1) + + func2 = lambda x: 1-(x-3)**2 + O.findmax(func2, 2.5) + + val = tuple(float(O.findmin(func1, 100, N=n)) for n in range(100)) + val = tuple(abs(v-val[-1]) for v in val) + val = tuple(v for v in val if v > 0) + plt.plot(val) + plt.yscale('log') + plt.grid() + + val = tuple(float(O.findmin(func2, 100, N=n)) for n in range(100)) + val = tuple(abs(v-val[-1]) for v in val) + val = tuple(v for v in val if v > 0) + plt.plot(val) + plt.yscale('log') + plt.grid() + + val0 = tuple(float(O.findmin(vfunc, 99, N=n)) for n in range(100)) + val = tuple(abs(v-val0[-1]) for v in val0) + val = tuple(v for v in val if v > 0) + print(val0[-1]) + plt.plot(val) + plt.yscale('log') + plt.grid() + + val0 = tuple(float(O.findmin_gd(vfunc, 99, N=n)) for n in range(100)) + val = tuple(abs(v-val0[-1]) for v in val0) + val = tuple(v for v in val if v > 0) + print(val0[-1]) + plt.plot(val) + plt.yscale('log') + plt.grid() + + O.findmin(vfunc, 99, N=700) + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment Charts [NOTEST] +# ------------------------------------------------------------ +def notest_charts(): +# ------------------------------------------------------------ + + # ### Chars (x,y) + + xr = np.linspace(1,300,200) + + # + + defaults = dict(p=2) + curves = [ + CPC.from_px(x=100, **defaults), + CPC.from_px(x=50, **defaults), + CPC.from_px(x=150, **defaults), + ] + for c in curves: + plt.plot(xr, [c.yfromx_f(x) for x in xr]) + + plt.ylim((0,1000)) + plt.xlim((0,300)) + plt.grid() + + # + + defaults = dict(p=2, x_act=10) + curves = [ + CPC.from_px(x=100, **defaults), + CPC.from_px(x=50, **defaults), + CPC.from_px(x=150, **defaults), + ] + for c in curves: + plt.plot(xr, [c.yfromx_f(x) for x in xr]) + + plt.ylim((0,1000)) + plt.xlim((0,300)) + plt.grid() + + # + + defaults = dict(p=2, y_act=20) + curves = [ + CPC.from_px(x=100, **defaults), + CPC.from_px(x=50, **defaults), + CPC.from_px(x=150, **defaults), + ] + for c in curves: + plt.plot(xr, [c.yfromx_f(x) for x in xr]) + + plt.ylim((0,1000)) + plt.xlim((0,300)) + plt.grid() + + # + + defaults = dict(p=2, x_act=10, y_act=20) + curves = [ + CPC.from_px(x=100, **defaults), + CPC.from_px(x=50, **defaults), + CPC.from_px(x=150, **defaults), + ] + for c in curves: + plt.plot(xr, [c.yfromx_f(x) for x in xr]) + + plt.ylim((0,1000)) + plt.xlim((0,300)) + plt.grid() + # - + # ### Charts (dx, dy) + + + e=1e-5 + dxr = np.linspace(-50+e,50-e,100) + + # + + defaults = dict(p=2) + curves = [ + CPC.from_px(x=100, **defaults), + CPC.from_px(x=50, **defaults), + CPC.from_px(x=150, **defaults), + ] + for c in curves: + plt.plot(dxr, [c.dyfromdx_f(dx) for dx in dxr]) + + plt.ylim((-100,200)) + plt.xlim((-50,50)) + plt.grid() + + # + + defaults = dict(p=2, x_act=10) + curves = [ + CPC.from_px(x=100, **defaults), + CPC.from_px(x=50, **defaults), + CPC.from_px(x=150, **defaults), + ] + for c in curves: + plt.plot(dxr, [c.dyfromdx_f(dx) for dx in dxr]) + + plt.ylim((-100,200)) + plt.xlim((-50,50)) + plt.grid() + + # + + defaults = dict(p=2, y_act=20) + curves = [ + CPC.from_px(x=100, **defaults), + CPC.from_px(x=50, **defaults), + CPC.from_px(x=150, **defaults), + ] + for c in curves: + plt.plot(dxr, [c.dyfromdx_f(dx) for dx in dxr]) + + plt.ylim((-100,200)) + plt.xlim((-50,50)) + plt.grid() + + # + + defaults = dict(p=2, x_act=10, y_act=20) + curves = [ + CPC.from_px(x=100, **defaults), + CPC.from_px(x=50, **defaults), + CPC.from_px(x=150, **defaults), + ] + for c in curves: + plt.plot(dxr, [c.dyfromdx_f(dx) for dx in dxr]) + + plt.ylim((-100,200)) + plt.xlim((-50,50)) + plt.grid() + + # + + defaults = dict(p=2, x_act=10, y_act=20) + curves = [ + CPC.from_px(x=100, **defaults), + CPC.from_px(x=50, **defaults), + CPC.from_px(x=150, **defaults), + ] + for c in curves: + plt.plot(dxr, [c.dyfromdx_f(dx) for dx in dxr]) + + # plt.ylim((-100,200)) + # plt.xlim((-50,50)) + plt.grid() + # - + + + + + + + + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_003_Serialization.py b/fastlane_bot/tests/nbtest/test_003_Serialization.py new file mode 100644 index 000000000..7a894fbf4 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_003_Serialization.py @@ -0,0 +1,408 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_003_Serialization.py` +# ------------------------------------------------------------ +# source file = NBTest_003_Serialization.py +# test id = 003 +# test comment = Serialization +# ------------------------------------------------------------ + + + +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer +from fastlane_bot.tools.optimizer import CPCArbOptimizer, cp, time +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCArbOptimizer)) + +from fastlane_bot.testing import * +import json +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("2.0", __VERSION__) + + + + +# ------------------------------------------------------------ +# Test 003 +# File test_003_Serialization.py +# Segment Optimizer pickling [NOTEST] +# ------------------------------------------------------------ +def notest_optimizer_pickling(): +# ------------------------------------------------------------ + + pass + + # + + # N=5 + # curves = [ + # CPC.from_xy(x=1, y=2000, pair="ETH/USDC"), + # CPC.from_xy(x=1, y=2200, pair="ETH/USDC"), + # CPC.from_xy(x=1, y=2400, pair="ETH/USDC"), + # ] + + # CC = CPCContainer(curves*N) + # O = CPCArbOptimizer(CC) + # O.CC.asdf() + + # + + # O.pickle("delme") + # O.pickle("delme", addts=False) + + # + + + + # + + # O.unpickle("delme") + # - + + +# ------------------------------------------------------------ +# Test 003 +# File test_003_Serialization.py +# Segment Creating curves +# ------------------------------------------------------------ +def test_creating_curves(): +# ------------------------------------------------------------ + # + # Note: for those constructor, the parameters `cid` and `descr` as well as `fee` are mandatory. Typically `cid` would be a field uniquely identifying this curve in the database, and `descr` description of the pool. The description should neither include the pair nor the fee level. We recommend using `UniV3`, `UniV3`, `Sushi`, `Carbon` etc. The `fee` is quoted as decimal, ie 0.01 is 1%. If there is no fee, the number `0` must be provided, not `None`. + + # ### Uniswap v2 + # + # In the Uniswap v2 constructor, $x$ is the base token of the pair `TKNB`, and $y$ is the quote token `TKNQ`. + # + # By construction, Uniswap v2 curves map directly to CPC curves with the following parameter choices + # + # - $x,y,k$ are the same as in the $ky=k$ formula defining the AMM (provide any 2) + # - $x_a = x$ and $y_a = y$ because there is no leverage on the curves. + # + + c = CPC.from_univ2(x_tknb=100, y_tknq=100, pair="TKNB/TKNQ", fee=0, cid="1", descr="UniV2") + c2 = CPC.from_univ2(x_tknb=100, k=10000, pair="TKNB/TKNQ", fee=0, cid="1", descr="UniV2") + c3 = CPC.from_univ2(y_tknq=100, k=10000, pair="TKNB/TKNQ", fee=0, cid="1", descr="UniV2") + assert c.k == 10000 + assert c.x == 100 + assert c.y == 100 + assert c.x_act == 100 + assert c.y_act == 100 + assert c == c2 + assert c == c3 + assert c.fee == 0 + assert c.cid == "1" + assert c.descr == "UniV2" + c + + c.asdict() + + assert c.asdict() == { + 'k': 10000, + 'x': 100, + 'x_act': 100, + 'y_act': 100, + 'alpha': 0.5, + 'pair': 'TKNB/TKNQ', + 'cid': "1", + 'fee': 0, + 'descr': 'UniV2', + 'constr': 'uv2', + 'params': {} + } + + assert not raises(CPC.from_univ2, x_tknb=100, y_tknq=100, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV2") + assert raises(CPC.from_univ2, x_tknb=100, y_tknq=100, k=10, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV2") + assert raises(CPC.from_univ2, x_tknb=100, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV2") + assert raises(CPC.from_univ2, y_tknq=100, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV2") + assert raises(CPC.from_univ2, k=10, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV2") + assert raises(CPC.from_univ2, x_tknb=100, y_tknq=100, fee=0, cid=1, descr="UniV2") + assert raises(CPC.from_univ2, x_tknb=100, y_tknq=100, pair="TKNB/TKNQ", cid=1, descr="UniV2") + assert raises(CPC.from_univ2, x_tknb=100, y_tknq=100, pair="TKNB/TKNQ", fee=0, descr="UniV2") + assert raises(CPC.from_univ2, x_tknb=100, y_tknq=100, pair="TKNB/TKNQ", fee=0, cid=1) + + # ### Uniswap v3 + # + # Uniswap V3 uses an implicit virtual token model. The most important relationship here is that $L^2=k$, ie the square of the Uniswap pool constant is the constant product parameter $k$. Alternatively we find that $L=\bar k$ if we use the alternative pool invariant $\sqrt{xy}=\bar k$ for the constant product pool. The conventions are as in the Uniswap v2 case, ie $x$ is the base token `TKNB` and $y$ is the quote token `TKNQ`. The parameters are + # + # - $L$ is the so-called _liquidity_ parameter, indicating the size of the pool at this particular tick (see above) + # - $P_a, P_b$ are the lower and upper end of the _current_ tick range* + # - $P_{marg}$ is the current (marginal) price of the range; we have $P_a \leq P_{marg} \leq P_b$ + # + # *note that for Uniswap v3 curves we _only_ usually model the current tick range as crossing a tick boundary is relatively expensive and most arb bots do not do that; in principle however nothing prevents us from also adding inactive tick ranges, in which case every tick range corresponds to a single, out of the money curve. + + c = CPC.from_univ3(Pmarg=1, uniL=1000, uniPa=0.9, uniPb=1.1, pair="TKNB/TKNQ", fee=0, cid="1", descr="UniV3") + assert c.x == 1000 + assert c.y == 1000 + assert c.k == 1000*1000 + assert iseq(c.p_max, 1.1) + assert iseq(c.p_min, 0.9) + assert c.fee == 0 + assert c.cid == "1" + assert c.descr == "UniV3" + + assert not raises(CPC.from_univ3, Pmarg=1, uniL=1000, uniPa=0.9, uniPb=1.1, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV3") + assert raises(CPC.from_univ3, Pmarg=2, uniL=1000, uniPa=0.9, uniPb=1.1, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV3") + assert raises(CPC.from_univ3, Pmarg=0.5, uniL=1000, uniPa=0.9, uniPb=1.1, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV3") + assert raises(CPC.from_univ3, Pmarg=1, uniL=1000, uniPa=1.1, uniPb=0.9, pair="TKNB/TKNQ", fee=0, cid=1, descr="UniV3") + + # ### Carbon + # + # First a bried reminder that the Carbon curves here correspond to Carbon Orders, ie half a Carbon strategy. Those order trade unidirectional only, and as we here are only looking at a single trade we do not care about collateral moving from an order to another one. We provide slightly more flexibility here in terms of tokens and quotes: $y$ corresponds to `tkny` which must be part of `pair` but which can be quote or base token. + # + # - $y, y_{int}$ are the current amounts of token y and the y-intercept respectively, in units of `tkny` + # + # - $P_a, P_b$ are the prices determining the range, either quoted as $dy/dx$ is `isdydx` is True (default), or in the natural direction of the pair* + # + # - $A, B$ are alternative price parameters, with $B=\sqrt{P_b}$ and $A=\sqrt{P_a}-\sqrt{P_b}\geq 0$; those must _always_ be quoted in $dy/dx$* + # + # *The ranges must _either_ be specificed with `pa, pb, isdydx` or with `A, B` and in the second case `isdydx` must be True. There is no mix and match between those two parameter sets. + + c = CPC.from_carbon(yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) + assert c.y_act == 1 + assert c.x_act == 0 + assert iseq(1/c.p_min, 2200) + assert iseq(1/c.p_max, 1800) + assert iseq(1/c.p, 1/c.p_max) + + c = CPC.from_carbon(yint=1, y=1, A=1/256, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="ETH", fee=0, cid="2", descr="Carbon", isdydx=True) + assert c.y_act == 1 + assert c.x_act == 0 + assert iseq(1/c.p_min, 2000) + print("pa", 1/c.p_max, 1/(1/256+m.sqrt(c.p_min))**2) + assert iseq(1/c.p_max, 1/(1/256+m.sqrt(c.p_min))**2) + assert iseq(1/c.p, 1/c.p_max) + + c = CPC.from_carbon(yint=3000, y=3000, pa=3100, pb=2900, pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) + assert c.y_act == 3000 + assert c.x_act == 0 + assert iseq(c.p_min, 2900) + assert iseq(c.p_max, 3100) + assert iseq(c.p, c.p_max) + + c = CPC.from_carbon(yint=2000, y=2000, A=10, B=m.sqrt(3000), pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) + assert c.y_act == 2000 + assert c.x_act == 0 + assert iseq(c.p_min, 3000) + print("pa", c.p_max, (10+m.sqrt(c.p_min))**2) + assert iseq(c.p_max, (10+m.sqrt(c.p_min))**2) + assert iseq(1/c.p, 1/c.p_max) + + CPC.from_carbon(yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) + CPC.from_carbon(yint=1, y=1, A=1/10, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="ETH", fee=0, cid="2", descr="Carbon", isdydx=True) + CPC.from_carbon(yint=1, y=1, pa=3100, pb=2900, pair="ETH/USDC", tkny="USDC", fee=0, cid="3", descr="Carbon", isdydx=True) + CPC.from_carbon(yint=1, y=1, A=10, B=m.sqrt(3000), pair="ETH/USDC", tkny="USDC", fee=0, cid="4", descr="Carbon", isdydx=True) + + assert not raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) + assert raises(CPC.from_carbon, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) + assert raises(CPC.from_carbon, yint=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) + assert raises(CPC.from_carbon, yint=1, y=1, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) + assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) + assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) + assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", fee=0, cid="1", descr="Carbon", isdydx=False) + #assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", cid="1", descr="Carbon", isdydx=False) + #assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, descr="Carbon", isdydx=False) + #assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", isdydx=False) + assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="LINK", fee=0, cid="1", descr="Carbon", isdydx=False) + assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, A=100, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) + assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, B=100, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) + assert raises(CPC.from_carbon, yint=1, y=1, pa=1800, pb=2200, A=100, B=100, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) + assert raises(CPC.from_carbon, yint=1, y=1, pb=1800, pa=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="1", descr="Carbon", isdydx=False) + + assert not raises(CPC.from_carbon, yint=1, y=1, A=1/10, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) + assert raises(CPC.from_carbon, yint=1, y=1, A=1/10, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=False) + assert raises(CPC.from_carbon, yint=1, y=1, pa=1000, A=1/10, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) + assert raises(CPC.from_carbon, yint=1, y=1, pb=1000, A=1/10, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) + assert raises(CPC.from_carbon, yint=1, y=1, A=-1/10, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) + + assert not raises(CPC.from_carbon, yint=1, y=1, pa=3100, pb=2900, pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) + assert raises(CPC.from_carbon, yint=1, y=1, pb=3100, pa=2900, pair="ETH/USDC", tkny="USDC", fee=0, cid="2", descr="Carbon", isdydx=True) + + +# ------------------------------------------------------------ +# Test 003 +# File test_003_Serialization.py +# Segment Charts [NOTEST] +# ------------------------------------------------------------ +def notest_charts(): +# ------------------------------------------------------------ + + curves_uni =[ + CPC.from_univ2(x_tknb=1, y_tknq=2000, pair="ETH/USDC", fee=0.001, cid="U2/1", descr="UniV2"), + CPC.from_univ2(x_tknb=2, y_tknq=4020, pair="ETH/USDC", fee=0.001, cid="U2/2", descr="UniV2"), + CPC.from_univ3(Pmarg=2000, uniL=100, uniPa=1800, uniPb=2200, pair="ETH/USDC", fee=0, cid="U3/1", descr="UniV3"), + CPC.from_univ3(Pmarg=2010, uniL=75, uniPa=1800, uniPb=2200, pair="ETH/USDC", fee=0, cid="U3/1", descr="UniV3"), + ] + CC = CPCContainer(curves_uni) + + curves_carbon = [ + CPC.from_carbon(yint=3000, y=3000, pa=3500, pb=2500, pair="ETH/USDC", tkny="USDC", fee=0, cid="C1", descr="Carbon", isdydx=True), + CPC.from_carbon(yint=3000, y=3000, A=20, B=m.sqrt(2500), pair="ETH/USDC", tkny="USDC", fee=0, cid="C2", descr="Carbon", isdydx=True), + CPC.from_carbon(yint=3000, y=3000, A=40, B=m.sqrt(2500), pair="ETH/USDC", tkny="USDC", fee=0, cid="C3", descr="Carbon", isdydx=True), + CPC.from_carbon(yint=1, y=1, pa=1800, pb=2200, pair="ETH/USDC", tkny="ETH", fee=0, cid="C4", descr="Carbon", isdydx=False), + CPC.from_carbon(yint=1, y=1, pa=1/1800, pb=1/2000, pair="ETH/USDC", tkny="ETH", fee=0, cid="C5", descr="Carbon", isdydx=True), + CPC.from_carbon(yint=1, y=1, A=1/500, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="ETH", fee=0, cid="C6", descr="Carbon", isdydx=True), + CPC.from_carbon(yint=1, y=1, A=1/1000, B=m.sqrt(1/2000), pair="ETH/USDC", tkny="ETH", fee=0, cid="C7", descr="Carbon", isdydx=True), + ] + + curves = curves_uni + curves_carbon + CC = CPCContainer(curves) + CC.plot(params=CC.Params()) + + +# ------------------------------------------------------------ +# Test 003 +# File test_003_Serialization.py +# Segment Serializing curves +# ------------------------------------------------------------ +def test_serializing_curves(): +# ------------------------------------------------------------ + # + # The `CPCContainer` and `ConstantProductCurve` objects do not strictly have methods that would allow for serialization. However, they allow conversion from an to datatypes that are easily serialized. + # + # - on the `ConstantProductCurve` level there is `asdict()` and `from_dicts(.)` + # - on the `CPCContainer` level there is also `asdf()` and `from_df(.)`, allowing conversion from and to pandas dataframes + # + # Recommended serialization is either dict to json via the `json` library, or any of the serialization methods inherent in dataframes, notably also pickling (Excel formates are not recommended as they are slow and heavy). + # + # + # + + curves = [ + CPC.from_univ2(x_tknb=1, y_tknq=2000, pair="ETH/USDC", fee=0.001, cid="1", descr="UniV2", params={"meh":1}), + CPC.from_univ2(x_tknb=2, y_tknq=4020, pair="ETH/USDC", fee=0.001, cid="2", descr="UniV2"), + CPC.from_univ2(x_tknb=1, y_tknq=1970, pair="ETH/USDC", fee=0.001, cid="3", descr="UniV2"), + ] + + c0 = curves[0] + assert c0.params.__class__.__name__ == "AttrDict" + assert c0.params == {'meh': 1} + + CC = CPCContainer(curves) + assert raises(CPCContainer, [1,2,3]) + assert len(CC.curves) == len(curves) + assert len(CC.asdicts()) == len(CC.curves) + assert CPCContainer.from_dicts(CC.asdicts()) == CC + ccjson = json.dumps(CC.asdicts()) + assert CPCContainer.from_dicts(json.loads(ccjson)) == CC + CC + + df = CC.asdf() + assert len(df) == 3 + assert tuple(df.reset_index().columns) == ('cid', 'k', 'x', 'x_act', 'y_act', 'alpha', + 'pair', 'fee', 'descr', 'constr', 'params') + assert tuple(df["k"]) == (2000, 8040, 1970) + assert CPCContainer.from_df(df) == CC + df + + +# ------------------------------------------------------------ +# Test 003 +# File test_003_Serialization.py +# Segment Saving curves [NOTEST] +# ------------------------------------------------------------ +def notest_saving_curves(): +# ------------------------------------------------------------ + # + # Most serialization methods we use go via the a pandas DataFram object. To create a dataframe we use the `asdf()` method, and to instantiate curve container from a dataframe we use `CPCContainer.from_df(df)`. + + N=5000 + curves = [ + CPC.from_univ2(x_tknb=1, y_tknq=2000, pair="ETH/USDC", fee=0.001, cid=1, descr="UniV2"), + CPC.from_univ2(x_tknb=2, y_tknq=4020, pair="ETH/USDC", fee=0.001, cid=2, descr="UniV2"), + CPC.from_univ2(x_tknb=1, y_tknq=1970, pair="ETH/USDC", fee=0.001, cid=3, descr="UniV2"), + ] + CC = CPCContainer(curves*N) + df = CC.asdf() + #CC + + # ### Formats + # #### json + # + # Using `json.dumps(.)` the list of dicts returned by `asdicts()` can be converted to json, and then saved as a textfile. When loaded back, the text can be expanded into json using `json.loads(.)` and the new object can be instantiated using `CPCContainer.from_dicts(dicts)`. + + start_time = time.time() + cc_json = json.dumps(CC.asdicts()) + print("len", len(cc_json)) + CC2 = CPCContainer.from_dicts(json.loads(cc_json)) + assert CC == CC2 + print(f"elapsed time: {time.time()-start_time:.2f}s") + #CC2 + + # #### csv + # + # `to_csv` converts a dataframe to a csv file; this file can also be zipped; this format is ideal for maximum interoperability as pretty much every software allows dealing with csvs; it is very fast, and the zipped files are much smaller than everything else + + start_time = time.time() + df.to_csv(".curves.csv") + df_csv = pd.read_csv(".curves.csv") + assert CPCContainer.from_df(df_csv) == CC + print(f"elapsed time: {time.time()-start_time:.2f}s") + df_csv[:3] + + # #### tsv + # + # `to_csv` can be used with `sep="\t"` to create a tab separated file + + start_time = time.time() + df.to_csv(".curves.tsv", sep="\t") + df_tsv = pd.read_csv(".curves.tsv", sep="\t") + assert CPCContainer.from_df(df_tsv) == CC + print(f"elapsed time: {time.time()-start_time:.2f}s") + + # #### compressed csv + # + # `to_csv` can be used with `compression = "gzip"` to create a compressed file. This is by far the smallest output available, and takes little more time compared to uncompressed. + + start_time = time.time() + df.to_csv(".curves.csv.gz", compression = "gzip") + df_csv = pd.read_csv(".curves.csv.gz") + assert CPCContainer.from_df(df_csv) == CC + print(f"elapsed time: {time.time()-start_time:.2f}s") + + + # #### Excel + # + # `to_excel` converts the dataframe to an xlsx file; older versions of pandas may allow to also save in the old xls format, but this is deprecated; note that Excel files can be rather big, and saving them is very slow, 10-15x(!) longer than csv. + + # + + # start_time = time.time() + # df.to_excel(".curves.xlsx") + # df_xlsx = pd.read_excel(".curves.xlsx") + # assert CPCContainer.from_df(df_xlsx) == CC + # print(f"elapsed time: {time.time()-start_time:.2f}s") + # df_xlsx[:3] + # - + + # #### pickle + # + # `to_pickle` pickles the dataframe; this format is rather big, but it is the fastest to process, albeit not at a significant margin + + start_time = time.time() + df.to_pickle(".curves.pkl") + df_pickle = pd.read_pickle(".curves.pkl") + assert CPCContainer.from_df(df_pickle) == CC + print(f"elapsed time: {time.time()-start_time:.2f}s") + df_pickle[:3] + + # ### Benchmarking + # + # below a comparison of the different methods in terms of size and speed; the benchmark run used **300,000 curves** + # + # 33000000 .curves.json -- 5.2s (without read/write) + # 11100035 .curves.csv -- 3.4s + # 37817 .curves.csv.gz -- 3.4s + # 15602482 .curves.pkl -- 2.6s + # 11100035 .curves.tsv -- 3.2s + # 8031279 .curves.xlsx -- 45.0s (!) + # + # Below are the figures for the current run (timing figures inline above) + + #print(f"{len(df_xlsx)} curves") + print(f" {len(cc_json)} .curves.json", ) + # !ls -l .curves* + + + + + + + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_004_GraphCode.py b/fastlane_bot/tests/nbtest/test_004_GraphCode.py new file mode 100644 index 000000000..bc2796e3c --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_004_GraphCode.py @@ -0,0 +1,855 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_004_GraphCode.py` +# ------------------------------------------------------------ +# source file = NBTest_004_GraphCode.py +# test id = 004 +# test comment = GraphCode +# ------------------------------------------------------------ + + + +import fastlane_bot.tools.arbgraphs as ag +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ag.ArbGraph)) + +from fastlane_bot.testing import * +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("2.0", __VERSION__) + + + + +# ------------------------------------------------------------ +# Test 004 +# File test_004_GraphCode.py +# Segment ArbGraphs test and demo +# ------------------------------------------------------------ +def test_arbgraphs_test_and_demo(): +# ------------------------------------------------------------ + + nodes = lambda: ag.create_node_list("ETH, USDC, WBTC, BNT") + assert [str(n) for n in nodes()] == ['ETH(0)', 'USDC(1)', 'WBTC(2)', 'BNT(3)'] + nodes() + + AG = ag.ArbGraph(nodes=nodes()) + N = AG.node_by_tkn + assert str(N("ETH")) == "ETH(0)" + assert str(N("BNT")) == "BNT(3)" + assert str(AG.node_by_ix(1)) == "USDC(1)" + assert str(AG.node_by_tkn("USDC")) == "USDC(1)" + AG + + assert str(N("ETH")) == "ETH(0)" + + edge = ag.Edge(N("ETH"), 1, N("USDC"), 2000) + edge1 = ag.Edge(N("ETH"), 1, N("USDC"), 2000, inverse=True, ix=10) + assert (edge.pair(), edge.price(), edge.convention()) == ('ETH/USDC', 2000.0, 'USDC per ETH') + assert (edge1.pair(), edge1.price(), edge1.convention()) == ('USDC/ETH', 0.0005, 'ETH per USDC') + edge, str(edge), str(edge1) + + assert (edge+0).asdict() == edge.asdict() + assert (edge+0) != edge # == means objects are the same + assert not edge+0 is edge + assert (2*edge).asdict() == (edge*2).asdict() + assert (edge + 2*edge).asdict() == (3*edge).asdict() + assert sum([edge,edge,edge]).asdict() == (3*edge).asdict() + + (edge+0).asdict() + + +# ------------------------------------------------------------ +# Test 004 +# File test_004_GraphCode.py +# Segment Paths and cycles +# ------------------------------------------------------------ +def test_paths_and_cycles(): +# ------------------------------------------------------------ + + C = ag.Cycle([1,2,3,4,5]) + assert len(C) == 5 + assert [x for x in C.items()] == [1, 2, 3, 4, 5, 1] + assert [x for x in C.items(start_ix=3)] == [4, 5, 1, 2, 3, 4] + assert [x for x in C.items(start_val=3)] == [3, 4, 5, 1, 2, 3] + assert [p for p in C.pairs()] == [(1, 2), (2, 3), (3, 4), (4, 5), (5, 1)] + + c1 = ag.Cycle([1,2,3,4,5,6], "c1") + assert ag.Cycle([8,9]).is_subcycle_of(c1) == False + assert ag.Cycle([1,5,6]).is_subcycle_of(c1) == True + assert ag.Cycle([1,6,5]).is_subcycle_of(c1) == False + assert c1.filter_subcycles([ag.Cycle([8,9]), ag.Cycle([1,5,6]), ag.Cycle([1,6,5])]) == (ag.Cycle([1, 5, 6]),) + assert c1.filter_subcycles(ag.Cycle([1,5,6])) == (ag.Cycle([1, 5, 6]),) + assert str(c1) == 'cycle [c1]: 1 -> 2 -> 3 -> 4 -> 5 -> 6 ->...' + + assert c1.asdict() == {'data': [1, 2, 3, 4, 5, 6], 'uid': 'c1', 'graph': None} + assert c1.astuple() == ([1, 2, 3, 4, 5, 6], 'c1', None) + assert (c1.asdf().set_index("uid")["data"] == c1.asdf(index="uid")["data"]).iloc[0] + assert list(c1.asdf(exclude=["data"]).columns) == ['uid', 'graph'] + assert list(c1.asdf(include=["data", "graph"], exclude=["graph"]).columns) == ['data'] + + import types + nodes = ag.create_node_list("ETH, USDC, WBTC, BNT") + c2 = ag.Cycle(nodes, "c2") + assert c2.uid == "c2" + assert str(c2) == 'cycle [c2]: ETH->USDC->WBTC->BNT->...' + print(nodes) + print(c2) + gc2 = (c for c in c2.items()) + assert isinstance(gc2, types.GeneratorType) + tc2 = tuple(gc2) + assert str(tc2) == "(ETH(0), USDC(1), WBTC(2), BNT(3), ETH(0))" + assert tuple(gc2) == tuple() # generator spent + pc2 = (p for p in c2.pairs()) + assert isinstance(pc2, types.GeneratorType) + tpc2 = tuple(pc2) + assert len(tpc2) == 4 + assert str(tpc2[0]) == '(ETH(0), USDC(1))' + assert str(tpc2[-1]) == '(BNT(3), ETH(0))' + assert c2.pairs_s() == ['ETH/USDC', 'USDC/WBTC', 'WBTC/BNT', 'BNT/ETH'] + + p1 = ag.Path([1,2,3,4,5,6], "p1") + assert p1.uid == "p1" + assert (str(p1)).strip() == 'path [p1]: 1 -> 2 -> 3 -> 4 -> 5 -> 6' + gp1 = (p for p in p1.items()) + assert isinstance(gp1, types.GeneratorType) + tp1 = tuple(gp1) + assert tp1 == (1, 2, 3, 4, 5, 6) + + nodes = ag.create_node_list("ETH, USDC, WBTC, BNT") + p2 = ag.Path(nodes, "p2") + assert p2.uid == "p2" + assert str(p2) == 'path [p2]: ETH->USDC->WBTC->BNT' + gp2 = (c for c in p2.items()) + assert isinstance(gp2, types.GeneratorType) + tp2 = tuple(gp2) + assert str(tp2) == "(ETH(0), USDC(1), WBTC(2), BNT(3))" + assert tuple(gp2) == tuple() # generator spent + pp2 = (p for p in p2.pairs()) + assert isinstance(pp2, types.GeneratorType) + tpp2 = tuple(pp2) + assert len(tpp2) == 3 + assert str(tpp2[0]) == '(ETH(0), USDC(1))' + assert str(tpp2[-1]) == '(WBTC(2), BNT(3))' + assert p2.pairs_s() == ['ETH/USDC', 'USDC/WBTC', 'WBTC/BNT'] + + +# ------------------------------------------------------------ +# Test 004 +# File test_004_GraphCode.py +# Segment Arbgraph transport test and demo +# ------------------------------------------------------------ +def test_arbgraph_transport_test_and_demo(): +# ------------------------------------------------------------ + + n = ag.Node("ETH") + assert isinstance(n.state, n.State) + assert n.state == n.State(amount = 0) + + try: + ag.Edge("ETH", 1, "USDC", 2000) + raise + except: + pass + + ETH = ag.Node("ETH") + USDC = ag.Node("USDC") + assert ETH != n # nodes are only equal if they are the same object! + assert ETH.asdict() == n.asdict() + edge = ag.Edge(ETH, 1, USDC, 2000) + edge2 = ag.Edge(ETH, 1, USDC, 2000) + edge3 = ag.Edge(ETH, 2, USDC, 3500) + assert (edge == edge2) == False + assert edge != ag.Edge(ETH, 1, USDC, 2000) + assert edge.asdict() == ag.Edge(ETH, 1, USDC, 2000).asdict() + assert edge.node_in == ETH + assert edge.node_out == USDC + assert edge.amount_in == 1 + assert edge.amount_out == 2000 + assert edge.state == ag.Edge.State(amount_in_remaining=1) + + ETH.reset_state() + USDC.reset_state() + edge.reset_state() + ETH.state.amount_.set(1) + assert ETH.state.amount == 1 + edge.transport(1, record=True) + assert ETH.state.amount == 0 + assert USDC.state.amount == 2000 + assert edge.state.amount_in_remaining == 0 + + ETH.reset_state() + USDC.reset_state() + edge.reset_state() + ETH.state.amount_.set(1) + edge.transport(0.25, record=True) + assert ETH.state.amount == 0.75 + assert USDC.state.amount == 500 + assert edge.state.amount_in_remaining == 0.75 + edge.transport(0.25, record=True) + assert ETH.state.amount == 0.5 + assert USDC.state.amount == 1000 + assert edge.state.amount_in_remaining == 0.50 + + ETH.reset_state() + USDC.reset_state() + edge.reset_state() + ETH.state.amount = 1 + try: + edge.transport(2, record=True) + except Exception as e: + print(e) + + ETH.reset_state() + USDC.reset_state() + edge.reset_state() + ETH.state.amount = 0.5 + try: + edge.transport(1, record=True) + except Exception as e: + print(e) + + ETH.reset_state() + USDC.reset_state() + edge.reset_state() + ETH.state.amount = 2 + edge.transport(0.5, record=True) + try: + edge.transport(1, record=True) + except Exception as e: + print(e) + + ETH.state.amount = 10 + edge.state.amount_in_remaining = 10 + AG = ag.ArbGraph(nodes=[ETH, USDC], edges=[edge, edge2, edge3]) + assert AG.nodes == [ETH, USDC] + assert AG.edges == [edge, edge2, edge3] + assert AG.nodes[0].state.amount == 10 + assert AG.edges[0].state.amount_in_remaining == 10 + AG.reset_state() + assert AG.nodes[0].state.amount == 0 + assert AG.edges[0].state.amount_in_remaining == 1 + assert AG.state.nodes[0] == ETH.state + assert AG.state.edges[0] == edge.state + + assert AG.node_by_tkn("ETH") is ETH + assert AG.node_by_tkn(ETH) is ETH + try: + AG.node_by_tkn(ag.Node("ETH")) + raise + except Exception as e: + print(e) + + AG.reset_state() + ETH.state.amount = 4 + r = AG.transport(2, "ETH", "USDC", record=True) + assert ETH.state.amount == 2 + assert r.amount_in.amount == 2 + assert r.amount_in.tkn == "ETH" + capacity_in = sum([e_.amount_in for e_ in r.edges]) + assert capacity_in == 4 + capacity_out = sum([e_.amount_out for e_ in r.edges]) + assert capacity_out == 7500 + assert r.amount_out.amount == r.amount_in.amount * capacity_out / capacity_in + assert sum(r.amounts_in) == r.amount_in.amount + assert sum(r.amounts_out) == r.amount_out.amount + assert AG.has_capacity("ETH", "USDC") + assert AG.has_capacity() + AG.transport(2, "ETH", "USDC", record=True) + assert AG.has_capacity() == False + r + + rs = AG.edge_statistics(edges=r.edges) + assert rs.len == 3 + assert rs.edges is r.edges + assert rs.amounts_in == (1, 1, 2) + assert rs.amounts_in_remaining == (0.0, 0.0, 0.0) + assert rs.amounts_out == (2000, 2000, 3500) + assert rs.prices == (2000.0, 2000.0, 1750.0) + assert rs.utilizations == (1.0, 1.0, 1.0) + assert rs.amount_in.amount == 4 + assert rs.amount_in_remaining.amount == 0.0 + assert rs.amount_out.amount == 7500 + assert rs.amount_in.tkn == "ETH" + assert rs.amount_in_remaining.tkn == "ETH" + assert rs.amount_out.tkn == "USDC" + assert rs.utilization == 1.0 + assert rs.price == 1875.0 + rs + + rns = AG.node_statistics("ETH") + assert len(rns.edges_out) == 3 + assert len(rns.edges_in) == 0 + assert rns.amount_in.amount == 0 + assert rns.amount_out.amount == 4 + assert rns.amount_out_remaining.amount == 0 + assert rns.nodes_in==set() + assert rns.nodes_out=={"USDC"} + rns + + rns2 = AG.node_statistics("USDC") + assert len(rns2.edges_out) == 0 + assert len(rns2.edges_in) == 3 + assert rns2.amount_in.amount == 7500 + assert rns2.amount_out.amount == 0 + assert rns2.amount_out_remaining.amount == 0 + assert rns2.nodes_in==set(["ETH",]) + assert rns2.nodes_out==set() + rns2 + + + +# ------------------------------------------------------------ +# Test 004 +# File test_004_GraphCode.py +# Segment Arbgraph transport test and demo 2 +# ------------------------------------------------------------ +def test_arbgraph_transport_test_and_demo_2(): +# ------------------------------------------------------------ + + @ag.dataclass + class MyState(): + myval_: ag.TrackedStateFloat = ag.field(default_factory=ag.TrackedStateFloat, init=False) + myval: ag.InitVar=None + + def __post_init__(self, myval): + self.myval = myval + + @property + def myval(self): + return self.myval_.value + + @myval.setter + def myval(self, value): + self.myval_.set(value) + + + mystate = MyState(0) + mystate.myval_.set(10) + assert mystate.myval == 10 + mystate.myval += 5 + assert mystate.myval == 15 + mystate.myval -= 4 + assert mystate.myval == 11 + assert mystate.myval_.history == [0, 0, 10, 15, 11] + + mystate = MyState(10) + assert mystate.myval == 10 + assert mystate.myval_.history == [0,10] + mystate.myval = 20 + assert mystate.myval == 20 + assert mystate.myval_.history == [0,10,20] + mystate.myval += 5 + assert mystate.myval == 25 + mystate.myval -= 4 + assert mystate.myval == 21 + assert mystate.myval_.history == [0,10,20,25,21] + assert mystate.myval_.reset(42) + assert mystate.myval == 42 + assert mystate.myval_.history == [42] + + n = ag.Node("MEH") + n.state.amount = 10 + n.state.amount += 5 + n.state.amount -= 4 + assert n.state.amount == 11 + assert n.state.amount_.history == [0, 10, 15, 11] + n.reset_state() + assert n.state.amount_.history == [0] + + nodes = ag.Node.create_node_list("USDC, LINK, ETH, WBTC") + assert len(nodes)==4 + assert nodes[0].tkn == "USDC" + AG = ag.ArbGraph(nodes) + AG.add_edge("USDC", 10000, "ETH", 5) + AG.add_edge_obj(AG.edges[-1].R()) + AG.add_edge("USDC", 10000, "WBTC", 1) + AG.add_edge_obj(AG.edges[-1].R()) + AG.add_edge("USDC", 10000, "LINK", 1000) + AG.add_edge_obj(AG.edges[-1].R()) + AG.add_edge("LINK", 1000, "ETH", 5) + AG.add_edge_obj(AG.edges[-1].R()) + AG.add_edge("ETH", 5, "WBTC", 1) + AG.add_edge_obj(AG.edges[-1].R()) + assert len(AG.edges)==10 + assert len(AG.cycles())==11 + ns = AG.node_statistics("USDC") + assert ns.amount_in.amount == 30000 + assert ns.amount_out.amount == 30000 + assert ns.amount_out_remaining == ns.amount_out + assert ns.nodes_out==set(['WBTC', 'ETH', 'LINK']) + assert ns.nodes_in==set(['WBTC', 'ETH', 'LINK']) + #_=AG.plot() + + +# ------------------------------------------------------------ +# Test 004 +# File test_004_GraphCode.py +# Segment Transport 3 and prices +# ------------------------------------------------------------ +def test_transport_3_and_prices(): +# ------------------------------------------------------------ + + AG = ag.ArbGraph() + prices = dict(USDC=1, LINK=5, AAVE=100, WETH=2000, BTC=10000) + for t1,p1 in prices.items(): + for t2,p2 in prices.items(): + if t1 2000 USDC(1)' + + assert raises (lambda: e1+e3) + assert raises (lambda: -2*e1) + assert raises (lambda: e3*(-2)) + try: + e1 += e3 + raise + except ValueError as e: + pass + + assert not raises (lambda: e4+e5) + assert not raises (lambda: 2*e4) + assert not raises (lambda: e4*2) + e4 += e5 + + assert e6.amount_in == 1 + assert e1.transport() == e6.transport() + assert e1.transport(amount_in=1e6) == 1e6*e1.transport() + + AG = ag.ArbGraph(nodes = [ETH, USDC]) + assert AG.edgetype is None + AG.add_edge_obj(e1) + assert AG.edgetype == AG.EDGE_CONNECTION + assert AG.edgetype == e1.EDGE_CONNECTION + AG.add_edge_obj(e2) + assert raises(AG.add_edge_obj, e4) + assert AG.edgetype == e1.EDGE_CONNECTION + + AG = ag.ArbGraph(nodes = [ETH, USDC]) + assert AG.edgetype is None + AG.add_edge_obj(e4) + assert AG.edgetype == AG.EDGE_AMOUNT + assert AG.edgetype == e1.EDGE_AMOUNT + AG.add_edge_obj(e5) + assert raises(AG.add_edge_obj, e1) + assert AG.edgetype == e1.EDGE_AMOUNT + + AG = ag.ArbGraph() + AG.add_edge_connectiontype(tkn_in="ETH", tkn_out="USDC", price=2000) + AG.add_edge_connectiontype(tkn_in="ETH", tkn_out="BTC", price=1/5) + AG.add_edge_connectiontype(tkn_in="BTC", tkn_out="USDC", price=10000) + assert AG.edgetype == AG.EDGE_CONNECTION + assert len(AG) == 6 + #_=AG.plot() + + AG = ag.ArbGraph() + AG.add_edge_connectiontype(tkn_in="ETH", tkn_out="USDC", price=2000, symmetric=False) + AG.add_edge_connectiontype(tkn_in="ETH", tkn_out="BTC", price=1/5, symmetric=False) + AG.add_edge_connectiontype(tkn_in="BTC", tkn_out="USDC", price=10000, symmetric=False) + assert AG.edgetype == AG.EDGE_CONNECTION + assert len(AG) == 3 + #_=AG.plot() + + AG = ag.ArbGraph() + assert raises (AG.add_edge_connectiontype, tkn_in="ETH", tkn_out="USDC", price=2000, price_outperin=2000) + assert raises (AG.add_edge_connectiontype, tkn_in="ETH", tkn_out="USDC", inverse = True, price_outperin=2000) + assert AG.add_edge_connectiontype == AG.add_edge_ct + + AG = ag.ArbGraph() + for i in range(5): + mul = 1+i/50 + AG.add_edge_ct(tkn_in="ETH", tkn_out="USDC", price=2000*mul) + AG.add_edge_ct(tkn_in="WBTC", tkn_out="USDC", price=10000*mul) + AG.add_edge_ct(tkn_in="ETH", tkn_out="WBTC", price=0.2/mul) + assert AG.len() == (2*3*5, 3) + assert len(AG.cycles()) == 5 + assert np.array_equal(AG.A.toarray(), np.array([[0, 1, 1], [1, 0, 1], [1, 1, 0]])) + print(AG.A) + AG2 = AG.duplicate() + assert AG2.len() == (6,3) + edges = AG.filter_edges("ETH", "USDC") + assert len(edges) == 5 + edges2 = AG2.filter_edges("ETH", "USDC") + assert len(edges2) == 1 + assert [e.p_outperin for e in edges] == [2000.0, 2040.0, 2080.0, 2120.0, 2160.0] + assert edges2[0].p_outperin == np.mean([e.p_outperin for e in edges]) + + +# ------------------------------------------------------------ +# Test 004 +# File test_004_GraphCode.py +# Segment Interaction with CPC +# ------------------------------------------------------------ +def test_interaction_with_cpc(): +# ------------------------------------------------------------ + + c1 = CPC.from_univ2(x_tknb=1, y_tknq=2000, pair="ETH/USDC", fee=0, cid="1", descr="UniV2") + c2 = CPC.from_univ2(x_tknb=1, y_tknq=10000, pair="WBTC/USDC", fee=0, cid="2", descr="UniV2") + c3 = CPC.from_univ2(x_tknb=1, y_tknq=5, pair="WBTC/ETH", fee=0, cid="3", descr="UniV2") + assert c1.p == 2000 + assert c2.p == 10000 + assert c3.p == 5 + + AG = ag.ArbGraph() + AG.add_edges_cpc(c1) + AG.add_edges_cpc(c2) + AG.add_edges_cpc(c3) + #_=AG.plot() + + AG = ag.ArbGraph() + AG.add_edges_cpc([c1, c2, c3]) + #_=AG.plot() + + AG = ag.ArbGraph() + AG.add_edges_cpc(c for c in [c1, c2, c3]) + #_=AG.plot() + + AG = ag.ArbGraph() + CC = CPCContainer([c1,c2,c3]) + AG.add_edges_cpc(CC) + #_=AG.plot() + + print(AG.A) + + AG.cycles() + + +# ------------------------------------------------------------ +# Test 004 +# File test_004_GraphCode.py +# Segment With real data from CPC +# ------------------------------------------------------------ +def test_with_real_data_from_cpc(): +# ------------------------------------------------------------ + + try: + df = pd.read_csv("_data/NBTEST_002_Curves.csv.gz") + except: + df = pd.read_csv("fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz") + CC0 = CPCContainer.from_df(df) + print("Num curves:", len(CC0)) + print("Num pairs:", len(CC0.pairs())) + print("Num tokens:", len(CC0.tokens())) + print(CC0.tokens_s()) + + AG0 = ag.ArbGraph().add_edges_cpc(CC0) + #AG0.plot() + assert AG0.len() == (918, 141) + + assert str(AG0.A)[:60] ==' (0, 1)\t1\n (1, 0)\t1\n (2, 3)\t1\n (2, 4)\t1\n (2, 5)\t1\n (2,' + + pairs = CC0.filter_pairs(bothin="WETH, USDC, UNI, AAVE, LINK") + CC = CC0.bypairs(pairs, ascc=True) + AG = ag.ArbGraph().add_edges_cpc(CC) + #AG.plot() + AG.len() == (24, 5) + + assert np.all(AG.A.toarray() == np.array( + [[0, 1, 1, 0, 0], + [1, 0, 1, 1, 1], + [1, 1, 0, 1, 1], + [0, 1, 1, 0, 0], + [0, 1, 1, 0, 0]])) + + assert raises(AG.edge_statistics,"WETH", "USDC") + + AG.edgedf(consolidated=False) + + df = AG.edgedf(consolidated=True) + df + + dx,dy = ((71.22, -0.28, 3.4, -10.82, 755278.31, -65.01, -5.93, -3.38, -0.02, 60.27, -49.45, 1507698.66, -2263343.63), + (-0.3, 1.99, -0.14, 0.04, -393.48, 0.27, 46.42, 0.13, 1.41, -0.2, 316.84, -786.1, 833.78)) + AG2 = ag.ArbGraph() + for cpc, dx_, dy_ in zip(CC, dx, dy): + print(dx_, cpc.tknx, dy_, cpc.tkny, cpc.cid) + AG2.add_edge_dxdy(cpc.tknx, dx_, cpc.tkny, dy_, uid=cpc.cid) + #print("---") + + #_=AG2.plot() + assert AG2.len() == (12,5) + + assert np.all(AG2.A.toarray() == np.array( + [[0, 1, 0, 0, 0], + [1, 0, 0, 1, 1], + [1, 1, 0, 1, 1], + [0, 1, 0, 0, 0], + [0, 1, 0, 0, 0]])) + print(AG2.A.toarray()) + + assert AG2.edge_statistics("WETH", "USDC", bothways=False) is None + assert len(AG2.edge_statistics("WETH", "USDC", bothways=True)) == 2 + assert AG2.edge_statistics("WETH", "USDC", bothways=True)[1].asdict()["amounts_in_remaining"] == (755278.31, 1507698.66) + AG2.edge_statistics("WETH", "USDC", bothways=True)[1].asdict() + + assert AG2.filter_edges("WETH", "USDC") == [] + assert AG2.filter_edges("WETH", "USDC", bothways=True)[0].amount_in == 755278.31 + assert AG2.filter_edges("WETH", "USDC", bothways=True) == AG2.filter_edges("USDC", "WETH") + assert AG2.filter_edges(pair="WETH/USDC", bothways=False) == [] + assert AG2.filter_edges(pair="WETH/USDC") == AG2.filter_edges("WETH", "USDC", bothways=True) + assert AG2.filter_edges == AG2.fe + assert AG2.fep("WETH/USDC") == AG2.filter_edges(pair="WETH/USDC") + assert AG2.fep("WETH/USDC", bothways=False) == AG2.filter_edges(pair="WETH/USDC", bothways=False) + assert tuple(AG2.edgedf(consolidated=True, resetindex=False).iloc[0]) == (1.41, 0.02) + assert len(AG2.edgedf(consolidated=False)) == len(AG2) + + assert len(AG2.edgedf(consolidated=False)) == 12 + AG2.edgedf(consolidated=False) + + assert len(AG2.edgedf(consolidated=True, resetindex=False)) == 10 + AG2.edgedf(consolidated=True, resetindex=False) + + +# ------------------------------------------------------------ +# Test 004 +# File test_004_GraphCode.py +# Segment Amount algebra +# ------------------------------------------------------------ +def test_amount_algebra(): +# ------------------------------------------------------------ + + A = ag.Amount + nodes = lambda: ag.create_node_list("ETH, USDC") + ETH, USDC = nodes() + + ae1, ae2, au1 = A(1, ETH), A(2, ETH), A(1, USDC) + + assert ae1 + ae2 == 3*ae1 + assert ae2 - ae1 == ae1 + assert -ae1 + ae2 == ae1 + assert 2*ae1 == ae2 + assert ae1*2 == ae2 + assert ae1/2 +ae1/2 == ae1 + assert round(ae1/9,2) == round(1/9,2)*ae1 + assert round(ae1/9,4) == round(1/9,4)*ae1 + assert m.floor(ae1/9) == m.floor(1/9)*ae1 + assert m.ceil(ae1/9) == m.ceil(1/9)*ae1 + assert (ae1 + 2*ae1)/ae1 == 3 + + assert raises (lambda: ae1 + 1) + assert raises (lambda: ae1 - 1) + assert raises (lambda: 1 + ae1) + assert raises (lambda: 1 - ae1) + + assert 2*ae1 > ae1 + assert 2*ae1 >= ae1 + assert .2*ae1 < ae1 + assert .2*ae1 <= ae1 + assert ae1 <= ae1 + assert ae1 >= ae1 + assert not ae1 < ae1 + assert not ae1 > ae1 + + +# ------------------------------------------------------------ +# Test 004 +# File test_004_GraphCode.py +# Segment Specific Arb examples +# ------------------------------------------------------------ +def test_specific_arb_examples(): +# ------------------------------------------------------------ + + # ### USDC/ETH + + AG = ag.ArbGraph() + AG.add_edge("ETH", 1, "USDC", 2000) + AG.add_edge("USDC", 1800, "ETH", 1, inverse=True) + G = AG.as_graph() + print(AG.cycles()) + #_=AG.plot() + + for C in AG.cycles(): + print(f"==={C}===") + for c in C.pairs(start_val=AG.n("ETH")): + print(c) + + c, AG.filter_edges(*c) + + AG.A.toarray() + + # ### USDC/LINK to ETH (oneway) + + AG = ag.ArbGraph() + AG.add_edge("USDC", 100, "ETH", 100/2000) + AG.add_edge("LINK", 100, "USDC", 1000) + AG.add_edge("USDC", 900, "LINK", 100, inverse=True) + G = AG.as_graph() + print(AG.cycles()) + #_=AG.plot() + + # _=AG.duplicate().plot() + + for C in AG.cycles(): + print(f"==={C}===") + for c in C.pairs(start_val=AG.n("USDC")): + print(c) + + c, AG.filter_edges(*c) + + AG.A.toarray() + + # ### USDD, LINK, ETH cycle + + AG = ag.ArbGraph() + AG.add_edge("ETH", 1, "USDC", 2000) + AG.add_edge("USDC", 1500, "LINK", 200, inverse=True) + AG.add_edge("LINK", 200, "ETH", 1, inverse=True) + G = AG.as_graph() + print(AG.cycles()) + #_=AG.plot() + + for C in AG.cycles(): + print(f"==={C}===") + for c in C.pairs(start_val=AG.n("USDC")): + print(c) + + c, AG.filter_edges(*c) + + AG.A.toarray() + + # ### USDD, LINK, ETH cycle plus ETH/USDC + + AG = ag.ArbGraph() + AG.add_edge("ETH", 1, "USDC", 2000) + AG.add_edge("ETH", 1, "USDC", 2000) + AG.add_edge("USDC", 1500, "LINK", 200, inverse=True) + AG.add_edge("LINK", 200, "ETH", 1, inverse=True) + AG.add_edge("USDC", 1800, "ETH", 1, inverse=True) + G = AG.as_graph() + print(AG.cycles()) + #_=AG.plot() + + # + + #_=AG.duplicate().plot() + # - + + AG.edges + + AG.duplicate().edges + + AG.A.toarray() + + for C in AG.cycles(): + print(f"==={C}===") + for c in C.pairs(start_val=AG.n("ETH")): + print(c) + + cycle = AG.cycles()[1] + cycle + + for cycle in AG.cycles(): + result = AG.run_arbitrage_cycle(cycle=cycle, verbose=True) + print(result) + print("---") + + assert raises(AG.price, AG.nodes[0], AG.nodes[1]) + raises(AG.price, AG.nodes[0], AG.nodes[1]) + + + + + + + + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_005_Uniswap.py b/fastlane_bot/tests/nbtest/test_005_Uniswap.py new file mode 100644 index 000000000..875b3e196 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_005_Uniswap.py @@ -0,0 +1,253 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_005_Uniswap.py` +# ------------------------------------------------------------ +# source file = NBTest_005_Uniswap.py +# test id = 005 +# test comment = Uniswap +# ------------------------------------------------------------ + + + +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer +from fastlane_bot.helpers.univ3calc import Univ3Calculator as U3 +from dataclasses import dataclass, asdict + +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(U3)) + +from fastlane_bot.testing import * +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("2.0", __VERSION__) + + + + +# ------------------------------------------------------------ +# Test 005 +# File test_005_Uniswap.py +# Segment u3 standalone +# ------------------------------------------------------------ +def test_u3_standalone(): +# ------------------------------------------------------------ + + data = { + "token0": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", # USDC + "token1": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", # WETH + "sqrt_price_q96": "1725337071198080486317035748446190", + "tick": "199782", + "liquidity": "36361853546581410773" + } + + help(U3.from_dict) + + u1 = U3( + tkn0="USDC-eB48", + tkn0decv=6, + tkn1="WETH-6Cc2", + tkn1decv=18, + sp96=data["sqrt_price_q96"], + tick=data["tick"], + liquidity=data["liquidity"], + fee_const = U3.FEE500, + ) + u2 = U3.from_dict(data, U3.FEE500) + #assert u1 == u2 + u = u2 + assert asdict(u) == { + 'tkn0': 'USDC-eB48', + 'tkn1': 'WETH-6Cc2', + 'sp96': int(data["sqrt_price_q96"]), + 'tick': int(data["tick"]), + 'liquidity': int(data["liquidity"]), + 'fee_const': U3.FEE500 + } + assert u.tkn0 == "USDC-eB48" + assert u.tkn1 == "WETH-6Cc2" + assert u.tkn0dec == 6 + assert u.tkn1dec == 18 + assert u.decf == 1e-12 + assert u.dec_factor_wei0_per_wei1 == u.decf + assert iseq(u.p, 0.00047422968986928404) + assert iseq(1/u.p, 2108.6828205033694) + assert u.p == u.price_tkn1_per_tkn0 + assert 1/u.p == u.price_tkn0_per_tkn1 + assert u.price_convention == 'USDC-eB48/WETH-6Cc2 [WETH-6Cc2 per USDC-eB48]' + assert iseq(u._price_f(1725337071198080486317035748446190), 474229689.86928403) + assert iseq(u._price_f(u.sp96), 474229689.86928403) + assert u.ticksize == 10 + ta, tb = u.tickab + par, pbr = u.papb_raw + pa, pb = u.papb_tkn1_per_tkn0 + pai, pbi = u.papb_tkn0_per_tkn1 + assert ta <= u.tick + assert tb >= u.tick + assert ta % u.ticksize == 0 + assert tb % u.ticksize == 0 + assert tb-ta == u.ticksize + assert iseq(par, 474134297.0246954) + assert iseq(pbr, 474608644.73905975) + assert iseq(pbr/par, 1.0001**u.ticksize) + assert iseq(pa, 0.0004741342970246954) + assert iseq(pb, 0.00047460864473905973) + assert iseq(pbr/par, pb/pa) + assert iseq(pbr/par, pai/pbi) + assert papbi + assert pa == par * u.decf + assert pb == pbr * u.decf + assert iseq(pai, 2109.1070742514007) + assert iseq(pbi, 2106.999126722188) + assert pai == 1/pa + assert pbi == 1/pb + assert u.p >= pa + assert u.p <= pb + assert u.fee_const == 500 + assert u.fee == 0.0005 + assert u.info() + print(u.info()) + + assert u.liquidity == int(data["liquidity"]) + assert u.L == 36361853.54658141 + assert u.liquidity/u.L == 1e18/1e6 + assert u.L2 == u.L**2 + assert u.Lsquared == u.L**2 + assert u.k == u.L2 + assert u.kbar == u.L + u.tkn0reserve(incltoken=True), u.tkn1reserve(incltoken=True), u.tvl(incltoken=True) + + data1 = {**data} + data1["token0"] = data["token0"]+"_" + data1["token1"] = data["token1"]+"_" + data1 + + assert raises (U3.from_dict, data1, U3.FEE500).startswith("must provide tkn0decv") + u3 = U3.from_dict(data1, U3.FEE500, tkn0decv=6, tkn1decv=18) + assert u3.liquidity == u2.liquidity + assert u3.tick == u2.tick + assert u3.sp96 == u2.sp96 + assert u3.sp96 == u2.sp96 + + +# ------------------------------------------------------------ +# Test 005 +# File test_005_Uniswap.py +# Segment Univ3 Issue +# ------------------------------------------------------------ +def test_univ3_issue(): +# ------------------------------------------------------------ + + u3data = dict( + sqrt_price_q96=Decimal('79204503519896773685362'), + tick=-276330, + tick_spacing=10, + liquidity=Decimal('420303555647537236581'), + address='0x5720EB958685dEEEB5AA0b34F677861cE3a8c7F5', + anchor='NaN', tkn0='USDP-89E1', + tkn1='USDC-eB48', + tkn0_address='0x8E870D67F660D95d5be530380D0eC0bd388289E1', + tkn0_decimals=18, + tkn1_address='0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + tkn1_decimals=6, + tkn0_key='USDP-89E1', + tkn1_key='USDC-eB48' + ) + u3data["token0"] = u3data["tkn0_address"] + u3data["token1"] = u3data["tkn1_address"] + + u3 = U3.from_dict(u3data, tkn0decv=u3data["tkn0_decimals"], + tkn1decv=u3data["tkn1_decimals"], fee_const=U3.FEE100) + + u3d = u3.cpc_params() + u3d + + pa,pb = u3.papb + pm = u3.p + r = u3.cpc_params() + assert r["uniPa"] == pa + assert r["uniPb"] == pb + assert r["uniPa"] <= r["Pmarg"] + assert r["uniPb"] >= r["Pmarg"] + print(r["Pmarg"]/pm-1) + assert abs(r["Pmarg"]/pm-1)<1e-10 + + +# ------------------------------------------------------------ +# Test 005 +# File test_005_Uniswap.py +# Segment with cpc +# ------------------------------------------------------------ +def test_with_cpc(): +# ------------------------------------------------------------ + + data = { + "token0": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "token1": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "sqrt_price_q96": "1727031172247131125466697684053376", + "tick": "199801", + "liquidity": "37398889145617323159" + } + u = U3.from_dict(data, U3.FEE500) + + pa, pb = u.papb_tkn1_per_tkn0 + curve = CPC.from_univ3( + Pmarg = u.p, + uniL = u.L, + uniPa = pa, + uniPb = pb, + pair = u.pair, + fee = u.fee, + descr = "", + params = dict(uv3raw=asdict(u)), + cid = "0", + ) + curve + + c = curve + print(f"Reserve: {c.x_act:,.3f} {c.tknx}, {c.y_act:,.3f} {c.tkny}") + print(f"TVL = {c.tvl(tkn=c.tknx):,.3f} {c.tknx} = {c.tvl(tkn=c.tkny):,.3f} {c.tkny}") + assert iseq(c.x_act, 716877.5715601444) + assert iseq(c.y_act, 66.88731140131131) + assert iseq(c.tvl(tkn=c.tknx), 857645.1222000704) + assert iseq(c.tvl(tkn=c.tkny), 407.51988721569177) + + print(f"Reserve: {u.tkn0reserve():,.3f} {c.tknx}, {u.tkn1reserve():,.3f} {c.tkny}") + print(f"TVL = {u.tvl(astkn0=True):,.3f} {c.tknx} = {u.tvl(astkn0=False):,.3f} {c.tkny}") + assert iseq(u.tkn0reserve(), c.x_act) + assert iseq(u.tkn1reserve(), c.y_act) + assert iseq(u.tvl(astkn0=False), c.tvl(tkn=c.tkny)) + assert iseq(u.tvl(astkn0=True), c.tvl(tkn=c.tknx)) + assert u.tkn0reserve(incltoken=True)[1] == u.tkn0 + assert u.tkn1reserve(incltoken=True)[1] == u.tkn1 + assert u.tvl(astkn0=True, incltoken=True)[1] == u.tkn0 + assert u.tvl(astkn0=False, incltoken=True)[1] == u.tkn1 + u.tkn0reserve(incltoken=True), u.tkn1reserve(incltoken=True), u.tvl(incltoken=True) + + curve = CPC.from_univ3( + **u.cpc_params(), + descr = "", + params = dict(uv3raw=asdict(u)), + cid = "0", + ) + curve + + c = curve + print(f"Reserve: {c.x_act:,.3f} {c.tknx}, {c.y_act:,.3f} {c.tkny}") + print(f"TVL = {c.tvl(tkn=c.tknx):,.3f} {c.tknx} = {c.tvl(tkn=c.tkny):,.3f} {c.tkny}") + + curve = CPC.from_univ3( + **u.cpc_params( + cid = "0", + descr = "", + #params = dict(uv3raw=asdict(u)), + ), + ) + curve + + + c = curve + print(f"Reserve: {c.x_act:,.3f} {c.tknx}, {c.y_act:,.3f} {c.tkny}") + print(f"TVL = {c.tvl(tkn=c.tknx):,.3f} {c.tknx} = {c.tvl(tkn=c.tkny):,.3f} {c.tkny}") + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_007_NoneResult.py b/fastlane_bot/tests/nbtest/test_007_NoneResult.py new file mode 100644 index 000000000..f222ce6fd --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_007_NoneResult.py @@ -0,0 +1,148 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_007_NoneResult.py` +# ------------------------------------------------------------ +# source file = NBTest_007_NoneResult.py +# test id = 007 +# test comment = NoneResult +# ------------------------------------------------------------ + + + +#from fastlane_bot import Bot, Config, ConfigDB, ConfigNetwork, ConfigProvider +from fastlane_bot.tools.noneresult import NoneResult, isNone +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(NoneResult)) +from fastlane_bot.testing import * +import itertools as it +import collections as cl +import math as m +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + + +# ------------------------------------------------------------ +# Test 007 +# File test_007_NoneResult.py +# Segment NoneResult Basics +# ------------------------------------------------------------ +def test_noneresult_basics(): +# ------------------------------------------------------------ + + none = NoneResult() + assert str(none) == "NoneResult('None')" + assert repr(none) == str(none) + assert bool(none) == False + assert float(none) == 0.0 + assert int(none) == 0 + assert m.floor(none) is none + assert m.ceil(none) is none + assert m.trunc(none) is none + assert round(none,5) is none + assert None == none + + assert none.foo is none + assert none.foo.bar is none + assert none["foo"] is none + assert none["foo"]["bar"] is none + + assert none+1 is none + assert none-1 is none + assert none*1 is none + assert none/1 is none + assert none//1 is none + assert none**1 is none + assert none%1 is none + + assert 1+none is none + assert 1-none is none + assert 1*none is none + assert 1/none is none + assert 1//none is none + assert 1**none is none + assert 1%none is none + + none_foo = NoneResult("foo") + assert str(none_foo) == "NoneResult('foo')" + assert none_foo == none + + +# ------------------------------------------------------------ +# Test 007 +# File test_007_NoneResult.py +# Segment None format +# ------------------------------------------------------------ +def test_none_format(): +# ------------------------------------------------------------ + + none = NoneResult() + assert f"{none}" == "NoneResult('None')" + assert "{}".format(none) == "NoneResult('None')" + + assert f":{str(none):30}:" == ":NoneResult('None') :" + assert f":{none:30}:" == f":{str(none):30}:" + assert len(f"{none:30}") == 30 + raises(lambda: f"{none:2.1f}") == "Unknown format code 'f' for object of type 'str'" + assert f"{float(none):10.4f}" == ' 0.0000' + assert f"{int(none):010d}" == '0000000000' + + a="123" + + f"{none:40}" + + +# ------------------------------------------------------------ +# Test 007 +# File test_007_NoneResult.py +# Segment math functions +# ------------------------------------------------------------ +def test_math_functions(): +# ------------------------------------------------------------ + + none = NoneResult() + assert m.sin(none) == 0 + assert m.cos(none) == 1 + assert m.exp(none) == 1 + assert raises(m.log, none) == "math domain error" + assert 1/none == none + assert 0*none==none + sin = lambda x: 0*x+m.sin(x) + assert sin(none) == none + + +# ------------------------------------------------------------ +# Test 007 +# File test_007_NoneResult.py +# Segment isNone +# ------------------------------------------------------------ +def test_isnone(): +# ------------------------------------------------------------ + + assert isNone(None) == True + assert isNone(NoneResult()) == True + assert isNone(NoneResult("moo")) == True + assert isNone(0) == False + assert isNone("") == False + assert isNone(False) == False + assert isNone(NoneResult) == False + + none = NoneResult() + assert raises(lambda x: isNone(None+x), 1) == "unsupported operand type(s) for +: 'NoneType' and 'int'" + assert isNone(none+1) + assert isNone(1+none) + assert isNone(none**2) + assert isNone(none*none) + assert isNone(1+2*none+3*none*none) + + assert not isNone(none) == False + assert [x for x in (1,2,None,3) if not isNone(x)] == [1,2,3] + assert [x for x in (1,2,none,3) if not isNone(x)] == [1,2,3] + assert [2*x for x in (1,2,None,3) if not isNone(x)] == [2,4,6] + assert [2*x for x in (1,2,none,3) if not isNone(x)] == [2,4,6] + assert [2*x for x in (1,2,none,3) if not isNone(2*x)] == [2,4,6] + + + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_033_Pools.py b/fastlane_bot/tests/nbtest/test_033_Pools.py new file mode 100644 index 000000000..583f42cab --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_033_Pools.py @@ -0,0 +1,212 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_033_Pools.py` +# ------------------------------------------------------------ +# source file = NBTest_033_Pools.py +# test id = 033 +# test comment = Pools +# ------------------------------------------------------------ + + + +import json + +import pytest + +from fastlane_bot import Bot +from fastlane_bot.events.pools import SushiswapV2Pool, UniswapV2Pool, UniswapV3Pool, BancorV3Pool, CarbonV1Pool, \ + BancorV2Pool, BancorPolPool +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC + +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2Pool)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3Pool)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2Pool)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1Pool)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3Pool)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV2Pool)) +from fastlane_bot.testing import * + +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + +with open('fastlane_bot/data/event_test_data.json', 'r') as f: + setup_data = json.load(f) + + +# ------------------------------------------------------------ +# Test 033 +# File test_033_Pools.py +# Segment test_uniswap_v2_pool +# ------------------------------------------------------------ +def test_test_uniswap_v2_pool(): +# ------------------------------------------------------------ + + uniswap_v2_pool = UniswapV2Pool() + uniswap_v2_pool.update_from_event(setup_data['uniswap_v2_event'], {'cid': '0x', 'fee': '0.000', 'fee_float': 0.0, 'exchange_name': 'sushiswap_v2', 'reserve0': setup_data['uniswap_v2_event']['args']['reserve0'], 'reserve1': setup_data['uniswap_v2_event']['args']['reserve1'], 'tkn0_symbol': 'tkn0', 'tkn1_symbol': 'tkn1'}) + assert (uniswap_v2_pool.state['tkn0_balance'] == setup_data['uniswap_v2_event']['args']['reserve0']) + + +# ------------------------------------------------------------ +# Test 033 +# File test_033_Pools.py +# Segment test_bancor_v2_pool +# ------------------------------------------------------------ +def test_test_bancor_v2_pool(): +# ------------------------------------------------------------ + + bancor_v2_pool = BancorV2Pool() + bancor_v2_pool.state['tkn0_address'] = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' + bancor_v2_pool.state['tkn1_address'] = '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C' + bancor_v2_pool.state['anchor']= '0xb1CD6e4153B2a390Cf00A6556b0fC1458C4A5533' + bancor_v2_pool.update_from_event(setup_data['bancor_v2_event'], {'cid': '0x', 'fee': '0.000', 'fee_float': 0.0, 'exchange_name': 'bancor_v2'}) + assert (bancor_v2_pool.state['tkn0_balance'] == setup_data['bancor_v2_event']['args']['_rateN']), f"expected {bancor_v2_pool.state['tkn0_balance']}, found {setup_data['bancor_v2_event']['args']['_rateN']}" + assert (bancor_v2_pool.state['tkn1_balance'] == setup_data['bancor_v2_event']['args']['_rateD']), f"expected {bancor_v2_pool.state['tkn1_balance']}, found {setup_data['bancor_v2_event']['args']['_rateD']}" + + +# ------------------------------------------------------------ +# Test 033 +# File test_033_Pools.py +# Segment test_sushiswap_v2_pool +# ------------------------------------------------------------ +def test_test_sushiswap_v2_pool(): +# ------------------------------------------------------------ + + sushiswap_v2_pool = SushiswapV2Pool() + sushiswap_v2_pool.update_from_event(setup_data['sushiswap_v2_event'], {'cid': '0x', 'fee': '0.000', 'fee_float': 0.0, 'exchange_name': 'uniswap_v2', 'reserve0': setup_data['uniswap_v2_event']['args']['reserve0'], 'reserve1': setup_data['uniswap_v2_event']['args']['reserve1'], 'tkn0_symbol': 'tkn0', 'tkn1_symbol': 'tkn1'}) + assert (sushiswap_v2_pool.state['tkn0_balance'] == setup_data['sushiswap_v2_event']['args']['reserve0']) + + +# ------------------------------------------------------------ +# Test 033 +# File test_033_Pools.py +# Segment test_uniswap_v3_pool +# ------------------------------------------------------------ +def test_test_uniswap_v3_pool(): +# ------------------------------------------------------------ + + uniswap_v3_pool = UniswapV3Pool() + uniswap_v3_pool.update_from_event(setup_data['uniswap_v3_event'], {'cid': '0x', 'fee': '0.000', 'fee_float': 0.0, 'exchange_name': 'uniswap_v3', 'liquidity': setup_data['uniswap_v3_event']['args']['liquidity'], 'sqrtPriceX96': setup_data['uniswap_v3_event']['args']['sqrtPriceX96'], 'tick': setup_data['uniswap_v3_event']['args']['tick'], 'tkn0_symbol': 'tkn0', 'tkn1_symbol': 'tkn1'}) + assert (uniswap_v3_pool.state['liquidity'] == setup_data['uniswap_v3_event']['args']['liquidity']) + assert (uniswap_v3_pool.state['sqrt_price_q96'] == setup_data['uniswap_v3_event']['args']['sqrtPriceX96']) + + +# ------------------------------------------------------------ +# Test 033 +# File test_033_Pools.py +# Segment test_bancor_v3_pool +# ------------------------------------------------------------ +def test_test_bancor_v3_pool(): +# ------------------------------------------------------------ + + bancor_v3_pool = BancorV3Pool() + bancor_v3_pool.update_from_event(setup_data['bancor_v3_event'], {'cid': '0x', 'fee': '0.000', 'fee_float': 0.0, 'exchange_name': 'bancor_v3', 'tkn0_balance': setup_data['bancor_v3_event']['args']['newLiquidity'], 'tkn1_balance': 0, 'tkn0_symbol': 'tkn0', 'tkn1_symbol': 'tkn1'}) + + +# ------------------------------------------------------------ +# Test 033 +# File test_033_Pools.py +# Segment test_carbon_v1_pool_update +# ------------------------------------------------------------ +def test_test_carbon_v1_pool_update(): +# ------------------------------------------------------------ + + carbon_v1_pool = CarbonV1Pool() + carbon_v1_pool.update_from_event(setup_data['carbon_v1_event_create_for_update'], {}) + assert (setup_data['carbon_v1_event_update']['args']['id'] == carbon_v1_pool.state['cid']) + assert (carbon_v1_pool.state['y_0'] == 0) + assert (carbon_v1_pool.state['z_0'] == 0) + assert (carbon_v1_pool.state['A_0'] == 0) + assert (carbon_v1_pool.state['B_0'] == 0) + assert (carbon_v1_pool.state['y_1'] == 0) + assert (carbon_v1_pool.state['z_1'] == 0) + assert (carbon_v1_pool.state['A_1'] == 0) + assert (carbon_v1_pool.state['B_1'] == 0) + carbon_v1_pool.update_from_event(setup_data['carbon_v1_event_update'], {}) + assert (carbon_v1_pool.state['y_0'] == setup_data['carbon_v1_event_update']['args']['order0'][0]) + assert (carbon_v1_pool.state['z_0'] == setup_data['carbon_v1_event_update']['args']['order0'][1]) + assert (carbon_v1_pool.state['A_0'] == setup_data['carbon_v1_event_update']['args']['order0'][2]) + assert (carbon_v1_pool.state['B_0'] == setup_data['carbon_v1_event_update']['args']['order0'][3]) + assert (carbon_v1_pool.state['y_1'] == setup_data['carbon_v1_event_update']['args']['order1'][0]) + assert (carbon_v1_pool.state['z_1'] == setup_data['carbon_v1_event_update']['args']['order1'][1]) + assert (carbon_v1_pool.state['A_1'] == setup_data['carbon_v1_event_update']['args']['order1'][2]) + + +# ------------------------------------------------------------ +# Test 033 +# File test_033_Pools.py +# Segment test_carbon_v1_pool_delete +# ------------------------------------------------------------ +def test_test_carbon_v1_pool_delete(): +# ------------------------------------------------------------ + + carbon_v1_pool = CarbonV1Pool() + carbon_v1_pool.update_from_event(setup_data['carbon_v1_event_create_for_delete'], {}) + assert (setup_data['carbon_v1_event_delete']['args']['id'] == carbon_v1_pool.state['cid']) + assert (carbon_v1_pool.state['y_0'] == setup_data['carbon_v1_event_delete']['args']['order0'][0]) + assert (carbon_v1_pool.state['z_0'] == setup_data['carbon_v1_event_delete']['args']['order0'][1]) + assert (carbon_v1_pool.state['A_0'] == setup_data['carbon_v1_event_delete']['args']['order0'][2]) + assert (carbon_v1_pool.state['B_0'] == setup_data['carbon_v1_event_delete']['args']['order0'][3]) + assert (carbon_v1_pool.state['y_1'] == setup_data['carbon_v1_event_delete']['args']['order1'][0]) + assert (carbon_v1_pool.state['z_1'] == setup_data['carbon_v1_event_delete']['args']['order1'][1]) + assert (carbon_v1_pool.state['A_1'] == setup_data['carbon_v1_event_delete']['args']['order1'][2]) + assert (carbon_v1_pool.state['B_1'] == setup_data['carbon_v1_event_delete']['args']['order1'][3]) + carbon_v1_pool.update_from_event(setup_data['carbon_v1_event_delete'], {}) + assert (carbon_v1_pool.state['y_0'] == 0) + assert (carbon_v1_pool.state['z_0'] == 0) + assert (carbon_v1_pool.state['A_0'] == 0) + assert (carbon_v1_pool.state['B_0'] == 0) + assert (carbon_v1_pool.state['y_1'] == 0) + assert (carbon_v1_pool.state['z_1'] == 0) + assert (carbon_v1_pool.state['A_1'] == 0) + + # + + +# ------------------------------------------------------------ +# Test 033 +# File test_033_Pools.py +# Segment test_bancor_pol_token_traded_event +# ------------------------------------------------------------ +def test_test_bancor_pol_token_traded_event(): +# ------------------------------------------------------------ + + bancor_pol_pool = BancorPolPool() + bancor_pol_pool.state['tkn0_address'] = setup_data['bancor_pol_token_traded_event']['args']['token'] + bancor_pol_pool.state['tkn0_balance'] = 10 + setup_data['bancor_pol_token_traded_event']['args']['amount'] + bancor_pol_pool.update_from_event(setup_data['bancor_pol_token_traded_event'], + {'cid': '0x', + 'fee': '0.000', + 'fee_float': 0.0, + 'exchange_name': 'bancor_pol', + 'token': setup_data['bancor_pol_token_traded_event']['args']['token'], + 'amount': setup_data['bancor_pol_token_traded_event']['args']['amount'], + 'ethReceived': setup_data['bancor_pol_token_traded_event']['args']['ethReceived'], + 'tkn0_symbol': 'tkn0', + 'tkn1_symbol': 'tkn1',} + ) + assert (bancor_pol_pool.state['tkn0_balance'] == 10) + + +# ------------------------------------------------------------ +# Test 033 +# File test_033_Pools.py +# Segment test_bancor_pol_trading_enabled_event +# ------------------------------------------------------------ +def test_test_bancor_pol_trading_enabled_event(): +# ------------------------------------------------------------ + + bancor_pol_pool = BancorPolPool() + bancor_pol_pool.state['tkn0_address'] = None + bancor_pol_pool.update_from_event(setup_data['bancor_pol_trading_enabled_event'], + {'cid': '0x', + 'fee': '0.000', + 'fee_float': 0.0, + 'exchange_name': 'bancor_pol', + 'token': setup_data['bancor_pol_trading_enabled_event']['args']['token'], + 'tkn0_symbol': 'tkn0', + 'tkn1_symbol': 'tkn1'} + ) + assert (bancor_pol_pool.state['tkn0_address'] == setup_data['bancor_pol_trading_enabled_event']['args']['token']) \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_034_Interface.py b/fastlane_bot/tests/nbtest/test_034_Interface.py new file mode 100644 index 000000000..ba03b2ed6 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_034_Interface.py @@ -0,0 +1,129 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_034_Interface.py` +# ------------------------------------------------------------ +# source file = NBTest_034_Interface.py +# test id = 034 +# test comment = Interface +# ------------------------------------------------------------ + + + +from dataclasses import asdict +from unittest.mock import MagicMock +from unittest.mock import Mock + +import pytest + +from fastlane_bot import Bot +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface, Token +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC + +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(QueryInterface)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Token)) + +from fastlane_bot.testing import * + +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + +cfg_mock = Mock() +cfg_mock.logger = MagicMock() +qi = QueryInterface(mgr=None, ConfigObj=cfg_mock) +qi.state = [{'exchange_name': 'uniswap_v2', 'address': '0x123', 'tkn0_key': 'TKN-0x123', 'tkn1_key': 'TKN-0x456', 'pair_name': 'Pair-0x789', 'liquidity': 10}, {'exchange_name': 'sushiswap_v2', 'address': '0xabc', 'tkn0_key': 'TKN-0xabc', 'tkn1_key': 'TKN-0xdef', 'pair_name': 'Pair-0xghi', 'liquidity': 0}] + + +# ------------------------------------------------------------ +# Test 034 +# File test_034_Interface.py +# Segment test_remove_unsupported_exchanges +# ------------------------------------------------------------ +def test_test_remove_unsupported_exchanges(): +# ------------------------------------------------------------ + + qi.exchanges = ['uniswap_v2', 'fakeswap'] + qi.remove_unsupported_exchanges() + assert (len(qi.state) == 1) + + +# ------------------------------------------------------------ +# Test 034 +# File test_034_Interface.py +# Segment test_has_balance +# ------------------------------------------------------------ +def test_test_has_balance(): +# ------------------------------------------------------------ + + qi.state = [{'exchange_name': 'uniswap_v2', 'address': '0x123', 'tkn0_key': 'TKN-0x123', 'tkn1_key': 'TKN-0x456', 'pair_name': 'Pair-0x789', 'liquidity': 10}, {'exchange_name': 'sushiswap_v2', 'address': '0xabc', 'tkn0_key': 'TKN-0xabc', 'tkn1_key': 'TKN-0xdef', 'pair_name': 'Pair-0xghi', 'liquidity': 0}] + assert (qi.has_balance(qi.state[0], 'liquidity') == True) + assert (qi.has_balance(qi.state[1], 'liquidity') == False) + + +# ------------------------------------------------------------ +# Test 034 +# File test_034_Interface.py +# Segment test_filter_pools +# ------------------------------------------------------------ +def test_test_filter_pools(): +# ------------------------------------------------------------ + + assert (len(qi.filter_pools('uniswap_v2')) == 1) + + +# ------------------------------------------------------------ +# Test 034 +# File test_034_Interface.py +# Segment test_cleanup_token_key +# ------------------------------------------------------------ +def test_test_cleanup_token_key(): +# ------------------------------------------------------------ + + assert (qi.cleanup_token_key('TKN-Hello-0x123') == 'TKN_Hello-0x123') + + +# ------------------------------------------------------------ +# Test 034 +# File test_034_Interface.py +# Segment test_update_state +# ------------------------------------------------------------ +def test_test_update_state(): +# ------------------------------------------------------------ + + new_state = [{'exchange_name': 'bancor_v2', 'address': '0xabc', 'tkn0_key': 'TKN-0xabc', 'tkn1_key': 'TKN-0xdef', 'pair_name': 'Pair-0xghi', 'liquidity': 10}] + qi.update_state(new_state) + + +# ------------------------------------------------------------ +# Test 034 +# File test_034_Interface.py +# Segment test_get_token +# ------------------------------------------------------------ +def test_test_get_token(): +# ------------------------------------------------------------ + + new_state = [{'exchange_name': 'bancor_v2', 'address': '0xabc', 'tkn0_key': 'TKN-0x123', 'tkn1_key': 'TKN-0xdef', 'pair_name': 'Pair-0xghi', 'liquidity': 10}] + qi.update_state(new_state) + token = qi.get_token('TKN-0x123') + assert isinstance(token, Token) + + +# ------------------------------------------------------------ +# Test 034 +# File test_034_Interface.py +# Segment test_get_pool +# ------------------------------------------------------------ +def test_test_get_pool(): +# ------------------------------------------------------------ + + new_state = [{'last_updated_block': 17614344, 'address': '0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1', 'exchange_name': 'carbon_v1', 'tkn0_address': '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', 'tkn1_address': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'tkn0_symbol': 'ETH', 'tkn1_symbol': 'USDC', 'tkn0_decimals': 18, 'tkn1_decimals': 6, 'cid': 1701411834604692317316873037158841057365, 'tkn0_key': 'ETH-EEeE', 'tkn1_key': 'USDC-eB48', 'pair_name': 'ETH-EEeE/USDC-eB48', 'fee_float': 0.002, 'fee': '0.002', 'descr': 'carbon_v1 ETH-EEeE/USDC-eB48 0.002', 'y_0': 9882507039899549, 'y_1': 0, 'z_0': 9882507039899549, 'z_1': 17936137, 'A_0': 0, 'A_1': 99105201, 'B_0': 0, 'B_1': 11941971885}] + qi.update_state(new_state) + pool = qi.get_pool(cid=1701411834604692317316873037158841057365) \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_035_Utils.py b/fastlane_bot/tests/nbtest/test_035_Utils.py new file mode 100644 index 000000000..a8f81835b --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_035_Utils.py @@ -0,0 +1,89 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_035_Utils.py` +# ------------------------------------------------------------ +# source file = NBTest_035_Utils.py +# test id = 035 +# test comment = Utils +# ------------------------------------------------------------ + + + +from fastlane_bot import Bot +from fastlane_bot.events.pools import SushiswapV2Pool, UniswapV2Pool, UniswapV3Pool, BancorV3Pool, CarbonV1Pool +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from typing import List +from web3.datastructures import AttributeDict +from web3.types import HexBytes +import pytest + +from fastlane_bot.events.utils import filter_latest_events, complex_handler + +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2Pool)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3Pool)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2Pool)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1Pool)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3Pool)) +from fastlane_bot.testing import * + +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +class MockManager(): + + def pool_type_from_exchange_name(self, exchange_name): + + class MockPoolType(): + + def unique_key(self): + return 'address' + return MockPoolType() + + def exchange_name_from_event(self, event): + return 'uniswap_v2' +mocked_mgr = MockManager() + +event1 = AttributeDict({'args': {'reserve0': 100, 'reserve1': 100}, 'event': 'Sync', 'address': '0xabc', 'blockNumber': 5, 'transactionIndex': 0, 'logIndex': 0}) +event2 = AttributeDict({'args': {'reserve0': 200, 'reserve1': 200}, 'event': 'Sync', 'address': '0xabc', 'blockNumber': 10, 'transactionIndex': 1, 'logIndex': 1}) +event3 = AttributeDict({'args': {'reserve0': 300, 'reserve1': 300}, 'event': 'Sync', 'address': '0xdef', 'blockNumber': 7, 'transactionIndex': 1, 'logIndex': 1}) +mock_events = [[event1, event2, event3]] + + +# ------------------------------------------------------------ +# Test 035 +# File test_035_Utils.py +# Segment test_filter_latest_events +# ------------------------------------------------------------ +def test_test_filter_latest_events(): +# ------------------------------------------------------------ + + result = filter_latest_events(mocked_mgr, mock_events) + assert (len(result) == len({event['address'] for event in result})) + pool_address = result[0]['address'] + pool_events = [event for event in mock_events[0] if (event['address'] == pool_address)] + + +# ------------------------------------------------------------ +# Test 035 +# File test_035_Utils.py +# Segment test_complex_handler +# ------------------------------------------------------------ +def test_test_complex_handler(): +# ------------------------------------------------------------ + + attribute_dict = AttributeDict({'a': 1, 'b': 2}) + assert (complex_handler(attribute_dict) == {'a': 1, 'b': 2}) + hex_bytes = HexBytes(b'hello') + assert (complex_handler(hex_bytes) == '0x68656c6c6f') + dictionary = {'a': 1, 'b': HexBytes(b'hello'), 'c': AttributeDict({'d': 4})} + assert (complex_handler(dictionary) == {'a': 1, 'b': '0x68656c6c6f', 'c': {'d': 4}}) + list_ = [1, HexBytes(b'hello'), AttributeDict({'d': 4})] + assert (complex_handler(list_) == [1, '0x68656c6c6f', {'d': 4}]) + set_ = {1, 2, 3} + assert (complex_handler(set_) == [1, 2, 3]) + assert (complex_handler(123) == 123) \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_036_Manager.py b/fastlane_bot/tests/nbtest/test_036_Manager.py new file mode 100644 index 000000000..2cc36f352 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_036_Manager.py @@ -0,0 +1,161 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_036_Manager.py` +# ------------------------------------------------------------ +# source file = NBTest_036_Manager.py +# test id = 036 +# test comment = Manager +# ------------------------------------------------------------ + + + +from unittest.mock import Mock, patch, call + +import pytest +from unittest.mock import MagicMock + +from fastlane_bot import Bot, Config +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.managers.manager import Manager +Base = None +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC + +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * + +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + +# + +import json + +with open("fastlane_bot/data/event_test_data.json", "r") as f: + event_data = json.load(f) + +with open("fastlane_bot/data/test_pool_data.json", "r") as f: + pool_data = json.load(f) + + +cfg = Config.new(config=Config.CONFIG_MAINNET) + +manager = Manager(cfg.w3, cfg, pool_data, 20, SUPPORTED_EXCHANGES=['bancor_v3', 'carbon_v1', 'uniswap_v2', 'uniswap_v3']) + + + +# ------------------------------------------------------------ +# Test 036 +# File test_036_Manager.py +# Segment test_update_from_event_uniswap_v2 +# ------------------------------------------------------------ +def test_test_update_from_event_uniswap_v2(): +# ------------------------------------------------------------ + + # + + event = event_data['uniswap_v2_event'] + + assert event['args']['reserve0'] != [pool['tkn0_balance'] for pool in manager.pool_data if pool['address'] == event['address']][0] + + manager.update_from_event(event) + + assert event['address'] in [pool['address'] for pool in manager.pool_data] + assert event['args']['reserve0'] == [pool['tkn0_balance'] for pool in manager.pool_data if pool['address'] == event['address']][0] + # - + + +# ------------------------------------------------------------ +# Test 036 +# File test_036_Manager.py +# Segment test_update_from_event_uniswap_v3 +# ------------------------------------------------------------ +def test_test_update_from_event_uniswap_v3(): +# ------------------------------------------------------------ + + # + + event = event_data['uniswap_v3_event'] + + assert event['args']['liquidity'] != [pool['liquidity'] for pool in manager.pool_data if pool['address'] == event['address']][0] + + manager.update_from_event(event) + + assert event['address'] in [pool['address'] for pool in manager.pool_data] + assert event['args']['liquidity'] == [pool['liquidity'] for pool in manager.pool_data if pool['address'] == event['address']][0] + # - + + # + + +# ------------------------------------------------------------ +# Test 036 +# File test_036_Manager.py +# Segment test_update_from_event_carbon_v1_update +# ------------------------------------------------------------ +def test_test_update_from_event_carbon_v1_update(): +# ------------------------------------------------------------ + + # + + event_create_for_update = event_data['carbon_v1_event_create_for_update'] + event = event_data['carbon_v1_event_update'] + + manager.update_from_event(event_create_for_update) + assert event['args']['order0'][0] != [pool['y_0'] for pool in manager.pool_data if pool['cid'] == event['args']['id']][0] + + manager.update_from_event(event) + + assert event['args']['order0'][0] == [pool['y_0'] for pool in manager.pool_data if pool['cid'] == event['args']['id']][0] + # - + + +# ------------------------------------------------------------ +# Test 036 +# File test_036_Manager.py +# Segment test_update_from_event_carbon_v1_create +# ------------------------------------------------------------ +def test_test_update_from_event_carbon_v1_create(): +# ------------------------------------------------------------ + # + + # + + event = event_data['carbon_v1_event_create'] + manager.pool_data = [pool for pool in manager.pool_data if pool['cid'] != event['args']['id']] + assert event['args']['id'] not in [pool['cid'] for pool in manager.pool_data] + + manager.update_from_event(event) + + assert event['args']['id'] in [pool['cid'] for pool in manager.pool_data] + # - + + +# ------------------------------------------------------------ +# Test 036 +# File test_036_Manager.py +# Segment test_update_from_event_carbon_v1_delete +# ------------------------------------------------------------ +def test_test_update_from_event_carbon_v1_delete(): +# ------------------------------------------------------------ + + # + + event = event_data['carbon_v1_event_create'] + manager.pool_data = [pool for pool in manager.pool_data if pool['cid'] != event['args']['id']] + assert event['args']['id'] not in [pool['cid'] for pool in manager.pool_data] + + manager.update_from_event(event) + + assert event['args']['id'] in [pool['cid'] for pool in manager.pool_data] + + event['event'] = 'StrategyDeleted' + + manager.update_from_event(event) + + assert event['args']['id'] not in [pool['cid'] for pool in manager.pool_data] + # - + + # \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_037_Exchanges.py b/fastlane_bot/tests/nbtest/test_037_Exchanges.py new file mode 100644 index 000000000..741cceeee --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_037_Exchanges.py @@ -0,0 +1,166 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_037_Exchanges.py` +# ------------------------------------------------------------ +# source file = NBTest_037_Exchanges.py +# test id = 037 +# test comment = Exchanges +# ------------------------------------------------------------ + + + +import json + +from fastlane_bot import Bot +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3, BancorV2, BancorPol +from fastlane_bot.data.abi import UNISWAP_V2_POOL_ABI, UNISWAP_V3_POOL_ABI, SUSHISWAP_POOLS_ABI, \ + BANCOR_V3_POOL_COLLECTION_ABI, \ + CARBON_CONTROLLER_ABI, BANCOR_V2_CONVERTER_ABI, BANCOR_POL_ABI +from unittest.mock import Mock +import pytest + +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV2)) + +from fastlane_bot.testing import * + +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + +with open('fastlane_bot/data/event_test_data.json', 'r') as f: + setup_data = json.load(f) + +mocked_contract = Mock() +mocked_contract.functions.token0.return_value.call.return_value = 'token0' +mocked_contract.functions.token1.return_value.call.return_value = 'token1' +mocked_contract.functions._token0.return_value.call.return_value = 'token0' +mocked_contract.functions._token1.return_value.call.return_value = 'token1' +mocked_contract.functions.conversionFee.return_value.call.return_value = 3000 +mocked_contract.functions.fee.return_value.call.return_value = 3000 +mocked_contract.functions.tradingFeePPM.return_value.call.return_value = 2000 + + +# ------------------------------------------------------------ +# Test 037 +# File test_037_Exchanges.py +# Segment test_uniswap_v2_exchange +# ------------------------------------------------------------ +def test_test_uniswap_v2_exchange(): +# ------------------------------------------------------------ + + uniswap_v2_exchange = UniswapV2() + assert (uniswap_v2_exchange.get_abi() == UNISWAP_V2_POOL_ABI) + assert (uniswap_v2_exchange.get_fee('', mocked_contract) == ('0.003', 0.003)) + assert (uniswap_v2_exchange.get_tkn0('', mocked_contract, {}) == mocked_contract.functions.token0().call()) + + +# ------------------------------------------------------------ +# Test 037 +# File test_037_Exchanges.py +# Segment test_uniswap_v3_exchange +# ------------------------------------------------------------ +def test_test_uniswap_v3_exchange(): +# ------------------------------------------------------------ + + uniswap_v3_exchange = UniswapV3() + assert (uniswap_v3_exchange.get_abi() == UNISWAP_V3_POOL_ABI) + assert (uniswap_v3_exchange.get_fee('', mocked_contract) == (mocked_contract.functions.fee().call(), (float(mocked_contract.functions.fee().call()) / 1000000.0))) + assert (uniswap_v3_exchange.get_tkn0('', mocked_contract, {}) == mocked_contract.functions.token0().call()) + + +# ------------------------------------------------------------ +# Test 037 +# File test_037_Exchanges.py +# Segment test_sushiswap_v2_exchange +# ------------------------------------------------------------ +def test_test_sushiswap_v2_exchange(): +# ------------------------------------------------------------ + + sushiswap_v2_exchange = SushiswapV2() + assert (sushiswap_v2_exchange.get_abi() == SUSHISWAP_POOLS_ABI) + assert (sushiswap_v2_exchange.get_fee('', mocked_contract) == ('0.003', 0.003)) + assert (sushiswap_v2_exchange.get_tkn0('', mocked_contract, {}) == mocked_contract.functions.token0().call()) + + +# ------------------------------------------------------------ +# Test 037 +# File test_037_Exchanges.py +# Segment test_bancor_v3_exchange +# ------------------------------------------------------------ +def test_test_bancor_v3_exchange(): +# ------------------------------------------------------------ + + bancor_v3_exchange = BancorV3() + assert (bancor_v3_exchange.get_abi() == BANCOR_V3_POOL_COLLECTION_ABI) + assert (bancor_v3_exchange.get_fee('', mocked_contract) == ('0.000', 0.0)) + assert (bancor_v3_exchange.get_tkn0('', mocked_contract, setup_data['bancor_v3_event']) == bancor_v3_exchange.BNT_ADDRESS) + + +# ------------------------------------------------------------ +# Test 037 +# File test_037_Exchanges.py +# Segment test_bancor_v2_exchange +# ------------------------------------------------------------ +def test_test_bancor_v2_exchange(): +# ------------------------------------------------------------ + + bancor_v2_exchange = BancorV2() + assert (bancor_v2_exchange.get_abi() == BANCOR_V2_CONVERTER_ABI) + assert (bancor_v2_exchange.get_fee('', mocked_contract) == (3000, 0.003)) + assert (bancor_v2_exchange.get_tkn0('', mocked_contract, setup_data['bancor_v2_event']) == '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE') + + +# ------------------------------------------------------------ +# Test 037 +# File test_037_Exchanges.py +# Segment test_carbon_v1_exchange_update +# ------------------------------------------------------------ +def test_test_carbon_v1_exchange_update(): +# ------------------------------------------------------------ + + carbon_v1_exchange = CarbonV1() + assert (carbon_v1_exchange.get_abi() == CARBON_CONTROLLER_ABI) + assert (carbon_v1_exchange.get_fee('', mocked_contract) == ('2000', 0.002)) + assert (carbon_v1_exchange.get_tkn0('', mocked_contract, setup_data['carbon_v1_event_update']) == setup_data['carbon_v1_event_update']['args']['token0']) + + +# ------------------------------------------------------------ +# Test 037 +# File test_037_Exchanges.py +# Segment test_carbon_v1_exchange_create +# ------------------------------------------------------------ +def test_test_carbon_v1_exchange_create(): +# ------------------------------------------------------------ + + carbon_v1_exchange = CarbonV1() + assert (carbon_v1_exchange.get_abi() == CARBON_CONTROLLER_ABI) + assert (carbon_v1_exchange.get_fee('', mocked_contract) == ('2000', 0.002)) + assert (carbon_v1_exchange.get_tkn0('', mocked_contract, setup_data['carbon_v1_event_create']) == setup_data['carbon_v1_event_create']['args']['token0']) + + +# ------------------------------------------------------------ +# Test 037 +# File test_037_Exchanges.py +# Segment test_carbon_v1_exchange_delete +# ------------------------------------------------------------ +def test_test_carbon_v1_exchange_delete(): +# ------------------------------------------------------------ + + carbon_v1_exchange = CarbonV1() + assert (carbon_v1_exchange.get_abi() == CARBON_CONTROLLER_ABI) + cid = setup_data['carbon_v1_event_delete']['args']['id'] + + # test_bancor_pol_exchange + + bancor_pol_exchange = BancorPol() + assert (bancor_pol_exchange.get_abi() == BANCOR_POL_ABI) + assert (bancor_pol_exchange.get_fee('', mocked_contract) == ('0.000', 0.0)) + assert (bancor_pol_exchange.get_tkn0('', mocked_contract, setup_data['bancor_pol_trading_enabled_event']) == "0x86772b1409b61c639EaAc9Ba0AcfBb6E238e5F83") \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_038_TestBancorV3Mode.py b/fastlane_bot/tests/nbtest/test_038_TestBancorV3Mode.py new file mode 100644 index 000000000..d9f11f83d --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_038_TestBancorV3Mode.py @@ -0,0 +1,380 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_038_TestBancorV3Mode.py` +# ------------------------------------------------------------ +# source file = NBTest_038_TestBancorV3Mode.py +# test id = 038 +# test comment = TestBancorV3Mode +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 50 +C.DEFAULT_MIN_PROFIT = 50 +cfg.DEFAULT_MIN_PROFIT_BNT = 50 +cfg.DEFAULT_MIN_PROFIT = 50 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "bancor_v3" + +#single = bot._run(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode=arb_mode, data_validator=False, result="calc_trade_instr") + +arb_finder = bot._get_arb_finder("bancor_v3") +finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) +r = finder.find_arbitrage() +( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r +( +ordered_trade_instructions_dct, +tx_in_count, +) = bot._simple_ordering_by_src_token( +best_trade_instructions_dic, best_src_token +) + + +arb_finder = bot._get_arb_finder("bancor_v3") +finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) +r = finder.find_arbitrage() +( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r +( +ordered_trade_instructions_dct, +tx_in_count, +) = bot._simple_ordering_by_src_token( +best_trade_instructions_dic, best_src_token +) +pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] +first_check_pools = finder.get_exact_pools(pool_cids) + +assert(len(first_check_pools) == 3), f"[test_bancor_v3] Validation expected 3 pools, got {len(first_check_pools)}" +for pool in first_check_pools: + assert type(pool) == ConstantProductCurve, f"[test_bancor_v3] Validation pool type mismatch, got {type(pool)} expected ConstantProductCurve" + assert pool.cid in pool_cids, f"[test_bancor_v3] Validation missing pool.cid {pool.cid} in {pool_cids}" +optimal_arb = finder.get_optimal_arb_trade_amts(pool_cids, 'BNT-FF1C') +assert type(optimal_arb) == float, f"[test_bancor_v3] Optimal arb calculation type is {type(optimal_arb)} not float" +assert iseq(optimal_arb, 4051.1611717583105), f"[test_bancor_v3] Optimal arb calculation type is {optimal_arb}, expected 4051.1611717583105" + +# ------------------------------------------------------------ +# Test 038 +# File test_038_TestBancorV3Mode.py +# Segment Test_max_arb_trade_in_constant_product +# ------------------------------------------------------------ +def test_test_max_arb_trade_in_constant_product(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("bancor_v3") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r + ( + ordered_trade_instructions_dct, + tx_in_count, + ) = bot._simple_ordering_by_src_token( + best_trade_instructions_dic, best_src_token + ) + pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] + first_check_pools = finder.get_exact_pools(pool_cids) + + flt='BNT-FF1C' + + tkn0 = finder.get_tkn(pool=first_check_pools[0], tkn_num=0) + tkn1 = finder.get_tkn(pool=first_check_pools[0], tkn_num=1) + tkn2 = finder.get_tkn(pool=first_check_pools[1], tkn_num=0) + tkn5 = finder.get_tkn(pool=first_check_pools[2], tkn_num=0) + p0t0 = first_check_pools[0].x_act if tkn0 == flt else first_check_pools[0].y_act + p0t1 = first_check_pools[0].y_act if tkn0 == flt else first_check_pools[0].x_act + p2t1 = first_check_pools[2].x_act if tkn5 == flt else first_check_pools[2].y_act + p2t0 = first_check_pools[2].y_act if tkn5 == flt else first_check_pools[2].x_act + p1t0 = first_check_pools[1].x if tkn1 == tkn2 else first_check_pools[1].y + p1t1 = first_check_pools[1].y if tkn1 == tkn2 else first_check_pools[1].x + fee0 = finder.get_fee_safe(first_check_pools[0].fee) + fee1 = finder.get_fee_safe(first_check_pools[1].fee) + fee2 = finder.get_fee_safe(first_check_pools[2].fee) + optimal_arb_low_level_check = finder.max_arb_trade_in_constant_product(p0t0=p0t0, p0t1=p0t1, p1t0=p1t0, p1t1=p1t1, p2t0=p2t0, p2t1=p2t1,fee0=fee0, fee1=fee1, fee2=fee2) + optimal_arb = finder.get_optimal_arb_trade_amts(pool_cids, flt) + assert iseq(optimal_arb, optimal_arb_low_level_check), f"[test_bancor_v3] Arb calculation result mismatch, pools likely ordered incorrectly" + # - + + +# ------------------------------------------------------------ +# Test 038 +# File test_038_TestBancorV3Mode.py +# Segment Test_get_fee_safe +# ------------------------------------------------------------ +def test_test_get_fee_safe(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("bancor_v3") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + ext_fee = finder.get_fee_safe(first_check_pools[1].fee) + assert type(ext_fee) == float, f"[test_bancor_v3] Testing external pool, fee type is {type(ext_fee)} not float" + assert iseq(ext_fee, 0.0005), f"[test_bancor_v3] Testing external pool, fee amt is {ext_fee} not 0.0005" + + +# ------------------------------------------------------------ +# Test 038 +# File test_038_TestBancorV3Mode.py +# Segment Test_combos +# ------------------------------------------------------------ +def test_test_combos(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("bancor_v3") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + flt = {'MKR-79A2', 'TRAC-0A6F', 'MONA-412A', 'WBTC-C599', 'WOO-5D4B', 'MATIC-eBB0', 'BAT-87EF', 'UOS-5C8c', 'LRC-EafD', 'NMR-6671', 'DIP-cD83', 'TEMP-1aB9', 'ICHI-A881', 'USDC-eB48', 'ENS-9D72', 'vBNT-7f94', 'ANKR-EDD4', 'UNI-F984', 'REQ-938a', 'WETH-6Cc2', 'AAVE-DaE9', 'ENJ-3B9c', 'MANA-C942', 'wNXM-2bDE', 'QNT-4675', 'RLC-7375', 'CROWN-E0fa', 'CHZ-b4AF', 'USDT-1ec7', 'DAI-1d0F', 'RPL-A51f', 'HOT-26E2', 'LINK-86CA', 'wstETH-2Ca0'} + + combos = finder.get_combos(flashloan_tokens=flt, CCm=CCm, arb_mode="bancor_v3") + assert len(combos) == 1122, "[test_bancor_v3] Different data used for tests, expected 1122 combos" + # - + + +# ------------------------------------------------------------ +# Test 038 +# File test_038_TestBancorV3Mode.py +# Segment Test_get_miniverse_combos +# ------------------------------------------------------------ +def test_test_get_miniverse_combos(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("bancor_v3") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + flt = {'MKR-79A2', 'TRAC-0A6F', 'MONA-412A', 'WBTC-C599', 'WOO-5D4B', 'MATIC-eBB0', 'BAT-87EF', 'UOS-5C8c', 'LRC-EafD', 'NMR-6671', 'DIP-cD83', 'TEMP-1aB9', 'ICHI-A881', 'USDC-eB48', 'ENS-9D72', 'vBNT-7f94', 'ANKR-EDD4', 'UNI-F984', 'REQ-938a', 'WETH-6Cc2', 'AAVE-DaE9', 'ENJ-3B9c', 'MANA-C942', 'wNXM-2bDE', 'QNT-4675', 'RLC-7375', 'CROWN-E0fa', 'CHZ-b4AF', 'USDT-1ec7', 'DAI-1d0F', 'RPL-A51f', 'HOT-26E2', 'LINK-86CA', 'wstETH-2Ca0'} + + combos = finder.get_combos(flashloan_tokens=flt, CCm=CCm, arb_mode="bancor_v3") + all_miniverses = finder.get_miniverse_combos(combos) + assert len(all_miniverses) == 144, f"[test_bancor_v3] Different data used for tests, expected 144 miniverses, got {len(all_miniverses)}" + # - + + +# ------------------------------------------------------------ +# Test 038 +# File test_038_TestBancorV3Mode.py +# Segment Test_get_mono_direction_carbon_curves +# ------------------------------------------------------------ +def test_test_get_mono_direction_carbon_curves(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("bancor_v3") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + + bancor_v3_curve_0 = ( + finder.CCm.bypairs(f"BNT-FF1C/WETH-6Cc2") + .byparams(exchange="bancor_v3") + .curves + ) + bancor_v3_curve_1 = ( + finder.CCm.bypairs(f"BNT-FF1C/USDC-eB48") + .byparams(exchange="bancor_v3") + .curves + ) + carbon_curves = finder.CCm.bypairs(f"USDC-eB48/WETH-6Cc2") + carbon_curves = list(set(carbon_curves)) + carbon_curves = [ + curve + for curve in carbon_curves + if curve.params.get("exchange") == "carbon_v1" + ] + miniverse = [bancor_v3_curve_0 + bancor_v3_curve_1 + carbon_curves] + max_arb_carbon = finder.run_main_flow(miniverse=miniverse[0], src_token="BNT-FF1C") + ( + profit_src_0, + trade_instructions_0, + trade_instructions_df_0, + trade_instructions_dic_0, + ) = max_arb_carbon + + mono_carbon = finder.get_mono_direction_carbon_curves(miniverse[0], trade_instructions_df=trade_instructions_df_0, token_in=None) + test_mono_carbon = finder.get_mono_direction_carbon_curves(miniverse[0], trade_instructions_df=trade_instructions_df_0, token_in='WETH-6Cc2') + # Test that get_mono_direction_carbon_curves removed two curves + assert len(test_mono_carbon) != len(mono_carbon), f"[test_bancor_v3] Issue with get_mono_direction_carbon_curves, should have removed one or more pools" + # - + + + + + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_039_TestMultiMode.py b/fastlane_bot/tests/nbtest/test_039_TestMultiMode.py new file mode 100644 index 000000000..c2179c324 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_039_TestMultiMode.py @@ -0,0 +1,272 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_039_TestMultiMode.py` +# ------------------------------------------------------------ +# source file = NBTest_039_TestMultiMode.py +# test id = 039 +# test comment = TestMultiMode +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 0.02 +C.DEFAULT_MIN_PROFIT = 0.02 +cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 +cfg.DEFAULT_MIN_PROFIT = 0.02 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "multi" + + +# ------------------------------------------------------------ +# Test 039 +# File test_039_TestMultiMode.py +# Segment Test_MIN_PROFIT +# ------------------------------------------------------------ +def test_test_min_profit(): +# ------------------------------------------------------------ + + assert(cfg.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + assert(C.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + + +# ------------------------------------------------------------ +# Test 039 +# File test_039_TestMultiMode.py +# Segment Test_get_arb_finder +# ------------------------------------------------------------ +def test_test_get_arb_finder(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("multi") + assert arb_finder.__name__ == "FindArbitrageMultiPairwise", f"[TestMultiMode] Expected arb_finder class name name = FindArbitrageMultiPairwise, found {arb_finder.__name__}" + + +# ------------------------------------------------------------ +# Test 039 +# File test_039_TestMultiMode.py +# Segment Test_Combos_and_Tokens +# ------------------------------------------------------------ +def test_test_combos_and_tokens(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("multi") + finder2 = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_TOKENS, + ConfigObj=bot.ConfigObj, + ) + all_tokens, combos = finder2.find_arbitrage() + assert len(all_tokens) == 543, f"[TestMultiMode] Using wrong dataset, expected 545 tokens, found {len(all_tokens)}" + assert len(combos) == 3252, f"[TestMultiMode] Using wrong dataset, expected 3264 tokens, found {len(combos)}" + + +# ------------------------------------------------------------ +# Test 039 +# File test_039_TestMultiMode.py +# Segment Test_Expected_Output +# ------------------------------------------------------------ +def test_test_expected_output(): +# ------------------------------------------------------------ + + run_full = bot._run(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode=arb_mode, data_validator=False, result=bot.XS_ARBOPPS) + arb_finder = bot._get_arb_finder("multi") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + assert len(r) == 26, f"[TestMultiMode] Expected 26 arbs, found {len(r)}" + assert len(r) == len(run_full), f"[TestMultiMode] Expected arbs from .find_arbitrage - {len(r)} - to match _run - {len(run_full)}" + + +# ------------------------------------------------------------ +# Test 039 +# File test_039_TestMultiMode.py +# Segment Test_Multiple_Curves_Used +# ------------------------------------------------------------ +def test_test_multiple_curves_used(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("multi") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + multi_carbon_count = 0 + + for arb in r: + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = arb + if len(best_trade_instructions_dic) > 2: + multi_carbon_count += 1 + + assert multi_carbon_count > 0, f"[TestMultiMode] Not finding arbs with multiple Carbon curves." + # - + + +# ------------------------------------------------------------ +# Test 039 +# File test_039_TestMultiMode.py +# Segment Test_Single_Direction_Carbon_Curves +# ------------------------------------------------------------ +def test_test_single_direction_carbon_curves(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("multi") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + src_token="WBTC-C599" + wrong_direction_cids = ['4083388403051261561560495289181218537493-0', '4083388403051261561560495289181218537579-0', '4083388403051261561560495289181218537610-0', '4083388403051261561560495289181218537629-0', '4083388403051261561560495289181218537639-0', '4083388403051261561560495289181218537755-0'] + curves_before = [ConstantProductCurve(k=2290523503.4460173, x=273.1073125047371, x_act=0.07743961144774403, y_act=1814.6001096442342, pair='WBTC-C599/USDC-eB48', cid='0x8d7ac7e77704f3ac75534d5500159a7a4b7e6e23dbdca7d9a8085bdea0348d0c', fee=0.0005, descr='uniswap_v3 WBTC-C599/USDC-eB48 500', constr='pkpp', params={'exchange': 'uniswap_v3', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17675876, 'L': 47859.413948}), ConstantProductCurve(k=3675185.41145277, x=11.059038979187497, x_act=0, y_act=1385.267061, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537493-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 1385.267061, 'yint': 1385.267061, 'A': 0.722593217276426, 'B': 172.62676501631972, 'pa': 30049.999999999647, 'pb': 29799.999999999665}), ConstantProductCurve(k=29672.782767383174, x=1.0315213950985431, x_act=0, y_act=3651.804716, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537579-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 3651.804716, 'yint': 3651.804716, 'A': 21.199636119827687, 'B': 145.79437574886072, 'pa': 27886.999999999643, 'pb': 21255.999999999985}), ConstantProductCurve(k=6.863635116394053e+16, x=1525337.9097739116, x_act=0, y_act=4499.746836, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537610-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 4499.746836, 'yint': 4499.746836, 'A': 0, 'B': 171.7556317853946, 'pa': 29499.99999999976, 'pb': 29499.99999999976}), ConstantProductCurve(k=143046.70577155304, x=2.1824671097293846, x_act=0, y_act=5742.51191, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537629-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 5742.51191, 'yint': 6413.595264, 'A': 16.957530991696217, 'B': 158.11388300841884, 'pa': 30649.99999999968, 'pb': 24999.99999999996}), ConstantProductCurve(k=5459975.623181331, x=437148.88403306017, x_act=0, y_act=0.50315999, pair='USDC-eB48/WBTC-C599', cid='4083388403051261561560495289181218537629-1', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 0.50315999, 'yint': 0.50315999, 'A': 0.0002153330778227767, 'B': 0.005129891760425664, 'pa': 2.8571428571428076e-05, 'pb': 2.631578947368312e-05}), ConstantProductCurve(k=443607.9519434853, x=3.85826034424969, x_act=0, y_act=9876.976514, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537639-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 9876.976514, 'yint': 9876.976514, 'A': 14.829426635724872, 'B': 157.79733838059485, 'pa': 29799.999999999665, 'pb': 24899.999999999953}), ConstantProductCurve(k=5324.625267368582, x=12680.839210183807, x_act=0, y_act=0.01198047, pair='USDC-eB48/WBTC-C599', cid='4083388403051261561560495289181218537639-1', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 0.01198047, 'yint': 0.01198047, 'A': 0.00016418343273514376, 'B': 0.0055901699437491455, 'pa': 3.311258278145614e-05, 'pb': 3.124999999999633e-05}), ConstantProductCurve(k=3316749913763783.5, x=331674.9583747572, x_act=0, y_act=1000.0, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537755-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 1000.0, 'yint': 1000.0, 'A': 0, 'B': 173.63754485997586, 'pa': 30149.999999999825, 'pb': 30149.999999999825})] + curves_expected_after = [ConstantProductCurve(k=2290523503.4460173, x=273.1073125047371, x_act=0.07743961144774403, y_act=1814.6001096442342, pair='WBTC-C599/USDC-eB48', cid='0x8d7ac7e77704f3ac75534d5500159a7a4b7e6e23dbdca7d9a8085bdea0348d0c', fee=0.0005, descr='uniswap_v3 WBTC-C599/USDC-eB48 500', constr='pkpp', params={'exchange': 'uniswap_v3', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17675876, 'L': 47859.413948}), ConstantProductCurve(k=5459975.623181331, x=437148.88403306017, x_act=0, y_act=0.50315999, pair='USDC-eB48/WBTC-C599', cid='4083388403051261561560495289181218537629-1', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 0.50315999, 'yint': 0.50315999, 'A': 0.0002153330778227767, 'B': 0.005129891760425664, 'pa': 2.8571428571428076e-05, 'pb': 2.631578947368312e-05}), ConstantProductCurve(k=5324.625267368582, x=12680.839210183807, x_act=0, y_act=0.01198047, pair='USDC-eB48/WBTC-C599', cid='4083388403051261561560495289181218537639-1', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 0.01198047, 'yint': 0.01198047, 'A': 0.00016418343273514376, 'B': 0.0055901699437491455, 'pa': 3.311258278145614e-05, 'pb': 3.124999999999633e-05})] + test_process_wrong_direction_pools = finder.process_wrong_direction_pools(curve_combo=curves_before, wrong_direction_cids=wrong_direction_cids) + O, profit_src, r, trade_instructions_df = finder.run_main_flow(curves=curves_expected_after, src_token="WBTC-C599", tkn0="USDC-eB48", tkn1="WBTC-C599") + + assert len(curves_before) - len(wrong_direction_cids) == len(test_process_wrong_direction_pools), f"[TestMultiMode] Wrong direction CIDs not removed correctly, started with {len(curves_before)}, removing {len(wrong_direction_cids)}, expected {len(curves_before) - len(wrong_direction_cids)} got {len(test_process_wrong_direction_pools)}" + for curve in test_process_wrong_direction_pools: + assert curve.cid not in wrong_direction_cids, f"[TestMultiMode] Failed to remove curve {curve.cid} from list of wrong direction pools" + assert iseq(profit_src, 2.905623487869935e-05) \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_040_TestSingleMode.py b/fastlane_bot/tests/nbtest/test_040_TestSingleMode.py new file mode 100644 index 000000000..c088278a3 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_040_TestSingleMode.py @@ -0,0 +1,232 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_040_TestSingleMode.py` +# ------------------------------------------------------------ +# source file = NBTest_040_TestSingleMode.py +# test id = 040 +# test comment = TestSingleMode +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 0.02 +C.DEFAULT_MIN_PROFIT = 0.02 +cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 +cfg.DEFAULT_MIN_PROFIT = 0.02 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "single" + +assert(cfg.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestSingleMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" +assert(C.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestSingleMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + + + + +# ------------------------------------------------------------ +# Test 040 +# File test_040_TestSingleMode.py +# Segment Test_arb_mode_class +# ------------------------------------------------------------ +def test_test_arb_mode_class(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("single") + assert arb_finder.__name__ == "FindArbitrageSinglePairwise", f"[TestSingleMode] Expected arb_finder class name name = FindArbitrageSinglePairwise, found {arb_finder.__name__}" + + +# ------------------------------------------------------------ +# Test 040 +# File test_040_TestSingleMode.py +# Segment Test_tokens_and_combos +# ------------------------------------------------------------ +def test_test_tokens_and_combos(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("single") + finder2 = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_TOKENS, + ConfigObj=bot.ConfigObj, + ) + all_tokens, combos = finder2.find_arbitrage() + assert len(all_tokens) == 543, f"[TestMultiMode] Using wrong dataset, expected 545 tokens, found {len(all_tokens)}" + assert len(combos) == 3252, f"[TestMultiMode] Using wrong dataset, expected 3264 tokens, found {len(combos)}" + + # ### Test_Single_Arb_Finder_vs_run + + run_full = bot._run(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode=arb_mode, data_validator=False, result=bot.XS_ARBOPPS) + arb_finder = bot._get_arb_finder("single") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + assert len(r) == 26, f"[TestSingleMode] Expected 26 arbs, found {len(r)}" + assert len(r) == len(run_full), f"[TestSingleMode] Expected arbs from .find_arbitrage - {len(r)} - to match _run - {len(run_full)}" + + r + + +# ------------------------------------------------------------ +# Test 040 +# File test_040_TestSingleMode.py +# Segment Test_no_multi_carbon +# ------------------------------------------------------------ +def test_test_no_multi_carbon(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("single") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + multi_carbon_count = 0 + + for arb in r: + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = arb + if len(best_trade_instructions_dic) > 2: + multi_carbon_count += 1 + + assert multi_carbon_count == 0, f"[TestSingleMode] Expected arbs without multiple Carbon curves, but found {len(multi_carbon_count)}" + # - + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_042_TestBancorV3ModeTwoHop.py b/fastlane_bot/tests/nbtest/test_042_TestBancorV3ModeTwoHop.py new file mode 100644 index 000000000..aa467f2b0 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_042_TestBancorV3ModeTwoHop.py @@ -0,0 +1,465 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_042_TestBancorV3ModeTwoHop.py` +# ------------------------------------------------------------ +# source file = NBTest_042_TestBancorV3ModeTwoHop.py +# test id = 042 +# test comment = TestBancorV3ModeTwoHop +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 50 +C.DEFAULT_MIN_PROFIT = 50 +cfg.DEFAULT_MIN_PROFIT_BNT = 50 +cfg.DEFAULT_MIN_PROFIT = 50 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "b3_two_hop" + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_min_profit +# ------------------------------------------------------------ +def test_test_min_profit(): +# ------------------------------------------------------------ + + assert C.DEFAULT_MIN_PROFIT_BNT == 50, f"[test_bancor_v3_two_hop] wrong DEFAULT_MIN_PROFIT_BNT for test, expected 50, got {C.DEFAULT_MIN_PROFIT_BNT}" + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_arb_mode_class +# ------------------------------------------------------------ +def test_test_arb_mode_class(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("b3_two_hop") + assert arb_finder.__name__ == "ArbitrageFinderTriangleBancor3TwoHop", f"[test_bancor_v3_two_hop] Wrong Arb Finder class, expected ArbitrageFinderTriangleBancor3TwoHop, got {arb_finder.__name__}" + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_Trade_Merge +# ------------------------------------------------------------ +def test_test_trade_merge(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("b3_two_hop") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r + ( + ordered_trade_instructions_dct, + tx_in_count, + ) = bot._simple_ordering_by_src_token( + best_trade_instructions_dic, best_src_token + ) + ordered_scaled_dcts = bot._basic_scaling( + ordered_trade_instructions_dct, best_src_token + ) + # Convert the trade instructions + ordered_trade_instructions_objects = bot._convert_trade_instructions( + ordered_scaled_dcts) + tx_route_handler = bot.TxRouteHandlerClass( + trade_instructions=ordered_trade_instructions_objects + ) + agg_trade_instructions = ( + tx_route_handler.aggregate_carbon_trades(ordered_trade_instructions_objects) + if bot._carbon_in_trade_route(ordered_trade_instructions_objects) + else ordered_trade_instructions_objects + ) + # Calculate the trade instructions + calculated_trade_instructions = tx_route_handler.calculate_trade_outputs( + agg_trade_instructions + ) + assert len(calculated_trade_instructions) == 3 + # Aggregate multiple Bancor V3 trades into a single trade + calculated_trade_instructions = TxRouteHandler.aggregate_bancor_v3_trades( + calculated_trade_instructions + ) + assert len(calculated_trade_instructions) == 2 + assert calculated_trade_instructions[0].tknin != "BNT-FF1C" + assert calculated_trade_instructions[0].tknout != "BNT-FF1C" + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_get_optimal_arb_trade_amts +# ------------------------------------------------------------ +def test_test_get_optimal_arb_trade_amts(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("b3_two_hop") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r + ( + ordered_trade_instructions_dct, + tx_in_count, + ) = bot._simple_ordering_by_src_token( + best_trade_instructions_dic, best_src_token + ) + + + pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] + first_check_pools = finder.get_exact_pools(pool_cids) + + assert first_check_pools[0].cid == '0x7be3da0f8d0f70d8f7a84a08dd267beea4318ed1c9fb3d602b0f3a3c7bd1cf4a', f"[test_bancor_v3_two_hop] Validation, wrong first pool, expected CID: 0x7be3da0f8d0f70d8f7a84a08dd267beea4318ed1c9fb3d602b0f3a3c7bd1cf4a, got CID: {first_check_pools[0].cid}" + assert first_check_pools[1].cid == '0x748ab2bef0d97e5a044268626e6c9c104bab818605d44f650fdeaa03a3c742d2', f"[test_bancor_v3_two_hop] Validation, wrong second pool, expected CID: 0x748ab2bef0d97e5a044268626e6c9c104bab818605d44f650fdeaa03a3c742d2, got CID: {first_check_pools[1].cid}" + assert first_check_pools[2].cid == '0xb1d8cd62f75016872495dae3e19d96e364767e7d674488392029d15cdbcd7b34', f"[test_bancor_v3_two_hop] Validation, wrong third pool, expected CID: 0xb1d8cd62f75016872495dae3e19d96e364767e7d674488392029d15cdbcd7b34, got CID: {first_check_pools[2].cid}" + assert(len(first_check_pools) == 3), f"[test_bancor_v3_two_hop] Validation expected 3 pools, got {len(first_check_pools)}" + for pool in first_check_pools: + assert type(pool) == ConstantProductCurve, f"[test_bancor_v3_two_hop] Validation pool type mismatch, got {type(pool)} expected ConstantProductCurve" + assert pool.cid in pool_cids, f"[test_bancor_v3_two_hop] Validation missing pool.cid {pool.cid} in {pool_cids}" + + optimal_arb = finder.get_optimal_arb_trade_amts(pool_cids, 'DAI-1d0F') + assert type(optimal_arb) == float, f"[test_bancor_v3_two_hop] Optimal arb calculation type is {type(optimal_arb)} not float" + assert iseq(optimal_arb, 6179.168331968203), f"[test_bancor_v3_two_hop] Optimal arb calculation type is {optimal_arb}, expected 6179.168331968203" + # - + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_max_arb_trade_in_constant_product +# ------------------------------------------------------------ +def test_test_max_arb_trade_in_constant_product(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("b3_two_hop") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r + ( + ordered_trade_instructions_dct, + tx_in_count, + ) = bot._simple_ordering_by_src_token( + best_trade_instructions_dic, best_src_token + ) + + + pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] + first_check_pools = finder.get_exact_pools(pool_cids) + flt='DAI-1d0F' + tkn0 = flt + tkn1 = finder.get_tkn(pool=first_check_pools[0], tkn_num=1) if finder.get_tkn(pool=first_check_pools[0], tkn_num=1) != flt else finder.get_tkn(pool=first_check_pools[0], tkn_num=0) + tkn2 = finder.get_tkn(pool=first_check_pools[1], tkn_num=0) if finder.get_tkn(pool=first_check_pools[1], tkn_num=0) == tkn1 else finder.get_tkn(pool=first_check_pools[1], tkn_num=1) + tkn3 = finder.get_tkn(pool=first_check_pools[1], tkn_num=0) if finder.get_tkn(pool=first_check_pools[1], tkn_num=0) != tkn1 else finder.get_tkn(pool=first_check_pools[1], tkn_num=1) + tkn5 = finder.get_tkn(pool=first_check_pools[2], tkn_num=1) if finder.get_tkn(pool=first_check_pools[2], tkn_num=1) == flt else finder.get_tkn(pool=first_check_pools[2], tkn_num=0) + p0t0 = first_check_pools[0].x if finder.get_tkn(pool=first_check_pools[0], tkn_num=0) == flt else first_check_pools[0].y + p0t1 = first_check_pools[0].y if finder.get_tkn(pool=first_check_pools[0], tkn_num=0) == flt else first_check_pools[0].x + p1t0 = first_check_pools[1].x if tkn1 == finder.get_tkn(pool=first_check_pools[1], tkn_num=0) else first_check_pools[1].y + p1t1 = first_check_pools[1].y if tkn1 == finder.get_tkn(pool=first_check_pools[1], tkn_num=0) else first_check_pools[1].x + p2t0 = first_check_pools[2].x if finder.get_tkn(pool=first_check_pools[2], tkn_num=0) != flt else first_check_pools[2].y + p2t1 = first_check_pools[2].y if finder.get_tkn(pool=first_check_pools[2], tkn_num=0) != flt else first_check_pools[2].x + fee0 = finder.get_fee_safe(first_check_pools[0].fee) + fee1 = finder.get_fee_safe(first_check_pools[1].fee) + fee2 = finder.get_fee_safe(first_check_pools[2].fee) + optimal_arb = finder.get_optimal_arb_trade_amts(pool_cids, 'DAI-1d0F') + optimal_arb_low_level_check = finder.max_arb_trade_in_constant_product(p0t0=p0t0, p0t1=p0t1, p1t0=p1t0, p1t1=p1t1, p2t0=p2t0, p2t1=p2t1,fee0=fee0, fee1=fee1, fee2=fee2) + assert iseq(optimal_arb, optimal_arb_low_level_check), f"[test_bancor_v3_two_hop] Arb calculation result mismatch, pools likely ordered incorrectly, previous calc: {optimal_arb}, this calc: {optimal_arb_low_level_check}" + # max_arb_in = finder.max_arb_trade_in_constant_product(p0t0, p0t1, p1t0, p1t1, p2t0, p2t1, fee0=fee0, fee1=fee1, fee2=fee2) + # finder.ConfigObj.logger.info(f"\n\nfirst_check_pools: {first_check_pools}\n\nValidating trade, max_arb_in= {max_arb_in} {tkn0} -> {tkn1} -> {tkn3} -> {tkn5}, token amts: {p0t0, p0t1, p1t0, p1t1, p2t0, p2t1}, fees: {fee0, fee1, fee2}") + # - + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_get_fee_safe +# ------------------------------------------------------------ +def test_test_get_fee_safe(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("b3_two_hop") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r + ( + ordered_trade_instructions_dct, + tx_in_count, + ) = bot._simple_ordering_by_src_token( + best_trade_instructions_dic, best_src_token + ) + + pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] + first_check_pools = finder.get_exact_pools(pool_cids) + ext_fee = finder.get_fee_safe(first_check_pools[2].fee) + assert type(ext_fee) == float, f"[test_bancor_v3_two_hop] Testing external pool, fee type is {type(ext_fee)} not float" + assert iseq(ext_fee, 0.0005), f"[test_bancor_v3_two_hop] Testing external pool, fee amt is {ext_fee} not 0.0005" + + # - + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_combos +# ------------------------------------------------------------ +def test_test_combos(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("b3_two_hop") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + #test_2_pools = [ConstantProductCurve(k=2921921249910.464, x=2760126.9934445512, x_act=2760126.9934445512, y_act=1058618.410258, pair='BNT-FF1C/USDC-eB48', cid='0xc4771395e1389e2e3a12ec22efbb7aff5b1c04e5ce9c7596a82e9dc8fdec725b', fee=0.0, descr='bancor_v3 BNT-FF1C/USDC-eB48 0.000', constr='uv2', params={'exchange': 'bancor_v3', 'tknx_dec': 18, 'tkny_dec': 6, 'tknx_addr': '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17713739}), ConstantProductCurve(k=518129588.60853314, x=6351922.348885405, x_act=6351922.348885405, y_act=81.57051679, pair='BNT-FF1C/WBTC-C599', cid='0x3885d978c125e66686e3f678ab64d5b09e61f89bf6e87c9ff66e740fd06aeefa', fee=0.0, descr='bancor_v3 BNT-FF1C/WBTC-C599 0.000', constr='uv2', params={'exchange': 'bancor_v3', 'tknx_dec': 18, 'tkny_dec': 8, 'tknx_addr': '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', 'tkny_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'blocklud': 17713739}), ConstantProductCurve(k=787603837541.6204, x=5107.692365701484, x_act=4.159867948255851, y_act=336571.44633978605, pair='WBTC-C599/USDC-eB48', cid='0x49ed97db2c080b7eac91dfaa7d51d5e8ac34c4dcfbcd3e8f2ed326a2a527b959', fee=0.003, descr='uniswap_v3 WBTC-C599/USDC-eB48 3000', constr='pkpp', params={'exchange': 'uniswap_v3', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17713395, 'L': 887470.4713632})] + flt = {'MKR-79A2', 'TRAC-0A6F', 'MONA-412A', 'WBTC-C599', 'WOO-5D4B', 'MATIC-eBB0', 'BAT-87EF', 'UOS-5C8c', 'LRC-EafD', 'NMR-6671', 'DIP-cD83', 'TEMP-1aB9', 'ICHI-A881', 'USDC-eB48', 'ENS-9D72', 'vBNT-7f94', 'ANKR-EDD4', 'UNI-F984', 'REQ-938a', 'WETH-6Cc2', 'AAVE-DaE9', 'ENJ-3B9c', 'MANA-C942', 'wNXM-2bDE', 'QNT-4675', 'RLC-7375', 'CROWN-E0fa', 'CHZ-b4AF', 'USDT-1ec7', 'DAI-1d0F', 'RPL-A51f', 'HOT-26E2', 'LINK-86CA', 'wstETH-2Ca0'} + combos = finder.get_combos(flashloan_tokens=flt, CCm=CCm, arb_mode="b3_two_hop") + assert len(combos) == 1122, "[test_bancor_v3_two_hop] Different data used for tests, expected 1122 combos" + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_get_miniverse_combos +# ------------------------------------------------------------ +def test_test_get_miniverse_combos(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("b3_two_hop") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + flt = {'MKR-79A2', 'TRAC-0A6F', 'MONA-412A', 'WBTC-C599', 'WOO-5D4B', 'MATIC-eBB0', 'BAT-87EF', 'UOS-5C8c', 'LRC-EafD', 'NMR-6671', 'DIP-cD83', 'TEMP-1aB9', 'ICHI-A881', 'USDC-eB48', 'ENS-9D72', 'vBNT-7f94', 'ANKR-EDD4', 'UNI-F984', 'REQ-938a', 'WETH-6Cc2', 'AAVE-DaE9', 'ENJ-3B9c', 'MANA-C942', 'wNXM-2bDE', 'QNT-4675', 'RLC-7375', 'CROWN-E0fa', 'CHZ-b4AF', 'USDT-1ec7', 'DAI-1d0F', 'RPL-A51f', 'HOT-26E2', 'LINK-86CA', 'wstETH-2Ca0'} + combos = finder.get_combos(flashloan_tokens=flt, CCm=CCm, arb_mode="b3_two_hop") + all_miniverses = finder.get_miniverse_combos(combos) + assert len(all_miniverses) == 144, f"[test_bancor_v3_two_hop] Different data used for tests, expected 146 miniverses, found {len(all_miniverses)}" + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_get_mono_direction_carbon_curves +# ------------------------------------------------------------ +def test_test_get_mono_direction_carbon_curves(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("b3_two_hop") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + + bancor_v3_curve_0 = ( + finder.CCm.bypairs(f"BNT-FF1C/WETH-6Cc2") + .byparams(exchange="bancor_v3") + .curves + ) + bancor_v3_curve_1 = ( + finder.CCm.bypairs(f"BNT-FF1C/USDC-eB48") + .byparams(exchange="bancor_v3") + .curves + ) + + carbon_curves = finder.CCm.bypairs(f"USDC-eB48/WETH-6Cc2") + carbon_curves = list(set(carbon_curves)) + carbon_curves = [ + curve + for curve in carbon_curves + if curve.params.get("exchange") == "carbon_v1" + ] + miniverse = [bancor_v3_curve_0 + bancor_v3_curve_1 + carbon_curves] + max_arb_carbon = finder.run_main_flow(miniverse=miniverse[0], src_token="BNT-FF1C") + + ( + profit_src_0, + trade_instructions_0, + trade_instructions_df_0, + trade_instructions_dic_0, + ) = max_arb_carbon + mono_carbon = finder.get_mono_direction_carbon_curves(miniverse[0], trade_instructions_df=trade_instructions_df_0, token_in=None) + test_mono_carbon = finder.get_mono_direction_carbon_curves(miniverse[0], trade_instructions_df=trade_instructions_df_0, token_in='WETH-6Cc2') + # Test that get_mono_direction_carbon_curves removed two curves + assert len(test_mono_carbon) != len(mono_carbon), f"[test_bancor_v3_two_hop] Issue with get_mono_direction_carbon_curves, should have removed one or more pools" \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_043_TestEmptyCarbonOrders.py b/fastlane_bot/tests/nbtest/test_043_TestEmptyCarbonOrders.py new file mode 100644 index 000000000..2d7382a41 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_043_TestEmptyCarbonOrders.py @@ -0,0 +1,234 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_043_TestEmptyCarbonOrders.py` +# ------------------------------------------------------------ +# source file = NBTest_043_TestEmptyCarbonOrders.py +# test id = 043 +# test comment = TestEmptyCarbonOrders +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +from dataclasses import dataclass, asdict, field +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 0.02 +C.DEFAULT_MIN_PROFIT = 0.02 +cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 +cfg.DEFAULT_MIN_PROFIT = 0.02 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "multi" + + +# ------------------------------------------------------------ +# Test 043 +# File test_043_TestEmptyCarbonOrders.py +# Segment Test_Empty_Carbon_Orders_Removed +# ------------------------------------------------------------ +def test_test_empty_carbon_orders_removed(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("multi") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=arb_finder.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r[11] + + best_trade_instructions_dic + # Check that this gets filtered out + test_trade = [{'cid': '0x36445535fc762f6c53277a667500a41e31b51bec800e76aab33dafab75da4eaa', + 'tknin': 'WBTC-C599', + 'amtin': 0.008570336169213988, + 'tknout': 'WETH-6Cc2', + 'amtout': -0.13937506393995136, + 'error': None}, + {'cid': '9187623906865338513511114400657741709420-1', + 'tknin': 'WETH-6Cc2', + 'amtin': 0, + 'tknout': 'WBTC-C599', + 'amtout': 0, + 'error': None}, + {'cid': '9187623906865338513511114400657741709458-1', + 'tknin': 'WETH-6Cc2', + 'amtin': 0.13937506393995136, + 'tknout': 'WBTC-C599', + 'amtout': 0.008870336169213988, + 'error': None}] + + ( + ordered_trade_instructions_dct, + tx_in_count, + ) = bot._simple_ordering_by_src_token( + test_trade, best_src_token + ) + ordered_scaled_dcts = bot._basic_scaling( + ordered_trade_instructions_dct, best_src_token + ) + ordered_trade_instructions_objects = bot._convert_trade_instructions(ordered_scaled_dcts) + tx_route_handler = bot.TxRouteHandlerClass( + trade_instructions=ordered_trade_instructions_objects + ) + agg_trade_instructions = ( + tx_route_handler.aggregate_carbon_trades(ordered_trade_instructions_objects) + if bot._carbon_in_trade_route(ordered_trade_instructions_objects) + else ordered_trade_instructions_objects + ) + # Calculate the trade instructions + calculated_trade_instructions = tx_route_handler.calculate_trade_outputs( + agg_trade_instructions + ) + encoded_trade_instructions = tx_route_handler.custom_data_encoder( + calculated_trade_instructions + ) + deadline = bot._get_deadline(1) + + # Get the route struct + route_struct = [ + asdict(rs) + for rs in tx_route_handler.get_route_structs( + encoded_trade_instructions, deadline + ) + ] + for route in route_struct: + if route["platformId"] == 6: + encoded_trade = route["customData"].split("0x")[1] + encoded_trades = [encoded_trade[i:i+64] for i in range(0, len(encoded_trade), 64)] + for trade in encoded_trades: + assert trade != "0000000000000000000000000000000000000000000000000000000000000000", f"[TestEmptyCarbonOrders] Empty Carbon instructions not filtered out by calculate_trade_outputs" + # - + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_045_Validator.py b/fastlane_bot/tests/nbtest/test_045_Validator.py new file mode 100644 index 000000000..12ead32d1 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_045_Validator.py @@ -0,0 +1,289 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_045_Validator.py` +# ------------------------------------------------------------ +# source file = NBTest_045_Validator.py +# test id = 045 +# test comment = Validator +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 0.02 +C.DEFAULT_MIN_PROFIT = 0.02 +cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 +cfg.DEFAULT_MIN_PROFIT = 0.02 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "multi" + + +# ------------------------------------------------------------ +# Test 045 +# File test_045_Validator.py +# Segment Test_MIN_PROFIT +# ------------------------------------------------------------ +def test_test_min_profit(): +# ------------------------------------------------------------ + + assert(cfg.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + assert(C.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + + +# ------------------------------------------------------------ +# Test 045 +# File test_045_Validator.py +# Segment Test_validator_in_out +# ------------------------------------------------------------ +def test_test_validator_in_out(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("multi") + assert arb_finder.__name__ == "FindArbitrageMultiPairwise", f"[TestMultiMode] Expected arb_finder class name name = FindArbitrageMultiPairwise, found {arb_finder.__name__}" + + +# ------------------------------------------------------------ +# Test 045 +# File test_045_Validator.py +# Segment Test_validator_multi +# ------------------------------------------------------------ +def test_test_validator_multi(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("multi") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + + arb_opp = r[0] + + validated = bot.validate_optimizer_trades(arb_opp=arb_opp, arb_mode="multi", arb_finder=finder) + + + + assert arb_opp == validated + + # - + + +# ------------------------------------------------------------ +# Test 045 +# File test_045_Validator.py +# Segment Test_validator_single +# ------------------------------------------------------------ +def test_test_validator_single(): +# ------------------------------------------------------------ + + # + + arb_mode="single" + arb_finder = bot._get_arb_finder(arb_mode) + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + + arb_opp = 111 + + validated = bot.validate_optimizer_trades(arb_opp=arb_opp, arb_mode=arb_mode, arb_finder=finder) + + + assert arb_opp == validated + # - + + +# ------------------------------------------------------------ +# Test 045 +# File test_045_Validator.py +# Segment Test_validator_bancor_v3 +# ------------------------------------------------------------ +def test_test_validator_bancor_v3(): +# ------------------------------------------------------------ + + # + + arb_mode="bancor_v3" + + arb_finder = bot._get_arb_finder(arb_mode) + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + + arb_opp = None + + for arb in r: + has_carbon = False + for trade in arb[2]: + if '-' in trade['cid']: + has_carbon = True + + if not has_carbon: + arb_opp = arb + break + + validated = bot.validate_optimizer_trades(arb_opp=arb_opp, arb_mode=arb_mode, arb_finder=finder) + + assert arb_opp != validated + # - + + +# ------------------------------------------------------------ +# Test 045 +# File test_045_Validator.py +# Segment Test_validator_multi_triangle +# ------------------------------------------------------------ +def test_test_validator_multi_triangle(): +# ------------------------------------------------------------ + + # + + arb_mode="multi_triangle" + arb_finder = bot._get_arb_finder(arb_mode) + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + + arb_opp = 1191 + + validated = bot.validate_optimizer_trades(arb_opp=arb_opp, arb_mode=arb_mode, arb_finder=finder) + + + + assert arb_opp == validated \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_047_Randomizer.py b/fastlane_bot/tests/nbtest/test_047_Randomizer.py new file mode 100644 index 000000000..fb55f6144 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_047_Randomizer.py @@ -0,0 +1,225 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_047_Randomizer.py` +# ------------------------------------------------------------ +# source file = NBTest_047_Randomizer.py +# test id = 047 +# test comment = Randomizer +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 0.02 +C.DEFAULT_MIN_PROFIT = 0.02 +cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 +cfg.DEFAULT_MIN_PROFIT = 0.02 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "multi" + + +# ------------------------------------------------------------ +# Test 047 +# File test_047_Randomizer.py +# Segment Test_randomizer +# ------------------------------------------------------------ +def test_test_randomizer(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("multi") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + + #arb_opp = r[0] + + + assert len(r) == 26, f"[NB047 Randomizer], expected 26 arbs, found {len(r)}" + + + arb_opp_0 = bot.randomize(arb_opps=r, randomizer=0) + arb_opp_1 = bot.randomize(arb_opps=r, randomizer=1) + arb_opp_2 = bot.randomize(arb_opps=r, randomizer=1) + arb_opp_3 = bot.randomize(arb_opps=r, randomizer=1) + arb_opp_25 = bot.randomize(arb_opps=r, randomizer=1) + arb_opp_None = bot.randomize(arb_opps=None, randomizer=5) + + assert len(arb_opp_0) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_0)}" + assert len(arb_opp_1) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_1)}" + assert len(arb_opp_2) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_2)}" + assert len(arb_opp_3) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_3)}" + assert len(arb_opp_25) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_25)}" + assert isinstance(np.float64(arb_opp_0[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_0[0])}" + assert isinstance(np.float64(arb_opp_1[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_1[0])}" + assert isinstance(np.float64(arb_opp_2[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_2[0])}" + # - + + assert isinstance(np.float64(arb_opp_3[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_3[0])}" + assert isinstance(np.float64(arb_opp_25[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_25[0])}" + + arb_opp_0[2] + + assert type(arb_opp_0[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_0[2])}" + assert type(arb_opp_1[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_1[2])}" + assert type(arb_opp_2[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_2[2])}" + assert type(arb_opp_3[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_3[2])}" + assert type(arb_opp_25[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_25[2])}" + + assert arb_opp_None == None, f"[NB047 Randomizer], expected randomizer to return None when it receives None, but it returned {type(arb_opp_None)}" + + +# ------------------------------------------------------------ +# Test 047 +# File test_047_Randomizer.py +# Segment Test_sorted_by_profit +# ------------------------------------------------------------ +def test_test_sorted_by_profit(): +# ------------------------------------------------------------ + + # + + arb_opps = [(2.6927646232907136, [{'cid': '0xe37abfaee752c24a764955cbb2d10c3c9f88472263cbd2c00ca57facb0f128fe', 'tknin': 'WETH-6Cc2', 'amtin': 0.003982724863828224, 'tknout': 'BNT-FF1C', 'amtout': -19.27862435251882, 'error': None}, {'cid': '3743106036130323098097120681749450326076-0', 'tknin': 'BNT-FF1C', 'amtin': 16.585859729228105, 'tknout': 'WETH-6Cc2', 'amtout': -0.003982724874543209, 'error': None}] + ), (2.5352758371554955, [{'cid': '0x748ab2bef0d97e5a044268626e6c9c104bab818605d44f650fdeaa03a3c742d2', 'tknin': 'WETH-6Cc2', 'amtin': 0.003982718826136988, 'tknout': 'BNT-FF1C', 'amtout': -19.1211355663836, 'error': None}, {'cid': '3743106036130323098097120681749450326076-0', 'tknin': 'BNT-FF1C', 'amtin': 16.585859729228105, 'tknout': 'WETH-6Cc2', 'amtout': -0.003982724874543209, 'error': None}] + ), (1.9702345513100596, [{'cid': '0xc4771395e1389e2e3a12ec22efbb7aff5b1c04e5ce9c7596a82e9dc8fdec725b', 'tknin': 'BNT-FF1C', 'amtin': 750.6057364856824, 'tknout': 'USDC-eB48', 'amtout': -293.5068652469199, 'error': None}, {'cid': '2381976568446569244243622252022377480332-1', 'tknin': 'USDC-eB48', 'amtin': 292.73623752593994, 'tknout': 'BNT-FF1C', 'amtout': -750.6057367324829, 'error': None}] + ), (2.67115241495777, [{'cid': '0xe37abfaee752c24a764955cbb2d10c3c9f88472263cbd2c00ca57facb0f128fe', 'tknin': 'WETH-6Cc2', 'amtin': 0.0034263543081607395, 'tknout': 'BNT-FF1C', 'amtout': -16.58585974665766, 'error': None}, {'cid': '3743106036130323098097120681749450326076-0', 'tknin': 'BNT-FF1C', 'amtin': 16.585859729228105, 'tknout': 'WETH-6Cc2', 'amtout': -0.003982724874543209, 'error': None}] + ), (2.535310217715329, [{'cid': '0x748ab2bef0d97e5a044268626e6c9c104bab818605d44f650fdeaa03a3c742d2', 'tknin': 'WETH-6Cc2', 'amtin': 0.003454648687693407, 'tknout': 'BNT-FF1C', 'amtout': -16.58585971966386, 'error': None}, {'cid': '3743106036130323098097120681749450326076-0', 'tknin': 'BNT-FF1C', 'amtin': 16.585859729228105, 'tknout': 'WETH-6Cc2', 'amtout': -0.003982724874543209, 'error': None}] + ), (5.438084583685771, [{'cid': '0x8f9771f2886aa12c1659c275b8e305f58c7c41ba82df03bb21c0bcac98ffde4b', 'tknin': 'WETH-6Cc2', 'amtin': 0.002847350733645726, 'tknout': 'HEX-eb39', 'amtout': -556.3312638401985, 'error': None}, {'cid': '14291859410679415465461733512134264881242-0', 'tknin': 'HEX-eb39', 'amtin': 556.3312644516602, 'tknout': 'WETH-6Cc2', 'amtout': -0.003980041696137606, 'error': None}] + ), (5.400385044154462, [{'cid': '0x3a98798837e610ac07762e2d58f29f0cf96297a2528f86e0fe9b903b1e45a204', 'tknin': 'WETH-6Cc2', 'amtin': 0.0028413006787388895, 'tknout': 'HEX-eb39', 'amtout': -553.6187023743987, 'error': None}, {'cid': '14291859410679415465461733512134264881242-0', 'tknin': 'HEX-eb39', 'amtin': 553.6187027173414, 'tknout': 'WETH-6Cc2', 'amtout': -0.003966139257351835, 'error': None}] + ), (1.9713220433332026, [{'cid': '0xc4771395e1389e2e3a12ec22efbb7aff5b1c04e5ce9c7596a82e9dc8fdec725b', 'tknin': 'BNT-FF1C', 'amtin': 748.6344146891497, 'tknout': 'USDC-eB48', 'amtout': -292.73623879346997, 'error': None}, {'cid': '2381976568446569244243622252022377480332-1', 'tknin': 'USDC-eB48', 'amtin': 292.73623752593994, 'tknout': 'BNT-FF1C', 'amtout': -750.6057367324829, 'error': None}] + ), (8.465616944048316, [{'cid': '0x5b5f170977fe879c965a9fec9aeba4dfe29659f503cd5fe6e67349bdc3089295', 'tknin': '0x0-1AD5', 'amtin': 359.7323400862515, 'tknout': 'WETH-6Cc2', 'amtout': -0.0070300615800533706, 'error': None}, {'cid': '9868188640707215440437863615521278132277-1', 'tknin': 'WETH-6Cc2', 'amtin': 0.00526677017535393, 'tknout': '0x0-1AD5', 'amtout': -359.73234041399974, 'error': None}] + ), (6.717558869249757, [{'cid': '0x1eda42a2cced5e9cfffe1b15d7c39253514267401c5bd2e9ca28287f8a996fde', 'tknin': 'rETH-6393', 'amtin': 0.2496827895520255, 'tknout': 'WETH-6Cc2', 'amtout': -0.26914170442614704, 'error': None}, {'cid': '3062541302288446171170371466885913903202-0', 'tknin': 'WETH-6Cc2', 'amtin': 0.267742513570596, 'tknout': 'rETH-6393', 'amtout': -0.2496827897163172, 'error': None}] + )] + + ops = bot.randomize(arb_opps=arb_opps, randomizer=3) + + assert iseq(ops[0], 8.465616944048316) or iseq(ops[0], 6.717558869249757) or iseq(ops[0], 5.438084583685771), f"[NB047 Randomizer], expected randomizer to return top 3 most profitable arbs, but it did not!" + # - + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_048_RespectFlashloanTokensClickParam.py b/fastlane_bot/tests/nbtest/test_048_RespectFlashloanTokensClickParam.py new file mode 100644 index 000000000..8d553c5c2 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_048_RespectFlashloanTokensClickParam.py @@ -0,0 +1,100 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_048_RespectFlashloanTokensClickParam.py` +# ------------------------------------------------------------ +# source file = NBTest_048_RespectFlashloanTokensClickParam.py +# test id = 048 +# test comment = RespectFlashloanTokensClickParam +# ------------------------------------------------------------ + + + +""" +This module contains the tests which ensure that the flashloan tokens click parameters are respected. +""" +from fastlane_bot import Bot +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +import subprocess, os, sys +import pytest +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + + +def find_main_py(): + # Start at the directory of the current script + cwd = os.path.abspath(os.path.join(os.getcwd())) + + print(f"Searching for main.py in {cwd}") + while True: + # Check if main.py exists in the current directory + if "main.py" in os.listdir(cwd): + return cwd # Found the directory containing main.py + else: + # If not, go up one directory + new_cwd = os.path.dirname(cwd) + + # If we're already at the root directory, stop searching + if new_cwd == cwd: + raise FileNotFoundError("Could not find main.py in any parent directory") + + cwd = new_cwd + + +def run_command(arb_mode, expected_log_line): + + # Find the correct path to main.py + main_script_path = find_main_py() + print(f"Found main.py in {main_script_path}") + main_script_path = main_script_path + "/main.py" + + # Run the command + cmd = [ + "python", + main_script_path, + f"--arb_mode={arb_mode}", + "--default_min_profit_bnt=60", + "--limit_bancor3_flashloan_tokens=False", + "--use_cached_events=True", + "--logging_path=fastlane_bot/data/", + "--timeout=1", + "--loglevel=DEBUG", + "--flashloan_tokens=BNT-FF1C,ETH-EEeE,ETH2X-FLI-USD", + ] + subprocess.Popen(cmd) + + # Wait for the expected log line to appear + found = False + result = subprocess.run(cmd, text=True, capture_output=True, check=True, timeout=7) + + # Check if the expected log line is in the output + if expected_log_line in result.stderr or expected_log_line in result.stdout: + found = True + + if not found: + pytest.fail("Expected log line was not found within 1 minute") # If we reach this point, the test has failed + + + + +# ------------------------------------------------------------ +# Test 048 +# File test_048_RespectFlashloanTokensClickParam.py +# Segment Test flashloan_tokens is Respected +# ------------------------------------------------------------ +def test_test_flashloan_tokens_is_respected(): +# ------------------------------------------------------------ + + expected_log_line = "Flashloan tokens are set as: ['BNT-FF1C', 'ETH-EEeE', 'ETH2X_FLI-USD']" + arb_mode = "multi" + run_command(arb_mode=arb_mode, expected_log_line=expected_log_line) \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_049_CustomTradingFees.py b/fastlane_bot/tests/nbtest/test_049_CustomTradingFees.py new file mode 100644 index 000000000..a5b8d9423 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_049_CustomTradingFees.py @@ -0,0 +1,148 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_049_CustomTradingFees.py` +# ------------------------------------------------------------ +# source file = NBTest_049_CustomTradingFees.py +# test id = 049 +# test comment = CustomTradingFees +# ------------------------------------------------------------ + + + +from unittest.mock import Mock, patch, call + +import pytest +from unittest.mock import MagicMock + +from fastlane_bot import Bot, Config +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.managers.manager import Manager +Base = None +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC + +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * + +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + +# + +import json + +with open("fastlane_bot/data/event_test_data.json", "r") as f: + event_data = json.load(f) + +with open("fastlane_bot/data/test_pool_data.json", "r") as f: + pool_data = json.load(f) + + +cfg = Config.new(config=Config.CONFIG_MAINNET) + +manager = Manager(cfg.w3, cfg, pool_data, 20, SUPPORTED_EXCHANGES=['bancor_v3', 'carbon_v1', 'uniswap_v2', 'uniswap_v3']) + + + +# ------------------------------------------------------------ +# Test 049 +# File test_049_CustomTradingFees.py +# Segment test_update_from_event_carbon_v1_pair_create +# ------------------------------------------------------------ +def test_test_update_from_event_carbon_v1_pair_create(): +# ------------------------------------------------------------ + + # + + event = event_data['carbon_v1_event_pair_created'] + assert (event['args']['token0'], event['args']['token1']) not in manager.fee_pairs + + manager.update_from_event(event) + + assert (event['args']['token0'], event['args']['token1']) in manager.fee_pairs + + # - + + +# ------------------------------------------------------------ +# Test 049 +# File test_049_CustomTradingFees.py +# Segment test_update_from_event_carbon_v1_trading_fee_updated +# ------------------------------------------------------------ +def test_test_update_from_event_carbon_v1_trading_fee_updated(): +# ------------------------------------------------------------ + # + + # + + event = event_data['carbon_v1_trading_fee_updated'] + prevFeePPM = event['args']['prevFeePPM'] + newFeePPM = event['args']['newFeePPM'] + + mocked_contract = Mock() + mocked_contract.functions.tradingFeePPM.return_value.call.return_value = prevFeePPM + assert int(manager.exchanges['carbon_v1'].get_fee('', mocked_contract)[0]) == prevFeePPM + + # find all pools with fee==prevFeePPM + prev_default_pools = [idx for idx, pool in enumerate(manager.pool_data) if pool['fee'] == prevFeePPM] + + manager.update_from_event(event) + + for idx in prev_default_pools: + assert manager.pool_data[idx]['fee'] == newFeePPM + + mocked_contract.functions.tradingFeePPM.return_value.call.return_value = newFeePPM + + assert int(manager.exchanges['carbon_v1'].get_fee('', mocked_contract)[0]) == newFeePPM + # - + + +# ------------------------------------------------------------ +# Test 049 +# File test_049_CustomTradingFees.py +# Segment test_update_from_event_carbon_v1_pair_trading_fee_updated +# ------------------------------------------------------------ +def test_test_update_from_event_carbon_v1_pair_trading_fee_updated(): +# ------------------------------------------------------------ + + # + + event = event_data['carbon_v1_pair_trading_fee_updated'] + prevFeePPM = event['args']['prevFeePPM'] + newFeePPM = event['args']['newFeePPM'] + token0 = event['args']['token0'] + token1 = event['args']['token1'] + + # set the fee for the pair to prevFeePPM + idxs = [idx for idx, pool in enumerate(manager.pool_data) if pool['tkn0_address'] == token0 and pool['tkn1_address'] == token1 and pool['exchange_name'] == 'carbon_v1'] + for idx in idxs: + manager.pool_data[idx]['fee'] = f"{prevFeePPM}" + manager.pool_data[idx]['fee_float'] = prevFeePPM / 1e6 + + # set all other pools with a different fee than prevFeePPM + others = [i for i, pool in enumerate(manager.pool_data) if i not in idxs and pool['exchange_name'] == 'carbon_v1'] + for i in others: + manager.pool_data[i]['fee'] = f"{prevFeePPM-1}" + manager.pool_data[i]['fee_float'] = (prevFeePPM-1) / 1e6 + + manager.update_from_event(event) + + # check that the fee for the pair is now newFeePPM + for idx in idxs: + assert manager.pool_data[idx]['fee'] == f"{newFeePPM}" + assert manager.pool_data[idx]['fee_float'] == newFeePPM / 1e6 + + # check that all other pools have not been changed + for i in others: + assert manager.pool_data[i]['fee'] == f"{prevFeePPM-1}" + assert manager.pool_data[i]['fee_float'] == (prevFeePPM-1) / 1e6 + + # - + + # + + # \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_050_TestBancorV2.py b/fastlane_bot/tests/nbtest/test_050_TestBancorV2.py new file mode 100644 index 000000000..133cbbd2f --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_050_TestBancorV2.py @@ -0,0 +1,322 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_050_TestBancorV2.py` +# ------------------------------------------------------------ +# source file = NBTest_050_TestBancorV2.py +# test id = 050 +# test comment = TestBancorV2 +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T +from dataclasses import dataclass, asdict, field +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 0.02 +C.DEFAULT_MIN_PROFIT = 0.02 +cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 +cfg.DEFAULT_MIN_PROFIT = 0.02 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None + +with open('fastlane_bot/data/tests/latest_pool_data_testing_bancor_v2.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "multi" + + +# ------------------------------------------------------------ +# Test 050 +# File test_050_TestBancorV2.py +# Segment Test_MIN_PROFIT +# ------------------------------------------------------------ +def test_test_min_profit(): +# ------------------------------------------------------------ + + assert(cfg.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + assert(C.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + + +# ------------------------------------------------------------ +# Test 050 +# File test_050_TestBancorV2.py +# Segment Test_Combos_and_Tokens +# ------------------------------------------------------------ +def test_test_combos_and_tokens(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("multi") + finder2 = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_TOKENS, + ConfigObj=bot.ConfigObj, + ) + all_tokens, combos = finder2.find_arbitrage() + assert len(all_tokens) == 969, f"[NBTest_50_TestBancorV2] Using wrong dataset, expected 969 tokens, found {len(all_tokens)}" + assert len(combos) == 5808, f"[NBTest_50_TestBancorV2] Using wrong dataset, expected 5808 tokens, found {len(combos)}" + + + +# ------------------------------------------------------------ +# Test 050 +# File test_050_TestBancorV2.py +# Segment Test_Expected_Output_BancorV2 +# ------------------------------------------------------------ +def test_test_expected_output_bancorv2(): +# ------------------------------------------------------------ + + # + + run_full = bot._run(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode=arb_mode, data_validator=False, result=bot.XS_ARBOPPS) + arb_finder = bot._get_arb_finder("multi") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + arb_with_bancor_v2 = [] + + for arb_opp in r: + pools = [] + for pool in arb_opp[2]: + pools += [curve for curve in CCm if curve.cid == pool['cid']] + for pool in pools: + if pool.params['exchange'] == "bancor_v2": + arb_with_bancor_v2.append(arb_opp) + + # get specific arb for tests + + test_arb = None + + test_cids = ['0x297f9a0e8d3f57de8c62a8fde0ff09193b934ff0ae906085526f0b97b90e188a', '3743106036130323098097120681749450326076-0', '3743106036130323098097120681749450326076-1'] + + for arb in arb_with_bancor_v2: + all_match = True + for pool in arb[2]: + if pool['cid'] not in test_cids: + all_match = False + + if all_match: + test_arb = arb + + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = test_arb + + # Order the trade instructions + ( + ordered_trade_instructions_dct, + tx_in_count, + ) = bot._simple_ordering_by_src_token( + best_trade_instructions_dic, best_src_token + ) + + # Scale the trade instructions + ordered_scaled_dcts = bot._basic_scaling( + ordered_trade_instructions_dct, best_src_token + ) + + # Convert the trade instructions + ordered_trade_instructions_objects = bot._convert_trade_instructions( + ordered_scaled_dcts + ) + + # Create the tx route handler + tx_route_handler = bot.TxRouteHandlerClass( + trade_instructions=ordered_trade_instructions_objects + ) + + # Aggregate the carbon trades + agg_trade_instructions = ( + tx_route_handler.aggregate_carbon_trades(ordered_trade_instructions_objects) + if bot._carbon_in_trade_route(ordered_trade_instructions_objects) + else ordered_trade_instructions_objects + ) + + # Calculate the trade instructions + calculated_trade_instructions = tx_route_handler.calculate_trade_outputs( + agg_trade_instructions + ) + + # Aggregate multiple Bancor V3 trades into a single trade + calculated_trade_instructions = tx_route_handler.aggregate_bancor_v3_trades( + calculated_trade_instructions + ) + + # Get the flashloan token + fl_token = fl_token_with_weth = calculated_trade_instructions[0].tknin_key + + # If the flashloan token is WETH, then use ETH + if fl_token == T.WETH: + fl_token = T.NATIVE_ETH + + best_profit = flashloan_tkn_profit = tx_route_handler.calculate_trade_profit(calculated_trade_instructions) + + # Use helper function to calculate profit + best_profit, flt_per_bnt, profit_usd = bot.calculate_profit( + CCm, best_profit, fl_token, fl_token_with_weth + ) + + # Check if the best profit is greater than the minimum profit + if best_profit < bot.ConfigObj.DEFAULT_MIN_PROFIT: + bot.ConfigObj.logger.info( + f"Opportunity with profit: {num_format(best_profit)} does not meet minimum profit: {self.ConfigObj.DEFAULT_MIN_PROFIT}, discarding." + ) + + # Get the flashloan amount and token address + flashloan_amount = int(calculated_trade_instructions[0].amtin_wei) + flashloan_token_address = bot.ConfigObj.w3.toChecksumAddress( + bot.db.get_token(key=fl_token).address + ) + + # Encode the trade instructions + encoded_trade_instructions = tx_route_handler.custom_data_encoder( + calculated_trade_instructions + ) + + # Get the deadline + deadline = bot._get_deadline(1) + + # Get the route struct + route_struct = [ + asdict(rs) + for rs in tx_route_handler.get_route_structs( + encoded_trade_instructions, deadline + ) + ] + assert arb_finder.__name__ == "FindArbitrageMultiPairwise", f"[NBTest_50_TestBancorV2] Expected arb_finder class name name = FindArbitrageMultiPairwise, found {arb_finder.__name__}" + assert len(r) == 34, f"[NBTest_50_TestBancorV2] Expected 34 arb opps, found {len(r)}" + assert len(arb_with_bancor_v2) == 4, f"[NBTest_50_TestBancorV2] Expected 4 arb opps with Bancor V2 pools, found {len(arb_with_bancor_v2)}" + assert encoded_trade_instructions[0].amtin * 10 ** 18 == flashloan_amount, f"[NBTest_50_TestBancorV2] First trade in should match flashloan amount" + assert route_struct[0]['customAddress'] == "0xb1CD6e4153B2a390Cf00A6556b0fC1458C4A5533" or route_struct[1]['customAddress'] == "0xb1CD6e4153B2a390Cf00A6556b0fC1458C4A5533", f"[NBTest_50_TestBancorV2] customAddress for Bancor V2.1 trade must be converter token address, expected: 0xb1CD6e4153B2a390Cf00A6556b0fC1458C4A5533 for one address, found: {route_struct[0]['customAddress']} and {route_struct[1]['customAddress']}" + # - + + + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_051_BalancerFlashloans.py b/fastlane_bot/tests/nbtest/test_051_BalancerFlashloans.py new file mode 100644 index 000000000..97ca2de8e --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_051_BalancerFlashloans.py @@ -0,0 +1,367 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_051_BalancerFlashloans.py` +# ------------------------------------------------------------ +# source file = NBTest_051_BalancerFlashloans.py +# test id = 051 +# test comment = BalancerFlashloans +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +from dataclasses import dataclass, asdict, field +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 20 +C.DEFAULT_MIN_PROFIT = 20 +cfg.DEFAULT_MIN_PROFIT_BNT = 20 +cfg.DEFAULT_MIN_PROFIT = 20 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None + +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) + + +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "multi_pairwise" + + +# ------------------------------------------------------------ +# Test 051 +# File test_051_BalancerFlashloans.py +# Segment Test_extract_flashloan_tokens +# ------------------------------------------------------------ +def test_test_extract_flashloan_tokens(): +# ------------------------------------------------------------ + + # + + ti1 = TradeInstruction( + cid='4083388403051261561560495289181218537544', + tknin='USDC-eB48', + amtin=5000, + tknout='WBTC-2c599', + amtout=1, + ConfigObj=cfg, + db = db, + tknin_dec_override = 6, + tknout_dec_override = 8, + tknin_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + tknout_addr_override = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', + exchange_override = 'bancor_v3' + ) + + ti2 = TradeInstruction( + cid='4083388403051261561560495289181218537544', + tknin='WBTC-2c599', + amtin=1, + tknout='USDC-eB48', + amtout=5005, + ConfigObj=cfg, + db = db, + tknout_dec_override = 8, + tknin_dec_override = 6, + tknout_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + tknin_addr_override = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', + exchange_override = 'carbon_v1' + ) + + ti3 = TradeInstruction( + cid='4083388403051261561560495289181218537544', + tknin='USDC-eB48', + amtin=5000, + tknout='WBTC-2c599', + amtout=1, + ConfigObj=cfg, + db = db, + tknin_dec_override = 6, + tknout_dec_override = 8, + tknin_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + tknout_addr_override = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', + exchange_override = 'bancor_v3' + ) + + ti4 = TradeInstruction( + cid='4083388403051261561560495289181218537544', + tknin='WBTC-2c599', + amtin=0.2, + tknout='USDC-eB48', + amtout=1000, + ConfigObj=cfg, + db = db, + tknout_dec_override = 8, + tknin_dec_override = 6, + tknout_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + tknin_addr_override = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', + exchange_override = 'carbon_v1' + ) + ti5 = TradeInstruction( + cid='4083388403051261561560495289181218537544', + tknin='WBTC-2c599', + amtin=0.3, + tknout='USDC-eB48', + amtout=2000, + ConfigObj=cfg, + db = db, + tknout_dec_override = 8, + tknin_dec_override = 6, + tknout_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + tknin_addr_override = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', + exchange_override = 'carbon_v1' + ) + + ti6 = TradeInstruction( + cid='4083388403051261561560495289181218537544', + tknin='WBTC-2c599', + amtin=0.5, + tknout='USDC-eB48', + amtout=3005, + ConfigObj=cfg, + db = db, + tknout_dec_override = 8, + tknin_dec_override = 6, + tknout_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + tknin_addr_override = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', + exchange_override = 'carbon_v1' + ) + + ti7 = TradeInstruction( + cid='4083388403051261561560495289181218537544', + tknin='USDT', + amtin=2000, + tknout='ETH-EEeE', + amtout=1.5, + ConfigObj=cfg, + db = db, + tknin_dec_override = 6, + tknout_dec_override = 18, + tknin_addr_override = '0xdAC17F958D2ee523a2206206994597C13D831ec7', + tknout_addr_override = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', + exchange_override = 'bancor_v3' + ) + + ti8 = TradeInstruction( + cid='4083388403051261561560495289181218537544', + tknin='ETH-EEeE', + amtin=1.5, + tknout='USDT', + amtout=3005, + ConfigObj=cfg, + db = db, + tknout_dec_override = 18, + tknin_dec_override = 6, + tknout_addr_override = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', + tknin_addr_override = '0xdAC17F958D2ee523a2206206994597C13D831ec7', + exchange_override = 'carbon_v1' + ) + + ti9 = TradeInstruction( + cid='4083388403051261561560495289181218537544', + tknin='ETH-EEeE', + amtin=5, + tknout='USDC', + amtout=10000, + ConfigObj=cfg, + db = db, + tknin_dec_override = 18, + tknout_dec_override = 6, + tknin_addr_override = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', + tknout_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + exchange_override = 'bancor_v3' + ) + + ti10 = TradeInstruction( + cid='4083388403051261561560495289181218537544', + tknin='USDC', + amtin=10000, + tknout='ETH-EEeE', + amtout=5.7, + ConfigObj=cfg, + db = db, + tknout_dec_override = 6, + tknin_dec_override = 18, + tknout_addr_override = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', + tknin_addr_override = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', + exchange_override = 'carbon_v1' + ) + + ti11 = TradeInstruction( + cid='4083388403051261561560495289181218537544', + tknin='BNT-FF1C', + amtin=50000, + tknout='USDC', + amtout=20000, + ConfigObj=cfg, + db = db, + tknin_dec_override = 18, + tknout_dec_override = 6, + tknin_addr_override = '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', + tknout_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + exchange_override = 'bancor_v3' + ) + + ti12 = TradeInstruction( + cid='4083388403051261561560495289181218537544', + tknin='USDC', + amtin=20000, + tknout='BNT-FF1C', + amtout=50115, + ConfigObj=cfg, + db = db, + tknout_dec_override = 6, + tknin_dec_override = 18, + tknout_addr_override = '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', + tknin_addr_override = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + exchange_override = 'carbon_v1' + ) + instructions = [ti1, ti2] + instructions2 = [ti3, ti4, ti5, ti6, ti7, ti8] + instructions3 = [ti3, ti4, ti5, ti6, ti7, ti8, ti9, ti10, ti11, ti12] + + route_handler = TxRouteHandler(instructions) + route_handler2 = TxRouteHandler(instructions2) + route_handler3 = TxRouteHandler(instructions3) + + + flashloan_tokens = route_handler._extract_flashloan_tokens(instructions) + flashloan_tokens2 = route_handler._extract_flashloan_tokens(instructions2) + flashloan_tokens3 = route_handler._extract_flashloan_tokens(instructions3) + + + flashloan_struct = route_handler._get_flashloan_struct(instructions2) + flashloan_struct2 = route_handler._get_flashloan_struct(instructions3) + + + flash_struct3 = route_handler.generate_flashloan_struct(instructions3) + + assert len(flashloan_tokens2.keys()) == 2 + assert flashloan_tokens2['USDC-eB48']["flash_amt"] == 5000 + assert flashloan_tokens2['USDT']["flash_amt"] == 2000 + assert len(flash_struct3) == 4, f"[Advanced Routing NBTest044] wrong number of flash tokens length, expected 4, got {len(flash_struct3)}" + assert flash_struct3[0]['platformId'] == 2, f"[Balancer Flashloan Support [NBTest049]] wrong platformId, expected 2, got {flash_struct3[0]['platformId']}" + assert flash_struct3[1]['platformId'] == 2, f"[Balancer Flashloan Support [NBTest049]] wrong platformId, expected 2, got {flash_struct3[1]['platformId']}" + assert flash_struct3[3]['platformId'] == 7, f"[Balancer Flashloan Support [NBTest049]] wrong platformId, expected 7, got {flash_struct3[2]['platformId']}" + + for flashloan in flash_struct3: + assert len(flashloan['sourceTokens']) == len(flashloan['sourceAmounts']), f"[Balancer Flashloan Support [NBTest049]] number of source tokens does not match source amounts, tkns: {len(flashloan['sourceTokens'])} amts: {len(flashloan['sourceAmounts'])}" + # - + + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_051_CPCBalancer.py b/fastlane_bot/tests/nbtest/test_051_CPCBalancer.py new file mode 100644 index 000000000..6fcf0fd19 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_051_CPCBalancer.py @@ -0,0 +1,661 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_051_CPCBalancer.py` +# ------------------------------------------------------------ +# source file = NBTest_051_CPCBalancer.py +# test id = 051 +# test comment = CPCBalancer +# ------------------------------------------------------------ + + + +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CurveBase +from fastlane_bot.testing import * + +from math import sqrt +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) + + + + +# ------------------------------------------------------------ +# Test 051 +# File test_051_CPCBalancer.py +# Segment pvec interface for CPC +# ------------------------------------------------------------ +def test_pvec_interface_for_cpc(): +# ------------------------------------------------------------ + + c0 = CPC.from_xy(100, 200) + assert c0.tknx == "TKNB" + assert c0.tkny == "TKNQ" + k0 = c0.invariant() + assert iseq(k0, sqrt(100*200)) + k1, k2 = c0.invariant(include_target=True) + assert iseq(k0, k1, k2) + + x,y,_ = c0.xyfromp_f(c0.p) + xvec = c0.xvecfrompvec_f({c0.tknx: c0.p, c0.tkny: 1} ) + assert iseq(x, 100) + assert iseq(y, 200) + assert iseq(xvec[c0.tknx], x) + assert iseq(xvec[c0.tkny], y) + assert iseq(c0.invariant(), c0.invariant(xvec)) + assert raises(c0.xvecfrompvec_f, {c0.tknx: c0.p} ).startswith("pvec must contain") + assert raises(c0.xvecfrompvec_f, {c0.tkny: 1} ).startswith("pvec must contain") + + p = 1.5*c0.p + x,y,_ = c0.xyfromp_f(p) + xvec = c0.xvecfrompvec_f({c0.tknx: p, c0.tkny: 1} ) + xvec2 = c0.xvecfrompvec_f({c0.tknx: 3*p, c0.tkny: 3} ) + xvec3 = c0.xvecfrompvec_f({c0.tknx: 3*p, c0.tkny: 3, "ETH": 15, "BTC": 300} ) + assert xvec == xvec2 + assert xvec == xvec3 + assert iseq(x, 81.64965809277261) + assert iseq(y, 244.9489742783178) + assert iseq(xvec[c0.tknx], x) + assert iseq(xvec[c0.tkny], y) + assert iseq(c0.invariant(), c0.invariant(xvec)) + + dx,dy,_ = c0.dxdyfromp_f(c0.p) + dxvec = c0.dxvecfrompvec_f({c0.tknx: c0.p, c0.tkny: 1} ) + assert abs(dx)<1e-10 + assert abs(dy)<1e-10 + assert iseq(dxvec[c0.tknx], dx) + assert iseq(dxvec[c0.tkny], dy) + assert raises(c0.dxvecfrompvec_f, {c0.tknx: c0.p} ).startswith("pvec must contain") + assert raises(c0.dxvecfrompvec_f, {c0.tkny: 1} ).startswith("pvec must contain") + + p = 1.5*c0.p + dx,dy,_ = c0.dxdyfromp_f(p) + dxvec = c0.dxvecfrompvec_f({c0.tknx: p, c0.tkny: 1} ) + dxvec2 = c0.dxvecfrompvec_f({c0.tknx: 3*p, c0.tkny: 3} ) + dxvec3 = c0.dxvecfrompvec_f({c0.tknx: 3*p, c0.tkny: 3, "ETH": 15, "BTC": 300} ) + assert dxvec == dxvec2 + assert dxvec == dxvec3 + assert iseq(dx, -18.35034190722739) + assert iseq(dy, 44.94897427831779) + assert iseq(dxvec[c0.tknx], dx) + assert iseq(dxvec[c0.tkny], dy) + + + +# ------------------------------------------------------------ +# Test 051 +# File test_051_CPCBalancer.py +# Segment CurveBase +# ------------------------------------------------------------ +def test_curvebase(): +# ------------------------------------------------------------ + + # Checking that `CurveBase` can only instantiate with all functions defined + + # + + class CB1(CurveBase): + pass + + class CB2(CurveBase): + def dxvecfrompvec_f(self, pvec, *, ignorebounds=False): + pass + + class CB3(CurveBase): + def xvecfrompvec_f(self, pvec, *, ignorebounds=False): + pass + + class CB4(CurveBase): + def xvecfrompvec_f(self, pvec, *, ignorebounds=False): + pass + def dxvecfrompvec_f(self, pvec, *, ignorebounds=False): + pass + def invariant(self, xvec=None, *, include_target=False): + pass + + assert raises(CB1).startswith("Can't instantiate abstract class") + assert raises(CB2).startswith("Can't instantiate abstract class") + assert raises(CB3).startswith("Can't instantiate abstract class") + assert not raises(CB4) + # - + + assert isinstance(CPC.from_xy(100, 200), CurveBase) + + +# ------------------------------------------------------------ +# Test 051 +# File test_051_CPCBalancer.py +# Segment Constant product constructor +# ------------------------------------------------------------ +def test_constant_product_constructor(): +# ------------------------------------------------------------ + + c0 = CPC.from_xy(100, 200) + assert c0.x == 100 + assert c0.y == 200 + assert c0.k == 20000 + assert c0.x == c0.x_act + assert c0.y == c0.y_act + assert c0.alpha == 0.5 + assert c0.eta == 1 + assert c0.constr == "xy" + assert c0.is_constant_product() == True + c0 + + assert c0.asdict() == { + 'k': 20000, + 'x': 100, + 'x_act': 100, + 'y_act': 200.0, + 'alpha': 0.5, + 'pair': 'TKNB/TKNQ', + 'cid': 'None', + 'fee': None, + 'descr': None, + 'constr': 'xy', + 'params': {} + } + + c1 = CPC.from_xyal(100, 200) + assert c1.constr == "xyal" + assert c1.is_constant_product() == True + assert c1==c0 + c1 + + assert c1.asdict() == { + 'k': 20000, + 'x': 100, + 'x_act': 100, + 'y_act': 200.0, + 'alpha': 0.5, + 'pair': 'TKNB/TKNQ', + 'cid': 'None', + 'fee': None, + 'descr': None, + 'constr': 'xyal', + 'params': {} + } + + c2 = CPC.from_xyal(100, 200, alpha=0.5) + assert c2.constr == "xyal" + assert c2.is_constant_product() == True + assert c2==c0 + assert c2.asdict() == c1.asdict() + c2 + + c3 = CPC.from_xyal(100, 200, eta=1) + assert c3.constr == "xyal" + assert c3.is_constant_product() == True + assert c3==c0 + assert c3.asdict() == c1.asdict() + c3 + + assert raises(CPC.from_xyal, 100, 200, + alpha=0.5, eta=1) == 'at most one of alpha and eta must be given [0.5, 1]' + + +# ------------------------------------------------------------ +# Test 051 +# File test_051_CPCBalancer.py +# Segment Weighted constructor +# ------------------------------------------------------------ +def test_weighted_constructor(): +# ------------------------------------------------------------ + + c0 = CPC.from_xy(100, 200) + assert c0.x == 100 + assert c0.y == 200 + assert c0.k == 20000 + assert c0.x == c0.x_act + assert c0.y == c0.y_act + assert c0.alpha == 0.5 + assert c0.eta == 1 + assert c0.constr == "xy" + assert iseq(c0.invariant(), c0.kbar) + assert c0.is_constant_product() == True + c0 + + + + c1 = CPC.from_xyal(100, 200) + assert c1.constr == "xyal" + assert c1.is_constant_product() == True + assert c1 == c0 + assert c1.asdict()["alpha"] == 0.5 + assert iseq(c1.invariant(), c1.kbar) + c1 + + c2 = CPC.from_xyal(100, 200, alpha=0.25) + assert c2.constr == "xyal" + assert c2.is_constant_product() == False + assert c2.alpha == 0.25 + assert c2.asdict()["alpha"] == 0.25 + assert iseq(c2.eta, 0.25/0.75) + assert iseq(c2.invariant(), c2.kbar) + assert c2 != c0 + assert c2 != c1 + c2 + + c3 = CPC.from_xyal(100, 200, alpha=0.8) + assert c3.constr == "xyal" + assert c3.is_constant_product() == False + assert iseq(c3.alpha, 0.8) + assert c3.asdict()["alpha"] == 0.8 + assert iseq(c3.eta, 0.8/0.2) + assert iseq(c3.invariant(), c3.kbar) + assert c3 != c0 + assert c3 != c1 + assert c3 != c2 + c2 + + c3b = CPC.fromdict(c3.asdict()) + assert c3b == c3 + c3b + + assert raises(CPC.from_xyal,100, 200, alpha=0) == 'alpha must be > 0 [0]' + assert raises(CPC.from_xyal,100, 200, alpha=-1) == 'alpha must be > 0 [-1]' + assert raises(CPC.from_xyal,100, 200, alpha=1) == 'alpha must be < 1 [1]' + assert raises(CPC.from_xyal,100, 200, alpha=2) == 'alpha must be < 1 [2]' + + raises(CPC.from_xyal,100, 200, alpha=0) + + assert not raises(CPC.from_xyal,100, 200, alpha=1-1e-10) + assert not raises(CPC.from_xyal,100, 200, alpha=0.01) + + raises(CPC.from_xyal,100, 200, alpha=0.001) + + +# ------------------------------------------------------------ +# Test 051 +# File test_051_CPCBalancer.py +# Segment High level testing of all functions +# ------------------------------------------------------------ +def test_high_level_testing_of_all_functions(): +# ------------------------------------------------------------ + # + # (including not YET implemented) + + c0 = CPC.from_xyal(100, 200) + assert c0.is_constant_product() == True + c0 + + c1 = CPC.from_xyal(100, 200, alpha=0.25) + assert c1.is_constant_product() == False + c1 + + # #### Not (yet) implemented functions + # + # Those function groups are not currently planned to be implemented at all + # + # - `execute` as there is no need to simulate those curves for the time being; that was a Carbon thing + # + # The functions we may implement at a later stage are + # + # - `description` should probably be updated, but it is tedious; `format` ditto + # - `x_max`, `x_min`, `p_max`, `p_min` and the other leverage functions once we consider it important and safe + + # execute + + assert not raises(c0.execute) + assert raises(c1.execute).startswith("only implemented for") + + # description and format + + assert not raises(c0.description) + assert raises(c1.description).startswith("only implemented for") + + assert not raises(c0.format) + assert raises(c1.format).startswith("only implemented for") + + # leverage related functions (primary) + + assert not raises(lambda: c0.p_max) + assert not raises(lambda: c1.p_max) + + assert not raises(lambda: c0.p_min) + assert not raises(lambda: c1.p_min) + + assert not raises(lambda: c0.x_min) + assert not raises(lambda: c1.x_min) + + assert not raises(lambda: c0.x_max) + assert not raises(lambda: c1.x_max) + + assert not raises(lambda: c0.y_min) + assert not raises(lambda: c1.y_min) + + assert not raises(lambda: c0.y_max) + assert not raises(lambda: c1.y_max) + + # leverage related functions (secondary, ie calling primary ones) + + assert not raises(c0.p_max_primary) + assert not raises(c1.p_max_primary) + + assert not raises(c0.p_min_primary) + assert not raises(c1.p_min_primary) + + assert not raises(lambda: c0.at_xmin) + assert not raises(lambda: c1.at_xmin) + + assert not raises(lambda: c0.at_xmax) + assert not raises(lambda: c1.at_xmax) + + assert not raises(lambda: c0.at_ymin) + assert not raises(lambda: c1.at_ymin) + + assert not raises(lambda: c0.at_ymax) + assert not raises(lambda: c1.at_ymax) + + assert not raises(lambda: c0.at_boundary) + assert not raises(lambda: c1.at_boundary) + + # todo + + assert not raises(c0.xyfromp_f) + assert not raises(c1.xyfromp_f) + + assert not raises(c0.dxdyfromp_f) + assert not raises(c1.dxdyfromp_f) + + # #### Implemented functions + + assert not raises(lambda: c0.y) + assert not raises(lambda: c1.y) + + assert not raises(lambda: c0.p) + assert not raises(lambda: c1.p) + + assert not raises(lambda: c0.kbar) + assert not raises(lambda: c1.kbar) + + assert not raises(c0.tvl) + assert not raises(c1.tvl) + + assert not raises(c0.yfromx_f, 110) + assert not raises(c1.yfromx_f, 110, ignorebounds=True) + assert not raises(c1.yfromx_f, 110, ignorebounds=False) + + assert not raises(c0.xfromy_f, 210) + assert not raises(c1.xfromy_f, 110, ignorebounds=True) + assert not raises(c1.xfromy_f, 110, ignorebounds=False) + + assert not raises(c0.dyfromdx_f, 1) + assert not raises(c1.dyfromdx_f, 1, ignorebounds=True) + assert not raises(c1.dyfromdx_f, 1, ignorebounds=False) + + assert not raises(c0.dxfromdy_f, 1) + assert not raises(c1.dxfromdy_f, 1, ignorebounds=True) + assert not raises(c1.dxfromdy_f, 1, ignorebounds=False) + + +# ------------------------------------------------------------ +# Test 051 +# File test_051_CPCBalancer.py +# Segment Simple Tests +# ------------------------------------------------------------ +def test_simple_tests(): +# ------------------------------------------------------------ + + c0 = CPC.from_xyal(100, 200) + c1 = CPC.from_xyal(100, 200, eta=2) + c2 = CPC.from_xyal(100, 200, eta=0.5) + + assert iseq(c0.alpha, 1/2) + assert iseq(c1.alpha, 2/3) + assert iseq(c2.alpha, 1/3) + + # #### Current token balance $y$ + # + # $$ + # y = \left( \frac k x \right)^\eta + # $$ + + assert iseq(c0.y, 200) + assert iseq(c1.y, 200) + assert iseq(c2.y, 200) + + # #### Current price $p$ + # + # $$ + # p = \eta\, \frac y x + # $$ + + assert iseq(c0.p, 2 * c0.eta) + assert iseq(c1.p, 2 * c1.eta) + assert iseq(c2.p, 2 * c2.eta) + + # #### TVL + # + # $$ + # \mathrm{TVL} = x_a*p + y_a + # $$ + + assert c0.x == c0.x_act + assert c0.y == c0.y_act + assert c1.x == c1.x_act + assert c1.y == c1.y_act + assert c2.x == c2.x_act + assert c2.y == c2.y_act + + assert iseq(c0.tvl(), 100 * c0.p + 200) + assert iseq(c1.tvl(), 100 * c1.p + 200) + assert iseq(c2.tvl(), 100 * c2.p + 200) + + # #### Pool constant $k$ + # + # $$ + # k^\alpha = x^\alpha\, y^{1-\alpha} + # $$ + # + # $$ + # k = x\,y^\frac{1-\alpha}{\alpha} = x\,y^{\frac 1 \eta} + # $$ + # + + assert iseq(c0.k**(1/2), c0.x**(1/2) * c0.y**(1/2)) + assert iseq(c1.k**(2/3), c1.x**(2/3) * c1.y**(1/3)) + assert iseq(c2.k**(1/3), c1.x**(1/3) * c1.y**(2/3)) + + # #### Pool constant $\bar k$ + # + # $$ + # x^\alpha\, y^{1-\alpha} = \bar k = k^\alpha + # $$ + + assert iseq(c0.kbar, c0.x**(1/2) * c0.y**(1/2)) + assert iseq(c1.kbar, c1.x**(2/3) * c1.y**(1/3)) + assert iseq(c2.kbar, c1.x**(1/3) * c1.y**(2/3)) + + assert iseq(c0.kbar, c0.k**c0.alpha) + assert iseq(c1.kbar, c1.k**c1.alpha) + assert iseq(c2.kbar, c2.k**c2.alpha) + + # #### Token balance function $y(x)$ + # + # $$ + # y(x) = \left( \frac k x \right)^\eta + # $$ + + assert c0.eta == 1 + assert iseq(c0.yfromx_f(100, ignorebounds=True), 200) + assert iseq(c0.yfromx_f( 50, ignorebounds=True), 400) + assert iseq(c0.yfromx_f(200, ignorebounds=True), 100) + + assert iseq(c1.eta, 2) + assert iseq(c1.yfromx_f(100, ignorebounds=True), 200) + assert iseq(c1.yfromx_f( 50, ignorebounds=True), 200*2**2) + assert iseq(c1.yfromx_f(200, ignorebounds=True), 200/2**2) + + assert iseq(c2.eta, 1/2) + assert iseq(c2.yfromx_f(100, ignorebounds=True), 200) + assert iseq(c2.yfromx_f( 50, ignorebounds=True), 200*sqrt(2)) + assert iseq(c2.yfromx_f(200, ignorebounds=True), 200/sqrt(2)) + + # #### Token balance function $x(y)$ + # + # $$ + # x(y) + # = \frac{k}{ y^{\frac{1-\alpha}{\alpha}} } + # = \frac{k}{ y^{\frac{1}{\eta}} } + # $$ + + assert c0.eta == 1 + assert iseq(c0.xfromy_f(200, ignorebounds=True), 100) + assert iseq(c0.xfromy_f(100, ignorebounds=True), 200) + assert iseq(c0.xfromy_f(400, ignorebounds=True), 50) + + assert iseq(c1.eta, 2) + assert iseq(c1.xfromy_f(200, ignorebounds=True), 100) + assert iseq(c1.xfromy_f(100, ignorebounds=True), 100*2**0.5) + assert iseq(c1.xfromy_f(400, ignorebounds=True), 100/2**0.5) + + assert iseq(c2.eta, 1/2) + assert iseq(c2.xfromy_f(200, ignorebounds=True), 100) + assert iseq(c2.xfromy_f(100, ignorebounds=True), 100*2**2) + assert iseq(c2.xfromy_f(400, ignorebounds=True), 100/2**2) + + # #### Price response function $(x(p), y(p))$ + # + # $$ + # x(p) + # = + # \left(\frac \eta p\right)^{1-\alpha} k^\alpha + # $$ + # + # $$ + # y(p) = \left( \frac{kp}{\eta} \right)^\alpha + # $$ + + assert iseq(c0.xyfromp_f(c0.p, ignorebounds=True)[0], c0.x) + assert iseq(c1.xyfromp_f(c1.p, ignorebounds=True)[0], c1.x) + assert iseq(c2.xyfromp_f(c2.p, ignorebounds=True)[0], c2.x) + + assert iseq(c0.xyfromp_f(c0.p, ignorebounds=True)[1], c0.y) + assert iseq(c1.xyfromp_f(c1.p, ignorebounds=True)[1], c1.y) + assert iseq(c2.xyfromp_f(c2.p, ignorebounds=True)[1], c2.y) + + for ci in [c0, c1, c2]: + for p in [2, 1, 4]: + eta_over_p = ci.eta / p + x = eta_over_p ** (1-ci.alpha) * ci.kbar + y = 1/eta_over_p**ci.alpha * ci.kbar + xx, yy, pp = ci.xyfromp_f (p, ignorebounds=True) + dx, dy, _ = ci.dxdyfromp_f(p, ignorebounds=True) + assert iseq(x, xx) + assert iseq(y, yy) + assert iseq(p, pp) + assert iseq(dx, xx-ci.x) + assert iseq(dy, yy-ci.y) + + +# ------------------------------------------------------------ +# Test 051 +# File test_051_CPCBalancer.py +# Segment Consistency tests +# ------------------------------------------------------------ +def test_consistency_tests(): +# ------------------------------------------------------------ + + c0 = CPC.from_xyal(100, 200) + c1 = CPC.from_xyal(100, 200, eta=2) + c2 = CPC.from_xyal(100, 200, eta=0.5) + cc = [c0, c1, c2] + + assert iseq(c0.alpha, 1/2) + assert iseq(c1.alpha, 2/3) + assert iseq(c2.alpha, 1/3) + + # ### Assert inversions + # + # $$ + # y(x(y)) = y + # $$ + # + # and vice versa + + for xy in np.logspace(1, 3, 100): + for ci in cc: + #print(f"xy={xy}, eta={ci.eta}") + assert iseq(ci.yfromx_f(ci.xfromy_f(xy, ignorebounds=True), ignorebounds=True), xy) + assert iseq(ci.xfromy_f(ci.yfromx_f(xy, ignorebounds=True), ignorebounds=True), xy) + + # ### Assert that prices are correct + # + # $$ + # p \simeq -\frac{\Delta y}{\Delta x} + # $$ + + for alpha in np.linspace(0.01, 0.99, 100): + ci = CPC.from_xyal(100, 200, alpha=alpha) + dy = ci.yfromx_f(ci.x+0.1, ignorebounds=True)-ci.yfromx_f(ci.x-0.1, ignorebounds=True) + assert iseq(dy/0.2, -ci.p, eps=1e-2), f"error: {dy/0.2/ci.p+1}" + + # ### Check `dyfromdx_f` against `yfromx_f` + + for dxy in np.linspace(0.1, 99, 100): + for ci in cc: + assert iseq(ci.dyfromdx_f(dxy, ignorebounds=True), + (ci.yfromx_f(ci.x+dxy, ignorebounds=True)-ci.y)) + assert iseq(ci.dxfromdy_f(dxy, ignorebounds=True), + (ci.xfromy_f(ci.y+dxy, ignorebounds=True)-ci.x)) + + +# ------------------------------------------------------------ +# Test 051 +# File test_051_CPCBalancer.py +# Segment Charts [NOTEST] +# ------------------------------------------------------------ +def notest_charts(): +# ------------------------------------------------------------ + + plt.style.use('seaborn-v0_8-dark') + plt.rcParams['figure.figsize'] = [12,6] # only picked up at second run (?!?) + + c0 = CPC.from_xyal(100, 200) + c1 = CPC.from_xyal(100, 200, eta=2) + c2 = CPC.from_xyal(100, 200, eta=0.5) + cc = [c0, c1, c2] + xvals = np.linspace(50,200) + pvals = np.linspace(1,4) + + for ci in cc: + plt.plot(xvals, [ci.yfromx_f(x, ignorebounds=True) for x in xvals], label=f"eta={ci.eta:0.2f}") + plt.grid() + plt.legend() + plt.title("Indifference curve token balance y vs token balance x at different weights") + plt.xlabel("Token balance x [native units]") + plt.ylabel("Token balance y [native units]") + plt.show() + + for ci in cc: + plt.plot( + xvals, + [ + -(ci.yfromx_f(x+0.1, ignorebounds=True) - ci.yfromx_f(x-0.1, ignorebounds=True))/0.2 + for x in xvals + + ], + label=f"eta={ci.eta:0.2f}") + plt.grid() + plt.legend() + plt.title("Price vs token balance x at different weights") + plt.xlabel("Token balance x [native units]") + plt.ylabel("Price [dy/dx]") + plt.show() + + for ci in cc: + plt.plot( + pvals, + [ + ci.xyfromp_f(p, ignorebounds=True)[1] + for p in pvals + + ], + label=f"eta={ci.eta:0.2f}") + plt.grid() + plt.legend() + plt.title("Token balance y vs price at different weights") + plt.xlabel("Price [dy/dx]") + plt.ylabel("Token balance y [native units]") + plt.show() + + + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_053_TknMaxTrade.py b/fastlane_bot/tests/nbtest/test_053_TknMaxTrade.py new file mode 100644 index 000000000..5bd148b52 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_053_TknMaxTrade.py @@ -0,0 +1,131 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_053_TknMaxTrade.py` +# ------------------------------------------------------------ +# source file = NBTest_053_TknMaxTrade.py +# test id = 053 +# test comment = TknMaxTrade +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.routehandler import RouteStruct, maximize_last_trade_per_tkn +from joblib import Parallel, delayed +from dataclasses import dataclass, asdict, field +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + + +# ------------------------------------------------------------ +# Test 053 +# File test_053_TknMaxTrade.py +# Segment Test_use_0_for_sourceAmount +# ------------------------------------------------------------ +def test_test_use_0_for_sourceamount(): +# ------------------------------------------------------------ + + # + + + + ti1 = RouteStruct( + platformId=8, + sourceToken="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", + targetToken="0x6b175474e89094c44da98b954eedeac495271d0f", + sourceAmount=62211456000000000000, + minTargetAmount=99890009252976620728523, + deadline=1702409775, + customAddress="0x6b175474e89094c44da98b954eedeac495271d0f", + customInt=0, + customData="0x" + ) + + ti2 = RouteStruct(platformId=4, + sourceToken="0x6b175474e89094c44da98b954eedeac495271d0f", + targetToken="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", + sourceAmount=99890009252976620728523, + minTargetAmount=62256092760867779024, + deadline=1702409775, + customAddress="0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + customInt=3000, + customData="0x") + + + ti3 = RouteStruct( + platformId=8, + sourceToken="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", + targetToken="0x6b175474e89094c44da98b954eedeac495271d0f", + sourceAmount=62211456000000000000, + minTargetAmount=99890009252976620728523, + deadline=1702409775, + customAddress="0x6b175474e89094c44da98b954eedeac495271d0f", + customInt=0, + customData="0x" + ) + ti4 = RouteStruct( + platformId=8, + sourceToken="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", + targetToken="0x6b175474e89094c44da98b954eedeac495271d0f", + sourceAmount=62211456000000000000, + minTargetAmount=99890009252976620728523, + deadline=1702409775, + customAddress="0x6b175474e89094c44da98b954eedeac495271d0f", + customInt=0, + customData="0x" + ) + + ti5 = RouteStruct(platformId=4, + sourceToken="0x6b175474e89094c44da98b954eedeac495271d0f", + targetToken="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", + sourceAmount=99890009252976620728523, + minTargetAmount=62256092760867779024, + deadline=1702409775, + customAddress="0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + customInt=3000, + customData="0x") + + instructions = [ti1, ti2] + instructions2 = [asdict(ti3), asdict(ti4), asdict(ti5)] + + max_trade_route_struct = maximize_last_trade_per_tkn(instructions) + max_trade_route_struct2 = maximize_last_trade_per_tkn(instructions2) + + assert max_trade_route_struct[0].sourceAmount == 0, f"[NBTest_053] sourceAmount expected 0, actual: {max_trade_route_struct[0].sourceAmount}" + assert max_trade_route_struct[1].sourceAmount == 0, f"[NBTest_053] sourceAmount expected 0, actual: {max_trade_route_struct[1].sourceAmount}" + assert max_trade_route_struct2[0]["sourceAmount"] == 62211456000000000000, f"[NBTest_053] sourceAmount expected 0, actual: {max_trade_route_struct2[0]['sourceAmount']}" + assert max_trade_route_struct2[1]["sourceAmount"] == 0, f"[NBTest_053] sourceAmount expected 0, actual: {max_trade_route_struct2[1]['sourceAmount']}" + assert max_trade_route_struct2[2]["sourceAmount"] == 0, f"[NBTest_053] sourceAmount expected 0, actual: {max_trade_route_struct2[2]['sourceAmount']}" + + # - + + + + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_054_TestAutoPoolShutdown.py b/fastlane_bot/tests/nbtest/test_054_TestAutoPoolShutdown.py new file mode 100644 index 000000000..24a0b66fe --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_054_TestAutoPoolShutdown.py @@ -0,0 +1,199 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_054_TestAutoPoolShutdown.py` +# ------------------------------------------------------------ +# source file = NBTest_054_TestAutoPoolShutdown.py +# test id = 054 +# test comment = TestAutoPoolShutdown +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.tools.pool_shutdown import AutomaticPoolShutdown +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 0.02 +C.DEFAULT_MIN_PROFIT = 0.02 +cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 +cfg.DEFAULT_MIN_PROFIT = 0.02 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot + + + +pool_shutdown = AutomaticPoolShutdown(mgr=mgr, polling_interval=12) + + +# ------------------------------------------------------------ +# Test 054 +# File test_054_TestAutoPoolShutdown.py +# Segment Test White List +# ------------------------------------------------------------ +def test_test_white_list(): +# ------------------------------------------------------------ + + assert len(pool_shutdown.shutdown_whitelist) > 0, f"[NB054 Automatic Shutdown] failed to retrieve pool whitelist" + + +# ------------------------------------------------------------ +# Test 054 +# File test_054_TestAutoPoolShutdown.py +# Segment Test parse_active_pools +# ------------------------------------------------------------ +def test_test_parse_active_pools(): +# ------------------------------------------------------------ + + # + + pool_shutdown.parse_active_pools() + + for pool in pool_shutdown.active_pools: + assert type(pool_shutdown.active_pools[pool]) == int + assert pool_shutdown.active_pools[pool] >= 0 + # - + + +# ------------------------------------------------------------ +# Test 054 +# File test_054_TestAutoPoolShutdown.py +# Segment Test iterate_active_pools +# ------------------------------------------------------------ +def test_test_iterate_active_pools(): +# ------------------------------------------------------------ + + # + + ETH = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" + pool_shutdown.active_pools = {} + pool_shutdown.active_pools[ETH] = 100000000000000000 + tkn = pool_shutdown.iterate_active_pools() + + assert tkn == ETH + # - + + +# ------------------------------------------------------------ +# Test 054 +# File test_054_TestAutoPoolShutdown.py +# Segment Test iterate_active_pools_two +# ------------------------------------------------------------ +def test_test_iterate_active_pools_two(): +# ------------------------------------------------------------ + + # + + ETH = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" + pool_shutdown.active_pools = {} + pool_shutdown.active_pools[ETH] = 100000000000000000000000 + tkn = pool_shutdown.iterate_active_pools() + + assert tkn == None + # - + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_055_Optimization.py b/fastlane_bot/tests/nbtest/test_055_Optimization.py new file mode 100644 index 000000000..f13fff50f --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_055_Optimization.py @@ -0,0 +1,515 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_055_Optimization.py` +# ------------------------------------------------------------ +# source file = NBTest_055_Optimization.py +# test id = 055 +# test comment = Optimization +# ------------------------------------------------------------ + + + +from fastlane_bot.tools.cpc import CPCContainer, ConstantProductCurve as CPC, CurveBase +from fastlane_bot.tools.optimizer import MargPOptimizer, PairOptimizer +from fastlane_bot.testing import * + +from math import sqrt +from copy import deepcopy +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCContainer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MargPOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(PairOptimizer)) + +plt.style.use('seaborn-v0_8-dark') +plt.rcParams['figure.figsize'] = [12,6] + + + +# + +# +# +# +# +# + + +CURVES = [ + +{ + 'k': 6.157332844764952e+20, + 'x': 615733222.5892723, + 'x_act': 0, + 'y_act': 100000.0, + 'alpha': 0.5, + 'pair': 'WETH/DAI', # WETH-6Cc2/DAI-1d0F + 'cid': '0x33ed', + # 0x33ed451d5c7b7a76266b8cdfab030f6de8143fcfbdcd08dabeed0de8d684b4de + 'fee': 0.0, + 'descr': 'bancor_pol DAI-1d0F/ETH-EEeE 0.000', + 'constr': 'carb', + 'params': {'exchange': 'bancor_pol', + 'tknx_dec': 18, + 'tkny_dec': 18, + 'tknx_addr': '0x6B175474E89094C44Da98b954EedeAC495271d0F', + 'tkny_addr': '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', + 'blocklud': 18121620, + 'y': 100000.0, + 'yint': 100000.0, + 'A': 0, + 'B': 40.29987368093254, + 'pa': 1624.0799811071013, + 'pb': 1624.0799811071013}}, + + { + 'k': 1147678924959.0112, + 'x': 42728400.31211105, + 'x_act': 7575.552803896368, + 'y_act': 8.665306719478394, + 'alpha': 0.5, + 'pair': 'DAI/WETH', # DAi-1d0F/WETH-6Cc2 + 'cid': '0xb1d8', + # 0xb1d8cd62f75016872495dae3e19d96e364767e7d674488392029d15cdbcd7b34', + 'fee': 0.0005, + 'descr': 'uniswap_v3 DAI-1d0F/WETH-6Cc2 500', + 'constr': 'pkpp', + 'params': {'exchange': 'uniswap_v3', + 'tknx_dec': 18, + 'tkny_dec': 18, + 'tknx_addr': '0x6B175474E89094C44Da98b954EedeAC495271d0F', + 'tkny_addr': '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', + 'blocklud': 18121789, + 'L': 1071297.7760450225}}, + + +{ + 'k': 1541847511355.546, + 'x': 49517090.33542573, + 'x_act': 99496.94394361228, + 'y_act': 30.763865271412214, + 'alpha': 0.5, + 'pair': 'DAI/WETH', # DAi-1d0F/WETH-6Cc2 + 'cid': '0xae2b', + # '0xae2b487dff467a33b88e5a4e6874f91ee212886979f673dd18d3e0396862112f', + 'fee': 0.003, + 'descr': 'uniswap_v3 DAI-1d0F/WETH-6Cc2 3000', + 'constr': 'pkpp', + 'params': {'exchange': 'uniswap_v3', + 'tknx_dec': 18, + 'tkny_dec': 18, + 'tknx_addr': '0x6B175474E89094C44Da98b954EedeAC495271d0F', + 'tkny_addr': '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', + 'blocklud': 18121689, + 'L': 1241711.5250151888}} +] +CC = CPCContainer.from_dicts(CURVES) + +PRICES = { + 'DAI': 0.0006286424878113893, + 'WETH': 1, +} +PRICE0 = PRICES["WETH"]/PRICES["DAI"] +PRICE0 + +# + +cnorm = CPC.from_pk(p=PRICE0, k=PRICE0*CC[0].x, pair="WETH/DAI", cid="normalizer") +CCn = CPCContainer([c for c in CC]+[cnorm]) + +# + +CCul = CPCContainer([ + CPC.from_pk(p=1500, k=1500*100, pair="WETH/DAI", cid="c1500"), + CPC.from_pk(p=1600, k=1600*100, pair="WETH/DAI", cid="c1600") +]) + +# + +ETA25, ETA75 = 1/3, 3 +CCas2 = CPCContainer([ + CPC.from_xyal(x=10, y=2000/ETA25*10, alpha=0.25, pair="WETH/DAI", cid="c2000-0.25"), + CPC.from_xyal(x=10, y=2500/ETA75*10, alpha=0.75, pair="WETH/DAI", cid="c2500-0.75"), +]) + +CCas2[0].x, CCas2[0].tknx, CCas2[0].y, CCas2[0].tkny, CCas2[0].p + +CCas2[1].x, CCas2[1].tknx, CCas2[1].y, CCas2[1].tkny, CCas2[1].p + +CCas2[0].eta + + +# ------------------------------------------------------------ +# Test 055 +# File test_055_Optimization.py +# Segment Curve definitions +# ------------------------------------------------------------ +def test_curve_definitions(): +# ------------------------------------------------------------ + # + # Here we are asserting properties of the curves that they are meant to have; should really never fail unless something goes horribly wrong + + assert iseq(CCas2[0].x, 10) + assert CCas2[0].tknx == "WETH" + assert iseq(CCas2[0].y, 60000) + assert CCas2[0].tkny == "DAI" + assert iseq(CCas2[0].eta, ETA25) + assert iseq(CCas2[0].p, 2000) + + assert iseq(CCas2[1].x, 10) + assert CCas2[1].tknx == "WETH" + assert iseq(CCas2[1].y, 25000/3) + assert CCas2[1].tkny == "DAI" + assert iseq(CCas2[1].eta, ETA75) + assert iseq(CCas2[1].p, 2500) + + + +# ------------------------------------------------------------ +# Test 055 +# File test_055_Optimization.py +# Segment MargPOptimizer current +# ------------------------------------------------------------ +def test_margpoptimizer_current(): +# ------------------------------------------------------------ + # + # Uses the current margp optimizer which uses $d \log p ~ 0$ as criterium and that can fail on certain formations of levered curves (when the price ends up on no-mans land) + # ### Setup + + # + + #help(MargPOptimizer) + # - + + + # ### Unlevered curves `CCul` + + Oul = MargPOptimizer(curves=CCul) + assert len(Oul.curves) == len(CCul) + + r = Oul.optimize("WETH") + assert r.error is None + assert r.method == "margp" + assert r.targettkn == "WETH" + assert r.tokens_t == ('DAI',) + assert r.dtokens["WETH"] < 0 + assert iseq(r.result, -0.005204267821271813) + assert iseq(r.p_optimal_t[0], 0.0006449934107164284) + assert iseq(r.dtokens_t[0], -4.737194103654474e-08) + r + + # the original curves are 1500 and 1600, so ~1550 is right in the middle + + assert iseq(1/r.p_optimal_t[0], 1550.4034357331604) + 1/r.p_optimal_t[0] + + # this process converged -- the aggregate change in DAI amount < 1e-5 + + assert abs(r.dtokens["DAI"] < 1e-5) + assert r.dtokens["WETH"] < 0 + assert iseq(r.dtokens["WETH"], -0.005204267821271813) + r.dtokens + + # there is some trading going on + + v = r.dxvecvalues(asdict=True) + assert iseq(v["c1500"]["DAI"], 249.9349296963901) + assert iseq(v["c1600"]["WETH"], 0.15868818867025603) + v + + # ### Normalized curves `CCn` + + On = MargPOptimizer(curves=CCn) + assert len(On.curves) == len(CC)+1 + + r = On.optimize("WETH") + assert r.error is None + assert r.method == "margp" + assert r.targettkn == "WETH" + assert r.tokens_t == ('DAI',) + assert r.dtokens["WETH"] < 0 + assert iseq(r.result, -1.244345098228223) + assert iseq(r.p_optimal_t[0], 0.00062745798800732) + assert iseq(r.dtokens_t[0], -1.9371509552001953e-06, eps=0.1) + # assert iseq(r.dtokens_t[0], -1.9371509552001953e-06, eps=0.01) # FAILS ON GITHUB + # assert iseq(r.dtokens_t[0], -1.9371509552001953e-06, eps=0.001) # FAILS ON GITHUB + # assert iseq(r.dtokens_t[0], -1.9371509552001953e-06, eps=0.0001) # FAILS ON GITHUB + r + + # the original curves are 1500 and 1600, so ~1550 is right in the middle + + assert iseq(1/r.p_optimal_t[0], 1593.7322005825413, eps=0.001) + 1/r.p_optimal_t[0] + + # this process converged -- the aggregate change in DAI amount < 1e-5 + + assert abs(r.dtokens["DAI"] < 1e-5) + assert r.dtokens["WETH"] < 0 + assert iseq(r.dtokens["WETH"], -1.244345098228223) + r.dtokens + + # there is some trading going on + + v = r.dxvecvalues(asdict=True) + v + + # ### Asymmetric curves `CCas2` and `CCas3` + + O = MargPOptimizer(curves=CCas2) + assert len(O.curves) == len(CCas2) + + r = O.optimize("WETH", params={"pstart": {"WETH": 2400, "DAI": 1}}) + assert r.error is None + assert r.method == "margp" + assert r.targettkn == "WETH" + assert r.tokens_t == ('DAI',) + assert r.dtokens["WETH"] < 0 + assert iseq(r.result, -0.048636442623132936, eps=1e-3) + assert iseq(r.p_optimal_t[0], 0.0004696831634035269, eps=1e-3) + assert iseq(r.dtokens_t[0], -7.3569026426412165e-09, eps=0.1) + + # ### Failing optimization process `CC` + + O = MargPOptimizer(curves=CC) + assert len(O.curves) == len(CC) + + r = O.optimize("WETH") + assert r.error is None + assert r.method == "margp" + assert r.targettkn == "WETH" + assert r.tokens_t == ('DAI',) + assert iseq(r.result, 22.14415018604268) + assert iseq(r.p_optimal_t[0], 0.0006273686958774544) + assert iseq(r.dtokens_t[0], -37239.86438154429) + r + + # Here we show that the final price is not the same as the initial one, but also not totally crazy (this calculation has not converged but is stuck on a plateau) + + PRICES, r.p_optimal + + 1/r.p_optimal_t[0], PRICES["WETH"]/PRICES["DAI"] + + # The `result` is the amount of target token extracted. Note that this assumes that the algo has converged which it has not in this case. The `dtokens` property shows the _aggregate_ change in tokens, and it _should_ be zero for everything but the target token WETH which is not the case here. + + assert r.result == r.dtokens["WETH"] + r.result + + r.dtokens + + # `dxdyvalues` and `dxvecvalues` show the changes of the respective curves. For standard two-asset curves they are equivalent, just in a different format; for three+ asset curves only dxvecvalues is defined + + r.dxdyvalues(asdict=True) + + r.dxvecvalues(asdict=True) + + # This shows that the algorithm **has not converged** -- this number (the net flow of DAI; note that the target token here is WETH) should be zero! + + s_DAI = sum(x["DAI"] for x in r.dxvecvalues(asdict=True).values()) + assert iseq(s_DAI, r.dtokens["DAI"]) + s_DAI + + # This number is not expected to be zero as the profit is being extracted in WETH + + s_WETH = sum(x["WETH"] for x in r.dxvecvalues(asdict=True).values()) + assert iseq(s_WETH, r.dtokens["WETH"]) + s_WETH + + + +# ------------------------------------------------------------ +# Test 055 +# File test_055_Optimization.py +# Segment PairOptimizer vs MarpP +# ------------------------------------------------------------ +def test_pairoptimizer_vs_marpp(): +# ------------------------------------------------------------ + # + # PairOptimizer is a new optimization method that uses bisection instead of gradient descent. It is a bit slower, but importantly it is robust against the no-man's land problem of the gradient descent + # + # ### Setup + + # ### Unlevered curves `CCul` + + Oul = PairOptimizer(curves=CCul) + Oul_mp = MargPOptimizer(curves=CCul) + assert len(Oul.curves) == len(CCul) + + # Unlevered curves converged nicely in the margp (gradient descent) optimizer, and they are converging nicely here; the results are very close together (better than 1e-5) + + r = Oul.optimize("WETH") + rmp = Oul_mp.optimize("WETH") + assert r.error is None + assert rmp.error is None + assert r.method == "margp-pair" + assert rmp.method == "margp" + assert r.targettkn == "WETH" + assert rmp.targettkn == "WETH" + assert r.tokens_t == ('DAI',) + assert rmp.tokens_t == ('DAI',) + assert r.dtokens["WETH"] < 0 + assert rmp.dtokens["WETH"] < 0 + assert iseq(r.p_optimal_t[0], 0.0006449934107144566) + assert iseq(rmp.p_optimal_t[0], 0.0006449934107164284) + assert r.result/rmp.result-1 < 1e-5 + r, rmp, r.result/rmp.result-1 + + # It is notable that the bisection algorithm is **six times slower** than the gradient descent + + r.time/rmp.time + + # the optimal price here is very very close: 1e-12 + + assert r.p_optimal_t[0]/rmp.p_optimal_t[0]-1 < 1e-8 + r.p_optimal_t[0]/rmp.p_optimal_t[0]-1 + + # Here we show that (a) the DAI transfer is de-minimis and close enough to zero, and more importantly, that (b) both our methods give essentially the same result as to how much ETH can be obtained from the arb + + assert r.dtokens["DAI"] < 1e-5 + assert rmp.dtokens["DAI"] < 1e-5 + assert r.dtokens["WETH"]/rmp.dtokens["WETH"]-1 < 1e-5 + r.dtokens, rmp.dtokens, r.dtokens["WETH"]/rmp.dtokens["WETH"]-1 + + # ### Asymmetric curves `CCas2` and `CCas3` + + # #### `CCas2` + + O = PairOptimizer(curves=CCas2) + Omp = MargPOptimizer(curves=CCas2) + assert len(O.curves) == len(CCas2) + assert len(Omp.curves) == len(O.curves) + + r = O.optimize("WETH") + rmp = Omp.optimize("WETH") + assert r.error is None + assert r.method == "margp-pair" + assert r.targettkn == "WETH" + assert r.tokens_t == ('DAI',) + assert r.dtokens["WETH"] < 0 + assert iseq(r.result, -0.048636442623132936, eps=1e-3) + assert iseq(r.result, rmp.result, eps=1e-3) + assert r.result != rmp.result # numerically should not converged to same + assert iseq(r.p_optimal_t[0], 0.0004696831634035269, eps=1e-3) + assert iseq(r.dtokens["WETH"], -0.04863644262652045, eps=1e-3) + assert iseq(r.dtokens["WETH"], rmp.dtokens["WETH"], eps=1e-3) + assert iseq(0, r.dtokens["DAI"], eps=1e-6) + assert iseq(0, rmp.dtokens["DAI"], eps=1e-6) + assert abs(r.dtokens["DAI"] - rmp.dtokens["DAI"]) < 1e-6 + assert r.dtokens_t == (r.dtokens["DAI"],) + assert rmp.dtokens_t == (rmp.dtokens["DAI"],) + assert r.tokens_t == ('DAI',) + assert rmp.tokens_t == ('DAI',) + + # #### `CCas3` [TODO] + + # ### Normalized curves `CCn` + + On = PairOptimizer(curves=CCn) + On_mp = MargPOptimizer(curves=CCn) + assert len(On.curves) == len(CC)+1 + + r = On.optimize("WETH") + rmp = On_mp.optimize("WETH") + assert r.error is None + assert rmp.error is None + assert r.method == "margp-pair" + assert rmp.method == "margp" + assert r.targettkn == "WETH" + assert rmp.targettkn == "WETH" + assert r.tokens_t == ('DAI',) + assert rmp.tokens_t == ('DAI',) + assert r.dtokens["WETH"] < 0 + assert rmp.dtokens["WETH"] < 0 + assert iseq(r.p_optimal_t[0], 0.0006274579880072543) + assert iseq(rmp.p_optimal_t[0], 0.00062745798800732) + assert r.result/rmp.result-1 < 1e-5 + r, rmp, r.result/rmp.result-1 + + # ### Optimization process `CC` (fails in full margp) + + O = PairOptimizer(curves=CC) + O_mp = MargPOptimizer(curves=CC) + assert len(O.curves) == len(CC) + + + r = O.optimize("WETH") + rmp = O_mp.optimize("WETH") + assert r.error is None + assert rmp.error is None + assert r.method == "margp-pair" + assert rmp.method == "margp" + assert r.targettkn == "WETH" + assert rmp.targettkn == "WETH" + assert r.tokens_t == ('DAI',) + assert rmp.tokens_t == ('DAI',) + assert r.dtokens["WETH"] < 0 + assert not rmp.dtokens["WETH"] < 0 # FAILS! + assert iseq(r.p_optimal_t[0], 0.0006157332379890538) + assert iseq(rmp.p_optimal_t[0], 0.0006273686958774544) + assert r.result/rmp.result-1 < 1e-5 + r, rmp, r.result/rmp.result-1 + + # This now converges fine (note as we see below we need an eps parameter of about 1e-10, and also not that we can't go much higher because in this case it gets stuck, probably because of float precision. + + r.dtokens, r.dtokens["WETH"]*PRICE0 + + # We see that accuracy at eps=1e-6 is not that great, but at 1e-10 it is very good; also it seems that by and large the runtime does not really depend on the precision parameter here, so we go for 1e-10 throughout [not you can't go for higher precision as it then never returns, probably because of float accuracy issues] + + r06 = O.optimize("WETH", params={"eps":1e-6}) + r08 = O.optimize("WETH", params={"eps":1e-8}) + r10 = O.optimize("WETH", params={"eps":1e-10}) + r06.dtokens, r08.dtokens, r10.dtokens + + [r10.time/r06.time, r08.time/r06.time] + + +# ------------------------------------------------------------ +# Test 055 +# File test_055_Optimization.py +# Segment MargPOptimizer new TODO +# ------------------------------------------------------------ +def test_margpoptimizer_new_todo(): +# ------------------------------------------------------------ + # + # this is still on the todo lost, but does not have high priority; the new margp optimizer will have a different convergence criterium [p ~ 0 rather than d log p ~ 0]. This will not help in terms of convergence on a plateau -- a gradient algorithm can not recover from f'(x) = 0 -- but it will allow identifying instances of non convergence. + # + # ### Setup + + pass + + # + + # Oul = PairOptimizer(curves=CCul) + # On = PairOptimizer(curves=CCn) + # O0 = PairOptimizer(curves=CC0) + # O = PairOptimizer(curves=CC) + # assert len(On.curves) == len(CC)+1 + # assert len(O0.curves) == len(CC) + # assert len(O.curves) == len(CC) + # - + + + # ### Unlevered curves `CCul` + + # ### Normalized curves `CCn` + + # ### Failing optimization process `CC` + + + +# ------------------------------------------------------------ +# Test 055 +# File test_055_Optimization.py +# Segment Charts [NOTEST] +# ------------------------------------------------------------ +def notest_charts(): +# ------------------------------------------------------------ + + CC.plot() + + CCul.plot() + + CCn.plot() + + CCas2.plot() + + # + + #CCas3.plot() + # - + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_899_CustomMulticall.py b/fastlane_bot/tests/nbtest/test_899_CustomMulticall.py new file mode 100644 index 000000000..c632b3bde --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_899_CustomMulticall.py @@ -0,0 +1,241 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_899_CustomMulticall.py` +# ------------------------------------------------------------ +# source file = NBTest_899_CustomMulticall.py +# test id = 899 +# test comment = CustomMulticall +# ------------------------------------------------------------ + + + +import json + +from fastlane_bot.config.multiprovider import MultiProviderContractWrapper +from fastlane_bot.data.abi import CARBON_CONTROLLER_ABI +import os +from unittest.mock import Mock, patch + +from dotenv import load_dotenv +load_dotenv() +import time +from fastlane_bot.config.multicaller import MultiCaller +from fastlane_bot.config.multicaller import ContractMethodWrapper + + +import pytest + +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MultiCaller)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ContractMethodWrapper)) + + +from fastlane_bot.testing import * + +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + +WEB3_ALCHEMY_PROJECT_ID = os.environ.get("WEB3_ALCHEMY_PROJECT_ID") + +CONTRACT_ABI = CARBON_CONTROLLER_ABI +CARBON_CONTROLLER_ADDRESS = "0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1" +CONTRACT_ADDRESS = CARBON_CONTROLLER_ADDRESS + +providers = { + "mainnet": f"https://eth-mainnet.alchemyapi.io/v2/{WEB3_ALCHEMY_PROJECT_ID}", + "tenderly": "https://rpc.tenderly.co/fork/5f70ee18-8d2f-40d7-8131-58d0c8ff4736", +} + +class MockWeb3: + class HTTPProvider: + pass + + class eth: + @staticmethod + def contract(address, abi): + return Mock() + +class MockContract: + pass + +start_time = time.time() + +contract = MultiProviderContractWrapper(CONTRACT_ABI, CONTRACT_ADDRESS, providers) + +mainnet_pairs = contract.mainnet.functions.pairs().call() +tenderly_pairs = contract.tenderly.functions.pairs().call() + +if len(mainnet_pairs) > 10: + mainnet_pairs = mainnet_pairs[:10] + +pair_fees_without_multicall = [contract.mainnet.functions.pairTradingFeePPM(pair[0], pair[1]).call() for pair in mainnet_pairs] + +pair_fees_time_without_multicall = time.time() - start_time + +start_time = time.time() + +strats_by_pair_without_multicall = [contract.mainnet.functions.strategiesByPair(pair[0], pair[1], 0, 5000).call() for pair in mainnet_pairs] + +strats_by_pair_time_without_multicall = time.time() - start_time + + + +# ------------------------------------------------------------ +# Test 899 +# File test_899_CustomMulticall.py +# Segment test_multicaller_init +# ------------------------------------------------------------ +def test_test_multicaller_init(): +# ------------------------------------------------------------ + + # + + + original_method = Mock() + multicaller = Mock() + + wrapper = ContractMethodWrapper(original_method, multicaller) + + assert wrapper.original_method == original_method + assert wrapper.multicaller == multicaller + # - + + +# ------------------------------------------------------------ +# Test 899 +# File test_899_CustomMulticall.py +# Segment test_contract_method_wrapper_call +# ------------------------------------------------------------ +def test_test_contract_method_wrapper_call(): +# ------------------------------------------------------------ + + # + + original_method = Mock() + multicaller = Mock() + + wrapper = ContractMethodWrapper(original_method, multicaller) + + result = wrapper('arg1', kwarg1='kwarg1') + + original_method.assert_called_with('arg1', kwarg1='kwarg1') + multicaller.add_call.assert_called_with(result) + # - + + +# ------------------------------------------------------------ +# Test 899 +# File test_899_CustomMulticall.py +# Segment test_multi_caller_init +# ------------------------------------------------------------ +def test_test_multi_caller_init(): +# ------------------------------------------------------------ + + # + + contract = Mock() + + multicaller = MultiCaller(contract) + + assert multicaller.contract == contract + assert multicaller.block_identifier == 'latest' + assert multicaller._contract_calls == [] + # - + + +# ------------------------------------------------------------ +# Test 899 +# File test_899_CustomMulticall.py +# Segment test_multi_caller_add_call +# ------------------------------------------------------------ +def test_test_multi_caller_add_call(): +# ------------------------------------------------------------ + + # + + contract = Mock() + multicaller = MultiCaller(contract) + fn = Mock() + + multicaller.add_call(fn, 'arg1', kwarg1='kwarg1') + + assert len(multicaller._contract_calls) == 1 + # - + + +# ------------------------------------------------------------ +# Test 899 +# File test_899_CustomMulticall.py +# Segment test_multi_caller_context_manager +# ------------------------------------------------------------ +def test_test_multi_caller_context_manager(): +# ------------------------------------------------------------ + + # + + contract = Mock() + multicaller = MultiCaller(contract) + + with patch.object(multicaller, 'multicall') as mock_multicall: + with multicaller: + pass + + mock_multicall.assert_called_once() + # - + + +# ------------------------------------------------------------ +# Test 899 +# File test_899_CustomMulticall.py +# Segment test_multicaller_pairTradingFeePPM +# ------------------------------------------------------------ +def test_test_multicaller_pairtradingfeeppm(): +# ------------------------------------------------------------ + + # + + contract = MultiProviderContractWrapper(CONTRACT_ABI, CONTRACT_ADDRESS, providers) + + multicaller = MultiCaller(contract=contract.mainnet) + + # Time how long it takes to get all fees using multicall + start_time = time.time() + + with multicaller as mc: + for pair in mainnet_pairs: + mc.add_call(contract.mainnet.functions.pairTradingFeePPM, pair[0], pair[1]) + + pair_fees_with_multicall = multicaller.multicall() + + pair_fees_time_with_multicall = time.time() - start_time + + assert pair_fees_with_multicall == pair_fees_without_multicall + assert pair_fees_time_with_multicall < pair_fees_time_without_multicall + + # - + + +# ------------------------------------------------------------ +# Test 899 +# File test_899_CustomMulticall.py +# Segment test_multicaller_strategiesByPair +# ------------------------------------------------------------ +def test_test_multicaller_strategiesbypair(): +# ------------------------------------------------------------ + + # + + contract = MultiProviderContractWrapper(CONTRACT_ABI, CONTRACT_ADDRESS, providers) + + multicaller = MultiCaller(contract=contract.mainnet) + + # Time how long it takes to get all fees using multicall + start_time = time.time() + + with multicaller as mc: + for pair in mainnet_pairs: + mc.add_call(contract.mainnet.functions.strategiesByPair, pair[0], pair[1], 0, 5000) + + strats_by_pair_with_multicall = multicaller.multicall() + + strats_by_pair_time_with_multicall = time.time() - start_time + + assert len(strats_by_pair_with_multicall) == len(strats_by_pair_without_multicall) + assert strats_by_pair_time_with_multicall < strats_by_pair_time_without_multicall + + # - + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_900_OptimizerDetailedSlow.py b/fastlane_bot/tests/nbtest/test_900_OptimizerDetailedSlow.py new file mode 100644 index 000000000..e1df7d395 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_900_OptimizerDetailedSlow.py @@ -0,0 +1,743 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_900_OptimizerDetailedSlow.py` +# ------------------------------------------------------------ +# source file = NBTest_900_OptimizerDetailedSlow.py +# test id = 900 +# test comment = OptimizerDetailedSlow +# ------------------------------------------------------------ + + + +#from fastlane_bot import Bot, Config, ConfigDB, ConfigNetwork, ConfigProvider +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair +from fastlane_bot.tools.analyzer import CPCAnalyzer +from fastlane_bot.tools.optimizer import PairOptimizer, MargPOptimizer, ConvexOptimizer +from fastlane_bot.tools.optimizer import OptimizerBase, CPCArbOptimizer +from fastlane_bot.tools.arbgraphs import ArbGraph +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCAnalyzer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(OptimizerBase)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCArbOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(PairOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MargPOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ConvexOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ArbGraph)) +#print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +from fastlane_bot.testing import * +import itertools as it +import collections as cl +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +try: + CCm = CPCContainer.from_df(pd.read_csv("_data/NBTest_006.csv.gz")) +except: + CCm = CPCContainer.from_df(pd.read_csv("fastlane_bot/tests/nbtest/_data/NBTest_006.csv.gz")) + +CCu3 = CCm.byparams(exchange="uniswap_v3") +CCu2 = CCm.byparams(exchange="uniswap_v2") +CCs2 = CCm.byparams(exchange="sushiswap_v2") +CCc1 = CCm.byparams(exchange="carbon_v1") +tc_u3 = CCu3.token_count(asdict=True) +tc_u2 = CCu2.token_count(asdict=True) +tc_s2 = CCs2.token_count(asdict=True) +tc_c1 = CCc1.token_count(asdict=True) +CAm = CPCAnalyzer(CCm) +#CCm.asdf().to_csv("A011-test.csv.gz", compression = "gzip") + +CA = CAm +pairs0 = CA.CC.pairs(standardize=False) +pairs = CA.pairs() +pairsc = CA.pairsc() +tokens = CA.tokens() + + +# ------------------------------------------------------------ +# Test 900 +# File test_900_OptimizerDetailedSlow.py +# Segment Market structure analysis [NOTEST] +# ------------------------------------------------------------ +def notest_market_structure_analysis(): +# ------------------------------------------------------------ + + print(f"Total pairs: {len(pairs0):4}") + print(f"Primary pairs: {len(pairs):4}") + print(f"...carbon: {len(pairsc):4}") + print(f"Tokens: {len(CA.tokens()):4}") + print(f"Curves: {len(CCm):4}") + + CA.count_by_pairs() + + CA.count_by_pairs(minn=2) + + # ### All crosses + + CCx = CCm.bypairs( + CCm.filter_pairs(notin=f"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}") + ) + len(CCx), CCx.token_count()[:10] + + AGx=ArbGraph.from_cc(CCx) + AGx.plot(labels=False, node_size=50, node_color="#fcc")._ + + # ### Biggest crosses (HEX, UNI, ICHI, FRAX) + + CCx2 = CCx.bypairs( + CCx.filter_pairs(onein=f"{T.HEX}, {T.UNI}, {T.ICHI}, {T.FRAX}") + ) + ArbGraph.from_cc(CCx2).plot() + len(CCx2) + + # ### Carbon + + ArbGraph.from_cc(CCc1).plot()._ + + len(CCc1), len(CCc1.tokens()) + + CCc1.token_count() + + + len(CCc1.pairs()), CCc1.pairs() + + # ### Token subsets + + O = MargPOptimizer(CCm.bypairs( + CCm.filter_pairs(bothin=f"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}") + )) + r = O.margp_optimizer(f"{T.USDC}", params=dict(verbose=False, debug=False)) + r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("") + + # + + #r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("").to_excel("ti.xlsx") + # - + + ArbGraph.from_r(r).plot()._ + + # + + #O.CC.plot() + # - + + +# ------------------------------------------------------------ +# Test 900 +# File test_900_OptimizerDetailedSlow.py +# Segment ABC Tests +# ------------------------------------------------------------ +def test_abc_tests(): +# ------------------------------------------------------------ + + assert raises(OptimizerBase).startswith("Can't instantiate abstract class") + assert raises(OptimizerBase.OptimizerResult).startswith("Can't instantiate abstract class") + + assert raises(CPCArbOptimizer).startswith("Can't instantiate abstract class") + assert raises(CPCArbOptimizer.OptimizerResult).startswith("Can't instantiate abstract class") + + assert not raises(MargPOptimizer, CCm) + assert not raises(PairOptimizer, CCm) + assert not raises(ConvexOptimizer, CCm) + + assert MargPOptimizer(CCm).kind == "margp" + assert PairOptimizer(CCm).kind == "pair" + assert ConvexOptimizer(CCm).kind == "convex" + + CPCArbOptimizer.MargpOptimizerResult(None, time=0,errormsg="err", optimizer=None) + + +# ------------------------------------------------------------ +# Test 900 +# File test_900_OptimizerDetailedSlow.py +# Segment General and Specific Tests +# ------------------------------------------------------------ +def test_general_and_specific_tests(): +# ------------------------------------------------------------ + + CA = CAm + + # ### General tests + + # #### General data integrity (should ALWAYS hold) + + assert len(pairs0) > 2500 + assert len(pairs) > 2500 + assert len(pairs0) > len(pairs) + assert len(pairsc) > 10 + assert len(CCm.tokens()) > 2000 + assert len(CCm)>4000 + assert len(CCm.filter_pairs(onein=f"{T.ETH}")) > 1900 # ETH pairs + assert len(CCm.filter_pairs(onein=f"{T.USDC}")) > 300 # USDC pairs + assert len(CCm.filter_pairs(onein=f"{T.USDT}")) > 190 # USDT pairs + assert len(CCm.filter_pairs(onein=f"{T.DAI}")) > 50 # DAI pairs + assert len(CCm.filter_pairs(onein=f"{T.WBTC}")) > 30 # WBTC pairs + + xis0 = {c.cid: (c.x, c.y) for c in CCm if c.x==0} + yis0 = {c.cid: (c.x, c.y) for c in CCm if c.y==0} + assert len(xis0) == 0 # set loglevel debug to see removal of curves + assert len(yis0) == 0 + + # #### Data integrity + + assert len(CCm) == 4155 + assert len(CCu3) == 1411 + assert len(CCu2) == 2177 + assert len(CCs2) == 236 + assert len(CCm.tokens()) == 2233 + assert len(CCm.pairs()) == 2834 + assert len(CCm.pairs(standardize=False)) == 2864 + + + assert CA.pairs() == CCm.pairs(standardize=True) + assert CA.pairsc() == {c.pairo.primary for c in CCm if c.P("exchange")=="carbon_v1"} + assert CA.tokens() == CCm.tokens() + + # #### prices + + r1 = CCc1.prices(result=CCc1.PR_TUPLE) + r2 = CCc1.prices(result=CCc1.PR_TUPLE, primary=False) + r3 = CCc1.prices(result=CCc1.PR_TUPLE, primary=False, inclpair=False) + assert isinstance(r1, tuple) + assert isinstance(r2, tuple) + assert isinstance(r3, tuple) + assert len(r1) == len(r2) + assert len(r1) == len(r3) + assert len(r1[0]) == 3 + assert isinstance(r1[0][0], str) + assert isinstance(r1[0][1], float) + assert len(r1[0][2].split("/"))==2 + + r2[:2] + + r3[:2] + + r1a = CCc1.prices(result=CCc1.PR_DICT) + r2a = CCc1.prices(result=CCc1.PR_DICT, primary=False) + r3a = CCc1.prices(result=CCc1.PR_DICT, primary=False, inclpair=False) + assert isinstance(r1a, dict) + assert isinstance(r2a, dict) + assert isinstance(r3a, dict) + assert len(r1a) == len(r1) + assert len(r1a) == len(r2a) + assert len(r1a) == len(r3a) + assert list(r1a.keys()) == list(x[0] for x in r1) + assert r1a.keys() == r2a.keys() + assert r1a.keys() == r3a.keys() + assert set(len(x) for x in r1a.values()) == {2}, "all records must be of of length 2" + assert set(type(x[0]) for x in r1a.values()) == {float}, "all records must have first type float" + assert set(type(x[1]) for x in r1a.values()) == {str}, "all records must have second type str" + assert tuple(r3a.values()) == r3 + + df = CCc1.prices(result=CCc1.PR_DF, primary=False) + assert len(df) == len(r1) + assert tuple(df.index) == tuple(x[0] for x in r1) + assert tuple(df["price"]) == r3 + df + + # #### more prices + + CCt = CCm.bypairs(f"{T.USDC}/{T.ETH}") + + r = CCt.prices(result=CCt.PR_TUPLE) + assert isinstance(r, tuple) + assert len(r) == len(CCt) + assert r[0] == ('6c988ffdc9e74acd97ccfb16dd65c110', 1833.9007005259564, 'WETH-6Cc2/USDC-eB48') + assert CCt.prices() == CCt.prices(result=CCt.PR_DICT) + r = CCt.prices(result=CCt.PR_DICT) + assert len(r) == len(CCt) + assert isinstance(r, dict) + assert r['6c988ffdc9e74acd97ccfb16dd65c110'] == (1833.9007005259564, 'WETH-6Cc2/USDC-eB48') + df = CCt.prices(result=CCt.PR_DF) + assert len(df) == len(CCt) + assert tuple(df.loc["1701411834604692317316873037158841057339-0"]) == (1799.9999997028303, 'WETH-6Cc2/USDC-eB48') + + # #### price_ranges + + CCt = CCm.bypairs(f"{T.USDC}/{T.ETH}") + CAt = CPCAnalyzer(CCt) + + r = CAt.price_ranges(result=CAt.PR_TUPLE) + assert len(r) == len(CCt) + assert r[0] == ( + 'WETH/USDC', # pair + '16dd65c110', # cid + 'sushiswap_v2', # exchange + 'b', # buy + 's', # sell + 0, # min_primary + None, # max_primary + 1833.9007005259564 # pp + ) + assert r[1] == ( + 'WETH/USDC', + '41057334-0', + 'carbon_v1', + 'b', + '', + 1699.999829864358, + 1700.000169864341, + 1700.000169864341 + ) + r = CAt.price_ranges(result=CAt.PR_TUPLE, short=False) + assert r[0] == ( + 'WETH-6Cc2/USDC-eB48', + '6c988ffdc9e74acd97ccfb16dd65c110', + 'sushiswap_v2', + 'b', + 's', + 0, + None, + 1833.9007005259564 + ) + r = CAt.price_ranges(result=CAt.PR_DICT) + assert len(r) == len(CCt) + assert r['6c988ffdc9e74acd97ccfb16dd65c110'] == ( + 'WETH/USDC', + '16dd65c110', + 'sushiswap_v2', + 'b', + 's', + 0, + None, + 1833.9007005259564 + ) + df = CAt.price_ranges(result=CAt.PR_DF) + assert len(df) == len(CCt) + assert tuple(df.index.names) == ('pair', 'exch', 'cid') + assert tuple(df.columns) == ('b', 's', 'p_min', 'p_max', 'p_marg') + assert set(df["p_marg"]) == set(x[-1] for x in CAt.price_ranges(result=CCt.PR_TUPLE)) + for p1, p2 in zip(df["p_marg"], df["p_marg"][1:]): + assert p2 >= p1 + df + + # #### count_by_pairs + + assert len(CA.count_by_pairs()) == len(CA.pairs()) + assert sum(CA.count_by_pairs()["count"])==len(CA.CC) + assert np.all(CA.count_by_pairs() == CA.count_by_pairs(asdf=True)) + assert len(CA.count_by_pairs()) == len(CA.count_by_pairs(asdf=False)) + assert type(CA.count_by_pairs()).__name__ == "DataFrame" + assert type(CA.count_by_pairs(asdf=False)).__name__ == "list" + assert type(CA.count_by_pairs(asdf=False)[0]).__name__ == "tuple" + for i in range(10): + assert len(CA.count_by_pairs(minn=i)) >= len(CA.count_by_pairs(minn=i)), f"failed {i}" + + # #### count_by_tokens + + r = CA.count_by_tokens() + assert len(r) == len(CA.tokens()) + assert sum(r["total"]) == 2*len(CA.CC) + assert tuple(r["total"]) == tuple(x[1] for x in CA.CC.token_count()) + for ix, row in r[:10].iterrows(): + assert row[0] >= sum(row[1:]), f"failed at {ix} {tuple(row)}" + CA.count_by_tokens() + + # #### pool_arbitrage_statistics + + pas = CAm.pool_arbitrage_statistics() + assert np.all(pas == CAm.pool_arbitrage_statistics(CAm.POS_DF)) + assert len(pas)==165 + assert list(pas.columns) == ['price', 'vl', 'itm', 'b', 's', 'bsv'] + assert list(pas.index.names) == ['pair', 'exchange', 'cid0'] + assert {x[0] for x in pas.index} == {Pair.n(x) for x in CAm.pairsc()} + assert {x[1] for x in pas.index} == {'bancor_v2', 'bancor_v3','carbon_v1','sushiswap_v2','uniswap_v2','uniswap_v3'} + pas + + pasd = CAm.pool_arbitrage_statistics(CAm.POS_DICT) + assert isinstance(pasd, dict) + assert len(pasd) == 26 + assert len(pasd['WETH-6Cc2/DAI-1d0F']) == 7 + pd0 = pasd['WETH-6Cc2/DAI-1d0F'][0] + assert pd0[:2] == ('WETH/DAI', 'WETH-6Cc2/DAI-1d0F') + assert iseq(pd0[2], 1840.1216491367131) + assert pd0[3:6] == ('594', '594', 'uniswap_v3') + assert iseq(pd0[6], 8.466598820198278) + assert pd0[7:] == ('', 'b', 's', 'buy-sell-WETH @ 1840.12 DAI per WETH') + pd0 + + pasl = CAm.pool_arbitrage_statistics(result = CAm.POS_LIST) + assert isinstance(pasl, tuple) + assert len(pasl) == len(pas) + pd0 = [(ix, x) for ix, x in enumerate(pasl) if x[2]==1840.1216491367131] + pd0 = pasl[pd0[0][0]] + assert pd0[:2] == ('WETH/DAI', 'WETH-6Cc2/DAI-1d0F') + assert iseq(pd0[2], 1840.1216491367131) + assert pd0[3:6] == ('594', '594', 'uniswap_v3') + assert iseq(pd0[6], 8.466598820198278) + assert pd0[7:] == ('', 'b', 's', 'buy-sell-WETH @ 1840.12 DAI per WETH') + pd0 + + # ### MargP Optimizer + + # #### margp optimizer + + tokenlist = f"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}" + targettkn = f"{T.USDC}" + O = MargPOptimizer(CCm.bypairs(CCm.filter_pairs(bothin=tokenlist))) + r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) + r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("") + + # #### MargpOptimizerResult + + assert type(r) == MargPOptimizer.MargpOptimizerResult + assert iseq(r.result, -4606.010157294979) + assert r.time > 0.001 + assert r.time < 0.1 + assert r.method == O.METHOD_MARGP + assert r.targettkn == targettkn + assert set(r.tokens_t)==set(['USDT-1ec7', 'WETH-6Cc2', 'WBTC-C599', 'DAI-1d0F', 'BNT-FF1C']) + p_opt_d0 = {t:x for x, t in zip(r.p_optimal_t, r.tokens_t)} + p_opt_d = {t:round(x,6) for x, t in zip(r.p_optimal_t, r.tokens_t)} + print("optimal p", p_opt_d) + assert p_opt_d == {'WETH-6Cc2': 1842.67228, 'WBTC-C599': 27604.143472, + 'BNT-FF1C': 0.429078, 'USDT-1ec7': 1.00058, 'DAI-1d0F': 1.000179} + assert r.p_optimal[r.targettkn] == 1 + po = [(k,v) for k,v in r.p_optimal.items()][:-1] + assert len(po)==len(r.p_optimal_t) + for k,v in po: + assert p_opt_d0[k] == v, f"error at {k}, {v}, {p_opt_d0[k]}" + + # #### TradeInstructions + + assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS) + ti = r.trade_instructions(ti_format=O.TIF_OBJECTS) + cids = tuple(ti_.cid for ti_ in ti) + assert isinstance(ti, tuple) + assert len(ti) == 86 + ti0=[x for x in ti if x.cid=="357"] + assert len(ti0)==1 + ti0=ti0[0] + assert ti0.cid == ti0.curve.cid + assert type(ti0).__name__ == "TradeInstruction" + assert type(ti[0]) == MargPOptimizer.TradeInstruction + assert ti0.tknin == f"{T.USDT}" + assert ti0.tknout == f"{T.USDC}" + assert round(ti0.amtin, 8) == 1214.45596849 + assert round(ti0.amtout, 8) == -1216.41933959 + assert ti0.error is None + ti[:2] + + tid = r.trade_instructions(ti_format=O.TIF_DICTS) + assert isinstance(tid, tuple) + assert len(tid) == len(ti) + tid0=[x for x in tid if x["cid"]=="357"] + assert len(tid0)==1 + tid0=tid0[0] + assert type(tid0)==dict + assert tid0["tknin"] == f"{T.USDT}" + assert tid0["tknout"] == f"{T.USDC}" + assert round(tid0["amtin"], 8) == 1214.45596849 + assert round(tid0["amtout"], 8) == -1216.41933959 + assert tid0["error"] is None + tid[:2] + + df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") + assert tuple(df.index) == cids + assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna("")==df) + assert len(df) == len(ti) + assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout'] + assert len(df.columns) == 4 + len(r.tokens_t) + 1 + tif0 = dict(df.loc["357"]) + assert tif0["pair"] == "USDC-eB48/USDT-1ec7" + assert tif0["pairp"] == "USDC/USDT" + assert tif0["tknin"] == tid0["tknin"] + assert tif0[tif0["tknin"]] == tid0["amtin"] + assert tif0[tif0["tknout"]] == tid0["amtout"] + df[:2] + + dfa = r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("") + assert tuple(dfa.index)[:-4] == cids + assert len(dfa) == len(df)+4 + assert len(dfa.columns) == len(r.tokens_t) + 1 + assert set(dfa.columns) == set(r.tokens_t).union(set([r.targettkn])) + assert list(dfa.index)[-4:] == ['PRICE', 'AMMIn', 'AMMOut', 'TOTAL NET'] + dfa[:10] + + dfpg = r.trade_instructions(ti_format=O.TIF_DFPG) + assert set(x[1] for x in dfpg.index) == set(cids) + assert np.all(dfpg["gain_tknq"]>=0) + assert np.all(dfpg["gain_r"]>=0) + assert round(np.max(dfpg["gain_r"]),8) == 0.04739068 + assert round(np.min(dfpg["gain_r"]),8) == 1.772e-05 + assert len(dfpg) == len(ti) + for p, t in zip(tuple(dfpg["pair"]), tuple(dfpg["tknq"])): + assert p.split("/")[1] == t, f"error in {p} [{t}]" + print(f"total gains: {sum(dfpg['gain_ttkn']):,.2f} {r.targettkn} [result={-r.result:,.2f}]") + assert abs(sum(dfpg["gain_ttkn"])/r.result+1)<0.01 + dfpg[:10] + + # ### Convex Optimizer + + tokens = f"{T.DAI},{T.USDT},{T.HEX},{T.WETH},{T.LINK}" + CCo = CCu2.bypairs(CCu2.filter_pairs(bothin=tokens)) + CCo += CCs2.bypairs(CCu2.filter_pairs(bothin=tokens)) + CA = CPCAnalyzer(CCo) + O = ConvexOptimizer(CCo) + #ArbGraph.from_cc(CCo).plot()._ + + CA.count_by_tokens() + + # + + #CCo.plot() + # - + + # #### convex optimizer + + targettkn = T.USDT + # r = O.margp_optimizer(targettkn, params=dict(verbose=True, debug=False)) + # r + + SFC = O.SFC(**{targettkn:O.AMMPays}) + r = O.convex_optimizer(SFC, verbose=False, solver=O.SOLVER_SCS) + r + + # #### NofeesOptimizerResult + + round(r.result,-5) + + assert type(r) == ConvexOptimizer.NofeesOptimizerResult + # assert round(r.result,-5) <= -1500000.0 + # assert round(r.result,-5) >= -2500000.0 + # assert r.time < 8 + assert r.method == "convex" + assert set(r.token_table.keys()) == set(['USDT-1ec7', 'WETH-6Cc2', 'LINK-86CA', 'DAI-1d0F', 'HEX-eb39']) + assert len(r.token_table[T.USDT].x)==0 + assert len(r.token_table[T.USDT].y)==10 + lx = list(it.chain(*[rr.x for rr in r.token_table.values()])) + lx.sort() + ly = list(it.chain(*[rr.y for rr in r.token_table.values()])) + ly.sort() + assert lx == [_ for _ in range(21)] + assert ly == lx + + # #### trade instructions + + ti = r.trade_instructions() + assert type(ti[0]) == ConvexOptimizer.TradeInstruction + + assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS) + ti = r.trade_instructions(ti_format=O.TIF_OBJECTS) + cids = tuple(ti_.cid for ti_ in ti) + assert isinstance(ti, tuple) + assert len(ti) == 21 + ti0=[x for x in ti if x.cid=="175"] + assert len(ti0)==1 + ti0=ti0[0] + assert ti0.cid == ti0.curve.cid + assert type(ti0).__name__ == "TradeInstruction" + assert type(ti[0]) == ConvexOptimizer.TradeInstruction + assert ti0.tknin == f"{T.LINK}" + assert ti0.tknout == f"{T.DAI}" + # assert round(ti0.amtin, 8) == 8.50052943 + # assert round(ti0.amtout, 8) == -50.40963779 + assert ti0.error is None + ti[:2] + + tid = r.trade_instructions(ti_format=O.TIF_DICTS) + assert isinstance(tid, tuple) + assert type(tid[0])==dict + assert len(tid) == len(ti) + tid0=[x for x in tid if x["cid"]=="175"] + assert len(tid0)==1 + tid0=tid0[0] + assert tid0["tknin"] == f"{T.LINK}" + assert tid0["tknout"] == f"{T.DAI}" + # assert round(tid0["amtin"], 8) == 8.50052943 + # assert round(tid0["amtout"], 8) == -50.40963779 + assert tid0["error"] is None + tid[:2] + + df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") + assert tuple(df.index) == cids + assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna("")==df) + assert len(df) == len(ti) + assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout'] + assert len(df.columns) == 4 + 4 + 1 + tif0 = dict(df.loc["175"]) + assert tif0["pair"] == 'LINK-86CA/DAI-1d0F' + assert tif0["pairp"] == "LINK/DAI" + assert tif0["tknin"] == tid0["tknin"] + assert tif0[tif0["tknin"]] == tid0["amtin"] + assert tif0[tif0["tknout"]] == tid0["amtout"] + df[:2] + + assert raises(r.trade_instructions, ti_format=O.TIF_DFAGGR).startswith("TIF_DFAGGR not implemented for") + assert raises(r.trade_instructions, ti_format=O.TIF_DFPG).startswith("TIF_DFPG not implemented for") + + # ### Simple Optimizer + + pair = f"{T.ETH}/{T.USDC}" + CCs = CCm.bypairs(pair) + CA = CPCAnalyzer(CCs) + O = PairOptimizer(CCs) + #ArbGraph.from_cc(CCs).plot()._ + + CA.count_by_tokens() + + # + + #CCs.plot() + # - + + # #### simple optimizer + + r = O.optimize(T.USDC) + r + + # #### result + + assert type(r) == PairOptimizer.MargpOptimizerResult + assert round(r.result, 5) == -1217.2442 + assert r.time < 0.1 + assert r.method == "margp-pair" + assert r.errormsg is None + + round(r.result,5) + + # #### trade instructions + + ti = r.trade_instructions() + assert type(ti[0]) == PairOptimizer.TradeInstruction + + assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS) + ti = r.trade_instructions(ti_format=O.TIF_OBJECTS) + cids = tuple(ti_.cid for ti_ in ti) + assert isinstance(ti, tuple) + assert len(ti) == 12 + ti0=[x for x in ti if x.cid=="6c988ffdc9e74acd97ccfb16dd65c110"] + assert len(ti0)==1 + ti0=ti0[0] + assert ti0.cid == ti0.curve.cid + assert type(ti0).__name__ == "TradeInstruction" + assert type(ti[0]) == PairOptimizer.TradeInstruction + assert ti0.tknin == f"{T.USDC}" + assert ti0.tknout == f"{T.WETH}" + assert round(ti0.amtin, 5) == 48153.80865 + assert round(ti0.amtout, 5) == -26.18300 + assert ti0.error is None + ti[:2] + + tid = r.trade_instructions(ti_format=O.TIF_DICTS) + assert isinstance(tid, tuple) + assert type(tid[0])==dict + assert len(tid) == len(ti) + tid0=[x for x in tid if x["cid"]=="6c988ffdc9e74acd97ccfb16dd65c110"] + assert len(tid0)==1 + tid0=tid0[0] + assert tid0["tknin"] == f"{T.USDC}" + assert tid0["tknout"] == f"{T.WETH}" + assert round(tid0["amtin"], 5) == 48153.80865 + assert round(tid0["amtout"], 5) == -26.183 + assert tid0["error"] is None + tid[:2] + + # trade instructions of format `TIF_DFRAW` (same as `TIF_DF`): raw dataframe + + df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") + assert tuple(df.index) == cids + assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna("")==df) + assert len(df) == len(ti) + assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout'] + assert len(df.columns) == 4 + 1 + 1 + tif0 = dict(df.loc["6c988ffdc9e74acd97ccfb16dd65c110"]) + assert tif0["pair"] == 'WETH-6Cc2/USDC-eB48' + assert tif0["pairp"] == "WETH/USDC" + assert tif0["tknin"] == tid0["tknin"] + assert tif0[tif0["tknin"]] == tid0["amtin"] + assert tif0[tif0["tknout"]] == tid0["amtout"] + df[:2] + + # trade instructions of format `TIF_DFAGGR` (aggregated data frame) + + df = r.trade_instructions(ti_format=O.TIF_DFAGGR) + assert len(df) == 16 + assert tuple(df.index[-4:]) == ('PRICE', 'AMMIn', 'AMMOut', 'TOTAL NET') + assert tuple(df.columns) == ('USDC-eB48', 'WETH-6Cc2') + df + + + + # prices and gains analysis data frame `TIF_DFPG` + + df = r.trade_instructions(ti_format=O.TIF_DFPG) + assert len(df) == 12 + assert set(x[0] for x in tuple(df.index)) == {'carbon_v1', 'sushiswap_v2', 'uniswap_v2', 'uniswap_v3'} + assert max(df["margp"]) == min(df["margp"]) + assert tuple(df.index.names) == ('exch', 'cid') + assert tuple(df.columns) == ( + 'fee', + 'pair', + 'amt_tknq', + 'tknq', + 'margp0', + 'effp', + 'margp', + 'gain_r', + 'gain_tknq', + 'gain_ttkn' + ) + df + + +# ------------------------------------------------------------ +# Test 900 +# File test_900_OptimizerDetailedSlow.py +# Segment Analysis by pair +# ------------------------------------------------------------ +def test_analysis_by_pair(): +# ------------------------------------------------------------ + + # + + # CCm1 = CAm.CC.copy() + # CCm1 += CPC.from_carbon( + # pair=f"{T.WETH}/{T.USDC}", + # yint = 1, + # y = 1, + # pa = 1500, + # pb = 1501, + # tkny = f"{T.WETH}", + # cid = "test-1", + # isdydx=False, + # params=dict(exchange="carbon_v1"), + # ) + # CAm1 = CPCAnalyzer(CCm1) + # CCm1.asdf().to_csv("NBTest_006-augmented.csv.gz", compression = "gzip") + # - + + pricedf = CAm.pool_arbitrage_statistics() + assert len(pricedf)==165 + pricedf + + # ### WETH/USDC + + pair = "WETH-6Cc2/USDC-eB48" + print(f"Pair = {pair}") + + df = pricedf.loc[Pair.n(pair)] + assert len(df)==24 + df + + pi = CAm.pair_data(pair) + O = MargPOptimizer(pi.CC) + + # #### Target token = base token + + targettkn = pair.split("/")[0] + print(f"Target token = {targettkn}") + r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) + r.trade_instructions(ti_format=O.TIF_DFAGGR) + + dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8) + print(f"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}") + dfti1 + + # #### Target token = quote token + + targettkn = pair.split("/")[1] + print(f"Target token = {targettkn}") + r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) + r.trade_instructions(ti_format=O.TIF_DFAGGR) + + dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8) + print(f"Total gain: {sum(dfti2['gain_ttkn']):.4f}", targettkn) + dfti2 \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_901_TestMultiTriangleModeSlow.py b/fastlane_bot/tests/nbtest/test_901_TestMultiTriangleModeSlow.py new file mode 100644 index 000000000..cde85f575 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_901_TestMultiTriangleModeSlow.py @@ -0,0 +1,247 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_901_TestMultiTriangleModeSlow.py` +# ------------------------------------------------------------ +# source file = NBTest_901_TestMultiTriangleModeSlow.py +# test id = 901 +# test comment = TestMultiTriangleModeSlow +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 0.02 +C.DEFAULT_MIN_PROFIT = 0.02 +cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 +cfg.DEFAULT_MIN_PROFIT = 0.02 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "multi_triangle" + + +# ------------------------------------------------------------ +# Test 901 +# File test_901_TestMultiTriangleModeSlow.py +# Segment Test_min_profit +# ------------------------------------------------------------ +def test_test_min_profit(): +# ------------------------------------------------------------ + + assert(cfg.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + assert(C.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + assert bot.ConfigObj.DEFAULT_MIN_PROFIT_BNT == 0.02 + + # ### Test_arb_mode_class + + arb_finder = bot._get_arb_finder("multi_triangle") + assert arb_finder.__name__ == "ArbitrageFinderTriangleMulti", f"[TestMultiMode] Expected arb_finder class name name = FindArbitrageMultiPairwise, found {arb_finder.__name__}" + + +# ------------------------------------------------------------ +# Test 901 +# File test_901_TestMultiTriangleModeSlow.py +# Segment Test_combos +# ------------------------------------------------------------ +def test_test_combos(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("multi_triangle") + finder2 = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_TOKENS, + ConfigObj=bot.ConfigObj, + ) + combos = finder2.get_combos(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode="multi_triangle") + assert len(combos) == 1225, f"[TestMultiMode] Using wrong dataset, expected 1225 combos, found {len(combos)}" + + # ### Test_find_arbitrage + + run_full = bot._run(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode=arb_mode, data_validator=False, result=bot.XS_ARBOPPS) + arb_finder = bot._get_arb_finder("multi_triangle") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + assert len(r) == 58, f"[TestMultiMode] Expected 58 arbs, found {len(r)}" + assert len(r) == len(run_full), f"[TestMultiMode] Expected arbs from .find_arbitrage: {len(r)} - to match _run: {len(run_full)}" + + # ### Test_multi_carbon_pools + + arb_finder = bot._get_arb_finder("multi_triangle") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + multi_carbon_count = 0 + for arb in r: + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = arb + if len(best_trade_instructions_dic) > 3: + multi_carbon_count += 1 + assert multi_carbon_count > 0, f"[TestMultiMode] Not finding arbs with multiple Carbon curves." + + # ### Test_mono_direction_carbon_curves + + arb_finder = bot._get_arb_finder("multi_triangle") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + for arb in r: + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = arb + if len(best_trade_instructions_dic) > 3: + + has_zero_curves = False + has_one_curves = False + for curve in best_trade_instructions_dic: + if "-0" in curve['cid']: + has_zero_curves = True + if "-1" in curve['cid']: + has_one_curves = True + assert not has_zero_curves or not has_one_curves, f"[TestMultiMode] Finding Carbon curves in opposite directions - not supported in this mode." \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_903_FlashloanTokens.py b/fastlane_bot/tests/nbtest/test_903_FlashloanTokens.py new file mode 100644 index 000000000..b77802416 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_903_FlashloanTokens.py @@ -0,0 +1,100 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_903_FlashloanTokens.py` +# ------------------------------------------------------------ +# source file = NBTest_903_FlashloanTokens.py +# test id = 903 +# test comment = FlashloanTokens +# ------------------------------------------------------------ + + + +""" +This module contains the tests which ensure the the flashloan_tokens parameter is respected when using the b3_two_hop and bancor_v3 arb modes. +""" +from fastlane_bot import Bot +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +import subprocess, os, sys +import pytest +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + + +def find_main_py(): + # Start at the directory of the current script + cwd = os.path.abspath(os.path.join(os.getcwd())) + + with open("log.txt", "w") as f: + f.write(f"Searching for main.py in {cwd}") + + print(f"Searching for main.py in {cwd}") + while True: + # Check if main.py exists in the current directory + if "main.py" in os.listdir(cwd): + return cwd # Found the directory containing main.py + else: + # If not, go up one directory + new_cwd = os.path.dirname(cwd) + + # If we're already at the root directory, stop searching + if new_cwd == cwd: + raise FileNotFoundError("Could not find main.py in any parent directory") + + cwd = new_cwd + + +def run_command(mode): + + # Find the correct path to main.py + main_script_path = find_main_py() + print(f"Found main.py in {main_script_path}") + main_script_path = main_script_path + "/main.py" + + # Run the command + cmd = [ + "python", + main_script_path, + f"--arb_mode={mode}", + "--default_min_profit_bnt=60", + "--limit_bancor3_flashloan_tokens=True", + "--use_cached_events=True", + "--logging_path=fastlane_bot/data/", + "--timeout=70" + ] + subprocess.Popen(cmd) + + # Wait for the expected log line to appear + expected_log_line = "limiting flashloan_tokens to [" + found = False + result = subprocess.run(cmd, text=True, capture_output=True, check=True, timeout=120) + + # Check if the expected log line is in the output + if expected_log_line in result.stderr: + found = True + + if not found: + pytest.fail("Expected log line was not found within 1 minute") # If we reach this point, the test has failed + + + + +# ------------------------------------------------------------ +# Test 903 +# File test_903_FlashloanTokens.py +# Segment Test Flashloan Tokens b3_two_hop +# ------------------------------------------------------------ +def test_test_flashloan_tokens_b3_two_hop(): +# ------------------------------------------------------------ + + run_command("b3_two_hop") \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_904_Bancor3DataValidation.py b/fastlane_bot/tests/nbtest/test_904_Bancor3DataValidation.py new file mode 100644 index 000000000..35216954e --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_904_Bancor3DataValidation.py @@ -0,0 +1,98 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_904_Bancor3DataValidation.py` +# ------------------------------------------------------------ +# source file = NBTest_904_Bancor3DataValidation.py +# test id = 904 +# test comment = Bancor3DataValidation +# ------------------------------------------------------------ + + + +""" +This module contains the tests which ensure that data validation checks always occur when running a bancor3-related arb_mode. +""" +from fastlane_bot import Bot +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +import subprocess, os, sys +import pytest +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + + +def find_main_py(): + # Start at the directory of the current script + cwd = os.path.abspath(os.path.join(os.getcwd())) + + print(f"Searching for main.py in {cwd}") + while True: + # Check if main.py exists in the current directory + if "main.py" in os.listdir(cwd): + return cwd # Found the directory containing main.py + else: + # If not, go up one directory + new_cwd = os.path.dirname(cwd) + + # If we're already at the root directory, stop searching + if new_cwd == cwd: + raise FileNotFoundError("Could not find main.py in any parent directory") + + cwd = new_cwd + + +def run_command(arb_mode, expected_log_line): + + # Find the correct path to main.py + main_script_path = find_main_py() + print(f"Found main.py in {main_script_path}") + main_script_path = main_script_path + "/main.py" + + # Run the command + cmd = [ + "python", + main_script_path, + f"--arb_mode={arb_mode}", + "--default_min_profit_bnt=60", + "--limit_bancor3_flashloan_tokens=False", + "--use_cached_events=True", + "--logging_path=fastlane_bot/data/", + "--timeout=60" + ] + subprocess.Popen(cmd) + + # Wait for the expected log line to appear + found = False + result = subprocess.run(cmd, text=True, capture_output=True, check=True, timeout=120) + + # Check if the expected log line is in the output + if expected_log_line in result.stderr or expected_log_line in result.stdout: + found = True + + if not found: + pytest.fail("Expected log line was not found within 1 minute") # If we reach this point, the test has failed + + + + +# ------------------------------------------------------------ +# Test 904 +# File test_904_Bancor3DataValidation.py +# Segment Test Data Validation For b3_two_hop +# ------------------------------------------------------------ +def test_test_data_validation_for_b3_two_hop(): +# ------------------------------------------------------------ + + expected_log_line = "Transactions will be required to pass data validation for" + arb_mode = "b3_two_hop" + run_command(arb_mode=arb_mode, expected_log_line=expected_log_line) \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_906_TargetTokens.py b/fastlane_bot/tests/nbtest/test_906_TargetTokens.py new file mode 100644 index 000000000..e7852d1a9 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_906_TargetTokens.py @@ -0,0 +1,101 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_906_TargetTokens.py` +# ------------------------------------------------------------ +# source file = NBTest_906_TargetTokens.py +# test id = 906 +# test comment = TargetTokens +# ------------------------------------------------------------ + + + +""" +This module contains the tests which ensure the target_tokens parameter is respected. +""" +from fastlane_bot import Bot +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +import subprocess, os, sys +import pytest +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +from fastlane_bot.tools.cpc import T + + +def find_main_py(): + # Start at the directory of the current script + cwd = os.path.abspath(os.path.join(os.getcwd())) + + with open("log.txt", "w") as f: + f.write(f"Searching for main.py in {cwd}") + + print(f"Searching for main.py in {cwd}") + while True: + # Check if main.py exists in the current directory + if "main.py" in os.listdir(cwd): + return cwd # Found the directory containing main.py + else: + # If not, go up one directory + new_cwd = os.path.dirname(cwd) + + # If we're already at the root directory, stop searching + if new_cwd == cwd: + raise FileNotFoundError("Could not find main.py in any parent directory") + + cwd = new_cwd + + +def run_command(mode): + + # Find the correct path to main.py + main_script_path = find_main_py() + print(f"Found main.py in {main_script_path}") + main_script_path = main_script_path + "/main.py" + + # Run the command + cmd = [ + "python", + main_script_path, + f"--arb_mode={mode}", + "--use_cached_events=True", + "--logging_path=fastlane_bot/data/", + "--timeout=45", + f"--target_tokens={T.WETH},{T.DAI}" + ] + subprocess.Popen(cmd) + + # Wait for the expected log line to appear + expected_log_line = "Limiting pools by target_tokens. Removed " + found = False + result = subprocess.run(cmd, text=True, capture_output=True, check=True, timeout=120) + + # Check if the expected log line is in the output + if expected_log_line in result.stderr: + found = True + + if not found: + pytest.fail("Expected log line was not found within 1 minute") # If we reach this point, the test has failed + + + + +# ------------------------------------------------------------ +# Test 906 +# File test_906_TargetTokens.py +# Segment Test Flashloan Tokens b3_two_hop +# ------------------------------------------------------------ +def test_test_flashloan_tokens_b3_two_hop(): +# ------------------------------------------------------------ + + run_command("single") \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index d4d875404..092ebda41 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,4 +16,5 @@ hexbytes~=0.2.3 click~=8.1.3 setuptools~=67.6.1 protobuf==3.19.5 -tqdm +tqdm~=4.64.1 + diff --git a/resources/NBTest/NBTest_002_CPCandOptimizer.py b/resources/NBTest/NBTest_002_CPCandOptimizer.py index 16fae80f5..e7fc5753c 100644 --- a/resources/NBTest/NBTest_002_CPCandOptimizer.py +++ b/resources/NBTest/NBTest_002_CPCandOptimizer.py @@ -7,7 +7,7 @@ # extension: .py # format_name: light # format_version: '1.5' -# jupytext_version: 1.13.1 +# jupytext_version: 1.15.2 # kernelspec: # display_name: Python 3 # language: python diff --git a/resources/NBTest/NBTest_033_Pools.py b/resources/NBTest/NBTest_033_Pools.py index bc0e3d868..cda51f056 100644 --- a/resources/NBTest/NBTest_033_Pools.py +++ b/resources/NBTest/NBTest_033_Pools.py @@ -8,9 +8,9 @@ # format_version: '1.5' # jupytext_version: 1.15.2 # kernelspec: -# display_name: Python 3 +# display_name: fastlane-bot-38 # language: python -# name: python3 +# name: fastlane-bot-38 # --- # + @@ -19,7 +19,8 @@ import pytest from fastlane_bot import Bot -from fastlane_bot.events.pools import SushiswapV2Pool, UniswapV2Pool, UniswapV3Pool, BancorV3Pool, CarbonV1Pool, BancorV2Pool +from fastlane_bot.events.pools import SushiswapV2Pool, UniswapV2Pool, UniswapV3Pool, BancorV3Pool, CarbonV1Pool, \ + BancorV2Pool, BancorPolPool from fastlane_bot.tools.cpc import ConstantProductCurve as CPC print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) @@ -119,6 +120,37 @@ assert (carbon_v1_pool.state['z_1'] == 0) assert (carbon_v1_pool.state['A_1'] == 0) - - - +# + +# ## test_bancor_pol_token_traded_event + +bancor_pol_pool = BancorPolPool() +bancor_pol_pool.state['tkn0_address'] = setup_data['bancor_pol_token_traded_event']['args']['token'] +bancor_pol_pool.state['tkn0_balance'] = 10 + setup_data['bancor_pol_token_traded_event']['args']['amount'] +bancor_pol_pool.update_from_event(setup_data['bancor_pol_token_traded_event'], + {'cid': '0x', + 'fee': '0.000', + 'fee_float': 0.0, + 'exchange_name': 'bancor_pol', + 'token': setup_data['bancor_pol_token_traded_event']['args']['token'], + 'amount': setup_data['bancor_pol_token_traded_event']['args']['amount'], + 'ethReceived': setup_data['bancor_pol_token_traded_event']['args']['ethReceived'], + 'tkn0_symbol': 'tkn0', + 'tkn1_symbol': 'tkn1',} +) +assert (bancor_pol_pool.state['tkn0_balance'] == 10) + +# ## test_bancor_pol_trading_enabled_event + +bancor_pol_pool = BancorPolPool() +bancor_pol_pool.state['tkn0_address'] = None +bancor_pol_pool.update_from_event(setup_data['bancor_pol_trading_enabled_event'], + {'cid': '0x', + 'fee': '0.000', + 'fee_float': 0.0, + 'exchange_name': 'bancor_pol', + 'token': setup_data['bancor_pol_trading_enabled_event']['args']['token'], + 'tkn0_symbol': 'tkn0', + 'tkn1_symbol': 'tkn1'} + ) +assert (bancor_pol_pool.state['tkn0_address'] == setup_data['bancor_pol_trading_enabled_event']['args']['token']) diff --git a/resources/NBTest/NBTest_037_Exchanges.py b/resources/NBTest/NBTest_037_Exchanges.py index a17c703c2..70ed03b93 100644 --- a/resources/NBTest/NBTest_037_Exchanges.py +++ b/resources/NBTest/NBTest_037_Exchanges.py @@ -8,9 +8,9 @@ # format_version: '1.5' # jupytext_version: 1.15.2 # kernelspec: -# display_name: Python 3 +# display_name: fastlane-bot-38 # language: python -# name: python3 +# name: fastlane-bot-38 # --- # + @@ -18,9 +18,10 @@ from fastlane_bot import Bot from fastlane_bot.tools.cpc import ConstantProductCurve as CPC -from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3, BancorV2 -from fastlane_bot.data.abi import UNISWAP_V2_POOL_ABI, UNISWAP_V3_POOL_ABI, SUSHISWAP_POOLS_ABI, BANCOR_V3_POOL_COLLECTION_ABI, \ - CARBON_CONTROLLER_ABI, BANCOR_V2_CONVERTER_ABI +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3, BancorV2, BancorPol +from fastlane_bot.data.abi import UNISWAP_V2_POOL_ABI, UNISWAP_V3_POOL_ABI, SUSHISWAP_POOLS_ABI, \ + BANCOR_V3_POOL_COLLECTION_ABI, \ + CARBON_CONTROLLER_ABI, BANCOR_V2_CONVERTER_ABI, BANCOR_POL_ABI from unittest.mock import Mock import pytest @@ -107,3 +108,10 @@ carbon_v1_exchange = CarbonV1() assert (carbon_v1_exchange.get_abi() == CARBON_CONTROLLER_ABI) cid = setup_data['carbon_v1_event_delete']['args']['id'] + +# test_bancor_pol_exchange + +bancor_pol_exchange = BancorPol() +assert (bancor_pol_exchange.get_abi() == BANCOR_POL_ABI) +assert (bancor_pol_exchange.get_fee('', mocked_contract) == ('0.000', 0.0)) +assert (bancor_pol_exchange.get_tkn0('', mocked_contract, setup_data['bancor_pol_trading_enabled_event']) == "0x86772b1409b61c639EaAc9Ba0AcfBb6E238e5F83") diff --git a/resources/NBTest/NBTest_038_TestBancorV3Mode.py b/resources/NBTest/NBTest_038_TestBancorV3Mode.py index 366ceb5ba..114353c2d 100644 --- a/resources/NBTest/NBTest_038_TestBancorV3Mode.py +++ b/resources/NBTest/NBTest_038_TestBancorV3Mode.py @@ -6,7 +6,7 @@ # extension: .py # format_name: light # format_version: '1.5' -# jupytext_version: 1.14.5 +# jupytext_version: 1.15.2 # kernelspec: # display_name: Python 3 # language: python diff --git a/resources/NBTest/NBTest_039_TestMultiMode.py b/resources/NBTest/NBTest_039_TestMultiMode.py index 74c414692..531a31920 100644 --- a/resources/NBTest/NBTest_039_TestMultiMode.py +++ b/resources/NBTest/NBTest_039_TestMultiMode.py @@ -6,7 +6,7 @@ # extension: .py # format_name: light # format_version: '1.5' -# jupytext_version: 1.14.5 +# jupytext_version: 1.15.2 # kernelspec: # display_name: Python 3 # language: python diff --git a/resources/NBTest/NBTest_040_TestSingleMode.py b/resources/NBTest/NBTest_040_TestSingleMode.py index 395c65ec0..4e772114f 100644 --- a/resources/NBTest/NBTest_040_TestSingleMode.py +++ b/resources/NBTest/NBTest_040_TestSingleMode.py @@ -6,7 +6,7 @@ # extension: .py # format_name: light # format_version: '1.5' -# jupytext_version: 1.14.5 +# jupytext_version: 1.15.2 # kernelspec: # display_name: Python 3 # language: python diff --git a/resources/NBTest/NBTest_042_TestBancorV3ModeTwoHop.py b/resources/NBTest/NBTest_042_TestBancorV3ModeTwoHop.py index f191e12bd..a908eb7a8 100644 --- a/resources/NBTest/NBTest_042_TestBancorV3ModeTwoHop.py +++ b/resources/NBTest/NBTest_042_TestBancorV3ModeTwoHop.py @@ -368,7 +368,7 @@ def init_bot(mgr: Manager) -> CarbonBot: flt = {'MKR-79A2', 'TRAC-0A6F', 'MONA-412A', 'WBTC-C599', 'WOO-5D4B', 'MATIC-eBB0', 'BAT-87EF', 'UOS-5C8c', 'LRC-EafD', 'NMR-6671', 'DIP-cD83', 'TEMP-1aB9', 'ICHI-A881', 'USDC-eB48', 'ENS-9D72', 'vBNT-7f94', 'ANKR-EDD4', 'UNI-F984', 'REQ-938a', 'WETH-6Cc2', 'AAVE-DaE9', 'ENJ-3B9c', 'MANA-C942', 'wNXM-2bDE', 'QNT-4675', 'RLC-7375', 'CROWN-E0fa', 'CHZ-b4AF', 'USDT-1ec7', 'DAI-1d0F', 'RPL-A51f', 'HOT-26E2', 'LINK-86CA', 'wstETH-2Ca0'} combos = finder.get_combos(flashloan_tokens=flt, CCm=CCm, arb_mode="b3_two_hop") all_miniverses = finder.get_miniverse_combos(combos) -assert len(all_miniverses) == 146, "[test_bancor_v3_two_hop] Different data used for tests, expected 146 miniverses" +assert len(all_miniverses) == 144, f"[test_bancor_v3_two_hop] Different data used for tests, expected 146 miniverses, found {len(all_miniverses)}" # ## Test_get_mono_direction_carbon_curves diff --git a/resources/NBTest/NBTest_047_Randomizer.py b/resources/NBTest/NBTest_047_Randomizer.py index c731cf2be..c145a4f4d 100644 --- a/resources/NBTest/NBTest_047_Randomizer.py +++ b/resources/NBTest/NBTest_047_Randomizer.py @@ -6,7 +6,7 @@ # extension: .py # format_name: light # format_version: '1.5' -# jupytext_version: 1.14.5 +# jupytext_version: 1.15.2 # kernelspec: # display_name: Python 3 # language: python diff --git a/resources/NBTest/NBTest_050_TestBancorV2.py b/resources/NBTest/NBTest_050_TestBancorV2.py index 727c2b66e..fa6bbfe67 100644 --- a/resources/NBTest/NBTest_050_TestBancorV2.py +++ b/resources/NBTest/NBTest_050_TestBancorV2.py @@ -6,7 +6,7 @@ # extension: .py # format_name: light # format_version: '1.5' -# jupytext_version: 1.14.5 +# jupytext_version: 1.15.2 # kernelspec: # display_name: Python 3 # language: python diff --git a/resources/NBTest/NBTest_051_CPCBalancer.py b/resources/NBTest/NBTest_051_CPCBalancer.py index c9ad70e30..0af083dd8 100644 --- a/resources/NBTest/NBTest_051_CPCBalancer.py +++ b/resources/NBTest/NBTest_051_CPCBalancer.py @@ -7,7 +7,7 @@ # extension: .py # format_name: light # format_version: '1.5' -# jupytext_version: 1.13.1 +# jupytext_version: 1.15.2 # kernelspec: # display_name: Python 3 # language: python diff --git a/resources/NBTest/NBTest_055_Optimization.py b/resources/NBTest/NBTest_055_Optimization.py index e198a126d..876d65b87 100644 --- a/resources/NBTest/NBTest_055_Optimization.py +++ b/resources/NBTest/NBTest_055_Optimization.py @@ -7,7 +7,7 @@ # extension: .py # format_name: light # format_version: '1.5' -# jupytext_version: 1.13.1 +# jupytext_version: 1.15.2 # kernelspec: # display_name: Python 3 # language: python @@ -503,9 +503,7 @@ CCul.plot() -# + tags=[] CCn.plot() -# - CCas2.plot() diff --git a/resources/NBTest/NBTest_899_CustomMulticall.ipynb b/resources/NBTest/NBTest_899_CustomMulticall.ipynb index 67b75466a..40d79f306 100644 --- a/resources/NBTest/NBTest_899_CustomMulticall.ipynb +++ b/resources/NBTest/NBTest_899_CustomMulticall.ipynb @@ -6,8 +6,8 @@ "id": "c539b26e", "metadata": { "ExecuteTime": { - "end_time": "2023-09-26T08:45:56.139762Z", - "start_time": "2023-09-26T08:45:51.788287Z" + "end_time": "2023-09-27T10:26:19.224110Z", + "start_time": "2023-09-27T10:26:19.204243Z" } }, "outputs": [ @@ -15,8 +15,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "MultiCaller v0.0.1 (2022-09-24)\n", - "ContractMethodWrapper v0.0.1 (2022-09-24)\n", + "MultiCaller v0.0.2 (2022-09-26)\n", + "ContractMethodWrapper v0.0.2 (2022-09-26)\n", "imported m, np, pd, plt, os, sys, decimal; defined iseq, raises, require\n", "Version = 3-b2.2 [requirements >= 3.0 is met]\n" ] @@ -57,8 +57,8 @@ "id": "9c8a3b4d", "metadata": { "ExecuteTime": { - "end_time": "2023-09-26T08:45:56.143185Z", - "start_time": "2023-09-26T08:45:56.141168Z" + "end_time": "2023-09-27T10:26:19.227356Z", + "start_time": "2023-09-27T10:26:19.225735Z" } }, "outputs": [], @@ -87,7 +87,31 @@ " return Mock()\n", "\n", "class MockContract:\n", - " pass" + " pass\n", + "\n", + "# Time how long it takes to get all fees without using multicall\n", + "start_time = time.time()\n", + "\n", + "# Initialize the Contract wrapper\n", + "contract = MultiProviderContractWrapper(CONTRACT_ABI, CONTRACT_ADDRESS, providers)\n", + "\n", + "# Execute contract calls\n", + "mainnet_pairs = contract.mainnet.functions.pairs().call()\n", + "tenderly_pairs = contract.tenderly.functions.pairs().call()\n", + "\n", + "# Take a sample of 20 pairs to speed up testing\n", + "if len(mainnet_pairs) > 10:\n", + " mainnet_pairs = mainnet_pairs[:10]\n", + "\n", + "pair_fees_without_multicall = [contract.mainnet.functions.pairTradingFeePPM(pair[0], pair[1]).call() for pair in mainnet_pairs]\n", + "\n", + "pair_fees_time_without_multicall = time.time() - start_time\n", + "\n", + "start_time = time.time()\n", + "\n", + "strats_by_pair_without_multicall = [contract.mainnet.functions.strategiesByPair(pair[0], pair[1], 0, 5000).call() for pair in mainnet_pairs]\n", + "\n", + "strats_by_pair_time_without_multicall = time.time() - start_time\n" ] }, { @@ -104,8 +128,8 @@ "id": "49a9b1b66d4195d", "metadata": { "ExecuteTime": { - "end_time": "2023-09-26T08:45:56.148748Z", - "start_time": "2023-09-26T08:45:56.145177Z" + "end_time": "2023-09-27T10:26:19.233071Z", + "start_time": "2023-09-27T10:26:19.231188Z" } }, "outputs": [], @@ -134,8 +158,8 @@ "id": "a4016f70a05413bf", "metadata": { "ExecuteTime": { - "end_time": "2023-09-26T08:45:56.152098Z", - "start_time": "2023-09-26T08:45:56.149619Z" + "end_time": "2023-09-27T10:26:19.239081Z", + "start_time": "2023-09-27T10:26:19.236322Z" } }, "outputs": [], @@ -165,8 +189,8 @@ "id": "34fb2250211b133d", "metadata": { "ExecuteTime": { - "end_time": "2023-09-26T08:45:56.173903Z", - "start_time": "2023-09-26T08:45:56.155408Z" + "end_time": "2023-09-27T10:26:19.264104Z", + "start_time": "2023-09-27T10:26:19.257385Z" } }, "outputs": [], @@ -194,8 +218,8 @@ "id": "e7521dea3c4a1df2", "metadata": { "ExecuteTime": { - "end_time": "2023-09-26T08:45:56.178040Z", - "start_time": "2023-09-26T08:45:56.158160Z" + "end_time": "2023-09-27T10:26:19.281517Z", + "start_time": "2023-09-27T10:26:19.266267Z" } }, "outputs": [], @@ -223,8 +247,8 @@ "id": "64050694894fae74", "metadata": { "ExecuteTime": { - "end_time": "2023-09-26T08:45:56.178275Z", - "start_time": "2023-09-26T08:45:56.161067Z" + "end_time": "2023-09-27T10:26:19.297307Z", + "start_time": "2023-09-27T10:26:19.292582Z" } }, "outputs": [], @@ -239,67 +263,6 @@ " mock_multicall.assert_called_once()" ] }, - { - "cell_type": "markdown", - "id": "b6a2c96aabdafde8", - "metadata": {}, - "source": [ - "## test_multiprovider" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "cbe1ab01", - "metadata": { - "ExecuteTime": { - "end_time": "2023-09-26T08:45:58.383144Z", - "start_time": "2023-09-26T08:45:56.168096Z" - } - }, - "outputs": [], - "source": [ - "# Initialize the Contract wrapper\n", - "contract = MultiProviderContractWrapper(CONTRACT_ABI, CONTRACT_ADDRESS, providers)\n", - "\n", - "# Execute contract calls\n", - "mainnet_pairs = contract.mainnet.functions.pairs().call()\n", - "tenderly_pairs = contract.tenderly.functions.pairs().call()\n", - "\n", - "# Take a sample of 20 pairs to speed up testing\n", - "if len(mainnet_pairs) > 10:\n", - " mainnet_pairs = mainnet_pairs[:10]\n", - "\n", - "assert len(mainnet_pairs) > 0\n", - "assert len(tenderly_pairs) > 0" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "e8aa643430d27fe5", - "metadata": { - "ExecuteTime": { - "end_time": "2023-09-26T08:46:05.092600Z", - "start_time": "2023-09-26T08:45:58.384924Z" - } - }, - "outputs": [], - "source": [ - "# Time how long it takes to get all fees without using multicall\n", - "start_time = time.time()\n", - "\n", - "pair_fees_without_multicall = [contract.mainnet.functions.pairTradingFeePPM(pair[0], pair[1]).call() for pair in mainnet_pairs]\n", - "\n", - "pair_fees_time_without_multicall = time.time() - start_time\n", - "\n", - "start_time = time.time()\n", - "\n", - "strats_by_pair_without_multicall = [contract.mainnet.functions.strategiesByPair(pair[0], pair[1], 0, 5000).call() for pair in mainnet_pairs]\n", - "\n", - "strats_by_pair_time_without_multicall = time.time() - start_time\n" - ] - }, { "cell_type": "markdown", "id": "0d05e8f8", @@ -310,16 +273,18 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 8, "id": "e2347c4c", "metadata": { "ExecuteTime": { - "end_time": "2023-09-26T08:46:05.875344Z", - "start_time": "2023-09-26T08:46:05.093497Z" + "end_time": "2023-09-27T10:26:30.091906Z", + "start_time": "2023-09-27T10:26:29.286107Z" } }, "outputs": [], "source": [ + "contract = MultiProviderContractWrapper(CONTRACT_ABI, CONTRACT_ADDRESS, providers)\n", + "\n", "multicaller = MultiCaller(contract=contract.mainnet)\n", "\n", "# Time how long it takes to get all fees using multicall\n", @@ -347,16 +312,18 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "id": "3bae18bc82ad3ccc", "metadata": { "ExecuteTime": { - "end_time": "2023-09-26T08:46:06.521100Z", - "start_time": "2023-09-26T08:46:05.877803Z" + "end_time": "2023-09-27T10:26:30.868362Z", + "start_time": "2023-09-27T10:26:30.093177Z" } }, "outputs": [], "source": [ + "contract = MultiProviderContractWrapper(CONTRACT_ABI, CONTRACT_ADDRESS, providers)\n", + "\n", "multicaller = MultiCaller(contract=contract.mainnet)\n", "\n", "# Time how long it takes to get all fees using multicall\n", @@ -373,6 +340,14 @@ "assert len(strats_by_pair_with_multicall) == len(strats_by_pair_without_multicall)\n", "assert strats_by_pair_time_with_multicall < strats_by_pair_time_without_multicall\n" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fff7f4a0", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/resources/NBTest/NBTest_899_CustomMulticall.py b/resources/NBTest/NBTest_899_CustomMulticall.py index c0e714654..6c14ccdcc 100644 --- a/resources/NBTest/NBTest_899_CustomMulticall.py +++ b/resources/NBTest/NBTest_899_CustomMulticall.py @@ -68,6 +68,29 @@ def contract(address, abi): class MockContract: pass +# Time how long it takes to get all fees without using multicall +start_time = time.time() + +# Initialize the Contract wrapper +contract = MultiProviderContractWrapper(CONTRACT_ABI, CONTRACT_ADDRESS, providers) + +# Execute contract calls +mainnet_pairs = contract.mainnet.functions.pairs().call() +tenderly_pairs = contract.tenderly.functions.pairs().call() + +# Take a sample of 20 pairs to speed up testing +if len(mainnet_pairs) > 10: + mainnet_pairs = mainnet_pairs[:10] + +pair_fees_without_multicall = [contract.mainnet.functions.pairTradingFeePPM(pair[0], pair[1]).call() for pair in mainnet_pairs] + +pair_fees_time_without_multicall = time.time() - start_time + +start_time = time.time() + +strats_by_pair_without_multicall = [contract.mainnet.functions.strategiesByPair(pair[0], pair[1], 0, 5000).call() for pair in mainnet_pairs] + +strats_by_pair_time_without_multicall = time.time() - start_time # - @@ -135,42 +158,11 @@ class MockContract: mock_multicall.assert_called_once() # - -# ## test_multiprovider +# ## test_multicaller_pairTradingFeePPM # + -# Initialize the Contract wrapper contract = MultiProviderContractWrapper(CONTRACT_ABI, CONTRACT_ADDRESS, providers) -# Execute contract calls -mainnet_pairs = contract.mainnet.functions.pairs().call() -tenderly_pairs = contract.tenderly.functions.pairs().call() - -# Take a sample of 20 pairs to speed up testing -if len(mainnet_pairs) > 10: - mainnet_pairs = mainnet_pairs[:10] - -assert len(mainnet_pairs) > 0 -assert len(tenderly_pairs) > 0 - -# + -# Time how long it takes to get all fees without using multicall -start_time = time.time() - -pair_fees_without_multicall = [contract.mainnet.functions.pairTradingFeePPM(pair[0], pair[1]).call() for pair in mainnet_pairs] - -pair_fees_time_without_multicall = time.time() - start_time - -start_time = time.time() - -strats_by_pair_without_multicall = [contract.mainnet.functions.strategiesByPair(pair[0], pair[1], 0, 5000).call() for pair in mainnet_pairs] - -strats_by_pair_time_without_multicall = time.time() - start_time - -# - - -# ## test_multicaller_pairTradingFeePPM - -# + multicaller = MultiCaller(contract=contract.mainnet) # Time how long it takes to get all fees using multicall @@ -192,6 +184,8 @@ class MockContract: # ## test_multicaller_strategiesByPair # + +contract = MultiProviderContractWrapper(CONTRACT_ABI, CONTRACT_ADDRESS, providers) + multicaller = MultiCaller(contract=contract.mainnet) # Time how long it takes to get all fees using multicall @@ -208,3 +202,6 @@ class MockContract: assert len(strats_by_pair_with_multicall) == len(strats_by_pair_without_multicall) assert strats_by_pair_time_with_multicall < strats_by_pair_time_without_multicall +# - + + diff --git a/resources/NBTest/NBTest_900_OptimizerDetailedSlow.py b/resources/NBTest/NBTest_900_OptimizerDetailedSlow.py index d8887a32f..b0d58a161 100644 --- a/resources/NBTest/NBTest_900_OptimizerDetailedSlow.py +++ b/resources/NBTest/NBTest_900_OptimizerDetailedSlow.py @@ -7,7 +7,7 @@ # extension: .py # format_name: light # format_version: '1.5' -# jupytext_version: 1.13.1 +# jupytext_version: 1.15.2 # kernelspec: # display_name: Python 3 # language: python diff --git a/resources/NBTest/NBTest_901_TestMultiTriangleModeSlow.py b/resources/NBTest/NBTest_901_TestMultiTriangleModeSlow.py index 7ebb8e831..7be639331 100644 --- a/resources/NBTest/NBTest_901_TestMultiTriangleModeSlow.py +++ b/resources/NBTest/NBTest_901_TestMultiTriangleModeSlow.py @@ -6,7 +6,7 @@ # extension: .py # format_name: light # format_version: '1.5' -# jupytext_version: 1.14.5 +# jupytext_version: 1.15.2 # kernelspec: # display_name: Python 3 # language: python From 001c676c79eb76189079b1c272d5d0b2bafe230b Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Wed, 27 Sep 2023 04:01:17 -0700 Subject: [PATCH 16/33] increasing timeout for failing test --- resources/NBTest/NBTest_904_Bancor3DataValidation.ipynb | 4 ++-- resources/NBTest/NBTest_904_Bancor3DataValidation.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/NBTest/NBTest_904_Bancor3DataValidation.ipynb b/resources/NBTest/NBTest_904_Bancor3DataValidation.ipynb index 4ae85c6fc..72d7cc5ca 100644 --- a/resources/NBTest/NBTest_904_Bancor3DataValidation.ipynb +++ b/resources/NBTest/NBTest_904_Bancor3DataValidation.ipynb @@ -105,7 +105,7 @@ " \"--limit_bancor3_flashloan_tokens=False\",\n", " \"--use_cached_events=True\",\n", " \"--logging_path=fastlane_bot/data/\",\n", - " \"--timeout=60\"\n", + " \"--timeout=80\"\n", " ]\n", " subprocess.Popen(cmd)\n", " \n", @@ -241,7 +241,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.17" + "version": "3.8.17" } }, "nbformat": 4, diff --git a/resources/NBTest/NBTest_904_Bancor3DataValidation.py b/resources/NBTest/NBTest_904_Bancor3DataValidation.py index e0b206715..6eeb065b0 100644 --- a/resources/NBTest/NBTest_904_Bancor3DataValidation.py +++ b/resources/NBTest/NBTest_904_Bancor3DataValidation.py @@ -73,7 +73,7 @@ def run_command(arb_mode, expected_log_line): "--limit_bancor3_flashloan_tokens=False", "--use_cached_events=True", "--logging_path=fastlane_bot/data/", - "--timeout=60" + "--timeout=80" ] subprocess.Popen(cmd) From 802562fd5f38f65421e796a70dbc9486e0441946 Mon Sep 17 00:00:00 2001 From: Lesigh-3100 Date: Wed, 27 Sep 2023 16:01:05 +0300 Subject: [PATCH 17/33] Bancor V3 Pool contract fix --- fastlane_bot/events/pools/bancor_v3.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane_bot/events/pools/bancor_v3.py b/fastlane_bot/events/pools/bancor_v3.py index 1b236702d..9fd7bb7ac 100644 --- a/fastlane_bot/events/pools/bancor_v3.py +++ b/fastlane_bot/events/pools/bancor_v3.py @@ -75,7 +75,7 @@ def update_from_contract( """ See base class. """ - pool_balances = contract.functions.tradingLiquidity(self.state["tkn1_address"]).call() + pool_balances = contract.caller.tradingLiquidity(self.state["tkn1_address"]).call() params = { "fee": "0.000", From 8f66d64cb37d04ca138d869c6d48597deee8b9b2 Mon Sep 17 00:00:00 2001 From: Lesigh-3100 Date: Wed, 27 Sep 2023 19:14:56 +0300 Subject: [PATCH 18/33] Use Bancor V3 network info contract for contract updates --- fastlane_bot/events/managers/manager.py | 13 +++++++++---- fastlane_bot/events/pools/bancor_v3.py | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/fastlane_bot/events/managers/manager.py b/fastlane_bot/events/managers/manager.py index a6045a898..cb601cc1e 100644 --- a/fastlane_bot/events/managers/manager.py +++ b/fastlane_bot/events/managers/manager.py @@ -11,6 +11,7 @@ from web3.contract import Contract +from fastlane_bot.data.abi import BANCOR_V3_NETWORK_INFO_ABI from fastlane_bot.events.managers.contracts import ContractsManager from fastlane_bot.events.managers.events import EventManager from fastlane_bot.events.managers.pools import PoolManager @@ -110,8 +111,13 @@ def update_from_pool_info( address=pool_info["address"], abi=self.exchanges[pool_info["exchange_name"]].get_abi(), ), - ) - + ) if pool_info["exchange_name"] != self.cfg.BANCOR_V3_NAME else self.pool_contracts[pool_info["exchange_name"]].get( + self.cfg.BANCOR_V3_NETWORK_INFO_ADDRESS, + self.web3.eth.contract( + address=self.cfg.BANCOR_V3_NETWORK_INFO_ADDRESS, + abi=BANCOR_V3_NETWORK_INFO_ABI, + ), + ) pool = self.get_or_init_pool(pool_info) try: params = pool.update_from_contract( @@ -222,8 +228,6 @@ def update( """ while True: - rate_limiter = 0.1 + 0.9 * random.random() - time.sleep(rate_limiter) try: if event: self.update_from_event(event=event, block_number=block_number) @@ -254,6 +258,7 @@ def update( raise e break else: + rate_limiter = 0.1 + 0.9 * random.random() time.sleep(rate_limiter) def handle_pair_trading_fee_updated( diff --git a/fastlane_bot/events/pools/bancor_v3.py b/fastlane_bot/events/pools/bancor_v3.py index 9fd7bb7ac..dec366c4d 100644 --- a/fastlane_bot/events/pools/bancor_v3.py +++ b/fastlane_bot/events/pools/bancor_v3.py @@ -75,7 +75,7 @@ def update_from_contract( """ See base class. """ - pool_balances = contract.caller.tradingLiquidity(self.state["tkn1_address"]).call() + pool_balances = contract.caller.tradingLiquidity(self.state["tkn1_address"]) params = { "fee": "0.000", From 30c057fdce6c441ad49068fa170890ffed4508f7 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Wed, 27 Sep 2023 09:56:12 -0700 Subject: [PATCH 19/33] add token.csv dynamic caching --- fastlane_bot/events/managers/contracts.py | 109 ++++++++++++++++------ 1 file changed, 79 insertions(+), 30 deletions(-) diff --git a/fastlane_bot/events/managers/contracts.py b/fastlane_bot/events/managers/contracts.py index ea0687fc0..1dd11a46a 100644 --- a/fastlane_bot/events/managers/contracts.py +++ b/fastlane_bot/events/managers/contracts.py @@ -7,6 +7,7 @@ """ from typing import Dict, Any, Tuple +import pandas as pd from web3 import Web3 from web3.contract import Contract @@ -67,11 +68,11 @@ def init_exchange_contracts(self): @staticmethod def get_or_create_token_contracts( - web3: Web3, - erc20_contracts: Dict[str, Contract], - address: str, - exchange_name: str = None, - tenderly_fork_id: str = None, + web3: Web3, + erc20_contracts: Dict[str, Contract], + address: str, + exchange_name: str = None, + tenderly_fork_id: str = None, ) -> Contract: """ Get or create the token contracts. @@ -108,10 +109,10 @@ def get_or_create_token_contracts( return contract def add_pool_info_from_contract( - self, - exchange_name: str = None, - address: str = None, - event: Any = None, + self, + exchange_name: str = None, + address: str = None, + event: Any = None, ) -> Dict[str, Any]: """ Add the pool info from the contract. @@ -179,27 +180,33 @@ def get_pool_contract(self, exchange_name: str, address: str) -> Contract: The pool contract. """ - if exchange_name in self.exchanges: - w3 = self.web3 - - contract_key = ( - self.cfg.BANCOR_V3_NETWORK_INFO_ADDRESS - if exchange_name == "bancor_v3" - else self.cfg.BANCOR_POL_ADDRESS - if exchange_name == "bancor_pol" - else address - ) - return self.pool_contracts[exchange_name].get( - contract_key, - w3.eth.contract( - address=contract_key, abi=self.exchanges[exchange_name].get_abi() - ), - ) - else: + if exchange_name not in self.exchanges: return None + w3 = self.web3 + + contract_key = ( + self.cfg.BANCOR_V3_NETWORK_INFO_ADDRESS + if exchange_name == "bancor_v3" + else self.cfg.BANCOR_POL_ADDRESS + if exchange_name == "bancor_pol" + else address + ) + return self.pool_contracts[exchange_name].get( + contract_key, + w3.eth.contract( + address=contract_key, abi=self.exchanges[exchange_name].get_abi() + ), + ) + + @staticmethod + def get_tkn_key(symbol: str, addr: str) -> str: + if symbol is None or symbol == "None" or addr is None: + print(addr) + return f"{symbol}-{addr[-4:]}" + def get_token_info_from_contract( - self, web3: Web3, erc20_contracts: Dict[str, Contract], addr: str + self, web3: Web3, erc20_contracts: Dict[str, Contract], addr: str ) -> Tuple[str, int]: """ Get the token info from contract. @@ -220,10 +227,52 @@ def get_token_info_from_contract( """ contract = self.get_or_create_token_contracts(web3, erc20_contracts, addr) + tokens_filepath = 'fastlane_bot/data/tokens.csv' + token_data = pd.read_csv(tokens_filepath) + try: - return ( - contract.functions.symbol().call(), - contract.functions.decimals().call(), + return self._get_and_save_token_info_from_contract( + contract=contract, addr=addr, token_data=token_data, tokens_filepath=tokens_filepath ) except Exception as e: self.cfg.logger.debug(f"Failed to get symbol and decimals for {addr} {e}") + + def _get_and_save_token_info_from_contract(self, contract: Contract, addr: str, token_data: pd.DataFrame, + tokens_filepath: str) -> Tuple[str, int]: + """ + Get and save the token info from contract to csv. + + Parameters + ---------- + contract : Contract + The contract. + addr : str + The address. + token_data : pd.DataFrame + The token data. + tokens_filepath : str + The tokens filepath. + + Returns + ------- + Tuple[str, int] + The token info. + + """ + symbol = contract.functions.symbol().call() + decimals = contract.functions.decimals().call() + key = self.get_tkn_key(symbol=symbol, addr=addr) + new_data = { + "key": key, + "symbol": symbol, + "name": symbol, + "address": addr, + "decimals": decimals + } + row = pd.DataFrame(new_data, index=max(token_data.index) + 1, columns=token_data.columns) + token_data = pd.concat([token_data, row]) + token_data.to_csv(tokens_filepath) + + return ( + symbol, decimals + ) From 608c68d66b938baa3c0aed2ded11834d92d17e26 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Wed, 27 Sep 2023 10:01:32 -0700 Subject: [PATCH 20/33] updated logging --- fastlane_bot/events/managers/contracts.py | 1 + 1 file changed, 1 insertion(+) diff --git a/fastlane_bot/events/managers/contracts.py b/fastlane_bot/events/managers/contracts.py index 1dd11a46a..79bb8c033 100644 --- a/fastlane_bot/events/managers/contracts.py +++ b/fastlane_bot/events/managers/contracts.py @@ -269,6 +269,7 @@ def _get_and_save_token_info_from_contract(self, contract: Contract, addr: str, "address": addr, "decimals": decimals } + self.cfg.logger.info(f"Adding new token {key} to {tokens_filepath}") row = pd.DataFrame(new_data, index=max(token_data.index) + 1, columns=token_data.columns) token_data = pd.concat([token_data, row]) token_data.to_csv(tokens_filepath) From c03a21b613ac427bbf1f2b2388fa1a7ce54c46d1 Mon Sep 17 00:00:00 2001 From: Lesigh-3100 Date: Thu, 28 Sep 2023 11:24:42 +0300 Subject: [PATCH 21/33] Improved auto-token-save, expanded token starting list --- fastlane_bot/data/tokens.csv | 6453 +++++++++++++-------- fastlane_bot/events/managers/contracts.py | 40 +- 2 files changed, 4210 insertions(+), 2283 deletions(-) diff --git a/fastlane_bot/data/tokens.csv b/fastlane_bot/data/tokens.csv index ea09a6502..0927274ce 100644 --- a/fastlane_bot/data/tokens.csv +++ b/fastlane_bot/data/tokens.csv @@ -1,2276 +1,4179 @@ -id,key,symbol,name,address,decimals -1,OCTO-2BA3,OCTO,OCTO,0x7240aC91f01233BaAf8b064248E80feaA5912BA3,18 -2,USDC-eB48,USDC,USDC,0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48,6 -3,ECO-5727,ECO,ECO,0x8dBF9A4c99580fC7Fd4024ee08f3994420035727,18 -4,WBTC-C599,WBTC,WBTC,0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599,8 -5,DIGG-01C3,DIGG,DIGG,0x798D1bE841a82a273720CE31c822C61a67a601C3,9 -6,SPIRAL-1C3c,SPIRAL,SPIRAL,0x01792e1548Dc317bDE6123fe92da1Fe6d7311C3c,9 -7,DYP-ef17,DYP,DYP,0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17,18 -8,FTG-7659,FTG,FTG,0x3A4CaB3DcfaB144FE7eB2B5a3e288Cc03dC07659,18 -9,USDT-1ec7,USDT,USDT,0xdAC17F958D2ee523a2206206994597C13D831ec7,6 -10,ORE-782A,ORE,ORE,0x4f640F2529ee0cF119A2881485845FA8e61A782A,18 -11,CWEB-Bf04,CWEB,CWEB,0x505B5eDa5E25a67E1c24A2BF1a527Ed9eb88Bf04,18 -12,BigSB-b6F6,BigSB,BigSB,0x131157c6760f78f7dDF877C0019Eba175BA4b6F6,18 -13,FRAX-b99e,FRAX,FRAX,0x853d955aCEf822Db058eb8505911ED77F175b99e,18 -14,USDx-23E3,USDx,USDx,0x2F6081E3552b1c86cE4479B80062A1ddA8EF23E3,9 -15,RFOX-8262,RFOX,RFOX,0xa1d6Df714F91DeBF4e0802A542E13067f31b8262,18 -16,DAI-1d0F,DAI,DAI,0x6B175474E89094C44Da98b954EedeAC495271d0F,18 -17,IDLE-D39e,IDLE,IDLE,0x875773784Af8135eA0ef43b5a374AaD105c5D39e,18 -18,HAI-9a63,HAI,HAI,0x05Fb86775Fd5c16290f1E838F5caaa7342bD9a63,8 -19,PULSE-97cE,PULSE,PULSE,0x52A047Ee205701895Ee06A375492490EC9C597cE,18 -20,GUILD-475A,GUILD,GUILD,0x83E9F223e1edb3486F876EE888d76bFba26c475A,18 -21,SPDR-0Fdd,SPDR,SPDR,0xbcD4b7dE6fde81025f74426D43165a5b0D790Fdd,18 -22,SNP-FA9d,SNP,SNP,0x6911F552842236bd9E8ea8DDBB3fb414e2C5FA9d,18 -23,OCC-7207,OCC,OCC,0x2F109021aFe75B949429fe30523Ee7C0D5B27207,18 -24,DAWN-9aFa,DAWN,DAWN,0x580c8520dEDA0a441522AEAe0f9F7A5f29629aFa,18 -25,Shird-695f,Shird,Shird,0x8916187112fd6e3624a80C42FA354Cd9756E695f,9 -26,PEAK-Ad78,PEAK,PEAK,0x630d98424eFe0Ea27fB1b3Ab7741907DFFEaAd78,8 -27,HGET-5148,HGET,HGET,0x7968bc6a03017eA2de509AAA816F163Db0f35148,6 -28,bluSGD-db22,bluSGD,bluSGD,0x92830ef7c8d651Ed3A708053c602E807bAd7db22,18 -29,ZRX-F498,ZRX,ZRX,0xE41d2489571d322189246DaFA5ebDe1F4699F498,18 -30,NineFi-2f1d,NineFi,NineFi,0xe78BFF28D3c5195C752E734E95421bb4bd742f1d,18 -31,RBIS-9D7D,RBIS,RBIS,0xf34B1Db61ACa1a371fE97BAd2606c9f534fb9D7D,18 -32,WFAIR-8972,WFAIR,WFAIR,0xC6065B9fc8171Ad3D29bad510709249681758972,18 -33,SST-9868,SST,SST,0x2863916C6ebDBBf0c6f02F87b7eB478509299868,18 -34,UNI-F984,UNI,UNI,0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984,18 -35,DSD-66e3,DSD,DSD,0xBD2F0Cd039E0BFcf88901C98c0bFAc5ab27566e3,18 -36,NKN-c9eb,NKN,NKN,0x5Cf04716BA20127F1E2297AdDCf4B5035000c9eb,18 -37,PLR-9C17,PLR,PLR,0xe3818504c1B32bF1557b16C238B2E01Fd3149C17,18 -38,UNKAI-B73D,UNKAI,UNKAI,0x8a34D707189fBFa46930ABFDe3D22abDC48AB73D,9 -39,DPR-07a1,DPR,DPR,0xf3AE5d769e153Ef72b4e3591aC004E89F48107a1,18 -40,DOGZ-33eF,DOGZ,DOGZ,0x82A77710495A35549D2aDD797412b4a4497D33eF,18 -41,ALD-2a8D,ALD,ALD,0xb26C4B3Ca601136Daf98593feAeff9E0CA702a8D,18 -42,ONIGIRI-30D0,ONIGIRI,ONIGIRI,0xcf9c692F7e62Af3c571D4173fd4ABf9A3E5330D0,18 -43,EYE-1c65,EYE,EYE,0x155ff1A85F440EE0A382eA949f24CE4E0b751c65,18 -44,XPR-A2af,XPR,XPR,0xD7EFB00d12C2c13131FD319336Fdf952525dA2af,4 -45,MARK-4253,MARK,MARK,0x67c597624B17b16fb77959217360B7cD18284253,9 -46,TANGO-3Bef,TANGO,TANGO,0x182F4c4C97cd1c24E1Df8FC4c053E5C47bf53Bef,18 -47,GENI-6a39,GENI,GENI,0xAAC1abdb4fB7a91a0e2E036dFacC45F708ed6a39,18 -48,GMEE-2373,GMEE,GMEE,0xD9016A907Dc0ECfA3ca425ab20B6b785B42F2373,18 -49,MFI-355B,MFI,MFI,0xAa4e3edb11AFa93c41db59842b29de64b72E355B,18 -50,KOL-d414,KOL,KOL,0x1CC30e2EAc975416060Ec6FE682041408420d414,18 -51,CE-EecE,CE,CE,0x8F12Dfc7981DE79A8A34070a732471f2D335EecE,18 -52,ACR-E3CF,ACR,ACR,0x76306F029f8F99EFFE509534037Ba7030999E3CF,18 -53,DLTA-D823,DLTA,DLTA,0x0000000DE40dfa9B17854cBC7869D80f9F98D823,18 -54,HEX-eb39,HEX,HEX,0x2b591e99afE9f32eAA6214f7B7629768c40Eeb39,8 -55,VPAD-4EDc,VPAD,VPAD,0x51FE2E572e97BFEB1D719809d743Ec2675924EDc,18 -56,BASv2-5287,BASv2,BASv2,0x106538CC16F938776c7c180186975BCA23875287,18 -57,FLy-1472,FLy,FLy,0x85f6eB2BD5a062f5F8560BE93FB7147e16c81472,4 -58,XIO-5704,XIO,XIO,0x0f7F961648aE6Db43C75663aC7E5414Eb79b5704,18 -59,PLUG-976a,PLUG,PLUG,0x47DA5456bC2e1ce391b645Ce80F2E97192e4976a,18 -60,NOW-693b,NOW,NOW,0xE9A95d175a5f4C9369f3b74222402eB1b837693b,8 -61,RCN-75A6,RCN,RCN,0xF970b8E36e23F7fC3FD752EeA86f8Be8D83375A6,18 -62,VIS-E863,VIS,VIS,0x469084939d1c20Fae3C73704FE963941C51bE863,18 -63,KAP-8569,KAP,KAP,0x9625cE7753ace1fa1865A47aAe2c5C2Ce4418569,18 -64,SLICE-16D1,SLICE,SLICE,0x0AeE8703D34DD9aE107386d3eFF22AE75Dd616D1,18 -65,CSM-8861,CSM,CSM,0x2620638EDA99F9e7E902Ea24a285456EE9438861,18 -66,GRO-74D7,GRO,GRO,0x3Ec8798B81485A254928B70CDA1cf0A2BB0B74D7,18 -67,FORTH-0ce0,FORTH,FORTH,0x77FbA179C79De5B7653F68b5039Af940AdA60ce0,18 -68,DORA-c81d,DORA,DORA,0xbc4171f45EF0EF66E76F979dF021a34B46DCc81d,18 -69,DENA-a1DA,DENA,DENA,0x15F0EEDF9Ce24fc4b6826E590A8292CE5524a1DA,18 -70,ZEUM-8190,ZEUM,ZEUM,0x436dA116249044E8B4464F0Cf21Dd93311d88190,18 -71,WOZX-b79F,WOZX,WOZX,0x34950Ff2b487d9E5282c5aB342d08A2f712eb79F,18 -72,TGL-4e92,TGL,TGL,0xCc4450EDEfbBEb450E2f205f4ECEfF7232D54e92,18 -73,CORN-ea5E,CORN,CORN,0xa456b515303B2Ce344E9d2601f91270f8c2Fea5E,18 -74,JGN-e041,JGN,JGN,0x73374Ea518De7adDD4c2B624C0e8B113955ee041,18 -75,CP-CFCa,CP,CP,0x5BDC32663Ec75E85ff4abc2CAe7ae8B606A2CFCa,18 -76,FARM-A14D,FARM,FARM,0xa0246c9032bC3A600820415aE600c6388619A14D,18 -77,JOY-1FB5,JOY,JOY,0x4E114d405b9Ba2F59524941733e505Ae03Fb1FB5,18 -78,PEPE-E35F,PEPE,PEPE,0x4A27e9aAb8F8bA9de06766C8476eD1D16494E35F,18 -79,WETH-6Cc2,WETH,WETH,0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2,18 -80,X2Y2-EBC9,X2Y2,X2Y2,0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9,18 -81,FANC-c045,FANC,FANC,0xbB126042235E6bD38B17744cb31a8bF4A206c045,18 -82,ANB-9692,ANB,ANB,0x2c9acEb63181cd08a093d052ec041e191f229692,18 -83,REVV-A8Ca,REVV,REVV,0x557B933a7C2c45672B610F8954A3deB39a51A8Ca,18 -84,Mars-70B7,Mars,Mars,0x66C0DDEd8433c9EA86C8cf91237B14e10b4d70B7,18 -85,REL-05ec,REL,REL,0xb6c4267C4877BB0D6b1685Cfd85b0FBe82F105ec,18 -86,MTL-355e,MTL,MTL,0xF433089366899D83a9f26A773D59ec7eCF30355e,8 -87,DOG-868D,DOG,DOG,0x47D920a911cB9a0Ad4618698bA3feF800aBC868D,18 -88,WAVES-f29a,WAVES,WAVES,0x1cF4592ebfFd730c7dc92c1bdFFDfc3B9EfCf29a,18 -89,BUSD-7C53,BUSD,BUSD,0x4Fabb145d64652a948d72533023f6E7A623C7C53,18 -90,NGL-66aE,NGL,NGL,0x2653891204F463fb2a2F4f412564b19e955166aE,18 -91,ELON-60F3,ELON,ELON,0x761D38e5ddf6ccf6Cf7c55759d5210750B5D60F3,18 -92,GAME-1d1c,GAME,GAME,0xD567B5F02b9073aD3a982a099a23Bf019FF11d1c,5 -93,SRK-74E6,SRK,SRK,0x0488401c3F535193Fa8Df029d9fFe615A06E74E6,18 -94,$LSVR-c09B,$LSVR,$LSVR,0x79A06aCb8bdd138BEEECcE0f1605971f3AC7c09B,18 -95,MGG-8740,MGG,MGG,0x7237C0B30B1355f1B76355582f182F6f04B08740,18 -96,wOXEN-bcc5,wOXEN,wOXEN,0xd1e2d5085b39B80C9948AeB1b9aA83AF6756bcc5,9 -97,GEM-efcC,GEM,GEM,0x9008064E6cf73e27a3Aba4B10E69f855A4F8efcC,18 -98,UBI-E9a4,UBI,UBI,0xDd1Ad9A21Ce722C151A836373baBe42c868cE9a4,18 -99,LINK-86CA,LINK,LINK,0x514910771AF9Ca656af840dff83E8264EcF986CA,18 -100,DEXG-436D,DEXG,DEXG,0xB81D70802a816B5DacBA06D708B5acF19DcD436D,18 -101,XEN-6Fb8,XEN,XEN,0x06450dEe7FD2Fb8E39061434BAbCFC05599a6Fb8,18 -102,PEPES-7E12,PEPES,PEPES,0x6BF765C43030387a983f429c1438e9D2025B7E12,18 -103,SPWN-1126,SPWN,SPWN,0xe516D78d784C77D479977BE58905B3f2b1111126,18 -104,GYEN-D911,GYEN,GYEN,0xC08512927D12348F6620a698105e1BAac6EcD911,6 -105,TOAD-eD1e,TOAD,TOAD,0xBfB2b6870501a6Ff17121D676A0A45a38c9eeD1e,9 -106,ARPA-b71a,ARPA,ARPA,0xBA50933C268F567BDC86E1aC131BE072C6B0b71a,18 -107,EVA-8707,EVA,EVA,0xd6cAF5Bd23CF057f5FcCCE295Dcc50C01C198707,18 -108,BAG-14b0,BAG,BAG,0x28A06c02287e657ec3F8e151A13C36A1D43814b0,18 -109,ABR-8C7C,ABR,ABR,0xa11bD36801d8fa4448F0ac4ea7A62e3634cE8C7C,18 -110,OXAI-Fe9d,OXAI,OXAI,0x428dca9537116148616a5A3E44035Af17238Fe9d,18 -111,UBXN-1065,UBXN,UBXN,0x7A73839bd0e5cdED853cB01aa9773F8989381065,18 -112,OIL-88a5,OIL,OIL,0x0275E1001e293C46CFe158B3702AADe0B99f88a5,18 -113,ESD-d723,ESD,ESD,0x36F3FD68E7325a35EB768F1AedaAe9EA0689d723,18 -114,LXF-772A,LXF,LXF,0xA799C4ADcf62E025cE4D8aBE6A77CebC487d772A,18 -115,ERP-2267,ERP,ERP,0x0a0e3bfD5a8cE610E735D4469Bc1b3b130402267,18 -116,IOEN-893A,IOEN,IOEN,0x1e4E46b7BF03ECE908c88FF7cC4975560010893A,18 -117,VNDC-b5DE,VNDC,VNDC,0x1F3F677Ecc58F6A1F9e2CF410dF4776a8546b5DE,0 -118,BACON-38e7,BACON,BACON,0x34f797e7190C131cF630524655A618b5BD8738e7,18 -119,DTX-3F75,DTX,DTX,0x765f0C16D1Ddc279295c1a7C24B0883F62d33F75,18 -120,LINA-1937,LINA,LINA,0x3E9BC21C9b189C09dF3eF1B824798658d5011937,18 -121,PINA-780D,PINA,PINA,0x02814F435dD04e254Be7ae69F61FCa19881a780D,18 -122,PEPEBET-0350,PEPEBET,PEPEBET,0x33Cf519030235F75A13F29aFcFF5D6ff4Fd10350,18 -123,ARMOR-E46a,ARMOR,ARMOR,0x1337DEF16F9B486fAEd0293eb623Dc8395dFE46a,18 -124,MATIC-eBB0,MATIC,MATIC,0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0,18 -125,SOTU-9162,SOTU,SOTU,0xa91c82B6933105C23298E631A0C1Be751D239162,18 -126,HEZ-8dEE,HEZ,HEZ,0xEEF9f339514298C6A857EfCfC1A762aF84438dEE,18 -127,STRONG-017c,STRONG,STRONG,0x990f341946A3fdB507aE7e52d17851B87168017c,18 -128,PPAY-3Bb2,PPAY,PPAY,0x054D64b73d3D8A21Af3D764eFd76bCaA774f3Bb2,18 -129,GST-1404,GST,GST,0x473037de59cf9484632f4A27B509CFE8d4a31404,8 -130,FNK-48Ad,FNK,FNK,0xB5FE099475d3030DDe498c3BB6F3854F762A48Ad,18 -131,ICE-7DF9,ICE,ICE,0xf16e81dce15B08F326220742020379B855B87DF9,18 -132,REEF-5ACf,REEF,REEF,0xFE3E6a25e6b192A42a44ecDDCd13796471735ACf,18 -133,FRONT-793f,FRONT,FRONT,0xf8C3527CC04340b208C854E985240c02F7B7793f,18 -134,FMTA-9AB4,FMTA,FMTA,0xAa9D866666C2A3748d6B23Ff69E63E52f08d9AB4,18 -135,ZERO-a574,ZERO,ZERO,0xF0939011a9bb95c3B791f0cb546377Ed2693a574,18 -136,SHROOM-f183,SHROOM,SHROOM,0xEd0439EACf4c4965AE4613D77a5C2Efe10e5f183,18 -137,FLASH-F2F8,FLASH,FLASH,0xB1f1F47061A7Be15C69f378CB3f69423bD58F2F8,18 -138,NAO-53dc,NAO,NAO,0xd049206fB408a611E543791F2d8F102a8bC253dc,18 -139,MPL-35e6,MPL,MPL,0x33349B282065b0284d756F0577FB39c158F935e6,18 -140,DOE-d7eF,DOE,DOE,0xf8E9F10c22840b613cdA05A0c5Fdb59A4d6cd7eF,18 -141,DERC-a9aE,DERC,DERC,0x9fa69536d1cda4A04cFB50688294de75B505a9aE,18 -142,BLU-1FfD,BLU,BLU,0xe5D2e173B120341face9e9970889C9FE64081FfD,18 -143,PRE-2A0F,PRE,PRE,0xEC213F83defB583af3A000B1c0ada660b1902A0F,18 -144,DBI-0EcE,DBI,DBI,0x2dE509bf0014ddF697b220bE628213034d320EcE,18 -145,XFIT-7441,XFIT,XFIT,0x4aa41bC1649C9C3177eD16CaaA11482295fC7441,18 -146,ELFI-16f4,ELFI,ELFI,0x4dA34f8264CB33A5c9F17081B9EF5Ff6091116f4,18 -147,ASW-2a11,ASW,ASW,0x56694577564FdD577a0ABB20FE95C1E2756C2a11,18 -148,BEL-7e14,BEL,BEL,0xA91ac63D040dEB1b7A5E4d4134aD23eb0ba07e14,18 -149,HORD-3448,HORD,HORD,0x43A96962254855F16b925556f9e97BE436A43448,18 -150,DIGITS-404F,DIGITS,DIGITS,0xBE56ab825fD35678A32dc35bc4EB17e238e1404F,18 -151,FWT-a295,FWT,FWT,0x20e7125677311Fca903A8897042b9983f22Ea295,18 -152,CLS-de37,CLS,CLS,0x675BBC7514013E2073DB7a919F6e4cbeF576de37,18 -153,SAKURA-FeD6,SAKURA,SAKURA,0xb208b1a5664574F72d22E9e9981837310cACFeD6,9 -154,REQ-938a,REQ,REQ,0x8f8221aFbB33998d8584A2B05749bA73c37a938a,18 -155,BOND-750f,BOND,BOND,0x0391D2021f89DC339F60Fff84546EA23E337750f,18 -156,ZKS-58c6,ZKS,ZKS,0xe4815AE53B124e7263F08dcDBBB757d41Ed658c6,18 -157,ROUTE-3dB4,ROUTE,ROUTE,0x16ECCfDbb4eE1A85A33f3A9B21175Cd7Ae753dB4,18 -158,CRU-3c41,CRU,CRU,0x32a7C02e79c4ea1008dD6564b35F131428673c41,18 -159,CIRUS-8756,CIRUS,CIRUS,0xA01199c61841Fce3b3daFB83FeFC1899715c8756,18 -160,SYNR-490a,SYNR,SYNR,0xbc6E06778708177a18210181b073DA747C88490a,18 -161,GLM-6429,GLM,GLM,0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429,18 -162,DEC-E7F3,DEC,DEC,0x9393fdc77090F31c7db989390D43F454B1A6E7F3,3 -163,SD-D10f,SD,SD,0x30D20208d987713f46DFD34EF128Bb16C404D10f,18 -164,BLZ-D668,BLZ,BLZ,0x5732046A883704404F284Ce41FfADd5b007FD668,18 -165,MTLX-1d14,MTLX,MTLX,0x2e1E15C44Ffe4Df6a0cb7371CD00d5028e571d14,18 -166,NFTY-3208,NFTY,NFTY,0xE1D7C7a4596B038CEd2A84bF65B8647271C53208,18 -167,DXP-B745,DXP,DXP,0x88aa4a6C5050b9A1b2Aa7e34D0582025cA6AB745,18 -168,OCT-c6DC,OCT,OCT,0xF5cFBC74057C610c8EF151A439252680AC68c6DC,18 -169,DG-dEDE,DG,DG,0x53C8395465A84955c95159814461466053DedEDE,18 -170,iAI-2122,iAI,iAI,0x6dDe4fFD6dB302Bc9a46850f61399e082f6c2122,18 -171,SPOOL-0976,SPOOL,SPOOL,0x40803cEA2b2A32BdA1bE61d3604af6a814E70976,18 -172,MASK-3074,MASK,MASK,0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074,18 -173,ASTO-4689,ASTO,ASTO,0x823556202e86763853b40e9cDE725f412e294689,18 -174,XCAD-6Aa0,XCAD,XCAD,0x7659CE147D0e714454073a5dd7003544234b6Aa0,18 -175,STABLZ-F7cd,STABLZ,STABLZ,0xA4Eb9C64eC359D093eAc7B65F51Ef933D6e5F7cd,18 -176,SNP-E873,SNP,SNP,0x795dBF627484F8248D3d6c09c309825c1563E873,18 -177,RACA-9040,RACA,RACA,0x12BB890508c125661E03b09EC06E404bc9289040,18 -178,ARCH-1011,ARCH,ARCH,0x73C69d24ad28e2d43D03CBf35F79fE26EBDE1011,18 -179,VOW-46Fb,VOW,VOW,0x1BBf25e71EC48B84d773809B4bA55B6F4bE946Fb,18 -180,TSUKA-69eD,TSUKA,TSUKA,0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD,9 -181,eXRD-9414,eXRD,eXRD,0x6468e79A80C0eaB0F9A2B574c8d5bC374Af59414,18 -182,RAD-64A3,RAD,RAD,0x31c8EAcBFFdD875c74b94b077895Bd78CF1E64A3,18 -183,BDT-d5Cf,BDT,BDT,0x4Efe8665e564bF454cCF5C90Ee16817F7485d5Cf,18 -184,PROS-4B56,PROS,PROS,0x8642A849D0dcb7a15a974794668ADcfbe4794B56,18 -185,OPUL-6444,OPUL,OPUL,0x80D55c03180349Fff4a229102F62328220A96444,18 -186,FLX-0770,FLX,FLX,0x3Ea8ea4237344C9931214796d9417Af1A1180770,18 -187,POLAR-075E,POLAR,POLAR,0x58fcAa970339a9b1f8c0a5b4F3Fcd7af2bA3075E,18 -188,Z3-61a6,Z3,Z3,0x50Eec6D765792dCfB0913C8403ef2A12e1B861a6,18 -189,Okinami-4121,Okinami,Okinami,0x1C4853Ec0d55e420002c5eFaBc7Ed8e0bA7A4121,9 -190,HDRN-5e06,HDRN,HDRN,0x3819f64f282bf135d62168C1e513280dAF905e06,9 -191,FLEX-bc0A,FLEX,FLEX,0xFcF8eda095e37A41e002E266DaAD7efC1579bc0A,18 -192,DAO-09Ad,DAO,DAO,0x0f51bb10119727a7e5eA3538074fb341F56B09Ad,18 -193,WOO-5D4B,WOO,WOO,0x4691937a7508860F876c9c0a2a617E7d9E945D4B,18 -194,O-c40f,O,O,0xb53ecF1345caBeE6eA1a65100Ebb153cEbcac40f,18 -195,POND-D26C,POND,POND,0x57B946008913B82E4dF85f501cbAeD910e58D26C,18 -196,ALI-4181,ALI,ALI,0x6B0b3a982b4634aC68dD83a4DBF02311cE324181,18 -197,NRFX-94a4,NRFX,NRFX,0x01b443495834D667b42f54d2b77eEd6951eD94a4,18 -198,XDEX-6c83,XDEX,XDEX,0x000000000000d0151E748d25b766e77efe2A6c83,18 -199,OTHR-C334,OTHR,OTHR,0x407a3E019c655B779ccD098Ff50377E4C5F1C334,9 -200,UNIX-7aC8,UNIX,UNIX,0xDDD6A0ECc3c6F6C102E5eA3d8Af7B801d1a77aC8,18 -201,INSUR-7429,INSUR,INSUR,0x544c42fBB96B39B21DF61cf322b5EDC285EE7429,18 -202,GR-575c,GR,GR,0xcE593a29905951E8Fc579bC092ecA72577dA575c,6 -203,FLUT-1870,FLUT,FLUT,0x4F08705FB8F33AffC231ed66e626B40E84A71870,11 -204,SYLO-dcd4,SYLO,SYLO,0xf293d23BF2CDc05411Ca0edDD588eb1977e8dcd4,18 -205,BAC-A69a,BAC,BAC,0x3449FC1Cd036255BA1EB19d65fF4BA2b8903A69a,18 -206,MYTH-2003,MYTH,MYTH,0xBA41Ddf06B7fFD89D1267b5A93BFeF2424eb2003,18 -207,HDAO-fF2D,HDAO,HDAO,0xdaC657ffD44a3B9d8aba8749830Bf14BEB66fF2D,18 -208,BNT-FF1C,BNT,BNT,0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C,18 -209,DNXC-f03a,DNXC,DNXC,0x20a8CEC5fffea65Be7122BCaB2FFe32ED4Ebf03a,18 -210,BRKL-9ff8,BRKL,BRKL,0x4674a4F24C5f63D53F22490Fb3A08eAAAD739ff8,18 -211,FEAR-1E83,FEAR,FEAR,0x88A9A52F944315D5B4e917b9689e65445C401E83,18 -212,UDO-dC06,UDO,UDO,0xea3983Fc6D0fbbC41fb6F6091f68F3e08894dC06,18 -213,MUSK-2Cd8,MUSK,MUSK,0x6069c9223e8a5DA1ec49ac5525d4BB757Af72Cd8,18 -214,SALT-0581,SALT,SALT,0x4156D3342D5c385a87D264F90653733592000581,8 -215,RPG-e251,RPG,RPG,0x0E5C8C387C5EBa2eCbc137aD012aeD5Fe729e251,18 -216,OBOT-0c32,OBOT,OBOT,0xeDADeB5fAa413e6c8623461849DFD0B7C3790c32,18 -217,DUCK-305F,DUCK,DUCK,0xC0bA369c8Db6eB3924965e5c4FD0b4C1B91e305F,18 -218,BAMBOO-2e89,BAMBOO,BAMBOO,0xf56842Af3B56Fd72d17cB103f92d027bBa912e89,18 -219,O3-7d28,O3,O3,0xEe9801669C6138E84bD50dEB500827b776777d28,18 -220,KYOKO-BaC2,KYOKO,KYOKO,0x14a32f050FACF226Ec60882398A9BF36d91DBaC2,18 -221,CHANGE-2754,CHANGE,CHANGE,0x7051faED0775f664a0286Af4F75ef5ed74e02754,18 -222,MDF-B411,MDF,MDF,0x1a57367C6194199e5D9aEa1cE027431682dfB411,18 -223,TIDAL-33B7,TIDAL,TIDAL,0x29CbD0510EEc0327992CD6006e63F9Fa8E7f33B7,18 -224,Daruma-f704,Daruma,Daruma,0xA888D9616C2222788fa19f05F77221A290eEf704,9 -225,SDAO-875F,SDAO,SDAO,0x993864E43Caa7F7F12953AD6fEb1d1Ca635B875F,18 -226,NFTD-B379,NFTD,NFTD,0x8E0fE2947752BE0d5ACF73aaE77362Daf79cB379,18 -227,PNL-B459,PNL,PNL,0x9FC8f0ca1668E87294941b7f627e9C15eA06B459,18 -228,DDX-Ed3A,DDX,DDX,0x3A880652F47bFaa771908C07Dd8673A787dAEd3A,18 -229,RPL-Bd93,RPL,RPL,0xB4EFd85c19999D84251304bDA99E90B92300Bd93,18 -230,BADGER-E53d,BADGER,BADGER,0x3472A5A71965499acd81997a54BBA8D852C6E53d,18 -231,SENT-556F,SENT,SENT,0x97AbEe33Cd075c58BFdd174e0885e08E8f03556F,18 -232,ALBT-0Eb0,ALBT,ALBT,0x00a8b738E453fFd858a7edf03bcCfe20412f0Eb0,18 -233,AKRO-53d7,AKRO,AKRO,0x8Ab7404063Ec4DBcfd4598215992DC3F8EC853d7,18 -234,ERC20-EPK-40c4,ERC20-EPK,ERC20-EPK,0xDaF88906aC1DE12bA2b1D2f7bfC94E9638Ac40c4,18 -235,BTTY-3D0A,BTTY,BTTY,0x9cc83D580180f0d37d00e5d86ce868f73b6E3D0A,18 -236,icc-a177,icc,icc,0x70E67ec0939ec87c3a77b089CA08E0443ea4a177,18 -237,DON-c88a,DON,DON,0x217ddEad61a42369A266F1Fb754EB5d3EBadc88a,18 -238,MPS-D47D,MPS,MPS,0x96c645D3D3706f793Ef52C19bBACe441900eD47D,0 -239,Umoon-C5da,Umoon,Umoon,0x71de2285ec83BB6517D2B3eC8DEb2A6c44D8C5da,18 -240,IOI-1d81,IOI,IOI,0x8B3870Df408fF4D7C3A26DF852D41034eDa11d81,6 -241,BUMP-2168,BUMP,BUMP,0x785c34312dfA6B74F6f1829f79ADe39042222168,18 -242,CRF-219d,CRF,CRF,0x508df5aa4746bE37b5b6A69684DfD8BDC322219d,18 -243,WDOGE-98E7,WDOGE,WDOGE,0x35a532d376FFd9a705d0Bb319532837337A398E7,18 -244,HILO-5ff6,HILO,HILO,0xbb9FD9Fa4863C03c574007fF3370787B9cE65ff6,18 -245,VR-8cdD,VR,VR,0x7d5121505149065b562C789A0145eD750e6E8cdD,18 -246,NUM-3079,NUM,NUM,0x3496B523e5C00a4b4150D6721320CdDb234c3079,18 -247,BTBS-4356,BTBS,BTBS,0x32E6C34Cd57087aBBD59B5A4AECC4cB495924356,18 -248,CPRX-978f,CPRX,CPRX,0xc6e145421FD494B26dCF2BFeB1b02b7c5721978f,18 -249,FORM-FA2a,FORM,FORM,0x21381e026Ad6d8266244f2A583b35F9E4413FA2a,18 -250,EAG8-EeE4,EAG8,EAG8,0x0A8b16b27D5219c8C6b57D5442CE31D81573EeE4,8 -251,HAN-511F,HAN,HAN,0x0c90C57aaf95A3A87eadda6ec3974c99D786511F,18 -252,AGIX-b542,AGIX,AGIX,0x5B7533812759B45C2B44C19e320ba2cD2681b542,8 -253,VENDETTA-53c3,VENDETTA,VENDETTA,0x3A529A8d4f2ea64D206339fA12A3aF4D431F53c3,18 -254,DFI-358A,DFI,DFI,0x8Fc8f8269ebca376D046Ce292dC7eaC40c8D358A,8 -255,Dejitaru Shirudo-16AC,Dejitaru Shirudo,Dejitaru Shirudo,0xcf4C68Db4C2FA0bf58dF07B14f45cE7709a716AC,18 -256,SHIB-C4cE,SHIB,SHIB,0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE,18 -257,CHSB-35Ba,CHSB,CHSB,0xba9d4199faB4f26eFE3551D490E3821486f135Ba,8 -258,XETA-3550,XETA,XETA,0x967Fb0D760ED3ce53AfE2f0A071674cccAe73550,18 -259,XMT-721e,XMT,XMT,0x3E5D9D8a63CC8a88748f229999CF59487e90721e,18 -260,ZAM-f4c6,ZAM,ZAM,0xd373576a9e738F37Dc6882328358Ff69c4cAf4c6,18 -261,MAXI-e84b,MAXI,MAXI,0x0d86EB9f43C57f6FF3BC9E23D8F9d82503f0e84b,8 -262,NRFB-f9E8,NRFB,NRFB,0x00281dFCe4cfD72c0b6FDA2AAaF077258743f9E8,0 -263,BLID-56A5,BLID,BLID,0x8A7aDc1B690E81c758F1BD0F72DFe27Ae6eC56A5,18 -264,ARW-34E4,ARW,ARW,0x351cAa9045D65107b9d311D922D15887cfd634E4,18 -265,FEI-87CA,FEI,FEI,0x956F47F50A910163D8BF957Cf5846D573E7f87CA,18 -266,ZENIQ-7233,ZENIQ,ZENIQ,0x5b52bfB8062Ce664D74bbCd4Cd6DC7Df53Fd7233,18 -267,cDAI-3643,cDAI,cDAI,0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643,8 -268,CMT-Dc18,CMT,CMT,0xE910c2a090516Fb7a7Be07f96a464785f2D5Dc18,18 -269,DEGENS-8B71,DEGENS,DEGENS,0xDd039990Bd551Ce7437d3bF54d155220B7988B71,18 -270,LBlock-D329,LBlock,LBlock,0x2b867efD2dE4Ad2B583Ca0CB3dF9C4040Ef4D329,9 -271,ID-6406,ID,ID,0x2dfF88A56767223A5529eA5960Da7A3F5f766406,18 -272,SCOIN-0EB4,SCOIN,SCOIN,0x3f5DF2F90DF67E10974fBcB1729c00D3f87c0EB4,6 -273,SPC-Ad20,SPC,SPC,0x86ed939B500E121C0C5f493F399084Db596dAd20,18 -274,TEAM-dE02,TEAM,TEAM,0xB7c9E99Da8A857cE576A830A9c19312114d9dE02,8 -275,NCR-ed9c,NCR,NCR,0xDB5C3C46E28B53a39C255AA39A411dD64e5fed9c,18 -276,STFX-Db2d,STFX,STFX,0x9343e24716659A3551eB10Aff9472A2dcAD5Db2d,18 -277,GRT-44a7,GRT,GRT,0xc944E90C64B2c07662A292be6244BDf05Cda44a7,18 -278,TONCOIN-def1,TONCOIN,TONCOIN,0x582d872A1B094FC48F5DE31D3B73F2D9bE47def1,9 -279,BEAR-A26a,BEAR,BEAR,0x17837004eA685690b32dbEaD02a274Ec4333A26a,18 -280,LDO-1B32,LDO,LDO,0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32,18 -281,CRV-cd52,CRV,CRV,0xD533a949740bb3306d119CC777fa900bA034cd52,18 -282,MKR-79A2,MKR,MKR,0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2,18 -283,RNDR-eb24,RNDR,RNDR,0x6De037ef9aD2725EB40118Bb1702EBb27e4Aeb24,18 -284,ICHI-A881,ICHI,ICHI,0x903bEF1736CDdf2A537176cf3C64579C3867A881,9 -285,FXS-64D0,FXS,FXS,0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0,18 -286,RAINI-d5eD,RAINI,RAINI,0xeB953eDA0DC65e3246f43DC8fa13f35623bDd5eD,18 -287,IPT-FC3d,IPT,IPT,0xd909C5862Cdb164aDB949D92622082f0092eFC3d,18 -288,XDAO-Ad28,XDAO,XDAO,0x71eebA415A523F5C952Cc2f06361D5443545Ad28,18 -289,ICHI-C4d6,ICHI,ICHI,0x111111517e4929D3dcbdfa7CCe55d30d4B6BC4d6,18 -290,TR3-5F98,TR3,TR3,0xF61BF4d1A948487d61b8fa63808AAC06bda55F98,18 -291,LOOKS-421E,LOOKS,LOOKS,0xf4d2888d29D722226FafA5d9B24F9164c092421E,18 -292,BONE-18d9,BONE,BONE,0x9813037ee2218799597d83D4a5B6F3b6778218d9,18 -293,SWASH-2F80,SWASH,SWASH,0xA130E3a33a4d84b04c3918c4E5762223Ae252F80,18 -294,CELL-e099,CELL,CELL,0x26c8AFBBFE1EBaca03C2bB082E69D0476Bffe099,18 -295,CLB-3c84,CLB,CLB,0x0AD896863ce4Cd84f10a9D30D4f509cefFd53c84,18 -296,PP-CfD0,PP,PP,0x9565c2036963697786705120Fc59310F747bCfD0,18 -297,SMTX-419b,SMTX,SMTX,0x102203517ce35AC5Cab9a2cda80DF03f26c7419b,18 -298,WMLX-1AAd,WMLX,WMLX,0x77D0cb0ab54F9E74b9405a5B3f60DA06A78F1AAd,0 -299,TRB-78a0,TRB,TRB,0x88dF592F8eb5D7Bd38bFeF7dEb0fBc02cf3778a0,18 -300,MM-c611,MM,MM,0x6B4c7A5e3f0B99FCD83e9c089BDDD6c7FCe5c611,18 -301,HOME-1F62,HOME,HOME,0xb8919522331C59f5C16bDfAA6A121a6E03A91F62,6 -302,XYO-E758,XYO,XYO,0x55296f69f40Ea6d20E478533C15A6B08B654E758,18 -303,oneICHI-1e07,oneICHI,oneICHI,0x4db2c02831c9ac305FF9311Eb661f80f1dF61e07,18 -304,HYVE-f7d4,HYVE,HYVE,0xd794DD1CAda4cf79C9EebaAb8327a1B0507ef7d4,18 -305,B2M-0a1f,B2M,B2M,0xd7c302fc3ac829C7E896a32c4Bd126f3e8Bd0a1f,18 -306,rETH-6393,rETH,rETH,0xae78736Cd615f374D3085123A210448E74Fc6393,18 -307,XTP-50fc,XTP,XTP,0x6368e1E18c4C419DDFC608A0BEd1ccb87b9250fc,18 -308,AVINOC-A3EF,AVINOC,AVINOC,0xF1cA9cb74685755965c7458528A36934Df52A3EF,18 -309,DOLA-9ce4,DOLA,DOLA,0x865377367054516e17014CcdED1e7d814EDC9ce4,18 -310,OHM-f1D5,OHM,OHM,0x64aa3364F17a4D01c6f1751Fd97C2BD3D7e7f1D5,9 -311,UCOIL-9a13,UCOIL,UCOIL,0x549044000a94870ab7c5017cd8fB0AEfa9239a13,18 -312,SPH-a406,SPH,SPH,0xA0CF46eb152656C7090e769916eb44a138aaa406,18 -313,ASH-0b92,ASH,ASH,0x64D91f12Ece7362F91A6f8E7940Cd55F05060b92,18 -314,LUSD-8bA0,LUSD,LUSD,0x5f98805A4E8be255a32880FDeC7F6728C6568bA0,18 -315,PINE-3a51,PINE,PINE,0x569424c5EE13884A193773fDC5d1c5f79C443a51,18 -316,eLunr-Aa5A,eLunr,eLunr,0xA87135285Ae208e22068AcDBFf64B11Ec73EAa5A,4 -317,SWAP-4EFe,SWAP,SWAP,0xCC4304A31d09258b0029eA7FE63d032f52e44EFe,18 -318,RELAY-841c,RELAY,RELAY,0x5D843Fa9495d23dE997C394296ac7B4D721E841c,18 -319,CHEQ-4de7,CHEQ,CHEQ,0x70EDF1c215D0ce69E7F16FD4E6276ba0d99d4de7,9 -320,CPD-5355,CPD,CPD,0x9b31bb425D8263fA1b8B9d090b83CF0C31665355,18 -321,CGG-5e43,CGG,CGG,0x1fE24F25b1Cf609B9c4e7E12D802e3640dFA5e43,18 -322,Y2B-0650,Y2B,Y2B,0xF9C12B27cE5058ab98ce11BD53900f84E18C0650,18 -323,cbETH-9704,cbETH,cbETH,0xBe9895146f7AF43049ca1c1AE358B0541Ea49704,18 -324,DSU-7109,DSU,DSU,0x605D26FBd5be761089281d5cec2Ce86eeA667109,18 -325,CRPT-6d8B,CRPT,CRPT,0x08389495D7456E1951ddF7c3a1314A4bfb646d8B,18 -326,LEXE-6833,LEXE,LEXE,0x53011E93F21EC7A74cdfBB7E6548F1ABCE306833,18 -327,POLA-2CED,POLA,POLA,0xc691bc298a304d591Ad9b352c7A8D216dE9f2CED,18 -328,MANA-C942,MANA,MANA,0x0F5D2fB29fb7d3CFeE444a200298f468908cC942,18 -329,one1INCH-3857,one1INCH,one1INCH,0x853Bb55c1f469902F088A629db8C8803A9BE3857,18 -330,GENI-FCc8,GENI,GENI,0x444444444444C1a66F394025Ac839A535246FCc8,9 -331,IDV-8840,IDV,IDV,0x45448E05020576929fcDEabC228E35b420098840,18 -332,L2-4D24,L2,L2,0xBbff34E47E559ef680067a6B1c980639EEb64D24,18 -333,ARTH-8a71,ARTH,ARTH,0x8CC0F052fff7eaD7f2EdCCcaC895502E884a8a71,18 -334,DRGN-A05E,DRGN,DRGN,0x419c4dB4B9e25d6Db2AD9691ccb832C8D9fDA05E,18 -335,BTRST-2824,BTRST,BTRST,0x799ebfABE77a6E34311eeEe9825190B9ECe32824,18 -336,FAKT-dC48,FAKT,FAKT,0xC3FFbE26E9446aC52008FfC8C1191d60A12bdC48,18 -337,GNO-6b96,GNO,GNO,0x6810e776880C02933D47DB1b9fc05908e5386b96,18 -338,DIA-9419,DIA,DIA,0x84cA8bc7997272c7CfB4D0Cd3D55cd942B3c9419,18 -339,SWIV-6f2d,SWIV,SWIV,0xbf30461210b37012783957D90dC26B95Ce3b6f2d,18 -340,USDC-1130,USDC,USDC,0x566957eF80F9fd5526CD2BEF8BE67035C0b81130,6 -341,wPPC-2958,wPPC,wPPC,0x044d078F1c86508e13328842Cc75AC021B272958,6 -342,TOL-2cFA,TOL,TOL,0xd07D9Fe2d2cc067015E2b4917D24933804f42cFA,18 -343,ALEPH-F628,ALEPH,ALEPH,0x27702a26126e0B3702af63Ee09aC4d1A084EF628,18 -344,GF-E238,GF,GF,0xAaEf88cEa01475125522e117BFe45cF32044E238,18 -345,CND-95fa,CND,CND,0xd4c435F5B09F855C3317c8524Cb1F586E42795fa,18 -346,ECOx-736a,ECOx,ECOx,0xcccD1Ba9f7acD6117834E0D28F25645dECb1736a,18 -347,SNX-2a6F,SNX,SNX,0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F,18 -348,RAIL-A33D,RAIL,RAIL,0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D,18 -349,OK-4189,OK,OK,0xd3Ac016b1B8C80EeAdDe4D186A9138C9324e4189,18 -350,ALCX-c8DF,ALCX,ALCX,0xdBdb4d16EdA451D0503b854CF79D55697F90c8DF,18 -351,ROYA-48DB,ROYA,ROYA,0x7eaF9C89037e4814DC0d9952Ac7F888C784548DB,18 -352,HOP-a3CC,HOP,HOP,0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC,18 -353,CVX-9D2B,CVX,CVX,0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B,18 -354,DAMM-16b8,DAMM,DAMM,0xb3207935FF56120f3499e8aD08461Dd403bF16b8,18 -355,BPLC-21b4,BPLC,BPLC,0x426FC8BE95573230f6e6bc4af91873F0c67b21b4,18 -356,GTC-163F,GTC,GTC,0xDe30da39c46104798bB5aA3fe8B9e0e1F348163F,18 -357,GPO-3aCE,GPO,GPO,0x4ad7a056191F4c9519fAcd6D75FA94CA26003aCE,18 -358,QLT-c87c,QLT,QLT,0x0173661769325565d4f011b2e5Cda688689Cc87c,9 -359,IOTX-4d69,IOTX,IOTX,0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69,18 -360,APE-4381,APE,APE,0x4d224452801ACEd8B2F0aebE155379bb5D594381,18 -361,AGV-382B,AGV,AGV,0xf4F618Eff5eF36Cde2FCa4FBD86554c62Fb1382B,18 -362,DREP-b4c2,DREP,DREP,0x3Ab6Ed69Ef663bd986Ee59205CCaD8A20F98b4c2,18 -363,QNT-4675,QNT,QNT,0x4a220E6096B25EADb88358cb44068A3248254675,18 -364,BLOCKIFY-3C21,BLOCKIFY,BLOCKIFY,0x7D608CfAa805a752788847e5C46Ce9C03Fb43C21,18 -365,UNV-A673,UNV,UNV,0xf009f5531dE69067435e32c4b9D36077F4C4A673,18 -366,HBTC-d380,HBTC,HBTC,0x0316EB71485b0Ab14103307bf65a021042c6d380,18 -367,SLD-a084,SLD,SLD,0x1ef6A7e2c966fb7C5403EFEFdE38338b1a95a084,18 -368,SYL-eb9C,SYL,SYL,0x92925Acf2771Bc59143228499f9610FE5176eb9C,18 -369,JASMY-03EC,JASMY,JASMY,0x7420B4b9a0110cdC71fB720908340C03F9Bc03EC,18 -370,NBT-824c,NBT,NBT,0x446F2A8A39Cc730ef378Be759A3c57f1a3fE824c,18 -371,BRD-9aD6,BRD,BRD,0x558EC3152e2eb2174905cd19AeA4e34A23DE9aD6,18 -372,ULX-636F,ULX,ULX,0x5Aa158404fEd6b4730C13F49d3a7F820e14A636F,18 -373,AMPL-A161,AMPL,AMPL,0xD46bA6D942050d489DBd938a2C909A5d5039A161,9 -374,XMON-Bf74,XMON,XMON,0x3aaDA3e213aBf8529606924d8D1c55CbDc70Bf74,18 -375,REN-2a38,REN,REN,0x408e41876cCCDC0F92210600ef50372656052a38,18 -376,UFO-DC3B,UFO,UFO,0x249e38Ea4102D0cf8264d3701f1a0E39C4f2DC3B,18 -377,TAMA-88c8,TAMA,TAMA,0x12b6893cE26Ea6341919FE289212ef77e51688c8,18 -378,HOT-26E2,HOT,HOT,0x6c6EE5e31d828De241282B9606C8e98Ea48526E2,18 -379,EGG-6a0c,EGG,EGG,0x65cCD72c0813CE6f2703593B633202a0F3Ca6a0c,18 -380,PHA-2f4E,PHA,PHA,0x6c5bA91642F10282b576d91922Ae6448C9d52f4E,18 -381,agEUR-Bce8,agEUR,agEUR,0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8,18 -382,FIEF-a02D,FIEF,FIEF,0xeA068Fba19CE95f12d252aD8Cb2939225C4Ea02D,18 -383,ETHO-7096,ETHO,ETHO,0x0b5326Da634f9270FB84481DD6F94d3dC2cA7096,18 -384,SPANK-6a18,SPANK,SPANK,0x42d6622deCe394b54999Fbd73D108123806f6a18,18 -385,ATC-5c9e,ATC,ATC,0x0fAD86Cc1b412b330494E350Bf1dC1994AC55c9e,6 -386,SUM-40b1,SUM,SUM,0x043C308BB8a5aE96D0093444be7f56459F1340b1,18 -387,CPI-ec53,CPI,CPI,0x2b67D1a87A8D8B280A23e97bC55095215eE0ec53,18 -388,PAPER-0e8C,PAPER,PAPER,0x7aE1D57b58fA6411F32948314BadD83583eE0e8C,18 -389,EURT-E491,EURT,EURT,0xC581b735A1688071A1746c968e0798D642EDE491,6 -390,GOB-8A80,GOB,GOB,0xd6929179D752d5D25c5efe2d9729eb77D7138A80,18 -391,oSQTH-E86B,oSQTH,oSQTH,0xf1B99e3E573A1a9C5E6B2Ce818b617F0E664E86B,18 -392,SDEX-BEeF,SDEX,SDEX,0x5DE8ab7E27f6E7A1fFf3E5B337584Aa43961BEeF,18 -393,XCM-8e25,XCM,XCM,0x36ac219f90f5A6A3C77f2a7B660E3cC701f68e25,18 -394,BRZ-2e2B,BRZ,BRZ,0x420412E765BFa6d85aaaC94b4f7b708C89be2e2B,4 -395,0xBTC-5B31,0xBTC,0xBTC,0xB6eD7644C69416d67B522e20bC294A9a9B405B31,8 -396,XAUt-2F38,XAUt,XAUt,0x68749665FF8D2d112Fa859AA293F07A622782F38,6 -397,ETHV-aC76,ETHV,ETHV,0xC53342fd7575f572b0fF4569e31941A5B821aC76,18 -398,FET-Ad85,FET,FET,0xaea46A60368A7bD060eec7DF8CBa43b7EF41Ad85,18 -399,RAI-4919,RAI,RAI,0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919,18 -400,USDP-89E1,USDP,USDP,0x8E870D67F660D95d5be530380D0eC0bd388289E1,18 -401,stETH-fE84,stETH,stETH,0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84,18 -402,CHZ-b4AF,CHZ,CHZ,0x3506424F91fD33084466F402d5D97f05F8e3b4AF,18 -403,TXA-A830,TXA,TXA,0x4463e6A3dEd0dBE3F6e15bC8420dFc55e5FeA830,18 -404,DENT-A258,DENT,DENT,0x3597bfD533a99c9aa083587B074434E61Eb0A258,8 -405,SUDO-B7F9,SUDO,SUDO,0x3446Dd70B2D52A6Bf4a5a192D9b0A161295aB7F9,18 -406,sUSD-5f51,sUSD,sUSD,0x57Ab1ec28D129707052df4dF418D58a2D46d5f51,18 -407,ELT-1B02,ELT,ELT,0xc0AE17Eb994fa828540FFa53776B3830233A1B02,18 -408,ELAN-28B5,ELAN,ELAN,0x1b5036bEc1B82D44d52Fa953A370b3c6Cd9328B5,18 -409,INNBC-8c42,INNBC,INNBC,0xB67718b98d52318240c52E71A898335da4A28c42,6 -410,MLP-1152,MLP,MLP,0xE22020F47B7378dfedcedd2C81d4137c22fE1152,18 -411,DYDX-Eff5,DYDX,DYDX,0x92D6C1e31e14520e676a687F0a93788B716BEff5,18 -412,ACX-F82F,ACX,ACX,0x44108f0223A3C3028F5Fe7AEC7f9bb2E66beF82F,18 -413,BAT-87EF,BAT,BAT,0x0D8775F648430679A709E98d2b0Cb6250d2887EF,18 -414,CTX-f98D,CTX,CTX,0x321C2fE4446C7c963dc41Dd58879AF648838f98D,18 -415,STC-7e7E,STC,STC,0x15B543e986b8c34074DFc9901136d9355a537e7E,18 -416,RDX-9ecD,RDX,RDX,0xd8C4ef2D99c9F962180008418a5665Fcc4b99ecD,18 -417,OLY-Fb1f,OLY,OLY,0x6595b8fD9C920C81500dCa94e53Cdc712513Fb1f,18 -418,APM-BA6c,APM,APM,0xC8C424B91D8ce0137bAB4B832B7F7D154156BA6c,18 -419,CRAB-b735,CRAB,CRAB,0x24BCeC1AFda63E622a97F17cFf9a61FFCfd9b735,18 -420,CTO-6C47,CTO,CTO,0xa5e48a6E56e164907263e901B98D9b11CCB46C47,18 -421,AAVE-DaE9,AAVE,AAVE,0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9,18 -422,LYXe-be6D,LYXe,LYXe,0xA8b919680258d369114910511cc87595aec0be6D,18 +,key,symbol,name,address,decimals +0,RANKER-dEAd,RANKER,RANKER,0x6431FA4B812a2DCC062A38CB55cc7D18135AdEAd,18 +1,JNGL-4155,JNGL,JNGL,0x4C45bbEc2fF7810ef4a77ad7BD4757C446Fe4155,18 +2,ONS-e2c5,ONS,ONS,0x5BB29c33C4A3C29f56F8ACa40B4dB91d8a5fe2c5,18 +3,TWEETY-5058,TWEETY,TWEETY,0xaA68FD12A3B0f7AeA66FE8f7111ae3f8D9ac5058,9 +4,PLT-Eb76,PLT,PLT,0x0944D5848BD9F60A34Ba92aEa300d4286696Eb76,18 +5,KUKU-D0ED,KUKU,KUKU,0xc3071803B9d23460820B516673fd3Cec0415D0ED,9 +6,GAZE-C564,GAZE,GAZE,0xD1E06952708771f71E6dd18F06EE418F6e8FC564,18 +7,BCAU-1489,BCAU,BCAU,0xa64EFD5Fe826f62E310a951332b519e1E3871489,18 +8,YESP-E72a,YESP,YESP,0x46ccA329970B33e1a007DD4ef0594A1cedb3E72a,18 +9,HILO-5ff6,HILO,HILO,0xbb9FD9Fa4863C03c574007fF3370787B9cE65ff6,18 +10,FRC-9cE0,FRC,FRC,0x58083B54013631BaCc0bbB6d4efa543Fee1D9cE0,18 +11,EURC-C33c,EURC,EURC,0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c,6 +12,SMUDGE-Db43,SMUDGE,SMUDGE,0x516e2758b044433371076a48127b8CFa7b0bDb43,18 +13,CSR-2387,CSR,CSR,0x75Ecb52e403C617679FBd3e77A50f9d10A842387,18 +14,JUSDC-0D9B,JUSDC,JUSDC,0xca9f9671765F8D1A7e19ae2639E01FFF730f0D9B,18 +15,FOHO-450E,FOHO,FOHO,0xDd2e93924BDD4E20C3CF4A8736E5955224FA450E,8 +16,AAMMUNIMKRWETH-Ddf9,AAMMUNIMKRWETH,AAMMUNIMKRWETH,0x370adc71f67f581158Dc56f539dF5F399128Ddf9,18 +17,EUROE-2974,EUROE,EUROE,0x820802Fa8a99901F52e39acD21177b0BE6EE2974,6 +18,YVSUSD-7396,YVSUSD,YVSUSD,0xa5cA62D95D24A4a350983D5B8ac4EB8638887396,18 +19,TYRION-3181,TYRION,TYRION,0x5e27e384aCBBa20982f991893B9970AaF3f43181,18 +20,RINIA-FD7D,RINIA,RINIA,0x8f828a0644f12Fa352888E645a90333d30f6FD7D,9 +21,IBEUR-ae27,IBEUR,IBEUR,0x96E61422b6A9bA0e068B6c5ADd4fFaBC6a4aae27,18 +22,TRIBOT-23a3,TRIBOT,TRIBOT,0x18e2190303d6454dEAa5bA5529EA0100F99723a3,18 +23,DAO-471c,DAO,DAO,0xEe503d43Ad447cdfc719F688207BFcB2FBB9471c,18 +24,GOOCH-b41f,GOOCH,GOOCH,0x6d3D490964205c8bC8DeD39e48e88E8Fde45b41f,18 +25,ZBU-dd2e,ZBU,ZBU,0x8f9b4525681F3Ea6E43b8E0a57BFfF86c0A1dd2e,18 +26,VIDYA-2C30,VIDYA,VIDYA,0x3D3D35bb9bEC23b06Ca00fe472b50E7A4c692C30,18 +27,ETHO-7096,ETHO,ETHO,0x0b5326Da634f9270FB84481DD6F94d3dC2cA7096,18 +28,BBT-fc9c,BBT,BBT,0x1500205f50bf3FD976466d0662905c9ff254fc9c,4 +29,DDOS-02C3,DDOS,DDOS,0x7FBEC0bb6A7152e77C30D005B5D49cbC08A602C3,18 +30,MDF-B411,MDF,MDF,0x1a57367C6194199e5D9aEa1cE027431682dfB411,18 +31,IVI-E546,IVI,IVI,0xA91464AbD4625A23aB719e3F0FCE84DaDd54E546,18 +32,NCDT-3C1B,NCDT,NCDT,0xE0C8b298db4cfFE05d1bEA0bb1BA414522B33C1B,18 +33,RENBTCCURVE-3675,RENBTCCURVE,RENBTCCURVE,0x49849C98ae39Fff122806C06791Fa73784FB3675,18 +34,MGG-8740,MGG,MGG,0x7237C0B30B1355f1B76355582f182F6f04B08740,18 +35,IUSDC-57F8,IUSDC,IUSDC,0xc8871267e07408b89aA5aEcc58AdCA5E574557F8,6 +36,GATSBY-3Dbd,GATSBY,GATSBY,0x5D0EbC4Ec5ac18d30512fb6287886245061B3Dbd,9 +37,TESO-0aB9,TESO,TESO,0xBe1BC2e2338dEfCd88E7F9F5f745Ddb222180aB9,9 +38,YCRV-f65b,YCRV,YCRV,0xFCc5c47bE19d06BF83eB04298b026F81069ff65b,18 +39,ALY-5627,ALY,ALY,0xf2CDF38e24738bA379ffa38D47bc88a941dF5627,2 +40,TOMOE-FaBa,TOMOE,TOMOE,0x05D3606d5c81EB9b7B18530995eC9B29da05FaBa,18 +41,ROG-446b,ROG,ROG,0x5d43b66da68706D39f6C97F7f1415615672b446b,18 +42,MLORD-Ed1E,MLORD,MLORD,0x2Cc5C38ea9a58D360181852C9F5719b96407Ed1E,18 +43,RBX-3299,RBX,RBX,0x8254e26e453EB5aBd29B3c37AC9E8Da32E5d3299,18 +44,LUFFY-EBd7,LUFFY,LUFFY,0x54012cDF4119DE84218F7EB90eEB87e25aE6EBd7,9 +45,DATA-8b76,DATA,DATA,0x8f693ca8D21b157107184d29D398A8D082b38b76,18 +46,SHIL-fCe1,SHIL,SHIL,0x20c3fa331A385b63EE39137e99d0cF2db142fCe1,18 +47,YUP-BCC9,YUP,YUP,0x69bBC3F8787d573F1BBDd0a5f40C7bA0Aee9BCC9,18 +48,SCAM-666A,SCAM,SCAM,0x766a824314BD1D9FA27C8461754C276772BC666A,18 +49,JOB-517A,JOB,JOB,0xdfbc9050F5B01DF53512DCC39B4f2B2BBaCD517A,8 +50,UUSDT-d584,UUSDT,UUSDT,0x178Bf8fD04b47D2De3eF3f6b3D112106375ad584,6 +51,MECHX-dD41,MECHX,MECHX,0x816FCe1cc93473B2d54bd8C0DaE4CAe911f6dD41,18 +52,OSMO-68aB,OSMO,OSMO,0xE44ac096D96b7918afc0d98cB18D40c5CA5868aB,18 +53,UNFI-22c2,UNFI,UNFI,0x441761326490cACF7aF299725B6292597EE822c2,18 +54,HIPP-52d7,HIPP,HIPP,0x7b744eEa1dECa2f1B7b31F15Ba036Fa1759452d7,18 +55,WISE-5bd6,WISE,WISE,0x66a0f676479Cee1d7373f3DC2e2952778BfF5bd6,18 +56,MNW-f6E4,MNW,MNW,0xd3E4Ba569045546D09CF021ECC5dFe42b1d7f6E4,18 +57,MOMO-Ed4D,MOMO,MOMO,0xE4d0941Ad4ff744948704f7532DC00E01f33Ed4D,9 +58,XAUR-2D81,XAUR,XAUR,0x4DF812F6064def1e5e029f1ca858777CC98D2D81,8 +59,LSILVER-199E,LSILVER,LSILVER,0xD64809f5F7d772D9112A6BD379De00A77188199E,18 +60,CTPL-cA1B,CTPL,CTPL,0xF7e40AF830a2EcbFe72C5210C1Ca272e3Aa7cA1B,18 +61,TRADE-4fB1,TRADE,TRADE,0x6F87D756DAf0503d08Eb8993686c7Fc01Dc44fB1,18 +62,XFI-c430,XFI,XFI,0x5BEfBB272290dD5b8521D4a938f6c4757742c430,18 +63,MEMES-4D88,MEMES,MEMES,0xde0E9Bd25dc63A629f40E1eC7959B57726E94D88,18 +64,BLOCK-0-46e7,BLOCK-0,BLOCK-0,0xBe1BeA3f6e5F29648fdC88b1622785a1666246e7,9 +65,UCASH-FD37,UCASH,UCASH,0x92e52a1A235d9A103D970901066CE910AAceFD37,8 +66,G-f5fD,G,G,0x4EbE70CB942D5AF0A18b9126762637e7098Ff5fD,9 +67,STORE-074f,STORE,STORE,0x31ea0de8119307aA264Bb4b38727aAb4E36b074f,18 +68,STMX-D71C,STMX,STMX,0xa62cc35625B0C8dc1fAEA39d33625Bb4C15bD71C,18 +69,LINA-2b50,LINA,LINA,0xC05d14442A510De4D3d71a3d316585aA0CE32b50,18 +70,HOICHI-d2b6,HOICHI,HOICHI,0xC4EE0aA2d993ca7C9263eCFa26c6f7e13009d2b6,18 +71,OPERA-eC3a,OPERA,OPERA,0x3bd8268791DE798d4ED5d424d49412cF42B8eC3a,9 +72,KIBSHI-2361,KIBSHI,KIBSHI,0x02e7F808990638E9e67E1f00313037EDe2362361,18 +73,RLY-E49b,RLY,RLY,0xf1f955016EcbCd7321c7266BccFB96c68ea5E49b,18 +74,PXP-314f,PXP,PXP,0x95aA5d2DbD3c16ee3fdea82D5C6EC3E38CE3314f,18 +75,TOM-9ABc,TOM,TOM,0xF7970499814654CD13Cb7B6E7634A12a7A8A9ABc,18 +76,ZOOT-926c,ZOOT,ZOOT,0x1341A2257fa7b770420Ef70616f888056f90926c,9 +77,VBUCK-cB80,VBUCK,VBUCK,0x9F1c9741cB9BCb2aDC062F23E2ed90c3Eb47cB80,18 +78,DXC-1997,DXC,DXC,0xb0E99627bC29adEf1178f16117BF495351E81997,18 +79,MATICX-B645,MATICX,MATICX,0xf03A7Eb46d01d9EcAA104558C732Cf82f6B6B645,18 +80,CTCN-1FD8,CTCN,CTCN,0xFD6C31bb6F05Fc8dB64F4b740Ab758605c271FD8,18 +81,LTO-ea30,LTO,LTO,0xd01409314aCb3b245CEa9500eCE3F6Fd4d70ea30,8 +82,BB-A-USDT-FACb,BB-A-USDT,BB-A-USDT,0x2F4eb100552ef93840d5aDC30560E5513DFfFACb,18 +83,BITCOIN-EEa9,BITCOIN,BITCOIN,0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9,8 +84,USDP-89E1,USDP,USDP,0x8E870D67F660D95d5be530380D0eC0bd388289E1,18 +85,SHILLD-1aB6,SHILLD,SHILLD,0x3adf095d04311d7BF05C838F0d3DC34a83D81aB6,18 +86,BB-S-DAI-5176,BB-S-DAI,BB-S-DAI,0x2B218683178d029BAB6c9789b1073aA6c96E5176,18 +87,ECTE-24Ea,ECTE,ECTE,0xe9fa21E671BcfB04E6868784b89C19d5aa2424Ea,18 +88,ZINU-d508,ZINU,ZINU,0xC5FDf3569af74f3B3e97E46A187a626352D2d508,9 +89,VITO-0911,VITO,VITO,0x757dA0E5c253082b0f2Bd5105119F71817Fe0911,18 +90,ST-eBec,ST,ST,0x876A76c80b32e5cfbb27fD840A1A530EF828eBec,18 +91,HAM-Ba22,HAM,HAM,0x00000000bD56856065C00b1Ad1b5cDEFBF32Ba22,18 +92,MAX-73e7,MAX,MAX,0xe7976c4Efc60d9f4C200Cc1bCEF1A1e3B02c73e7,18 +93,NEXT-c67a,NEXT,NEXT,0xFE67A4450907459c3e1FFf623aA927dD4e28c67a,18 +94,RGT-C623,RGT,RGT,0xD291E7a03283640FDc51b121aC401383A46cC623,18 +95,BETA-dbE2,BETA,BETA,0x35F67c1D929E106FDfF8D1A55226AFe15c34dbE2,18 +96,CLT-D969,CLT,CLT,0x2001f2A0Cf801EcFda622f6C28fb6E10d803D969,8 +97,ASTRO-69ff,ASTRO,ASTRO,0xcbd55D4fFc43467142761A764763652b48b969ff,18 +98,GYOSHI-0Ade,GYOSHI,GYOSHI,0x1F17D72cBe65Df609315dF5c4f5F729eFbd00Ade,18 +99,TRENDX-c936,TRENDX,TRENDX,0xC89d9aa9D9E54bb196319c6195AEA1038d2bc936,18 +100,USHIBA-7c9A,USHIBA,USHIBA,0xB893A8049f250b57eFA8C62D51527a22404D7c9A,9 +101,QSP-b80d,QSP,QSP,0x99ea4dB9EE77ACD40B119BD1dC4E33e1C070b80d,18 +102,HIFI-B07e,HIFI,HIFI,0x4b9278b94a1112cAD404048903b8d343a810B07e,18 +103,AMKT-aE8D,AMKT,AMKT,0xF17A3fE536F8F7847F1385ec1bC967b2Ca9caE8D,18 +104,AI-4Fa2,AI,AI,0xF68415bE72377611e95d59bc710CcbBbf94C4Fa2,18 +105,QETH-2E7d,QETH,QETH,0x93ef1Ea305D11A9b2a3EbB9bB4FCc34695292E7d,18 +106,BTU-cc9f,BTU,BTU,0xb683D83a532e2Cb7DFa5275eED3698436371cc9f,18 +107,FTT-a4c9,FTT,FTT,0x50D1c9771902476076eCFc8B2A83Ad6b9355a4c9,18 +108,DHP-920d,DHP,DHP,0xc40F23A3E9613E012944f7957edCe97899Fa920d,18 +109,SWITCH-2285,SWITCH,SWITCH,0x36FEca97a4E81F4e1260119fae0C572A98832285,9 +110,EURE-273f,EURE,EURE,0x3231Cb76718CDeF2155FC47b5286d82e6eDA273f,18 +111,UNIETH-51F4,UNIETH,UNIETH,0xF1376bceF0f78459C0Ed0ba5ddce976F1ddF51F4,18 +112,DXN-cB6F,DXN,DXN,0x80f0C1c49891dcFDD40b6e0F960F84E6042bcB6F,18 +113,VCK-5731,VCK,VCK,0xfa5B75a9e13Df9775cf5b996A049D9cc07c15731,18 +114,CARD-D708,CARD,CARD,0x954b890704693af242613edEf1B603825afcD708,18 +115,BRIBIT-ED37,BRIBIT,BRIBIT,0x5f32De250329B97aaD84AAe4cd3AF548aFf1ED37,18 +116,INNIT-7c18,INNIT,INNIT,0x62A8C2818BD7034DC24CD22368C3E53E8eB47c18,18 +117,OPCH-22d1,OPCH,OPCH,0x4d4d883f920f7c0C36a1bE71a02Aa0cde2AA22d1,18 +118,I20-6812,I20,I20,0x6d47a7BE5D410910eef7EE2a3D34931F98f36812,18 +119,XOT-b198,XOT,XOT,0x22B48E1f20043D1Db5F2a11CbF1d520A4F20b198,18 +120,PLPC-F67b,PLPC,PLPC,0xa34Ee6108Fe427f91edce0D6520d9fEc0E64F67b,9 +121,MSI-6fde,MSI,MSI,0xc4C75F2A0cB1a9ACc33929512dc9733EA1Fd6fde,18 +122,PENDLE-a827,PENDLE,PENDLE,0x808507121B80c02388fAd14726482e061B8da827,18 +123,KIMCHI-eDa0,KIMCHI,KIMCHI,0x1E18821E69B9FAA8e6e75DFFe54E7E25754beDa0,18 +124,WAY-3e1e,WAY,WAY,0xFDedD42A446BF6C5a883727Cda6fF557511e3e1e,18 +125,WSB-0c49,WSB,WSB,0x0414D8C87b271266a5864329fb4932bBE19c0c49,18 +126,SOL-b89c,SOL,SOL,0xD31a59c85aE9D8edEFeC411D448f90841571b89c,9 +127,HETH-068B,HETH,HETH,0x5bBe36152d3CD3eB7183A82470b39b29EedF068B,18 +128,ZDEX-7f9c,ZDEX,ZDEX,0x5150956E082C748Ca837a5dFa0a7C10CA4697f9c,18 +129,SOOOOOOOOO-5cec,SOOOOOOOOO,SOOOOOOOOO,0x1494951b4656075E473843161c4fF0201A235cec,9 +130,NVIR-6804,NVIR,NVIR,0x9d71CE49ab8A0E6D2a1e7BFB89374C9392FD6804,18 +131,TAMA-88c8,TAMA,TAMA,0x12b6893cE26Ea6341919FE289212ef77e51688c8,18 +132,EVED-91bd,EVED,EVED,0x5aaEFe84E0fB3DD1f0fCfF6fA7468124986B91bd,18 +133,FTG-7659,FTG,FTG,0x3A4CaB3DcfaB144FE7eB2B5a3e288Cc03dC07659,18 +134,DWEB-285F,DWEB,DWEB,0xE7f58A92476056627f9FdB92286778aBd83b285F,18 +135,TRADE-C0C1,TRADE,TRADE,0x6e5970DBd6fc7eb1f29C6D2eDF2bC4c36124C0C1,18 +136,LOVE-47c8,LOVE,LOVE,0xdE4CE5447ce0c67920a1371605A39187Cb6847c8,18 +137,SOMEE-1447,SOMEE,SOMEE,0x65F9A292f1AEED5D755Aa2fD2Fb17AB2E9431447,18 +138,NANDI-97B5,NANDI,NANDI,0x38F679F8E8116cd5D6a700E442dfaa8e7B8697B5,9 +139,BUMP-2168,BUMP,BUMP,0x785c34312dfA6B74F6f1829f79ADe39042222168,18 +140,NCASH-3CCA,NCASH,NCASH,0x809826cceAb68c387726af962713b64Cb5Cb3CCA,18 +141,IDLE-D39e,IDLE,IDLE,0x875773784Af8135eA0ef43b5a374AaD105c5D39e,18 +142,MOUSEWORM-5dA8,MOUSEWORM,MOUSEWORM,0xA848a1D33D8ef1633397A6acf617620fab8E5dA8,6 +143,AAMMBPTBALWETH-7bFB,AAMMBPTBALWETH,AAMMBPTBALWETH,0xd109b2A304587569c84308c55465cd9fF0317bFB,18 +144,GNX-DAa5,GNX,GNX,0x6EC8a24CaBdc339A06a172F8223ea557055aDAa5,9 +145,TEN-40E4,TEN,TEN,0xDD16eC0F66E54d453e6756713E533355989040E4,18 +146,UNBNK-442f,UNBNK,UNBNK,0x06B884e60794Ce02AafAb13791B59A2e6A07442f,18 +147,DEFY-d8E7,DEFY,DEFY,0x205eD31C867bF715E4182137Af95AFE9177Cd8E7,18 +148,MAUSDT-aC2f,MAUSDT,MAUSDT,0xAFe7131a57E44f832cb2dE78ade38CaD644aaC2f,18 +149,CHAT-3469,CHAT,CHAT,0x442Bc47357919446eAbC18C7211E57a13d983469,18 +150,CVAG-a6f9,CVAG,CVAG,0x72a66e54B66892aE3BBe54DF7bb7Dd5Ae927a6f9,18 +151,CITADEL-C1BB,CITADEL,CITADEL,0x6caDf6ABBCeb53e631C288778DAAcF125481C1BB,18 +152,FGATE-2E92,FGATE,FGATE,0x97808Df7Afb14134d37a91576bDb8b95dFCD2E92,18 +153,ONSTON-3957,ONSTON,ONSTON,0x47b9F01B16E9C9cb99191DCA68c9cc5bF6403957,18 +154,LIT-9723,LIT,LIT,0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723,18 +155,TORN-116C,TORN,TORN,0x77777FeDdddFfC19Ff86DB637967013e6C6A116C,18 +156,MOOI-e006,MOOI,MOOI,0xd3C89cAC4A4283EDbA6927e2910fD1eBC14fe006,18 +157,BSN-6A5e,BSN,BSN,0x534D1F5E617e0f72A6b06a04Aa599839AF776A5e,18 +158,MYTH-2003,MYTH,MYTH,0xBA41Ddf06B7fFD89D1267b5A93BFeF2424eb2003,18 +159,GYOZA-82Dd,GYOZA,GYOZA,0x4e51A6b3cC6d5Ae69A0D44dB9de846aEb5a582Dd,9 +160,CLH-FA52,CLH,CLH,0xD7D8f3b8Bc8bC48d3AcC37879EABA7b85889FA52,18 +161,NUME2-2d1b,NUME2,NUME2,0x62939f78A9A1cC4f9F1eA41CFf95cd4f6B912d1b,18 +162,GOLC-445d,GOLC,GOLC,0x095797FD4297fb79883cC912a5Ba6313B15c445d,18 +163,METANO-1afb,METANO,METANO,0x9D9e399e5385e2b9A58d4F775A1E16441b571afb,18 +164,PRCY-D116,PRCY,PRCY,0xdFC3829b127761a3218bFceE7fc92e1232c9D116,8 +165,DUB-Fb65,DUB,DUB,0x75CE16D11B83605aa039D40d7d846ff23064Fb65,9 +166,ONE-c475,ONE,ONE,0x946551DD05C5Abd7CC808927480225ce36D8c475,18 +167,RARE-6350,RARE,RARE,0xba5BDe662c17e2aDFF1075610382B9B691296350,18 +168,INUS-8c00,INUS,INUS,0x39207D2E2fEEF178FBdA8083914554C59D9f8c00,18 +169,CHAI-c215,CHAI,CHAI,0x06AF07097C9Eeb7fD685c692751D5C66dB49c215,18 +170,MUSK-2Cd8,MUSK,MUSK,0x6069c9223e8a5DA1ec49ac5525d4BB757Af72Cd8,18 +171,PROM-b27d,PROM,PROM,0xfc82bb4ba86045Af6F327323a46E80412b91b27d,18 +172,SPELL-e5F6,SPELL,SPELL,0x090185f2135308BaD17527004364eBcC2D37e5F6,18 +173,BNIU-1b86,BNIU,BNIU,0x2f11EeeE0bf21E7661A22dbBbb9068F4ad191b86,18 +174,MYCE-f4EA,MYCE,MYCE,0xE9966C1184f8552Fcb16F65addba9Dd08fe8f4EA,18 +175,UTK-F99c,UTK,UTK,0xdc9Ac3C20D1ed0B540dF9b1feDC10039Df13F99c,18 +176,XYO-E758,XYO,XYO,0x55296f69f40Ea6d20E478533C15A6B08B654E758,18 +177,NTX-A0c4,NTX,NTX,0xFDb15e5E6799Be72798b1ccFAEcbF186Bf73A0c4,8 +178,BOWL-5794,BOWL,BOWL,0x760Ea31711aC14cb9Ba81aC25453C6f378fA5794,9 +179,TYRANT-ec27,TYRANT,TYRANT,0x8EE325AE3E54e83956eF2d5952d3C8Bc1fa6ec27,9 +180,KTON-c5ff,KTON,KTON,0x9F284E1337A815fe77D2Ff4aE46544645B20c5ff,18 +181,BPD-1250,BPD,BPD,0xC81b0d02393a956234E24564805a896f14ad1250,9 +182,AAMMUNIRENWETH-878B,AAMMUNIRENWETH,AAMMUNIRENWETH,0xA9e201A4e269d6cd5E9F0FcbcB78520cf815878B,18 +183,GTH-3674,GTH,GTH,0xeb986DA994E4a118d5956b02d8b7c3C7CE373674,18 +184,SPOT-6Ca6,SPOT,SPOT,0xb4f8Ae8D7D29Ac74894cD40ecC24e50F6F146Ca6,9 +185,SAINT-8C40,SAINT,SAINT,0x3D5FA1cF7D356474F72C8cb24F7a6117b40F8C40,18 +186,AMM-c349,AMM,AMM,0x8B1F49491477e0fB46a29fef53F1EA320D13c349,6 +187,CBK-F7fD,CBK,CBK,0xD85a6Ae55a7f33B0ee113C234d2EE308EdeAF7fD,18 +188,SIS-6dd9,SIS,SIS,0xd38BB40815d2B0c2d2c866e0c72c5728ffC76dd9,18 +189,HIMFERS-33B0,HIMFERS,HIMFERS,0xB755D5bC7de83232b9df1886bD5CdB38895933B0,18 +190,PGA-a67e,PGA,PGA,0xf0068a3657526Bc7f824B55575714ebFFe9ca67e,18 +191,VOLTA-8A76,VOLTA,VOLTA,0x9b06F3C5de42D4623D7A2Bd940EC735103c68A76,18 +192,HAIR-6f42,HAIR,HAIR,0x9Ce115f0341ae5daBC8B477b74E83db2018A6f42,18 +193,WFAI-cD48,WFAI,WFAI,0x8A001303158670E284950565164933372807cD48,18 +194,EVER-2953,EVER,EVER,0x29d578CEc46B50Fa5C88a99C6A4B70184C062953,9 +195,SKT-a8C1,SKT,SKT,0x012E0e6342308b247F36Ee500ECb14dc77a7a8C1,8 +196,YFL-c0be,YFL,YFL,0x28cb7e841ee97947a86B06fA4090C8451f64c0be,18 +197,VEUR-b5d3,VEUR,VEUR,0x6bA75D640bEbfe5dA1197bb5A2aff3327789b5d3,18 +198,EVX-13b8,EVX,EVX,0xf3Db5Fa2C66B7aF3Eb0C0b782510816cbe4813b8,4 +199,NST-3f5d,NST,NST,0x70Bef3bB2f001dA2fDDb207dAe696cD9FAFf3f5d,18 +200,ESPRO-3ead,ESPRO,ESPRO,0x29C56E7CB9C840d2b2371b17e28BaB44AD3c3ead,18 +201,RBET-2813,RBET,RBET,0xB16ADA27e4bc05bC7b113D0B0fd4962Fe1ce2813,18 +202,EOSDAC-4fBa,EOSDAC,EOSDAC,0x7e9e431a0B8c4D532C745B1043c7FA29a48D4fBa,18 +203,MARU-2b00,MARU,MARU,0xC2456D2118299a2efDFE6522Ff79aA48fC5d2b00,9 +204,BITT-6D51,BITT,BITT,0x9F9913853f749b3fE6D6D4e16a1Cc3C1656B6D51,18 +205,PPAY-3Bb2,PPAY,PPAY,0x054D64b73d3D8A21Af3D764eFd76bCaA774f3Bb2,18 +206,SYM-aCb8,SYM,SYM,0x2fd61567c29E7ADB4Ca17e60E1f4a3Fcfe68aCb8,18 +207,STYLE-85b1,STYLE,STYLE,0xA962fC9d092c1E2dE00Bf600e261cf058B5685b1,18 +208,AGV-382B,AGV,AGV,0xf4F618Eff5eF36Cde2FCa4FBD86554c62Fb1382B,18 +209,GMB-53Ea,GMB,GMB,0x9488936e4a36E3585aFEB63377e2393Aeac253Ea,18 +210,BMT-1E89,BMT,BMT,0xf028ADEe51533b1B47BEaa890fEb54a457f51E89,18 +211,XRP20-2E7d,XRP20,XRP20,0xE4aB0bE415e277d82C38625B72BD7DeA232C2E7d,18 +212,LUN-67D9,LUN,LUN,0xfa05A73FfE78ef8f1a739473e462c54bae6567D9,18 +213,POWER-E509,POWER,POWER,0xF2f9A7e93f845b3ce154EfbeB64fB9346FCCE509,18 +214,FRIN-1D15,FRIN,FRIN,0xC9fE6E1C76210bE83DC1B5b20ec7FD010B0b1D15,18 +215,STILT-bE4b,STILT,STILT,0xB5F1457d6FBa1956Fb8d31B0B7CAcA14BDe0bE4b,9 +216,VEE-13B7,VEE,VEE,0x340D2bdE5Eb28c1eed91B2f790723E3B160613B7,18 +217,PUNK-232A,PUNK,PUNK,0x269616D549D7e8Eaa82DFb17028d0B212D11232A,18 +218,SHINO-ed12,SHINO,SHINO,0xE9287543684f440b2f29983A3472987bF7b0ed12,18 +219,SALT-0581,SALT,SALT,0x4156D3342D5c385a87D264F90653733592000581,8 +220,BST-34FC,BST,BST,0x4E4bFfAA8df6F0dC3e5600bBACf7DA55f37134FC,18 +221,JACK-EB28,JACK,JACK,0x4E12EB8e506Ccd1427F6b8F7faa3e88fB698EB28,18 +222,FEG-C945,FEG,FEG,0x389999216860AB8E0175387A0c90E5c52522C945,9 +223,BEL-7e14,BEL,BEL,0xA91ac63D040dEB1b7A5E4d4134aD23eb0ba07e14,18 +224,ATNT-8918,ATNT,ATNT,0xAA2d8c9a8bd0F7945143bfD509bE3ff23dd78918,3 +225,TENSHI-5292,TENSHI,TENSHI,0x52662717e448be36Cb54588499D5A8328BD95292,18 +226,SNM-266b,SNM,SNM,0x77571a64342667f7818520eF004b2b91F47a266b,18 +227,DBOX-D973,DBOX,DBOX,0x56c9D5F1E727de03643af220B5cE52DE23D4D973,18 +228,POS32-2aB0,POS32,POS32,0x8eb5bD8c9Ab0F8ad28e94693F3c889F490bE2aB0,18 +229,DEXIO-2b84,DEXIO,DEXIO,0xe2cfBBEDbcE1bd59B1B799C44282E6396D692b84,18 +230,SBET-2756,SBET,SBET,0x2ED2Cc2c858A8a8219fD2F2d9E170285dBd02756,18 +231,SKM-3603,SKM,SKM,0x048Fe49BE32adfC9ED68C37D32B5ec9Df17b3603,18 +232,VETME-4E1f,VETME,VETME,0xe7eF051C6EA1026A70967E8F04da143C67Fa4E1f,9 +233,DAPPT-485B,DAPPT,DAPPT,0x96184d9C811Ea0624fC30C80233B1d749B9E485B,18 +234,GOLD-2ead,GOLD,GOLD,0x670f9D9a26D3D42030794ff035d35a67AA092ead,8 +235,FNF-CDEE,FNF,FNF,0xAcf8D5E515Ed005655DfeFA09C22673a37A7CDEE,18 +236,ISK-a75C,ISK,ISK,0x17d2628D30F8e9E966c9Ba831c9B9b01ea8Ea75C,18 +237,CYCE-2f42,CYCE,CYCE,0x9681ee0D91E737C3B60aCEbA7Fbdae61B5462f42,6 +238,FOG-287c,FOG,FOG,0x503cD987998824192578D0d7950148445667287c,18 +239,LAKE-C400,LAKE,LAKE,0xF9Ca9523E5b5A42C3018C62B084Db8543478C400,18 +240,KCT-A27E,KCT,KCT,0x4c601dc69AfFb0D4Fc8dE1Ac303705e432A4A27E,18 +241,OCEAN-9F48,OCEAN,OCEAN,0x967da4048cD07aB37855c090aAF366e4ce1b9F48,18 +242,TR3-5F98,TR3,TR3,0xF61BF4d1A948487d61b8fa63808AAC06bda55F98,18 +243,ETHM-3794,ETHM,ETHM,0xFD957F21bd95E723645C07C48a2d8ACB8Ffb3794,18 +244,OPEN-1340,OPEN,OPEN,0x9D86b1B2554ec410ecCFfBf111A6994910111340,8 +245,CKU-F736,CKU,CKU,0x08F7be99ED83369541501d60f4e66F8e34c3F736,18 +246,ATH-C8F6,ATH,ATH,0x2F9411088cEF82Fd9fB904Eb8092f28eB485C8F6,18 +247,BURP-4A7c,BURP,BURP,0x33f391F4c4fE802b70B77AE37670037A92114A7c,18 +248,BSL-53Ac,BSL,BSL,0x0AF55d5fF28A3269d69B98680Fd034f115dd53Ac,8 +249,SAIL-15B7,SAIL,SAIL,0xd8F1460044925d2D5c723C7054cd9247027415B7,18 +250,SNN-5d08,SNN,SNN,0xF5717f5DF41eA67Ef67DFD3c1d02F9940bcF5d08,3 +251,LINU-D581,LINU,LINU,0x78132543D8E20D2417d8a07D9ae199D458A0D581,18 +252,CHIKUN-3fB2,CHIKUN,CHIKUN,0x9A7703338730b82A803ba050dF55f9B3959f3fB2,9 +253,LBP-4eBE,LBP,LBP,0xa23C1194d421F252b4e6D5edcc3205F7650a4eBE,18 +254,NERF-76c5,NERF,NERF,0xaF8942831F3A096f708b8b31F191B8958Cf176c5,18 +255,AAMMUNIBATWETH-7Eb4,AAMMUNIBATWETH,AAMMUNIBATWETH,0xA1B0edF4460CC4d8bFAA18Ed871bFF15E5b57Eb4,18 +256,TIUSD-09bd,TIUSD,TIUSD,0x6EFF556748Ee452CbDaf31bcb8c76A28651509bd,18 +257,ICONS-9088,ICONS,ICONS,0x3F68e7B44e9bCB486C2FeAdB7A2289D9cdFC9088,18 +258,AIOZ-BF18,AIOZ,AIOZ,0x626E8036dEB333b408Be468F951bdB42433cBF18,18 +259,AAMMUSDC-9c80,AAMMUSDC,AAMMUSDC,0xd24946147829DEaA935bE2aD85A3291dbf109c80,6 +260,DERI-d3b9,DERI,DERI,0xA487bF43cF3b10dffc97A9A744cbB7036965d3b9,18 +261,FBX-C199,FBX,FBX,0x5De597849Cf72c72f073e9085bDD0DadD8E6C199,18 +262,PRO-c307,PRO,PRO,0xBD7e92Cf6F857be8541FCa6abfB72aeF8e16c307,18 +263,STZ-B654,STZ,STZ,0x3f5294DF68F871241c4B18fcF78ebD8Ac18aB654,18 +264,GOM2-bcD7,GOM2,GOM2,0x48783486ddD7fa85ECa6B0C4AE8920Bc25DfbcD7,0 +265,KTN-FC1C,KTN,KTN,0x491E136FF7FF03E6aB097E54734697Bb5802FC1C,18 +266,MOMA-D55B,MOMA,MOMA,0xbd1848e1491d4308Ad18287A745DD4DB2A4BD55B,18 +267,PRT-2892,PRT,PRT,0x6D0F5149c502faf215C89ab306ec3E50b15e2892,18 +268,LON-c952,LON,LON,0x0000000000095413afC295d19EDeb1Ad7B71c952,18 +269,KYD-6966,KYD,KYD,0xD05292be8733C1b189820d042C9E2c3fBABb6966,9 +270,DIA-bC5b,DIA,DIA,0xFde00bD1Da57349b0DF85F134b18124266F3bC5b,18 +271,THX-4B31,THX,THX,0xe632ea2eF2CFD8Fc4a2731C76F99078Aef6a4B31,18 +272,PINU-9670,PINU,PINU,0x3a1311B8C404629E38f61D566cefEFed083B9670,9 +273,EMBR-3c85,EMBR,EMBR,0x1936aE42b59876192a2E263B3807343c448e3c85,18 +274,MIC-1c7d,MIC,MIC,0x285DB79fa7e0e89E822786F48A7c98C6c1dC1c7d,18 +275,SPN-dbfD,SPN,SPN,0x32EA3Dc70E2962334864A9665254d2433E4ddbfD,18 +276,XAI-bEAc,XAI,XAI,0xd7C9F0e536dC865Ae858b0C0453Fe76D13c3bEAc,18 +277,RAZE-8EaC,RAZE,RAZE,0x5Eaa69B29f99C84Fe5dE8200340b4e9b4Ab38EaC,18 +278,FUND-996b,FUND,FUND,0x7d8d7c26179b7A6aebbF66A91C38ED92d5B4996b,18 +279,BCSPX-1D59,BCSPX,BCSPX,0x1e2C4fb7eDE391d116E6B41cD0608260e8801D59,18 +280,RSFT-46A6,RSFT,RSFT,0x78223d31298107f3E310B09797b07967832046A6,18 +281,PHM-89d3,PHM,PHM,0x3F9BEC82c776c47405BcB38070d2395Fd18F89d3,18 +282,QNT-4675,QNT,QNT,0x4a220E6096B25EADb88358cb44068A3248254675,18 +283,RAMP-Ed9f,RAMP,RAMP,0x33D0568941C0C64ff7e0FB4fbA0B11BD37deEd9f,18 +284,BWP-ce24,BWP,BWP,0x5543862BA50b6Bbc198222a34d30E93A62aDce24,8 +285,AWOKE-573D,AWOKE,AWOKE,0xd75C5AA683485780940cf0F78C08AaC051e5573D,18 +286,WXTZ-00b4,WXTZ,WXTZ,0x2A69655C22eDa32ff48d315bB26ED45f150700b4,6 +287,GEAR-Ab5D,GEAR,GEAR,0xBa3335588D9403515223F109EdC4eB7269a9Ab5D,18 +288,SLOCK-9D8E,SLOCK,SLOCK,0xbcBf09b4b83EB3893D58F0665d21460C04e39D8E,18 +289,DUMMY-21db,DUMMY,DUMMY,0x445bd590A01fe6709d4f13A8F579c1e4846921db,18 +290,SER-8fDC,SER,SER,0xb19189Fb36c816f3e0f16065057B07B790998fDC,18 +291,EEYOR-4825,EEYOR,EEYOR,0x07c904D8c04323EF9Fe6BF13AaEbA05b62c54825,18 +292,LIME-f4A3,LIME,LIME,0x9D0B65a76274645B29e4cc41B8f23081fA09f4A3,18 +293,GNO-6b96,GNO,GNO,0x6810e776880C02933D47DB1b9fc05908e5386b96,18 +294,GRDN-665B,GRDN,GRDN,0xDC9a328a55A9241FE14abc03498d57124063665B,9 +295,MCBASE-8cDb,MCBASE,MCBASE,0x43a9C989597eFeAdf11Faec609Ad8df7d3C18cDb,18 +296,TSANGNYON-C242,TSANGNYON,TSANGNYON,0xd031edafac6a6ae5425e77F936022E506444C242,18 +297,ACAP-6A41,ACAP,ACAP,0xd5A98E77d1fEB091344096301Ea336a5C07a6A41,18 +298,RNDR-eb24,RNDR,RNDR,0x6De037ef9aD2725EB40118Bb1702EBb27e4Aeb24,18 +299,STA-76eb,STA,STA,0xD7d05bDa4bf5876bA1254b3Eaaf8b47D2F5676eb,18 +300,GLM-6429,GLM,GLM,0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429,18 +301,FUSION-ca84,FUSION,FUSION,0x6230f552A1c825D02E1140Ccc0d3f5EEEC81ca84,9 +302,ULTIMATEBO-2e4f,ULTIMATEBO,ULTIMATEBO,0x6b4CEB0beb0DCF0043C9389e01e3F1c84b422e4f,9 +303,XUDO-1E45,XUDO,XUDO,0x33BC4e44054fdb21D5a7CEa5c03613782D821E45,18 +304,HIPUNKS-5647,HIPUNKS,HIPUNKS,0xb1f136a74e18E4E2921feBbf25820d1Bb65B5647,18 +305,HGOLD-E0d9,HGOLD,HGOLD,0x0c93B616933b0CD03B201b29Cd8a22681DD9E0d9,8 +306,MEV-04E3,MEV,MEV,0xb3Cb8d5AEFF0F4d1f432f353309f47b885E404E3,18 +307,ALPA-514A,ALPA,ALPA,0x7cA4408137eb639570F8E647d9bD7B7E8717514A,18 +308,X-2372,X,X,0xa62894D5196bC44e4C3978400Ad07E7b30352372,9 +309,AGI-3046,AGI,AGI,0x7dA2641000Cbb407C329310C461b2cB9c70C3046,18 +310,LFG-Ff4F,LFG,LFG,0x441C3c2f4a92f1B90F916811514ebDDbBD3BFf4F,18 +311,AUSDT-5811,AUSDT,AUSDT,0x3Ed3B47Dd13EC9a98b44e6204A523E766B225811,6 +312,MTL-355e,MTL,MTL,0xF433089366899D83a9f26A773D59ec7eCF30355e,8 +313,VS-e933,VS,VS,0x63a60C5469379149757Cc3e58453202eBDB7e933,18 +314,RED-Eb2f,RED,RED,0x76960Dccd5a1fe799F7c29bE9F19ceB4627aEb2f,18 +315,FINU-Ca1C,FINU,FINU,0x2c022e58C5E3Ee213F06f975fd8a0d3a6fE9Ca1C,18 +316,SRK-74E6,SRK,SRK,0x0488401c3F535193Fa8Df029d9fFe615A06E74E6,18 +317,NEMS-FFAe,NEMS,NEMS,0xb435A47eCea7F5366b2520e45B9beD7E01d2FFAe,18 +318,YVAAVE-1915,YVAAVE,YVAAVE,0xd9788f3931Ede4D5018184E198699dC6d66C1915,18 +319,AXIAV3-7546,AXIAV3,AXIAV3,0x793786e2dd4Cc492ed366a94B88a3Ff9ba5E7546,18 +320,KUSUNOKI-0308,KUSUNOKI,KUSUNOKI,0x36919a60a2B67B6d2329863093D180d23d5A0308,18 +321,PEPLAY-72a4,PEPLAY,PEPLAY,0xeE42bEb10DCd03775107f5eC56c3AE022F1072a4,18 +322,HTL-B742,HTL,HTL,0x6247C86B016Bc4d9aE141849C0a9Eb38C004B742,18 +323,CHZ-b4AF,CHZ,CHZ,0x3506424F91fD33084466F402d5D97f05F8e3b4AF,18 +324,DSS-7513,DSS,DSS,0x213C53C96A01a89E6Dcc5683cF16473203E17513,18 +325,LIVE-6f60,LIVE,LIVE,0xb7dFa8EAc59361B1d9f0C2641b516159C5306f60,18 +326,SCM-3718,SCM,SCM,0x8353b92201f19B4812EeE32EFd325f7EDe123718,18 +327,ETHPAD-C442,ETHPAD,ETHPAD,0x8dB1D28Ee0d822367aF8d220C0dc7cB6fe9DC442,18 +328,YVUNI-ed42,YVUNI,YVUNI,0xFBEB78a723b8087fD2ea7Ef1afEc93d35E8Bed42,18 +329,PLSB-8D06,PLSB,PLSB,0x5EE84583f67D5EcEa5420dBb42b462896E7f8D06,12 +330,PRIX-B37A,PRIX,PRIX,0x3ADfc4999F77D04c8341BAC5F3A76f58DfF5B37A,8 +331,HERMES-Bb91,HERMES,HERMES,0xDE6Cec925D3e76e2Cb94cf5805159244BA4CBb91,18 +332,EVEAI-0cF1,EVEAI,EVEAI,0x05fE069626543842439Ef90D9FA1633640c50cF1,18 +333,MILADY-EB48,MILADY,MILADY,0x227c7DF69D3ed1ae7574A1a7685fDEd90292EB48,18 +334,ORD-E4Ec,ORD,ORD,0xBe00734799A67a62Af2819825580318aC1B1E4Ec,18 +335,HOODIE-FE75,HOODIE,HOODIE,0xdffA3a7f5B40789C7A437DbE7B31b47F9B08FE75,18 +336,SNAKE-B8fA,SNAKE,SNAKE,0x1032abe2902a23dDCbaB085C20E0e69c33cEB8fA,18 +337,FELIX-b905,FELIX,FELIX,0x418AfEe14a1FD9c05c4df05e033f7C3d46aEb905,18 +338,BCNT-2CD9,BCNT,BCNT,0x9669890e48f330ACD88b78D63E1A6b3482652CD9,18 +339,ENO-6eC1,ENO,ENO,0x1C3d163219Bb74f430411b95D66b72056f366eC1,18 +340,PRE-2A0F,PRE,PRE,0xEC213F83defB583af3A000B1c0ada660b1902A0F,18 +341,COIL-E918,COIL,COIL,0x823E1B82cE1Dc147Bbdb25a203f046aFab1CE918,18 +342,TOKU-BD82,TOKU,TOKU,0x9eEC1A4814323a7396c938bc86aeC46b97F1BD82,18 +343,STRM-BcA8,STRM,STRM,0x0eDF9bc41Bbc1354c70e2107F80C42caE7FBBcA8,18 +344,EYE-ce5e,EYE,EYE,0x5D39957Fc88566F14AE7E8aB8971d7c603f0ce5e,9 +345,BGB-8a28,BGB,BGB,0x19de6b897Ed14A376Dda0Fe53a5420D2aC828a28,18 +346,TOAD-1955,TOAD,TOAD,0x370a366f402e2e41CDBbE54EcEC12aaE0cce1955,18 +347,ZMT-62b2,ZMT,ZMT,0xaa602dE53347579f86b996D2Add74bb6F79462b2,18 +348,BSPT-28d5,BSPT,BSPT,0xa350DA05405cc204e551C4eeD19C3039646528d5,18 +349,MNDCC-72f1,MNDCC,MNDCC,0xCDb9D30a3BA48CdfCB0EcbE19317E6cf783672f1,18 +350,FCT-471b,FCT,FCT,0xE1bAD922F84b198A08292FB600319300ae32471b,18 +351,DSLA-ECBe,DSLA,DSLA,0x3aFfCCa64c2A6f4e3B6Bd9c64CD2C969EFd1ECBe,18 +352,PIXIU-07E8,PIXIU,PIXIU,0x37A15C92e67686aA268df03d4C881A76340907E8,0 +353,PAY-B280,PAY,PAY,0xB97048628DB6B661D4C2aA833e95Dbe1A905B280,18 +354,COTI-55c5,COTI,COTI,0xDDB3422497E61e13543BeA06989C0789117555c5,18 +355,ALLIN-BDAc,ALLIN,ALLIN,0x642b62DAebd3b46b03208A5E590A9D87A88fBDAc,9 +356,FLUID-E073,FLUID,FLUID,0x4E47951508Fd4A4126F8ff9CF5E6Fa3b7cC8E073,18 +357,LEAP-a134,LEAP,LEAP,0x53263d9EF74Db583b15fbC6D5D4e8B83833fa134,18 +358,RDPX-8D11,RDPX,RDPX,0x0ff5A8451A839f5F0BB3562689D9A44089738D11,18 +359,ARNC-8EE4,ARNC,ARNC,0x7495e5Cc8F27e0bd5bD4cb86d17F0D841cA58EE4,18 +360,BNT-FF1C,BNT,BNT,0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C,18 +361,ROSO-2F0d,ROSO,ROSO,0xc3d222685f1ACACDdD4bF8aE566a288702252F0d,18 +362,BRD-9aD6,BRD,BRD,0x558EC3152e2eb2174905cd19AeA4e34A23DE9aD6,18 +363,BUTTER-341c,BUTTER,BUTTER,0x0D248Ce39E26FB00F911FB1e7a45A00d8C94341c,18 +364,NAVYSEAL-2870,NAVYSEAL,NAVYSEAL,0x34DF29Dd880e9fe2cec0f85f7658B75606fB2870,9 +365,CELR-C667,CELR,CELR,0x4F9254C83EB525f9FCf346490bbb3ed28a81C667,18 +366,ZRX-F498,ZRX,ZRX,0xE41d2489571d322189246DaFA5ebDe1F4699F498,18 +367,TITI-Ec52,TITI,TITI,0x3bdffA70f4b4E6985eED50453c7C0D4A15dcEc52,18 +368,SYBL-1842,SYBL,SYBL,0xCa4B70BEcCAbcE29efa5bC5C86311E5D38461842,18 +369,GOTG-8c1D,GOTG,GOTG,0xceEB07Dd26b36287B6d109f0b06d7e8202Ce8c1D,18 +370,RAKE-5677,RAKE,RAKE,0x8928f8D41377856Ddf099D23B260375d178e5677,18 +371,1INCH-C302,1INCH,1INCH,0x111111111117dC0aa78b770fA6A738034120C302,18 +372,ADS-001f,ADS,ADS,0x3106a0a076BeDAE847652F42ef07FD58589E001f,18 +373,FUN-711b,FUN,FUN,0x419D0d8BdD9aF5e606Ae2232ed285Aff190E711b,8 +374,LMY-851f,LMY,LMY,0x66fD97a78d8854fEc445cd1C80a07896B0b4851f,18 +375,BIG-B9B5,BIG,BIG,0xc8De43Bfe33FF496Fa14c270D9CB29Bda196B9B5,18 +376,CSUSHI-c9d7,CSUSHI,CSUSHI,0x4B0181102A0112A2ef11AbEE5563bb4a3176c9d7,8 +377,USDT-1ec7,USDT,USDT,0xdAC17F958D2ee523a2206206994597C13D831ec7,6 +378,SAI-0359,SAI,SAI,0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359,18 +379,TI-7022,TI,TI,0xC5170Dd7386247CDB8c48545C803F5D0E3347022,18 +380,INVOX-6022,INVOX,INVOX,0x4485561Db76614Ff727f8E0a3Ea95690b8b16022,18 +381,LBR-1ebd,LBR,LBR,0xed1167b6Dc64E8a366DB86F2E952A482D0981ebd,18 +382,OPL-4961,OPL,OPL,0xc0804A4eaE02Fdf7516F55A12990D282640A4961,18 +383,ZURR-e08D,ZURR,ZURR,0x89509aA1D14a8E1E5364Ec4C3B041213bcDbe08D,18 +384,PBX-a483,PBX,PBX,0xD528cf2E081f72908e086F8800977df826B5a483,18 +385,PAR-ee06,PAR,PAR,0x1BeEF31946fbbb40B877a72E4ae04a8D1A5Cee06,18 +386,HFIL-7cD4,HFIL,HFIL,0x9AFb950948c2370975fb91a441F36FDC02737cD4,18 +387,LYF-428B,LYF,LYF,0xc3dBD99da846ea38d34430D852795684a211428B,18 +388,CASTLE-3079,CASTLE,CASTLE,0xf9d4DAaE1300CfF251979722C4A3C45857973079,18 +389,ARDX-0647,ARDX,ARDX,0xB8E2e2101eD11e9138803cd3e06e16dd19910647,2 +390,GPBP-F7a5,GPBP,GPBP,0xe5ca70281149Be03Da30778fb5ec6183d339F7a5,9 +391,XOR-F677,XOR,XOR,0x40FD72257597aA14C7231A7B1aaa29Fce868F677,18 +392,SENSO-7bD1,SENSO,SENSO,0xC19B6A4Ac7C7Cc24459F08984Bbd09664af17bD1,0 +393,PEPE20-62AD,PEPE20,PEPE20,0xfb66321D7C674995dFcC2cb67A30bC978dc862AD,18 +394,WRC-cb2d,WRC,WRC,0x72aDadb447784dd7AB1F472467750fC485e4cb2d,6 +395,CASH-C9af,CASH,CASH,0xf32cFbAf4000e6820a95B3A3fCdbF27FB4eFC9af,18 +396,WTBT-6C56,WTBT,WTBT,0xD38e031f4529a07996aaB977d2B79f0e00656C56,18 +397,INUINU-eB5f,INUINU,INUINU,0xC6bDb96E29c38DC43f014Eed44dE4106A6A8eB5f,18 +398,BB-A-DAI-935c,BB-A-DAI,BB-A-DAI,0xae37D54Ae477268B9997d4161B96b8200755935c,18 +399,DYP-ef17,DYP,DYP,0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17,18 +400,OST-AEcA,OST,OST,0x2C4e8f2D746113d0696cE89B35F0d8bF88E0AEcA,18 +401,XDEFI-B777,XDEFI,XDEFI,0x72B886d09C117654aB7dA13A14d603001dE0B777,18 +402,BDOT-eE0B,BDOT,BDOT,0x7884F51dC1410387371ce61747CB6264E1dAeE0B,10 +403,MVI-34D7,MVI,MVI,0x72e364F2ABdC788b7E918bc238B21f109Cd634D7,18 +404,PDT-9893,PDT,PDT,0x375aBB85C329753b1Ba849a601438AE77eEc9893,18 +405,SPANK-6a18,SPANK,SPANK,0x42d6622deCe394b54999Fbd73D108123806f6a18,18 +406,MKUSD-BB28,MKUSD,MKUSD,0x4591DBfF62656E7859Afe5e45f6f47D3669fBB28,18 +407,HAPI-Fb54,HAPI,HAPI,0xD9c2D319Cd7e6177336b0a9c93c21cb48d84Fb54,18 +408,ODE-406a,ODE,ODE,0xbf52F2ab39e26E0951d2a02b49B7702aBe30406a,18 +409,PP-d793,PP,PP,0x8442E0e292186854BB6875b2A0fc1308b9Ded793,9 +410,AAMMDAI-8ba4,AAMMDAI,AAMMDAI,0x79bE75FFC64DD58e66787E4Eae470c8a1FD08ba4,18 +411,HERB-d16E,HERB,HERB,0x04A020325024F130988782bd5276e53595e8d16E,8 +412,MPEPE-E7F2,MPEPE,MPEPE,0x4216663dDc7BD10eAf44609DF4Dd0f91cD2bE7F2,18 +413,MU-61D7,MU,MU,0x05030203674173Fa6dF6F9f7E34D6E70E9a761D7,18 +414,CLEVUSD-2F86,CLEVUSD,CLEVUSD,0x3C20Ac688410bE8F391bE1fb00AFc5C212972F86,18 +415,APE-4381,APE,APE,0x4d224452801ACEd8B2F0aebE155379bb5D594381,18 +416,USDC-eB48,USDC,USDC,0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48,6 +417,PST-67a9,PST,PST,0xE3feDAeCD47aa8EAb6b23227b0eE56F092C967a9,18 +418,SDG-2C1A,SDG,SDG,0x0F5dEF84CED3e9e295DAe28df96d0B846dE92C1A,18 +419,FLOKI-6a2E,FLOKI,FLOKI,0xcf0C122c6b73ff809C693DB761e7BaeBe62b6a2E,9 +420,COC-3caf,COC,COC,0x22B6C31c2bEB8f2d0d5373146Eed41Ab9eDe3caf,8 +421,UNM-304b,UNM,UNM,0x6570fFe19dA7e2b425329B157d9109b87f18304b,18 +422,IETH-9E4A,IETH,IETH,0xC71D8BaAa436aa7E42DA1f40bEc48F11AB3c9E4A,8 423,CXO-7143,CXO,CXO,0xb6EE9668771a79be7967ee29a63D4184F8097143,18 -424,AXL-E5f3,AXL,AXL,0x467719aD09025FcC6cF6F8311755809d45a5E5f3,6 -425,GUSD-d5Cd,GUSD,GUSD,0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd,2 -426,THEO-eac2,THEO,THEO,0xfAc0403a24229d7e2Edd994D50F5940624CBeac2,9 -427,FUN-711b,FUN,FUN,0x419D0d8BdD9aF5e606Ae2232ed285Aff190E711b,8 -428,ZZ-55ad,ZZ,ZZ,0xC91a71A1fFA3d8B22ba615BA1B9c01b2BBBf55ad,18 -429,ADS-d22A,ADS,ADS,0xcfcEcFe2bD2FED07A9145222E8a7ad9Cf1Ccd22A,11 -430,RBN-fA6B,RBN,RBN,0x6123B0049F904d730dB3C36a31167D9d4121fA6B,18 -431,wTAO-0A44,wTAO,wTAO,0x77E06c9eCCf2E797fd462A92B6D7642EF85b0A44,9 -432,HUNT-6fa5,HUNT,HUNT,0x9AAb071B4129B083B01cB5A0Cb513Ce7ecA26fa5,18 -433,gOHM-a52f,gOHM,gOHM,0x0ab87046fBb341D058F17CBC4c1133F25a20a52f,18 -434,BBTC-2541,BBTC,BBTC,0x9BE89D2a4cd102D8Fecc6BF9dA793be995C22541,8 -435,XSGD-cA96,XSGD,XSGD,0x70e8dE73cE538DA2bEEd35d14187F6959a8ecA96,6 -436,ASIC-3047,ASIC,ASIC,0x347a96a5BD06D2E15199b032F46fB724d6c73047,12 -437,ICSA-69ed,ICSA,ICSA,0xfc4913214444aF5c715cc9F7b52655e788A569ed,9 -438,wstETH-2Ca0,wstETH,wstETH,0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0,18 -439,PLSD-36A7,PLSD,PLSD,0x34F0915a5f15a66Eba86F6a58bE1A471FB7836A7,12 -440,EUROe-2974,EUROe,EUROe,0x820802Fa8a99901F52e39acD21177b0BE6EE2974,6 -441,BLUR-8b44,BLUR,BLUR,0x5283D291DBCF85356A21bA090E6db59121208b44,18 -442,PAR-4703,PAR,PAR,0x68037790A0229e9Ce6EaA8A99ea92964106C4703,18 -443,SAITO-B57B,SAITO,SAITO,0xFa14Fa6958401314851A17d6C5360cA29f74B57B,18 -444,DUSK-A551,DUSK,DUSK,0x940a2dB1B7008B6C776d4faaCa729d6d4A4AA551,18 -445,ISK-a75C,ISK,ISK,0x17d2628D30F8e9E966c9Ba831c9B9b01ea8Ea75C,18 -446,WFLOW-3B2b,WFLOW,WFLOW,0x5c147e74D63B1D31AA3Fd78Eb229B65161983B2b,18 -447,MIM-17F3,MIM,MIM,0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3,18 -448,CoreDAO-Dd58,CoreDAO,CoreDAO,0xf66Cd2f8755a21d3c8683a10269F795c0532Dd58,18 -449,SEURO-9A00,SEURO,SEURO,0xb399511642FE1666c6a07f83483e6E4feAed9A00,18 -450,TEXAN-88d7,TEXAN,TEXAN,0xcFCFfE432A48dB53F59c301422d2EdD77B2A88d7,18 -451,DEXE-Cbd6,DEXE,DEXE,0xde4EE8057785A7e8e800Db58F9784845A5C2Cbd6,18 -452,COMP-6888,COMP,COMP,0xc00e94Cb662C3520282E6f5717214004A7f26888,18 -453,COT-9ff8,COT,COT,0x5c872500c00565505F3624AB435c222E558E9ff8,18 -454,DAPP-1649,DAPP,DAPP,0x939B462ee3311f8926c047D2B576C389092b1649,4 -455,BORING-92CA,BORING,BORING,0xBC19712FEB3a26080eBf6f2F7849b417FdD792CA,18 -456,eRSDL-D3A6,eRSDL,eRSDL,0x5218E472cFCFE0b64A064F055B43b4cdC9EfD3A6,18 -457,DIP-cD83,DIP,DIP,0xc719d010B63E5bbF2C0551872CD5316ED26AcD83,18 -458,DRC-e606,DRC,DRC,0xa150Db9b1Fa65b44799d4dD949D922c0a33Ee606,0 -459,DXD-5521,DXD,DXD,0xa1d65E8fB6e87b60FECCBc582F7f97804B725521,18 -460,EDEN-1559,EDEN,EDEN,0x1559FA1b8F28238FD5D76D9f434ad86FD20D1559,18 -461,ENJ-3B9c,ENJ,ENJ,0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c,18 -462,BBS-B430,BBS,BBS,0xFe459828c90c0BA4bC8b42F5C5D44F316700B430,18 -463,BMI-E688,BMI,BMI,0x725C263e32c72dDC3A19bEa12C5a0479a81eE688,18 -464,ANKR-EDD4,ANKR,ANKR,0x8290333ceF9e6D528dD5618Fb97a76f268f3EDD4,18 -465,bBADGER-fC28,bBADGER,bBADGER,0x19D97D8fA813EE2f51aD4B4e04EA08bAf4DFfC28,18 -466,FRM-A68C,FRM,FRM,0xE5CAeF4Af8780E59Df925470b050Fb23C43CA68C,6 -467,ETH-EEeE,ETH,ETH,0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE,18 -468,1INCH-C302,1INCH,1INCH,0x111111111117dC0aa78b770fA6A738034120C302,18 -469,ALPHA-0975,ALPHA,ALPHA,0xa1faa113cbE53436Df28FF0aEe54275c13B40975,18 -470,AMP-95C2,AMP,AMP,0xfF20817765cB7f73d4bde2e66e067E58D11095C2,18 -471,ANT-88C0,ANT,ANT,0x960b236A07cf122663c4303350609A66A7B288C0,18 -472,APW-60c8,APW,APW,0x4104b135DBC9609Fc1A9490E61369036497660c8,18 -473,ARCONA-52B3,ARCONA,ARCONA,0x0f71B8De197A1C84d31de0F1fA7926c365F052B3,18 -474,AUC-5663,AUC,AUC,0xc12d099be31567add4e4e4d0D45691C3F58f5663,18 -475,FODL-b9C3,FODL,FODL,0x4C2e59D098DF7b6cBaE0848d66DE2f8A4889b9C3,18 -476,PHTR-22dA,PHTR,PHTR,0xE1Fc4455f62a6E89476f1072530C20CF1A0622dA,18 -477,RLC-7375,RLC,RLC,0x607F4C5BB672230e8672085532f7e901544a7375,9 -478,ROOK-3d4a,ROOK,ROOK,0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a,18 -479,RPL-A51f,RPL,RPL,0xD33526068D116cE69F19A9ee46F0bd304F21A51f,18 -480,RUNE-49cb,RUNE,RUNE,0x3155BA85D5F96b2d030a4966AF206230e46849cb,18 -481,SFI-902c,SFI,SFI,0xb753428af26E81097e7fD17f40c88aaA3E04902c,18 -482,SHEESHA-E768,SHEESHA,SHEESHA,0x232FB065D9d24c34708eeDbF03724f2e95ABE768,18 -483,TEMP-1aB9,TEMP,TEMP,0xA36FDBBAE3c9d55a1d67EE5821d53B50B63A1aB9,18 -484,TRAC-0A6F,TRAC,TRAC,0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F,18 -485,UOS-5C8c,UOS,UOS,0xD13c7342e1ef687C5ad21b27c2b65D772cAb5C8c,4 -486,vBNT-7f94,vBNT,vBNT,0x48Fb253446873234F2fEBbF9BdeAA72d9d387f94,18 -487,VITA-A321,VITA,VITA,0x81f8f0bb1cB2A06649E51913A151F0E7Ef6FA321,18 -488,VLX-Edb9,VLX,VLX,0x8C543AED163909142695f2d2aCd0D55791a9Edb9,18 -489,wNXM-2bDE,wNXM,wNXM,0x0d438F3b5175Bebc262bF23753C1E53d03432bDE,18 -490,WXT-E915,WXT,WXT,0xa02120696c7B8fE16C09C749E4598819b2B0E915,18 -491,YFI-d93e,YFI,YFI,0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e,18 -492,ZCN-3B78,ZCN,ZCN,0xb9EF770B6A5e12E45983C5D80545258aA38F3B78,10 -493,LYRA-05Bf,LYRA,LYRA,0x01BA67AAC7f75f647D94220Cc98FB30FCc5105Bf,18 -494,OCEAN-9F48,OCEAN,OCEAN,0x967da4048cD07aB37855c090aAF366e4ce1b9F48,18 -495,renBTC-B27D,renBTC,renBTC,0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D,8 -496,HEGIC-8430,HEGIC,HEGIC,0x584bC13c7D411c00c01A62e8019472dE68768430,18 -497,INDEX-4cab,INDEX,INDEX,0x0954906da0Bf32d5479e25f46056d22f08464cab,18 -498,KNC-D200,KNC,KNC,0xdd974D5C2e2928deA5F71b9825b8b646686BD200,18 -499,KTN-FC1C,KTN,KTN,0x491E136FF7FF03E6aB097E54734697Bb5802FC1C,18 -500,LPL-75B8,LPL,LPL,0x99295f1141d58A99e939F7bE6BBe734916a875B8,18 -501,LRC-EafD,LRC,LRC,0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD,18 -502,RARI-41CF,RARI,RARI,0xFca59Cd816aB1eaD66534D82bc21E7515cE441CF,18 -503,MLN-1892,MLN,MLN,0xec67005c4E498Ec7f55E092bd1d35cbC47C91892,18 -504,MONA-412A,MONA,MONA,0x275f5Ad03be0Fa221B4C6649B8AeE09a42D9412A,18 -505,MPH-35C5,MPH,MPH,0x8888801aF4d980682e47f1A9036e589479e835C5,18 -506,NDX-5F83,NDX,NDX,0x86772b1409b61c639EaAc9Ba0AcfBb6E238e5F83,18 -507,NEXO-5206,NEXO,NEXO,0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206,18 -508,NMR-6671,NMR,NMR,0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671,18 -509,NOIA-b6ca,NOIA,NOIA,0xa8c8CfB141A3bB59FEA1E2ea6B79b5ECBCD7b6ca,18 -510,OPIUM-eC11,OPIUM,OPIUM,0x888888888889C00c67689029D7856AAC1065eC11,18 -511,POWR-1269,POWR,POWR,0x595832F8FC6BF59c85C527fEC3740A1b7a361269,6 -512,PSP-3dE5,PSP,PSP,0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5,18 -513,DATA-8b76,DATA,DATA,0x8f693ca8D21b157107184d29D398A8D082b38b76,18 -514,xSUSHI-4272,xSUSHI,xSUSHI,0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272,18 -515,ENS-9D72,ENS,ENS,0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72,18 -516,UMA-F828,UMA,UMA,0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828,18 -517,RNB-e743,RNB,RNB,0x2A039B1D9bBDccBb91be28691b730ca893e5e743,18 -518,SATA-bEe1,SATA,SATA,0x3ebb4A4e91Ad83BE51F8d596533818b246F4bEe1,18 -519,ACRE-FC21,ACRE,ACRE,0xb2cABf797bc907B049e4cCB5b84d13be3a8CFC21,18 -520,CROWN-E0fa,CROWN,CROWN,0x444d6088B0F625f8C20192623B3C43001135E0fa,18 -521,SHIBGF-65d6,SHIBGF,SHIBGF,0x505a84a03e382331A1Be487b632Cf357748b65d6,18 -522,MFG-0312,MFG,MFG,0x6710c63432A2De02954fc0f851db07146a6c0312,18 -523,EWTB-6054,EWTB,EWTB,0x178c820f862B14f316509ec36b13123DA19A6054,18 -524,FTX Token-a4c9,FTX Token,FTX Token,0x50D1c9771902476076eCFc8B2A83Ad6b9355a4c9,18 -525,1ONE-f9D3,1ONE,1ONE,0xD5cd84D6f044AbE314Ee7E414d37cae8773ef9D3,18 -526,BZRX-f4b3,BZRX,BZRX,0x56d811088235F11C8920698a204A5010a788f4b3,18 -527,bDIGG-8e1a,bDIGG,bDIGG,0x7e7E112A68d8D2E221E11047a72fFC1065c38e1a,18 -528,SUSHI-0fE2,SUSHI,SUSHI,0x6B3595068778DD592e39A122f4f5a5cF09C90fE2,18 -529,PEPE-1933,PEPE,PEPE,0x6982508145454Ce325dDbE47a25d4ec3d2311933,18 -530,XCHF-fc08,XCHF,XCHF,0xB4272071eCAdd69d933AdcD19cA99fe80664fc08,18 -531,ARB-4ad1,ARB,ARB,0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1,18 -532,LBR-aCcA,LBR,LBR,0xC98835e792553e505AE46e73a6fD27a23985aCcA,18 -533,HRP-12Bf,HRP,HRP,0xbd15Ad921e1B480209AF549874a2fCb80DC312Bf,18 -534,Silo-B1f8,Silo,Silo,0x6f80310CA7F2C654691D1383149Fa1A57d8AB1f8,18 -535,0x0-1AD5,0x0,0x0,0x5a3e6A77ba2f983eC0d371ea3B475F8Bc0811AD5,9 -536,SMT-7173,SMT,SMT,0xB17548c7B510427baAc4e267BEa62e800b247173,18 -537,pepecoin-489A,pepecoin,pepecoin,0xA9E8aCf069C58aEc8825542845Fd754e41a9489A,18 -538,JAY-CA6E,JAY,JAY,0xDA7C0810cE6F8329786160bb3d1734cf6661CA6E,18 -539,WYD-8991,WYD,WutYuDoin?,0xbae9992488AE7f7c1EDB34Ed74c213B28d928991,18 -540,WSB-0c49,WSB,WSB Coin,0x0414D8C87b271266a5864329fb4932bBE19c0c49,18 -541,TRU-3784,TRU,TrueFi,0x4C19596f5aAfF459fA38B0f7eD92F11AE6543784,8 -542,BAL-4e3D,BAL,Balancer,0xba100000625a3754423978a60c9317c58a424e3D,18 -543,MTA-AcD2,MTA,Meta,0xa3BeD4E1c75D00fa6f4E5E6922DB7261B5E9AcD2,18 -544,QUICK-6F2f,QUICK,Quickswap,0x6c28AeF8977c9B773996d0e8376d2EE379446F2f,18 -545,BOR-c1A9,BOR,BoringDAO,0x3c9d6c1C73b31c837832c72E04D3152f051fc1A9,18 -546,STAKE-95e6,STAKE,STAKE,0x0Ae055097C6d159879521C384F1D2123D1f195e6,18 -547,CRO-450b,CRO,CRO,0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b,8 -548,BNB-DD52,BNB,BNB,0xB8c77482e45F1F44dE1745F52C74426C631bDD52,18 -549,PATH-7588,PATH,PathDao,0x2a2550e0A75aCec6D811AE3930732F7f3ad67588,18 -550,PERP-3447,PERP,Perpetual,0xbC396689893D065F41bc2C6EcbeE5e0085233447,18 -551,POOL-844e,POOL,PoolTogether,0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e,18 -552,SMARTCREDIT-DA13,SMARTCREDIT,SMARTCREDIT Token,0x72e9D9038cE484EE986FEa183f8d8Df93f9aDA13,18 -553,CEL-D42d,CEL,Celsius,0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d,4 -554,renZEC-37C2,renZEC,renZEC,0x1C5db575E2Ff833E46a2E9864C22F4B22E0B37C2,8 -555,OMG-0C07,OMG,OMGToken,0xd26114cd6EE289AccF82350c8d8487fedB8A0C07,18 -556,INSAI-4674,INSAI,Insight,0xceec4aE5CF5300aC9A49a816961Af9393b214674,6 -557,$DGTV-966D,$DGTV,Doge-TV,0xFEb6d5238Ed8F1d59DCaB2db381AA948e625966D,18 -558,MATRIX-1C36,MATRIX,MatrixSwapToken,0xc8D3DCb63C38607Cb0c9d3F55E8eccE628A01C36,18 -559,CREAM-B200,CREAM,Cream,0x2ba592F78dB6436527729929AAf6c908497cB200,18 -560,INU-Bda5,INU,Inu.,0x050D94685c6B0477E1Fc555888AF6e2bB8dFBda5,18 -561,CHEW-7Cb3,CHEW,CHEW,0xf5d126077096e5b01BC30FFa5d9324D7202d7Cb3,18 -562,N1-C16D,N1,NFTify,0xaCbd826394189Cf2623C6DF98a18b41fC8fFC16D,18 -563,FLX-91F4,FLX,Flex Ungovernance Token,0x6243d8CEA23066d098a15582d81a598b4e8391F4,18 -564,MUSE-fc81,MUSE,Muse,0xB6Ca7399B4F9CA56FC27cBfF44F4d2e4Eef1fc81,18 -565,BST-7F4a,BST,BlocksquareToken,0x509A38b7a1cC0dcd83Aa9d06214663D9eC7c7F4a,18 -566,SAND-a5d0,SAND,SAND,0x3845badAde8e6dFF049820680d1F14bD3903a5d0,18 -567,PLAY-45bC,PLAY,InfinityGaming,0x95b4e47025372Ded4B73F9b5F0671B94a81445bC,9 -568,WG0-C057,WG0,Wrapped Gen 0,0xa10740ff9FF6852eac84cdcfF9184e1D6d27C057,18 -569,HEAL-541a,HEAL,Heal The World,0x383B0b2ce2e1757b5e1D087D8f36013eA595541a,9 -570,CNTR-064B,CNTR,Centaur Token,0x03042482d64577A7bdb282260e2eA4c8a89C064B,18 -571,AMAS-4f52,AMAS,Amasa Token,0x65a8fbA02F641a13Bb7B01d5E1129b0521004f52,18 -572,ASIA-6011,ASIA,ASIA COIN,0xF519381791C03DD7666C142D4E49Fd94d3536011,18 -573,KoaCombat-544C,KoaCombat,KoaCombat,0x6769D86f9C430f5AC6d9c861a0173613F1C5544C,9 -574,DUCKER-01A7,DUCKER,Duckereum,0xa52bfFAD02B1FE3f86A543a4e81962d3B3bB01A7,18 -575,HKBY-d7D4,HKBY,Huckleberry Inu,0x645C52CF6c5C58AA4064494f5b5FFE9C7EC0d7D4,18 -576,LSD-d9fd,LSD,Liquid Staking Derivatives,0x97D4F49eEb0E2c96d5EbAA71AB8418e563ecd9fd,9 -577,SHIB0.5-dE1b,SHIB0.5,Half Shiba Inu,0x8Eb94A06b4716093DBfE335cbdb098DEb2dcdE1b,18 -578,XDB-9d27,XDB,digitalbits,0xB9EefC4b0d472A44be93970254Df4f4016569d27,7 -579,DC-9180,DC,Dogechain Token,0x7B4328c127B85369D9f82ca0503B000D09CF9180,18 -580,Shibmerican-5609,Shibmerican,Shibmerican | t.me/Shibmerican,0x440238CC07186aDEA6653a2E8cb9a24737615609,9 -581,HONR-79B8,HONR,DeltaFlare,0x39Ea10E507720783C27eDd5F96Bf2D6e199579B8,18 -582,NIIFI-BCb8,NIIFI,NiiFiToken,0x852e5427c86A3b46DD25e5FE027bb15f53c4BCb8,15 -583,LETSGO-BB95,LETSGO,Lets Go Brandon,0xA6586E19EF681b1AC0ED3D46413D199a555dBB95,18 -584,FEG-C945,FEG,FEGtoken,0x389999216860AB8E0175387A0c90E5c52522C945,9 -585,FEG-2A11,FEG,FEG Token,0xbededDf2eF49E87037c4fb2cA34d1FF3D3992A11,18 -586,DDOS-02C3,DDOS,Disbalancer,0x7FBEC0bb6A7152e77C30D005B5D49cbC08A602C3,18 -587,OVR-3697,OVR,OVR,0x21BfBDa47A0B4B5b1248c767Ee49F7caA9B23697,18 -588,DOGPAD-9C1c,DOGPAD,DogPad,0x6f3277ad0782a7DA3eb676b85a8346A100BF9C1c,18 -589,LTO-294D,LTO,LTO Network Token,0x3DB6Ba6ab6F95efed1a6E794caD492fAAabF294D,8 -590,IONX-4217,IONX,Charged Particles - IONX,0x02D3A27Ac3f55d5D91Fb0f52759842696a864217,18 -591,FOTO-C49F,FOTO,FOTO,0xF6eA0E60cee427B90aA36f327eE61d1d4CABC49F,18 -592,QMALL-2198,QMALL,Qmall Token,0x2217e5921B7edfB4BB193a6228459974010D2198,18 -593,WAGMIGAMES-00F0,WAGMIGAMES,WAGMI GAMES,0x3B604747ad1720C01ded0455728b62c0d2F100F0,18 -594,KINE-F05D,KINE,Kine Governance Token,0xCbfef8fdd706cde6F208460f2Bf39Aa9c785F05D,18 -595,FXF-0f12,FXF,Finxflo,0x8a40c222996f9F3431f63Bf80244C36822060f12,18 -596,SAN-f098,SAN,SANtiment network token,0x7C5A0CE9267ED19B22F8cae653F198e3E8daf098,18 -597,⚗️-b7aB,⚗️,Alchemist,0x88ACDd2a6425c3FaAE4Bc9650Fd7E27e0Bebb7aB,18 -598,SHIBDAO-b9A8,SHIBDAO,Shibarium DAO,0xB197a6Fdd8AB825332eDEbA1AB5C4D1Bf97fb9A8,18 -599,XP-b2Ac,XP,PolkaFantasy,0x948c70Dc6169Bfb10028FdBE96cbC72E9562b2Ac,18 -600,$WEAPON-762d,$WEAPON,Megaweapon,0x0b8057C3Cc676C329c25C1d0Cd27776efA73762d,9 -601,LAIKA-EC0b,LAIKA,LAIKA,0x77f9CF0bd8C500CfFdF420e72343893aeCC2EC0b,18 -602,IMX-4a00,IMX,Impermax,0x7b35Ce522CB72e4077BaeB96Cb923A5529764a00,18 -603,STREAMERINU-259a,STREAMERINU,Streamer Inu,0x0e8D2EB7D6bDF28393c25a1966385Ad32Ff0259a,18 -604,BFLY-c063,BFLY,Butterfly Protocol Governance Token,0xf680429328caaaCabee69b7A9FdB21a71419c063,18 -605,SUKU-E4d7,SUKU,SUKU,0x0763fdCCF1aE541A5961815C0872A8c5Bc6DE4d7,18 -606,CUDOS-dB35,CUDOS,CudosToken,0x817bbDbC3e8A1204f3691d14bB44992841e3dB35,18 -607,SASHIMI-64c2,SASHIMI,SashimiToken,0xC28E27870558cF22ADD83540d2126da2e4b464c2,18 -608,AAG-8F97,AAG,AAG,0x5ba19d656B65f1684cFea4Af428C23B9f3628F97,18 -609,dogep-80b9,dogep,Doge Protocol,0xE7eaec9Bca79d537539C00C58Ae93117fB7280b9,18 -610,STRP-ADc9,STRP,Strips Token,0x97872EAfd79940C7b24f7BCc1EADb1457347ADc9,18 -611,STA-eED1,STA,Statera,0xa7DE087329BFcda5639247F96140f9DAbe3DeED1,18 -612,KIBSHI-2361,KIBSHI,KiboShib,0x02e7F808990638E9e67E1f00313037EDe2362361,18 -613,Ichigo-78B5,Ichigo,Ichigo Inu,0x8254C1C134436F74047F79eaAeA97E3324eF78B5,9 -614,PACK-1Ab2,PACK,Pack,0xb186035490C8602EaD853EC98bE05E3461521Ab2,18 -615,SWFTC-fC1e,SWFTC,SwftCoin,0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e,8 -616,BZN-35d4,BZN,Benzene,0x6524B87960c2d573AE514fd4181777E7842435d4,18 -617,LOOT-8335,LOOT,LOOT Token,0x721A1B990699eE9D90b6327FaaD0A3E840aE8335,18 -618,kitty-52a2,kitty,Kitty Inu,0x044727e50ff30DB57fad06Ff4F5846eAb5eA52a2,9 -619,CVC-4E45,CVC,Civic,0x41e5560054824eA6B0732E656E3Ad64E20e94E45,8 -620,TOON-EF02,TOON,PontoonToken,0xaeE433ADeBe0FBB88dAa47eF0C1A513CaA52EF02,18 -621,FLONA-524A,FLONA,FLONA,0xEf27252B567F6B3fe35b34A85bE322917abE524A,18 -622,BOTZ-2F80,BOTZ,Beep,0x3475fC1D0d2e03761C19D5C7601fe476f0E02F80,18 -623,TRXC-7d8e,TRXC,TRONCLASSIC,0xaD5Fe5B0B8eC8fF4565204990E4405B2Da117d8e,0 -624,PPDEX-0cf7,PPDEX,Pepedex,0xf1F508c7C9f0d1b15a76fbA564eEf2d956220cf7,18 -625,DEPAY-55eb,DEPAY,DePay,0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb,18 -626,FABRIC-e523,FABRIC,MetaFabric,0x8c6Fa66c21aE3fC435790E451946a9Ea82E6e523,18 -627,LUNA-1ea9,LUNA,Wrapped LUNA Token,0xd2877702675e6cEb975b4A1dFf9fb7BAF4C91ea9,18 -628,GHST-1550,GHST,Aavegotchi GHST Token,0x3F382DbD960E3a9bbCeaE22651E88158d2791550,18 -629,CAPS-15e2,CAPS,Capsule Coin,0x03Be5C903c727Ee2C8C4e9bc0AcC860Cca4715e2,18 -630,MCONTENT-b3F4,MCONTENT,MContent,0xD3c51de3E6DD9b53D7f37699AFB3EE3Bf9B9b3F4,6 -631,QUID-B6D4,QUID,Quid Ika,0x9d38F670D15C14716BE1F109a4F453E966A2B6D4,9 -632,SPELLFIRE-7C91,SPELLFIRE,SPELLFIRE Token,0x3A0b022f32b3191D44E5847da12dc0B63fb07C91,18 -633,GEO-6750,GEO,GeoDB Coin,0x147faF8De9d8D8DAAE129B187F0D02D819126750,18 -634,BPRO-5f61,BPRO,B.Protocol,0xbbBBBBB5AA847A2003fbC6b5C16DF0Bd1E725f61,18 -635,RBIF-5ceB,RBIF,ROBO INU,0x7B32e70e8D73ac87c1B342e063528B2930b15ceB,9 -636,BITE-43BA,BITE,Bite,0x34103e1190b824a44C6a638438d425cbA21143BA,18 -637,QOM-4974,QOM,Shiba Predator,0xa71d0588EAf47f12B13cF8eC750430d21DF04974,18 -638,SMTY-3283,SMTY,SMTYToken,0xbF776e4FCa664D791C4Ee3A71e2722990E003283,18 -639,PIKA-3578,PIKA,PIKA,0x60F5672A271C7E39E787427A18353ba59A4A3578,18 -640,PUSH-EEEE,PUSH,Ethereum Push Notification Service,0xf418588522d5dd018b425E472991E52EBBeEEEEE,18 -641,$FLUFFY-4c31,$FLUFFY,FLUFFY TOKEN,0xc2a2E9B87b37938D934Fd51CfEC0C5Fd5cB14c31,18 -642,ibETH-9c7A,ibETH,Interest Bearing ETH,0x67B66C99D3Eb37Fa76Aa3Ed1ff33E8e39F0b9c7A,18 -643,GEN-Addf,GEN,DAOstack,0x543Ff227F64Aa17eA132Bf9886cAb5DB55DCAddf,18 -644,$VXON-67b3,$VXON,VoxNET,0x048Aa6E69D5117BD665aF4128383a6982B8367b3,4 -645,ETHM-3794,ETHM,Ethereum Meta,0xFD957F21bd95E723645C07C48a2d8ACB8Ffb3794,18 -646,ITGR-Bc98,ITGR,Integral,0xD502F487e1841Fdc805130e13eae80c61186Bc98,18 -647,MUNCH-a301,MUNCH,MUNCH Token,0x944eeE930933BE5E23b690c8589021Ec8619a301,9 -648,BabyFloki-f956,BabyFloki,BabyFloki,0xdF35988d795d90711e785B488Bb2127692e6f956,9 -649,RBX-3299,RBX,RBX,0x8254e26e453EB5aBd29B3c37AC9E8Da32E5d3299,18 -650,ZEON-0532,ZEON,ZEON,0xE5B826Ca2Ca02F09c1725e9bd98d9a8874C30532,18 -651,ALPHA-940B,ALPHA,Alpha,0x138C2F1123cF3f82E4596d097c118eAc6684940B,18 -652,RAC-a3e9,RAC,RAC,0xc22B30E4cce6b78aaaADae91E44E73593929a3e9,18 -653,SPROUT-219E,SPROUT,SPROUT,0x9b8e9d523D1D6bC8EB209301c82C7D64D10b219E,18 -654,PNT-AAeD,PNT,pNetwork Token,0x89Ab32156e46F46D02ade3FEcbe5Fc4243B9AAeD,18 -655,DGMV-960c,DGMV,DigiMetaverse,0x8EEdEFe828A0f16C8fc80e46a87Bc0f1De2d960c,18 -656,OXT-3Deb,OXT,Orchid,0x4575f41308EC1483f3d399aa9a2826d74Da13Deb,18 -657,WISE-5bd6,WISE,Wise Token,0x66a0f676479Cee1d7373f3DC2e2952778BfF5bd6,18 -658,KFT-b207,KFT,Knit Finance,0xEF53462838000184F35f7D991452e5f25110b207,18 -659,2CRZ-F3fA,2CRZ,2CrazyToken,0x2C9C19cE3b15ae77C6d80aEc3C1194Cfd6F7F3fA,18 -660,METADOGE-62eD,METADOGE,Meta Doge,0x8530b66ca3DDf50E0447eae8aD7eA7d5e62762eD,18 -661,YIELD-db9B,YIELD,Yield Protocol,0xa8B61CfF52564758A204F841E636265bEBC8db9B,18 -662,٨-91e6,٨,Dentacoin,0x08d32b0da63e2C3bcF8019c9c5d849d7a9d791e6,0 -663,UMX-bC15,UMX,https://unimex.network/,0x10Be9a8dAe441d276a5027936c3aADEd2d82bC15,18 -664,PINU-9670,PINU,Piccolo Inu,0x3a1311B8C404629E38f61D566cefEFed083B9670,9 -665,FYT-8ca7,FYT,Flora Yield Token,0x77F2BE773CA0887ba2b3Ef8344C8CF13C98d8ca7,18 -666,AWC-13f4,AWC,Atomic Wallet Token,0xaD22f63404f7305e4713CcBd4F296f34770513f4,8 -667,K9-C3Fc,K9,K9,0x2bD0FB740e403B505A3146F9aC02df883Fd5C3Fc,18 -668,SHIK-5572,SHIK,SHIKOKU INU,0x24dA31e7BB182cb2cABfEF1d88db19C2AE1f5572,18 -669,TX-5Fdf,TX,Tradix,0x8954D907520532c1f0d89d42569232Fd0f995Fdf,8 -670,DNT-04ea,DNT,district0x Network Token,0x0AbdAce70D3790235af448C88547603b945604ea,18 -671,ELONONE-0aa2,ELONONE,ASTROELON,0x97b65710D03E12775189F0D113202cc1443b0aa2,9 -672,DNS-d73D,DNS,Dot Names,0x6C5Aa4244113E77414386630B7F963dbE1B4d73D,18 -673,ZOGI-2A0C,ZOGI,Zogi,0x7e80e4d7d5725499791CF8b17A4586F1f0672A0C,18 -674,ePING-8E47,ePING,ePING,0xC7B89491Bb148551547837ea6ccB4Bb5144d8E47,9 -675,PERI-8492,PERI,Peri Finance Token,0x5d30aD9C6374Bf925D0A75454fa327AACf778492,18 -676,EJS-79C2,EJS,Enjinstarter,0x96610186F3ab8d73EBEe1CF950C750f3B1Fb79C2,18 -677,KOYO-c9d4,KOYO,Yofune Nushi,0x9dAeF41E08Bc88183572b03796C96a7ace1Ec9d4,18 -678,REP-E862,REP,Reputation,0x1985365e9f78359a9B6AD760e32412f4a445E862,18 -679,F9-CC1F,F9,Falcon 9,0x38A94e92A19E970c144DEd0B2DD47278CA11CC1F,9 -680,CHR-bAA2,CHR,Chroma,0x8A2279d4A90B6fe1C4B30fa660cC9f926797bAA2,6 -681,YLD-6F48,YLD,Yield,0xF94b5C5651c888d928439aB6514B93944eEE6F48,18 -682,ANGEL-d5A1,ANGEL,Angel,0x6C7B97c7e09E790D161769a52F155125FAc6d5A1,18 -683,CPTINU-6971,CPTINU,Captain Inu,0x7Cca2e1c9B0519f52029467914A15E782BF66971,18 -684,PSWAP-21BB,PSWAP,Polkaswap,0x519C1001D550C0a1DaE7d1fC220f7d14c2A521BB,18 -685,BOXA-0110,BOXA,BOXA,0x7662c015D845EF487fDe32cb884653bE9c9E0110,9 -686,MINER-f016,MINER,Meta Miner,0x2B645A57e82123796c3EA7d78DE27c3e3ff7f016,18 -687,Rhllor-7238,Rhllor,Token of Fire,0x90E2Fa98DfC518317600Dd3DC571DE8D071a7238,9 -688,FVT-5e32,FVT,Finance.Vote Token,0x45080a6531d671DDFf20DB42f93792a489685e32,18 -689,DRC-5Ef8,DRC,Dracula Token,0xb78B3320493a4EFaa1028130C5Ba26f0B6085Ef8,18 -690,BTSG-54A9,BTSG,BitSong,0x05079687D35b93538cbd59fe5596380cae9054A9,18 -691,ZOOT-926c,ZOOT,Zoo Token,0x1341A2257fa7b770420Ef70616f888056f90926c,9 -692,CORX-CF97,CORX,CorionX utility token,0x26a604DFFE3ddaB3BEE816097F81d3C4a2A4CF97,8 -693,CRE-478e,CRE,CarryToken,0x115eC79F1de567eC68B7AE7eDA501b406626478e,18 -694,VLT-4d11,VLT,Bankroll Vault,0x6b785a0322126826d8226d77e173d75DAfb84d11,18 -695,STND-999d,STND,Standard,0x9040e237C3bF18347bb00957Dc22167D0f2b999d,18 -696,FLOKI-6a2E,FLOKI,FLOKI,0xcf0C122c6b73ff809C693DB761e7BaeBe62b6a2E,9 -697,UBX-09f3,UBX,UBX,0xF5B5eFc906513b4344EbAbCF47A04901f99F09f3,0 -698,LIT-46B2,LIT,LITION,0x763Fa6806e1acf68130D2D0f0df754C93cC546B2,18 -699,DODI-7665,DODI,DoubleDice Token,0x4E08F03079c5CD3083eA331Ec61bCC87538B7665,18 -700,CWS-33e0,CWS,Crowns,0xaC0104Cca91D167873B8601d2e71EB3D4D8c33e0,18 -701,XTK-AdEB,XTK,xToken,0x7F3EDcdD180Dbe4819Bd98FeE8929b5cEdB3AdEB,18 -702,NOONE-f0cf,NOONE,No one,0x296233E84c1D7bfF11121BF6D60f0FFA39C3f0cf,9 -703,PROXY-fF29,PROXY,PROXY,0x82089a9c7c4a07352F7433fBce1D4Ee9a722fF29,9 -704,ORD-E4Ec,ORD,ordinex,0xBe00734799A67a62Af2819825580318aC1B1E4Ec,18 -705,ARES-d523,ARES,Ares Protocol,0x358AA737e033F34df7c54306960a38d09AaBd523,18 -706,MNY-586f,MNY,MoonieNFT Token,0xA6F7645ed967FAF708A614a2fcA8D4790138586f,18 -707,UPP-f652,UPP,SENTINEL PROTOCOL,0xC86D054809623432210c107af2e3F619DcFbf652,18 -708,VIDYA-2C30,VIDYA,Vidya,0x3D3D35bb9bEC23b06Ca00fe472b50E7A4c692C30,18 -709,DXY-E9dB,DXY,DXY.FINANCE,0x39Fa206c1648944f92E8F7B626e1CBdf78d7E9dB,18 -710,:ZKT:-3966,:ZKT:,ZkTsunami,0x76fcA1adb104770B38581B64d55e67fA5A0f3966,9 -711,MONGOOSE-f156,MONGOOSE,Mongoose,0xa1817B6d8D890F3943b61648992730373B71f156,9 -712,PAN-7c44,PAN,Panvala pan,0xD56daC73A4d6766464b38ec6D91eB45Ce7457c44,18 -713,MCB-Ce42,MCB,MCDEX Token,0x4e352cF164E64ADCBad318C3a1e222E9EBa4Ce42,18 -714,AGFI-451f,AGFI,Aggregated Finance,0x4D0F56d728c5232ab07fAA0BdcbA23670A35451f,9 -715,DOKE-A128,DOKE,Doke Inu,0x517ABf1fCDBD76BC75B532683ada9113E313A128,9 -716,COC-3caf,COC,CocktailBar,0x22B6C31c2bEB8f2d0d5373146Eed41Ab9eDe3caf,8 -717,RESTAURANTS-D491,RESTAURANTS,Devour Token,0xDffC63f92c939deB112D88735ade3B4D21B6D491,18 -718,cUSDC-7563,cUSDC,Compound USD Coin,0x39AA39c021dfbaE8faC545936693aC917d5E7563,8 -719,FAI-87F5,FAI,Fairum Community,0xCda2f16C6Aa895D533506B426AFF827b709c87F5,18 -720,Skey-D442,Skey,SmartKey,0x06A01a4d579479Dd5D884EBf61A31727A3d8D442,8 -721,UTK-F99c,UTK,Utrust Token,0xdc9Ac3C20D1ed0B540dF9b1feDC10039Df13F99c,18 -722,GN-d044,GN,GN,0xc5019E129b75D380d3d837B8e609dEc6c8f5d044,9 -723,TUSD-b376,TUSD,TrueUSD,0x0000000000085d4780B73119b644AE5ecd22b376,18 -724,SVX-a13C,SVX,Savix,0xc434b27736A6882D33094d34792999702860a13C,9 -725,DRCT-07Ca,DRCT,Direct,0x9d561d63375672ABd02119b9Bc4FB90EB9E307Ca,18 -726,$Dwagon-294a,$Dwagon,Dwagon,0xdf1A2f85F3af80E85d14DdAAB2933C8caA09294a,18 -727,CUMINU-7536,CUMINU,Cum Inu,0xd6327ce1fb9D6020E8C2c0E124A1eC23DCAb7536,18 -728,COLLAR-5486,COLLAR,Collar,0x1a16B2B93B37A7EF5cB0A4F978CeD45FE14a5486,18 -729,LMY-851f,LMY,Lunch Money,0x66fD97a78d8854fEc445cd1C80a07896B0b4851f,18 -730,EVOAI-c696,EVOAI,EvolveAI,0x6Fbc20483b53CEa47839Bb8e171Abd6D67C3c696,9 -731,SNS-19DB,SNS,Shibarium Name Service,0xEa4a2327E75252517535fd013b7C6706609819DB,18 -732,XRT-1cb7,XRT,Robonomics,0x7dE91B204C1C737bcEe6F000AAA6569Cf7061cb7,9 -733,SUPER-0A55,SUPER,SuperFarm,0xe53EC727dbDEB9E2d5456c3be40cFF031AB40A55,18 -734,MATH-DD30,MATH,MATH Token,0x08d967bb0134F2d07f7cfb6E246680c53927DD30,18 -735,METR-03f0,METR,Metria,0x405CE8B2eAeeA7D4Ba5Fc160848cB2A6569e03f0,18 -736,PARA-EF1E,PARA,ParaWerx,0xD16fd95D949F996e3808EeEa0e3881C59E76EF1E,18 -737,INUINU-eB5f,INUINU,Inu Inu,0xC6bDb96E29c38DC43f014Eed44dE4106A6A8eB5f,18 -738,JPYC-cD53,JPYC,JPY Coin,0x2370f9d504c7a6E775bf6E14B3F12846b594cD53,18 -739,GS-3112,GS,Gen Shards,0xe0B9a2C3E9f40CF74B2C7F591B2b0CCa055c3112,18 -740,OHMI-533C,OHMI,One Hundred Million Inu,0x4159862bcF6B4393A80550b1ed03DFfa6f90533C,18 -741,WHALE-38e0,WHALE,WHALE,0x9355372396e3F6daF13359B7b607a3374cc638e0,4 -742,INJ-ca30,INJ,Injective Token,0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30,18 -743,CyOp-2f31,CyOp,CyOp | Protocol,0xddaC9C604BA6Bc4ACEc0FBB485B83f390ECF2f31,9 -744,ABYSS-8DA6,ABYSS,ABYSS,0x0E8d6b471e332F140e7d9dbB99E5E3822F728DA6,18 -745,$SHIBP-9235,$SHIBP,Shibarium Pad,0xC90906d45046059221e908de5Cc8fcfaCA859235,18 -746,$EVCoin-6E11,$EVCoin,EverestCoin,0x06fCe0DAB5b26e503E1C4Db48aa165DcaAAa6E11,9 -747,mUSD-35a5,mUSD,mStable USD,0xe2f2a5C287993345a840Db3B0845fbC70f5935a5,18 -748,BCDT-62a5,BCDT,Blockchain Certified Data Token,0xAcfa209Fb73bF3Dd5bBfb1101B9Bc999C49062a5,18 -749,BTE-80Ef,BTE,Betero,0x73B708E84837FFCcDE2933e3A1531fe61D5e80Ef,18 -750,WLEO-3998,WLEO,Wrapped LEO,0x73A9fb46e228628f8f9BB9004eCa4f4F529D3998,3 -751,ARTX-7710,ARTX,ARTX Token,0x741b0428Efdf4372A8DF6FB54B018dB5e5aB7710,18 -752,WOOL-e525,WOOL,WOOL,0x8355DBE8B0e275ABAd27eB843F3eaF3FC855e525,18 -753,DWEB-285F,DWEB,DecentraWeb,0xE7f58A92476056627f9FdB92286778aBd83b285F,18 -754,APEFI-278D,APEFI,Ape Finance,0x4332f8A38f14BD3D8D1553aF27D7c7Ac6C27278D,18 -755,RADAR-DEa8,RADAR,Radar,0xf9FBE825BFB2bF3E387af0Dc18caC8d87F29DEa8,18 -756,AIDI-d1b8,AIDI,Aidi Inu,0xdA1E53E088023Fe4D1DC5a418581748f52CBd1b8,9 -757,FROGEX-Def1,FROGEX,FrogeX,0x5fA54fdDF1870C344DbFaBb37dFab8700Ec0Def1,9 -758,PXT-B262,PXT,Populous XBRL token,0xc14830E53aA344E8c14603A91229A0b925b0B262,8 -759,BLAST-2Eda,BLAST,SafeBLAST,0x614D7f40701132E25fe6fc17801Fbd34212d2Eda,9 -760,ZIG-4f01,ZIG,ZigCoin,0xb2617246d0c6c0087f18703d576831899ca94f01,18 -761,VEMP-6eEC,VEMP,vEmpire Gamer Token,0xcFEB09C3c5F0f78aD72166D55f9e6E9A60e96eEC,18 -762,MC-E5d6,MC,Merit Circle,0x949D48EcA67b17269629c7194F4b727d4Ef9E5d6,18 -763,DDDD-48E0,DDDD,"People's Punk",0x8cA9a0fbd8DB501F013F2e9e33a1B9dC129A48E0,18 -764,DG-588D,DG,Decentral Games,0x4b520c812E8430659FC9f12f6d0c39026C83588D,18 -765,CULT-5A13,CULT,Cult DAO,0xf0f9D895aCa5c8678f706FB8216fa22957685A13,18 -766,SEFI-B8Ac,SEFI,Secret Finance,0x773258b03c730F84aF10dFcB1BfAa7487558B8Ac,6 -767,BIGCAP-6181,BIGCAP,BIGCAP,0xE29F1241E6015A4949cb7E3f07234BA794006181,18 -768,RYOSHI-618e,RYOSHI,Ryoshis Vision,0x777E2ae845272a2F540ebf6a3D03734A5a8f618e,18 -769,POS32-2aB0,POS32,PoS-32,0x8eb5bD8c9Ab0F8ad28e94693F3c889F490bE2aB0,18 -770,JIZZ-a352,JIZZ,JizzRocket,0x8b937AF714aC7E2129bD33D93641F52b665Ca352,18 -771,USHIBA-7c9A,USHIBA,American Shiba,0xB893A8049f250b57eFA8C62D51527a22404D7c9A,9 -772,PRQ-d7D2,PRQ,Parsiq Token,0x362bc847A3a9637d3af6624EeC853618a43ed7D2,18 -773,NBNG-8ea2,NBNG,NOBUNAGA,0x9275e8386A5BDdA160c0e621e9A6067b8fd88ea2,18 -774,LST-4405,LST,Lendroid Support Token,0x4de2573e27E648607B50e1Cfff921A33E4A34405,18 -775,LDN-a158,LDN,Ludena Protocol,0xb29663Aa4E2e81e425294193616c1B102B70a158,18 -776,PIE-e842,PIE,DeFiPIE Token,0x607C794cDa77efB21F8848B7910ecf27451Ae842,18 -777,INUS-8c00,INUS,MultiPlanetary Inus,0x39207D2E2fEEF178FBdA8083914554C59D9f8c00,18 -778,HVN-2D9D,HVN,Hive Project Token,0xC0Eb85285d83217CD7c891702bcbC0FC401E2D9D,8 -779,QUAI-5c89,QUAI,QUAI,0x40821CD074dfeCb1524286923bC69315075b5c89,18 -780,HUSD-87e1,HUSD,HUSD,0xdF574c24545E5FfEcb9a659c229253D4111d87e1,8 -781,MEVFree-498a,MEVFree,MEVFree,0x1936C91190E901B7dD55229A574AE22B58Ff498a,18 -782,CORE-23D7,CORE,cVault.finance,0x62359Ed7505Efc61FF1D56fEF82158CcaffA23D7,18 -783,MOONS-6A56,MOONS,MoonTools.io,0x260e63d91fCCC499606BAe3FE945c4ed1CF56A56,18 -784,DOMI-f83F,DOMI,Domi,0x45C2F8c9B4c0bDC76200448cc26C48ab6ffef83F,18 -785,UNDEAD-7947,UNDEAD,Undead Blocks,0x310C8F00b9dE3c31Ab95ea68feb6C877538f7947,18 -786,KIRO-b137,KIRO,Kirobo,0xB1191F691A355b43542Bea9B8847bc73e7Abb137,18 -787,KISHIMOTO-1dB5,KISHIMOTO,Kishimoto,0xAE36155a55F04a696b8362777620027882B31dB5,9 -788,GEEQ-1b78,GEEQ,Geeq,0x6B9f031D718dDed0d681c20cB754F97b3BB81b78,18 -789,DEV-5b26,DEV,Dev,0x5cAf454Ba92e6F2c929DF14667Ee360eD9fD5b26,18 -790,BASAN-b2bF,BASAN,BASAN,0x970cf867Ca0530a989f222bE01FdD67C1ab5b2bF,18 -791,BREED-702e,BREED,BreederDAO,0x94E9EB8b5Ab9fd6B9ea3169D55FFAde62a01702e,18 -792,MATTER-FEBe,MATTER,Antimatter.Finance Governance Token,0x9B99CcA871Be05119B2012fd4474731dd653FEBe,18 -793,M87-B462,M87,MESSIER,0x8AF5FedC0f263841C18F31D9DbCC97A47e1aB462,18 -794,MOETA-a55B,MOETA,Moeta,0x238A1FcC2F65ed50c1e1797cF5857CBA3E82a55B,9 -795,PRT-2892,PRT,Portion Token,0x6D0F5149c502faf215C89ab306ec3E50b15e2892,18 -796,UMAD-326f,UMAD,UMAD,0x31c2415c946928e9FD1Af83cdFA38d3eDBD4326f,8 -797,UNCX-B1D0,UNCX,UniCrypt,0xaDB2437e6F65682B85F814fBc12FeC0508A7B1D0,18 -798,CATE-136c,CATE,Cash Tech,0xa42F266684ac2aD6ecb00df95b1c76EFbb6f136c,18 -799,B20-EfD8,B20,B.20,0xc4De189Abf94c57f396bD4c52ab13b954FebEfD8,18 -800,OGN-Ae26,OGN,OriginToken,0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26,18 -801,BCMC-93F9,BCMC,Blockchain Monster Coin,0x2BA8349123de45E931a8C8264c332E6e9CF593F9,18 -802,LCS-dBA8,LCS,LocalCoinSwap Cryptoshare,0xAA19961b6B858D9F18a115f25aa1D98ABc1fdBA8,18 -803,TERRAFORM-f1E4,TERRAFORM,Terraform DAO,0x9C5673002d854de18e9F6Feb7f9825F88c5bf1E4,18 -804,Ly-99F2,Ly,Lilly Finance,0x8686525d6627A25C68De82c228448f43c97999F2,9 -805,UST-1acD,UST,Wrapped UST Token,0xa47c8bf37f92aBed4A126BDA807A7b7498661acD,18 -806,LIEN-557E,LIEN,lien,0xaB37e1358b639Fd877f015027Bb62d3ddAa7557E,8 -807,SHKOOBY-11fb,SHKOOBY,SHKOOBY INU,0x29A5c1Db7321C5c9EaE57F9366eE8eef00cA11fb,18 -808,LON-c952,LON,Tokenlon,0x0000000000095413afC295d19EDeb1Ad7B71c952,18 -809,OKB-a86c,OKB,OKB,0x75231F58b43240C9718Dd58B4967c5114342a86c,18 -810,APY-6611,APY,APY Governance Token,0x95a4492F028aa1fd432Ea71146b433E7B4446611,18 -811,CIV-361d,CIV,Civilization,0x37fE0f067FA808fFBDd12891C0858532CFE7361d,18 -812,0NE-f4C2,0NE,Stone,0x73A83269b9bbAFC427E76Be0A2C1a1db2a26f4C2,18 -813,YAXIS-FE73,YAXIS,yAxis V2,0x0adA190c81b814548ddC2F6AdC4a689ce7C1FE73,18 -814,TOMOE-FaBa,TOMOE,TomoChain,0x05D3606d5c81EB9b7B18530995eC9B29da05FaBa,18 -815,MANDOX-86B6,MANDOX,Mandox,0x33D203FA03bb30b133De0fE2d6533C268bA286B6,9 -816,Kabosu Inu-0E55,Kabosu Inu,Kabosu Inu,0xD34A2051aC17BDD44D76AA84EA7Fcf8419130E55,18 -817,PPBLZ-97b8,PPBLZ,Pepemon,0x4D2eE5DAe46C86DA2FF521F7657dad98834f97b8,18 -818,RBXSamurai-c647,RBXSamurai,RBXS,0xA9639160481b625ba43677bE753E0A70bf58c647,18 -819,QUIDD-7c07,QUIDD,QUIDD,0xDA9FDAb21bC4A5811134A6E0Ba6CA06624e67c07,18 -820,KRL-DAC0,KRL,Kryll,0x464eBE77c293E473B48cFe96dDCf88fcF7bFDAC0,18 -821,OJA-291A,OJA,Ojamu Token,0x0aA7eFE4945Db24d95cA6E117BBa65Ed326e291A,18 -822,BAO-61C1,BAO,BaoToken,0x374CB8C27130E2c9E04F44303f3c8351B9De61C1,18 -823,ISP-9014,ISP,Ispolink Token,0xC8807f0f5BA3fa45FfBdc66928d71c5289249014,18 -824,DHT-Fa84,DHT,dHedge DAO Token,0xca1207647Ff814039530D7d35df0e1Dd2e91Fa84,18 -825,MUST-288f,MUST,Must,0x9C78EE466D6Cb57A4d01Fd887D2b5dFb2D46288f,18 -826,Dione-D697,Dione,Dione,0x89B69F2d1adffA9A253d40840B6Baa7fC903D697,9 -827,CITADEL-C1BB,CITADEL,The Citadel,0x6caDf6ABBCeb53e631C288778DAAcF125481C1BB,18 -828,TWT-F5cF,TWT,TwitFi Token,0xd4Df22556e07148e591B4c7b4f555a17188CF5cF,9 -829,BANK-A198,BANK,Bankless Token,0x2d94AA3e47d9D5024503Ca8491fcE9A2fB4DA198,18 -830,SYNC-FD32,SYNC,SYNC,0xB6ff96B8A8d214544Ca0dBc9B33f7AD6503eFD32,18 -831,MOPS-D967,MOPS,Mops,0x602f65BB8B8098Ad804E99DB6760Fd36208cD967,18 -832,NPXS-e5B3,NPXS,Pundi X Token,0xA15C7Ebe1f07CaF6bFF097D8a589fb8AC49Ae5B3,18 -833,MOOV-56a7,MOOV,dotmoovs,0x24EC2Ca132abf8F6f8a6E24A1B97943e31f256a7,18 -834,DHV-4b2A,DHV,DeHive.finance,0x62Dc4817588d53a056cBbD18231d91ffCcd34b2A,18 -835,RGT-C623,RGT,Rari Governance Token,0xD291E7a03283640FDc51b121aC401383A46cC623,18 -836,SLP-Aa25,SLP,Smooth Love Potion,0xCC8Fa225D80b9c7D42F96e9570156c65D6cAAa25,0 -837,POOF-f57A,POOF,Poof Token,0x888ceA2BBDD5D47a4032cf63668D7525C74af57A,18 -838,ONG-4dAe,ONG,onG,0xd341d1680Eeee3255b8C4c75bCCE7EB57f144dAe,18 -839,ARNC-8EE4,ARNC,Arnoya classic,0x7495e5Cc8F27e0bd5bD4cb86d17F0D841cA58EE4,18 -840,TKP-AcaC,TKP,TOKPIE,0xd31695a1d35E489252CE57b129FD4b1B05E6AcaC,18 -841,PRARE-C796,PRARE,PolkaRareToken,0x2C2f7e7C5604D162d75641256b80F1Bf6f4dC796,18 -842,AUTH-bD80,AUTH,Authencity.,0x0107C4aAa31940eF88760aCb1F32424CA8d8bD80,8 -843,Shiryo-Inu-8F02,Shiryo-Inu,Shiryo-Inu,0x1E2F15302B90EddE696593607b6bD444B64e8F02,9 -844,CPU-6626,CPU,CPUcoin,0x6D52DfeFb16BB9Cdc78bfCA09061e44574886626,18 -845,ROKO-FF98,ROKO,ROKO,0x6f222E04F6c53Cc688FfB0Abe7206aAc66A8FF98,18 -846,LEND-ab03,LEND,EthLend Token,0x80fB784B7eD66730e8b1DBd9820aFD29931aab03,18 -847,POCHI-4d90,POCHI,Pochi Inu,0x8eB1779A32678452eB273A22d413207299904d90,18 -848,PP-010B,PP,Pension Plan,0xf14b9ADF84812bA463799357f4dc716b4384010B,8 -849,CCv2-8F11,CCv2,CryptoCart V2,0x612E1726435fE38dD49A0B35b4065B56f49c8F11,18 -850,CUT-Ab9e,CUT,Ctrl-X,0x135783B60cf5d71DAFF7a377f9eb7dB8D2dEAb9e,18 -851,CURRY-de77,CURRY,CURRYSWAP,0xc2D3AE29c8309c14994D02Ecd228cf86f3Efde77,18 -852,HAKA-2210,HAKA,TribeOne,0xD85AD783cc94bd04196a13DC042A3054a9B52210,18 -853,NRG-2069,NRG,Energi,0x1416946162B1C2c871A73B07E932D2fB6C932069,18 -854,XEND-4903,XEND,XEND,0xE4CFE9eAa8Cdb0942A80B7bC68fD8Ab0F6D44903,18 -855,UNO-1A77,UNO,UnoRe,0x474021845C4643113458ea4414bdb7fB74A01A77,18 -856,BAG-5726,BAG,tehBag,0x235C8EE913d93c68D2902a8e0b5a643755705726,18 -857,KUMA-3E02,KUMA,Kuma Inu,0x48C276e8d03813224bb1e55F953adB6d02FD3E02,18 -858,SAUDISHIB-e23d,SAUDISHIB,SAUDI SHIBA INU,0x34d31446a522252270b89b09016296ec4c98e23d,8 -859,DELREY-28dd,DELREY,Delrey Inu,0xfca89d55A768375Ab7cA04485A35a964BEA828dd,18 -860,SEEN-Fd33,SEEN,seen.haus,0xCa3FE04C7Ee111F0bbb02C328c699226aCf9Fd33,18 -861,SHOE-32c9,SHOE,ShoeFy,0x0fD67B4ceb9b607Ef206904eC73459c4880132c9,18 -862,HACHI-ccFe,HACHI,HACHI,0x2a7e415C169cE3a580c6F374Dc26f6Aaad1EccFe,18 -863,VOICE-C6A9,VOICE,Voice Token,0x2e2364966267B5D7D2cE6CD9A9B5bD19d9C7C6A9,18 -864,BFT-326f,BFT,BF Token,0x01fF50f8b7f74E4f00580d9596cd3D0d6d6E326f,18 -865,FUND-996b,FUND,Teh Fund,0x7d8d7c26179b7A6aebbF66A91C38ED92d5B4996b,18 -866,BONDLY-68c9,BONDLY,Bondly,0x91dFbEE3965baAEE32784c2d546B7a0C62F268c9,18 -867,SHIL-fCe1,SHIL,Shila Inu,0x20c3fa331A385b63EE39137e99d0cF2db142fCe1,18 -868,BLXM-1a08,BLXM,bloXmove Token,0x38d9eb07A7b8Df7D86F440A4A5c4a4c1a27E1a08,18 -869,COIN-a850,COIN,Coin Utility Token,0xE61fDAF474Fac07063f2234Fb9e60C1163Cfa850,18 -870,COLL-0eF3,COLL,Collateral,0x957891C11616D3E0B0A76a76fb42724C382E0eF3,18 -871,SHAKE-6189,SHAKE,SHAKE token by SpaceSwap v2,0x6006FC2a849fEdABa8330ce36F5133DE01F96189,18 -872,K21-04AF,K21,k21.kanon.art,0xB9d99C33eA2d86EC5eC6b8A4dD816EBBA64404AF,18 -873,KEANU-c952,KEANU,Keanu Inu,0x106552C11272420aAd5d7e94f8AcAb9095A6c952,9 -874,sETH-31cb,sETH,Synth sETH,0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb,18 -875,PHTK-Ae7b,PHTK,PhunToken,0x1FEE5588cb1De19c70B6aD5399152D8C643FAe7b,18 -876,LCX-fe41,LCX,LCX,0x037A54AaB062628C9Bbae1FDB1583c195585fe41,18 -877,SHIN-660b,SHIN,Shinsekai,0xa27A6FA698a63f82e559914c11C6Cd888060660b,18 -878,CMOS-2a8e,CMOS,CoinMerge OS,0x87869A9789291A6cEC99f3c3Ef2fF71fcEb12a8e,9 -879,DINGO-4614,DINGO,Dingo Token,0x1f961BCEAEF8eDF6fb2797C0293FfBDe3E994614,9 -880,IMP-6FE2,IMP,Imperial Obelisk,0x42A0D24Cb5c423EAAF926cE3984aAfF0C4ff6FE2,9 -881,LUFFY-EBd7,LUFFY,LUFFY,0x54012cDF4119DE84218F7EB90eEB87e25aE6EBd7,9 -882,BULK-9593,BULK,Bulk Token,0xa143ac515dCA260A46C742C7251eF3B268639593,18 -883,PAYT-e2E2,PAYT,PayAccept,0x8EF47555856f6Ce2E0cd7C36AeF4FAb317d2e2E2,18 -884,LOCK-9EE9,LOCK,LiquidLock,0xb48EE8F8FA3885Fc08831ff366ec8df608159EE9,18 -885,PIP-8707,PIP,Pi-Protocol,0x37613D64258c0FE09d5E53EeCb091DA5b8fA8707,18 -886,NUME-F1C3,NUME,NumisMe Token,0x34769D3e122C93547836AdDD3eb298035D68F1C3,18 -887,ZCX-8804,ZCX,ZEN Exchange Token,0xC52C326331E9Ce41F04484d3B5E5648158028804,18 -888,VISION-3996,VISION,Vision Token,0xF406F7A9046793267bc276908778B29563323996,18 -889,GenBlok-82A8,GenBlok,The Genesis Block,0x83C141Ee88c502cB9654DE93598e9F16555082A8,9 -890,wPE-881b,wPE,OPES Finance,0xd075e95423C5c4BA1E122CaE0f4CdFA19b82881b,18 -891,API3-B88a,API3,API3,0x0b38210ea11411557c13457D4dA7dC6ea731B88a,18 -892,GVT-2a0c,GVT,Gro Vault Token,0x3ADb04E127b9C0a5D36094125669d4603AC52a0c,18 -893,EXRN-6e75,EXRN,EXRP Network,0xe469c4473af82217B30CF17b10BcDb6C8c796e75,0 -894,FRY-bE69,FRY,Foundry Logistics Token,0x6c972b70c533E2E045F333Ee28b9fFb8D717bE69,18 -895,ETHY-08B5,ETHY,Ethereum Yield,0xd1AFBCCC9A2c2187ea544363B986EA0AB6EF08B5,18 -896,cBSN-B25B,cBSN,BSNcommunitynet,0x7d4B1d793239707445305D8d2456D2c735F6B25B,18 -897,NEKO-341F,NEKO,MANEKI-NEKO,0x1E9D0bB190Ac34492aa11B80D28c1C86487a341F,18 -898,VFY-e922,VFY,Venify,0x00DD5Ad8F5d9c5118BcEeb526c55eA6b2C07e922,18 -899,EGT-3170,EGT,ElonGoat,0x450E7F6e3a2f247A51b98C39297a9a5BfbDb3170,9 -900,VERA-e468,VERA,Vera,0xd7f0cC50AD69408aE58be033F4f85D2367C2e468,18 -901,BFC-Ab9c,BFC,Bifrost,0x0c7D5ae016f806603CB1782bEa29AC69471CAb9c,18 -902,YFII-aB83,YFII,YFII.finance,0xa1d0E215a23d7030842FC67cE582a6aFa3CCaB83,18 -903,TEL-790F,TEL,Telcoin,0x467Bccd9d29f223BcE8043b84E8C8B282827790F,2 -904,SFG-90dd,SFG,SafeGrow,0xA71DCaaf5ba390B1B2012323A8810fAc121F90dd,18 -905,KDOE-82C5,KDOE,Kudoe,0x5f190F9082878cA141F858c1c90B4C59fe2782C5,18 -906,PIXIA-69Ae,PIXIA,PixiaAI,0x67675239Fa58c84e75f947c14f566842Dccb69Ae,18 -907,POLI-6Db9,POLI,Polinate,0xa1a36D3537bBe375Cc9694795F663DDC8D516Db9,18 -908,SOMEE-1447,SOMEE,SoMee.Social,0x65F9A292f1AEED5D755Aa2fD2Fb17AB2E9431447,18 -909,BSL-53Ac,BSL,BankSocial,0x0AF55d5fF28A3269d69B98680Fd034f115dd53Ac,8 -910,SpillWays-7b47,SpillWays,SpillWays,0x8790f2fc7Ca2e7Db841307FB3f4e72a03Baf7b47,18 -911,DGCL-B851,DGCL,DigiCol Token,0x63B8b7d4A3EFD0735c4BFFBD95B332a55e4eB851,18 -912,IMPACTXP-49aE,IMPACTXP,ImpactXP,0xb12494C8824fc069757F47d177E666c571Cd49aE,9 -913,NFTI-7F4C,NFTI,NFT INDEX,0xe5feeaC09D36B18b3FA757E5Cf3F8dA6B8e27F4C,18 -914,BUSY-3f4a,BUSY,Busy,0x5CB3ce6D081fB00d5f6677d196f2d70010EA3f4a,18 -915,COTI-55c5,COTI,COTI Token,0xDDB3422497E61e13543BeA06989C0789117555c5,18 -916,pBTC-733b,pBTC,pTokens BTC,0x5228a22e72ccC52d415EcFd199F99D0665E7733b,18 -917,DSD-8658,DSD,DeFi Nation Signals DAO,0x1e3a2446C729D34373B87FD2C9CBb39A93198658,18 -918,AURA-3DBF,AURA,Aura,0xC0c293ce456fF0ED870ADd98a0828Dd4d2903DBF,18 -919,TRL-Ec41,TRL,Triall,0x58f9102bF53Cf186682Bd9a281d3Cd3c616eEc41,18 -920,TVK-3988,TVK,Terra Virtua Kolect,0xd084B83C305daFD76AE3E1b4E1F1fe2eCcCb3988,18 -921,X7105-D105,X7105,X7105,0x7105FAA4a26eD1c67B8B2b41BEc98F06Ee21D105,18 -922,LGB-1288,LGB,"Let's Go Brandon",0x21E783bcf445B515957A10E992aD3c8E9FF51288,18 -923,ETHV-24d6,ETHV,Ethverse Token,0xEeEeeeeEe2aF8D0e1940679860398308e0eF24d6,18 -924,SHUSKY-3a75,SHUSKY,Siberian Husky,0x236d53148F83706C3d670064809577385f923a75,9 -925,JRT-343A,JRT,Jarvis Reward Token,0x8A9C67fee641579dEbA04928c4BC45F66e26343A,18 -926,ADAPAD-0289,ADAPAD,ADAPAD.io,0xDB0170e2d0c1CC1b2E7a90313d9B9afA4f250289,18 -927,CIMO-667a,CIMO,Cinnamoon,0xC3f65b1c45B0D42a472CD0Fbd37dD6678AEf667a,9 -928,TROVE-E114,TROVE,Trove DAO,0x59c6900949aD1835f07a04321f4d9934a054E114,18 -929,PP-9483,PP,PP,0xeCe8531550Fc599ccB2c7734494FBc358d0a9483,18 -930,MAGE-2B15,MAGE,MetaBrands,0xd52AAE39a2b5CC7812F7B9450EBB61DfEf702B15,18 -931,BEPRO-d36A,BEPRO,BetProtocolToken,0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A,18 -932,ALN-5748,ALN,Aluna,0x8185Bc4757572Da2a610f887561c32298f1A5748,18 -933,MYOBU-Fb07,MYOBU,Myōbu,0xDfDd3459D4F87234751696840092ee20C970Fb07,9 -934,DDIM-8E20,DDIM,DuckDaoDime,0xFbEEa1C75E4c4465CB2FCCc9c6d6afe984558E20,18 -935,ZEE-d4c5,ZEE,ZeroSwapToken,0x2eDf094dB69d6Dcd487f1B3dB9febE2eeC0dd4c5,18 -936,eYe-2E89,eYe,eYe on Ethereum,0x9A257C90Fa239fBA07771ef7da2d554D148c2E89,18 -937,DOGEZ-8617,DOGEZ,Dogezilla,0x4D8046B2f7986FEB5a4b0781EbF5Fa2D7a808617,18 -938,ECC-Ac55,ECC,Empire Capital,0xC84D8d03aA41EF941721A4D77b24bB44D7C7Ac55,9 -939,CHEDDA-837D,CHEDDA,Chedda Token,0x16756EC1DEb89A2106C35E0B586a799D0A61837D,18 -940,Pacha-0d4E,Pacha,Kay Pacha,0x2Dd1B9410c73E16b60240E529e38E30425F00d4E,10 -941,CGT-EAA0,CGT,CACHE Gold,0xF5238462E7235c7B62811567E63Dd17d12C2EAA0,8 -942,VST-472C,VST,VentiSwap Token,0xb7C2fcD6d7922eddd2A7A9B0524074A60D5b472C,18 -943,GAINS-5Ce9,GAINS,Gains,0xd9b312D77Bc7BEd9B9CecB56636300bED4Fe5Ce9,18 -944,WHITE-0fe1,WHITE,White Ethereum,0xFe4BEb9217cdDf2422d4bd65449b76d807b30fe1,9 -945,AIPAD-8AAf,AIPAD,AIPAD.tech,0xE55d97A97ae6A17706ee281486E98A84095d8AAf,18 -946,YDF-E66a,YDF,Yieldification,0x30dcBa0405004cF124045793E1933C798Af9E66a,18 -947,CHADS-5c5E,CHADS,chads.vc,0x69692D3345010a207b759a7D1af6fc7F38b35c5E,18 -948,BXX-7898,BXX,Baanx,0x6b1a8f210Ec6b7B6643cea3583Fb0c079f367898,18 -949,BOMB-6714,BOMB,BOMB,0x1C95b093d6C236d3EF7c796fE33f9CC6b8606714,0 -950,SHAMAN-FA5a,SHAMAN,Shaman,0x5fCe9Fc9B5d62aF082A59D0823A062F7529eFA5a,18 -951,FOAM-C121,FOAM,FOAM Token,0x4946Fcea7C692606e8908002e55A582af44AC121,18 -952,DOGS-ba21,DOGS,Dogcoin,0xBcCD27062ae1A2BeA5731c904b96EDfb163Aba21,9 -953,UBT-ee5e,UBT,UniBright,0x8400D94A5cb0fa0D041a3788e395285d61c9ee5e,8 -954,ICNQ-390A,ICNQ,Iconiq Lab Token,0xB3e2Cb7CccfE139f8FF84013823Bf22dA6B6390A,18 -955,ADEL-A182,ADEL,Akropolis Delphi,0x94d863173EE77439E4292284fF13fAD54b3BA182,18 -956,CMS-4F82,CMS,CryptoMoonShots,0x1f22AD99C334e6689bAe751CC225bCC38fe54F82,18 -957,SDG-9a01,SDG,SyncDAO Governance,0xCF8829AE9384540c886A151fac3a865794cB9a01,18 -958,ORAO-d035,ORAO,ORAO Network,0xEE1CeA7665bA7aa97e982EdeaeCb26B59a04d035,18 -959,TORA-7670,TORA,Tora Inu,0x7a3f7F6675514D4d611b442A4B76752f6AB77670,18 -960,POWER-E509,POWER,UniPower,0xF2f9A7e93f845b3ce154EfbeB64fB9346FCCE509,18 -961,OFI-97dC,OFI,Ordinals Finance,0x419E35E3515c2fDB652C898bF7A0B21FB20497dC,9 -962,INSTAR-DAF3,INSTAR,INSTAR,0x8193711b2763Bc7DfD67Da0d6C8c26642eafDAF3,4 -963,MTAO-0f71,MTAO,MEME TAO,0x1E8E29CA51363D923725aB9DaC73Bd7e9C440f71,9 -964,OPTIG-F44b,OPTIG,Catgirl Optimus,0xD5DF655087d99B7B720A5bc8711F296180A4F44b,18 -965,POM-e7E4,POM,Pomeranian,0x24ffe459F51ea20C5d8ad49843529fc33654e7E4,9 -966,MIR-E608,MIR,Wrapped MIR Token,0x09a3EcAFa817268f77BE1283176B946C4ff2E608,18 -967,COLI-8437,COLI,Coliquidity Token,0xd49EFA7BC0D339D74f487959C573d518BA3F8437,18 -968,CRNO-ca8E,CRNO,Chronoly,0xE23311294467654E0CaB14cD32A169A41be5ca8E,18 -969,SANI-342F,SANI,Sanin Inu,0x4521C9aD6A3D4230803aB752Ed238BE11F8B342F,18 -970,Dogefather-8c06,Dogefather,Dogefather,0x73C61dD9E121dE834A4f3ed607263EE33b308c06,9 -971,METRIC-14AC,METRIC,Metric.exchange,0xEfc1C73A3D8728Dc4Cf2A18ac5705FE93E5914AC,18 -972,COMFI-F1e4,COMFI,CompliFi,0x752Efadc0a7E05ad1BCCcDA22c141D01a75EF1e4,18 -973,4SHIBA-984d,4SHIBA,FOREVER SHIBA,0xB04bf60E468743418E87291d7c9301a5299d984d,18 -974,TRDG-68b5,TRDG,Tardigrades.Finance,0x92a42Db88Ed0F02c71D439e55962Ca7CAB0168b5,9 -975,DVD-9582,DVD,DAOventuresDeFi,0x77dcE26c03a9B833fc2D7C31C22Da4f42e9d9582,18 -976,HAUS-f687,HAUS,DAOhaus Token,0xf2051511B9b121394FA75B8F7d4E7424337af687,18 -977,CAW-e452,CAW,A Hunters Dream,0xf3b9569F82B18aEf890De263B84189bd33EBe452,18 -978,MARSH-cF37,MARSH,UnmarshalToken,0x5a666c7d92E5fA7Edcb6390E4efD6d0CDd69cF37,18 -979,MX-7f36,MX,MX Token,0x11eeF04c884E24d9B7B4760e7476D06ddF797f36,18 -980,MARVIN-8C8a,MARVIN,Marvin Inu,0xcAa9Ed6D7502595B555113D4517668aE24038C8a,18 -981,FWB-99A8,FWB,Friends With Benefits Pro,0x35bD01FC9d6D5D81CA9E055Db88Dc49aa2c699A8,18 -982,TICKR-0d24,TICKR,Tickr,0xf0a163a26601D9dc8Aef26b388Eadb7B1c620d24,9 -983,FNT-9D59,FNT,Falcon,0xDc5864eDe28BD4405aa04d93E05A0531797D9D59,6 -984,MILK2-c1de,MILK2,MilkyWay Token by SpaceSwap v2,0x80c8C3dCfB854f9542567c8Dac3f44D709eBc1de,18 -985,H-d17a,H,H,0xc6956b78e036b87Ba2aB9810BF081eb76EEDd17a,18 -986,TIME-A260,TIME,ChronoTech Token,0x485d17A6f1B8780392d53D64751824253011A260,8 -987,SLM-686e,SLM,SolomonDefi,0x07a0AD7a9dfc3854466F8F29A173bf04bbA5686e,18 -988,CCX-8B59,CCX,ClearCryptos,0x1D6405138A335cE5FD7364086334EfB3E4F28B59,18 -989,USHI-ec55,USHI,Ushi,0x6Dca182ac5E3f99985bC4Ee0f726d6472aB1ec55,18 -990,BT-Ca3a,BT,BT.Finance,0x76c5449F4950f6338A393F53CdA8b53B0cd3Ca3a,18 -991,FOLO-122a,FOLO,Follow,0xB2a63A5Dd36C91eC2DA59B188ff047F66fac122a,18 -992,ROOT-570E,ROOT,RootKit,0xCb5f72d37685C3D5aD0bB5F982443BC8FcdF570E,18 -993,LPOOL-Df5B,LPOOL,Launchpool token,0x6149C26Cd2f7b5CCdb32029aF817123F6E37Df5B,18 -994,KIMCHI-eDa0,KIMCHI,KIMCHI.finance,0x1E18821E69B9FAA8e6e75DFFe54E7E25754beDa0,18 -995,HELLSING-6EAD,HELLSING,Hellsing Inu,0xB087C2180e3134Db396977065817aed91FEa6EAD,9 -996,CUBE-39f4,CUBE,Somnium Space Cubes,0xDf801468a808a32656D2eD2D2d80B72A129739f4,8 -997,YFL-c0be,YFL,YFLink,0x28cb7e841ee97947a86B06fA4090C8451f64c0be,18 -998,ETHIX-0D3e,ETHIX,Ethix,0xFd09911130e6930Bf87F2B0554c44F400bD80D3e,18 -999,CIA-817d,CIA,CIA,0x52F4D5EE6c91e01Be67CA1F64b11eD0EE370817d,9 -1000,NODE-0DA0,NODE,DAppNode DAO Token,0xDa007777D86AC6d989cC9f79A73261b3fC5e0DA0,18 -1001,REPv2-C9bB,REPv2,Reputation,0x221657776846890989a759BA2973e427DfF5C9bB,18 -1002,ODDZ-5Bf6,ODDZ,OddzToken,0xCd2828fc4D8E8a0eDe91bB38CF64B1a81De65Bf6,18 -1003,MCHC-ECC3,MCHC,MCHCoin,0xD69F306549e9d96f183B1AecA30B8f4353c2ECC3,18 -1004,HAKKA-3bcd,HAKKA,Hakka Finance,0x0E29e5AbbB5FD88e28b2d355774e73BD47dE3bcd,18 -1005,PLANB-499B,PLANB,PlanB DAO,0xe77f82f288A6a7EB4Ac295a86FccB1F6D240499B,18 -1006,CVR-e6c6,CVR,PolkaCover,0x3C03b4EC9477809072FF9CC9292C9B25d4A8e6c6,18 -1007,$DOSA-1b8a,$DOSA,Dosa,0xeE2B297408063E0967096bafDCfD1278d5BF1b8a,18 -1008,IDEX-cfAE,IDEX,IDEX Token,0xB705268213D593B8FD88d3FDEFF93AFF5CbDcfAE,18 -1009,PMON-D0b2,PMON,Polkamon,0x1796ae0b0fa4862485106a0de9b654eFE301D0b2,18 -1010,DINGER-fA68,DINGER,Dinger Token,0x9e5BD9D9fAd182ff0A93bA8085b664bcab00fA68,9 -1011,ISLA-702d,ISLA,Defiville Island Token,0x20a68F9e34076b2dc15ce726d7eEbB83b694702d,18 -1012,ZEUS-F867,ZEUS,ZEUS,0x6ef460EB3563CfCc73F8147B0A77DAFFeE71F867,18 -1013,FSW-26DB,FSW,FalconSwap Token,0xfffffffFf15AbF397dA76f1dcc1A1604F45126DB,18 -1014,RELAX-3001,RELAX,Relaxable,0x801dE502C493aa9d3F9F79A0348fbc00521b3001,18 -1015,UZUMAKI-9aa3,UZUMAKI,Uzumaki Inu,0xD4c64f0Fe38ecdaF0Baefd7859E18185a73b9aa3,9 -1016,BCB-eb7e,BCB,Blockchain Bets,0x2d886570A0dA04885bfD6eb48eD8b8ff01A0eb7e,9 -1017,FINU-Ca1C,FINU,Formula Inu,0x2c022e58C5E3Ee213F06f975fd8a0d3a6fE9Ca1C,18 -1018,ASKO-8603,ASKO,Askobar Network,0xeEEE2a622330E6d2036691e983DEe87330588603,18 -1019,HEEL-B366,HEEL,Good Dog,0xf941D3AAbf2EE0F5589E68Ba6047b8329592B366,9 -1020,INFI-848C,INFI,INFI,0x159751323A9E0415DD3d6D42a1212fe9F4a0848C,18 -1021,BLT-B82e,BLT,Bloom Token,0x107c4504cd79C5d2696Ea0030a8dD4e92601B82e,18 -1022,VOLT-C597,VOLT,Volt Inu,0x3F7Aff0EF20AA2E646290DfA4E67611B2220C597,9 -1023,RWS-7802,RWS,Robonomics Web Services :: V1,0x08AD83D779BDf2BBE1ad9cc0f78aa0D24AB97802,18 -1024,TORN-116C,TORN,TornadoCash,0x77777FeDdddFfC19Ff86DB637967013e6C6A116C,18 -1025,KAINET-FC8a,KAINET,KAINET,0xB097Dd6a23175C10eAA45A1F410d7eB4cFDAFC8a,9 -1026,CTR-d375,CTR,Creator Chain,0x923b83c26B3809d960fF80332Ed00aA46D7Ed375,18 -1027,BiFi-BA81,BiFi,BiFi,0x2791BfD60D232150Bff86b39B7146c0eaAA2BA81,18 -1028,Suki-18d5,Suki,Sukiyaki,0xD212046F89680aC9F106B9c63f314cc9808e18d5,18 -1029,Gorilla Inu-3908,Gorilla Inu,Gorilla Inu | Apes Together Strong,0x68257309fCdfE1e6eDb592DA97aC8215fe583908,9 -1030,GET-6A1B,GET,GET,0x8a854288a5976036A725879164Ca3e91d30c6A1B,18 -1031,ALERT-c1fB,ALERT,ALERT,0xaE377ed00DF9b9663B253bE93035EF1CfECBc1fB,9 -1032,SHIDO-a703,SHIDO,Shido Inu,0x173E552Bf97BBD50b455514ac52991Ef639ba703,9 -1033,VPP-5e6e,VPP,Virtue Player Points,0x5EeAA2DCb23056F4E8654a349E57eBE5e76b5e6e,18 -1034,EHIVE-6C75,EHIVE,Ethereum Hive,0x10B506Ae42b5466d548EdC4C02a4CE9828386C75,18 -1035,KEYFI-9052,KEYFI,KeyFi Token,0xB8647e90C0645152Fccf4d9AbB6B59Eb4AA99052,18 -1036,WGMI-6f75,WGMI,WGMI,0xE23FaEfcdAAe646527eb86b1C746A25Ae4a36f75,18 -1037,CRAMER-8ee0,CRAMER,Cramer Coin,0x64Df3aAB3b21cC275bB76c4A581Cf8B726478ee0,18 -1038,BITT-6D51,BITT,BITTOKEN,0x9F9913853f749b3fE6D6D4e16a1Cc3C1656B6D51,18 -1039,AZK-1A99,AZK,AnonZK,0x5408245a4D7c685F59cE6D3b8B35916dd6c11A99,18 -1040,POWER-F093,POWER,Kingmaker,0x0263994554Ec08cc60473dbf8ceE60f9EedbF093,18 -1041,BIST-093F,BIST,Bistroo Token,0x6e8908cfa881C9f6f2C64d3436E7b80b1bf0093F,18 -1042,KARMA-951C,KARMA,Karma,0xdfe691F37b6264a90Ff507EB359C45d55037951C,4 -1043,YETIC-6E6F,YETIC,YetiCoin,0xdF96bDE075d59e9143b325C75aF38e208c986E6F,9 -1044,PANTO-aA9d,PANTO,PANTOMIME,0x54B8D105aA09342FAD6b352D41a0bAd3E1a9aA9d,18 -1045,COGE-6806,COGE,Cogecoin,0xC382e04099A435439725BB40647e2B32dC136806,18 -1046,IMPACTX-2669,IMPACTX,ImpactX,0x5aF6ad286C8Ed6633284f2F135C4716057d52669,9 -1047,MYST-f361,MYST,Mysterium,0x4Cf89ca06ad997bC732Dc876ed2A7F26a9E7f361,18 -1048,MR-29Aa,MR,METARUFFY,0xa4Cb3ef5f41a4D89D6FCed22ea8a1C57957629Aa,18 -1049,X7101-E105,X7101,X7101,0x7101a9392EAc53B01e7c07ca3baCa945A56EE105,18 -1050,HID-9c9D,HID,Hypersign Identity Token,0xB14eBF566511B9e6002bB286016AB2497B9b9c9D,18 -1051,RIO-4097,RIO,Realio Network,0xf21661D0D1d76d3ECb8e1B9F1c923DBfffAe4097,18 -1052,TRIBE-212B,TRIBE,Tribe,0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B,18 -1053,NeRF-76c5,NeRF,Neural Radiance Field,0xaF8942831F3A096f708b8b31F191B8958Cf176c5,18 -1054,RDN-c8e6,RDN,Raiden Token,0x255Aa6DF07540Cb5d3d297f0D0D4D84cb52bc8e6,18 -1055,wOMI-A670,wOMI,Wrapped OMI Token,0x04969cD041C0cafB6AC462Bd65B536A5bDB3A670,18 -1056,xFUND-7881,xFUND,unification.com/xfund,0x892A6f9dF0147e5f079b0993F486F9acA3c87881,9 -1057,Z-e491,Z,ZINJA,0x1BE56412c9606E7285280F76A105EBa56996e491,9 -1058,meh-c981,meh,meh,0xBA98C0FbebC892F5b07a42B0FeBD606913EBc981,18 -1059,GRUMPY-021b,GRUMPY,Grumpy Cat,0x93B2FfF814FCaEFFB01406e80B4Ecd89Ca6A021b,9 -1060,LSD-31FF,LSD,LSD Coin,0xfAC77A24E52B463bA9857d6b758ba41aE20e31FF,18 -1061,PLA-b430,PLA,PlayDapp Token,0x3a4f40631a4f906c2BaD353Ed06De7A5D3fCb430,18 -1062,LINU-D581,LINU,Luna Inu,0x78132543D8E20D2417d8a07D9ae199D458A0D581,18 -1063,wMBX-432d,wMBX,wMBX Token,0x71ba91dC68C6a206Db0A6A92B4b1De3f9271432d,18 -1064,MANDOX-a4a4,MANDOX,MandoX,0xAFbF03181833aB4E8DEc24D708a2a24c2bAaa4a4,9 -1065,yDAI+yUSDC+yUSDT+yTUSD-06A8,yDAI+yUSDC+yUSDT+yTUSD,Curve.fi yDAI/yUSDC/yUSDT/yTUSD,0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8,18 -1066,MINDS-c068,MINDS,Minds,0xB26631c6dda06aD89B93C71400D25692de89c068,18 -1067,X7102-A105,X7102,X7102,0x7102DC82EF61bfB0410B1b1bF8EA74575bf0A105,18 -1068,X7104-C105,X7104,X7104,0x7104D1f179Cc9cc7fb5c79Be6Da846E3FBC4C105,18 -1069,TRU-276c,TRU,Truebit,0xf65B5C5104c4faFD4b709d9D60a185eAE063276c,18 -1070,IM-a936,IM,Internet Money,0x0A58153a0CD1cfaea94cE1f7FdC5D7E679eCa936,18 -1071,KTLYO-27c8,KTLYO,Katalyo Token,0x24E3794605C84E580EEA4972738D633E8a7127c8,18 -1072,FRIN-1D15,FRIN,Fringe,0xC9fE6E1C76210bE83DC1B5b20ec7FD010B0b1D15,18 -1073,KODACHI-fd16,KODACHI,Kodachi Token,0x57c411e9a358e2d2d0a6b058cEDb709175e8fd16,18 -1074,ziot-796a,ziot,ziot,0xfB22cED41B1267dA411F68c879f4Defd0bD4796a,18 -1075,XCUR-86bd,XCUR,Curate,0xE1c7E30C42C24582888C758984f6e382096786bd,8 -1076,TYRANT-ec27,TYRANT,Fable Of The Dragon,0x8EE325AE3E54e83956eF2d5952d3C8Bc1fa6ec27,9 -1077,NFT-7042,NFT,NFT Protocol,0xcB8d1260F9c92A3A545d409466280fFdD7AF7042,18 -1078,REM-6B6d,REM,REMME token,0x83984d6142934bb535793A82ADB0a46EF0F66B6d,4 -1079,SATS-Abf8,SATS,SATOSHIS VISION,0x6C22910c6F75F828B305e57c6a54855D8adeAbf8,9 -1080,Kusunoki-0308,Kusunoki,Kusunoki Samurai,0x36919a60a2B67B6d2329863093D180d23d5A0308,18 -1081,WBUY-3ed8,WBUY,Wrapped BUY Token,0x396eC402B42066864C406d1ac3bc86B575003ed8,2 -1082,RENA-9b76,RENA,Rena,0x56de8BC61346321D4F2211e3aC3c0A7F00dB9b76,18 -1083,DMOD-18d7,DMOD,Demodyfi Token,0x5f6c5C2fB289dB2228d159C69621215e354218d7,18 -1084,CAT-7dB3,CAT,Cat Token,0x56015BBE3C01fE05bc30A8a9a9Fd9A88917e7dB3,18 -1085,Nsure-2114,Nsure,Nsure Network Token,0x20945cA1df56D237fD40036d47E866C7DcCD2114,18 -1086,rUSD-C8F6,rUSD,Realio Network USD Stablecoin,0xF9A2D7E60a3297E513317AD1d7Ce101CC4C6C8F6,18 -1087,MFT-7428,MFT,Mainframe Token,0xDF2C7238198Ad8B389666574f2d8bc411A4b7428,18 -1088,EMPIRE-3665,EMPIRE,Empire Network,0xf124eD9Ec309907808b1FBc6BEdB2a76927B3665,18 -1089,BETA-dbE2,BETA,Beta Token,0x35F67c1D929E106FDfF8D1A55226AFe15c34dbE2,18 -1090,CTI-f244,CTI,ClinTex,0x8c18D6a985Ef69744b9d57248a45c0861874f244,18 -1091,RAID-97C9,RAID,Raider Inu - The AI Raid Leader,0x2022760aCDe82079cbEDa17D3afC67dC1F3D97C9,18 -1092,PYRO-Cd72,PYRO,PYROmatic,0x1e2D230C7A7F4C679Fb1378F1f51dEDeAe85Cd72,18 -1093,$NOWAI-7956,$NOWAI,NOWAI,0x987441856BA4f463544FC68ccBF6a80F434a7956,18 -1094,LIF-6465,LIF,Lif,0x9C38688E5ACB9eD6049c8502650db5Ac8Ef96465,18 -1095,$ANRX-09E0,$ANRX,AnRKey X,0xCae72A7A0Fd9046cf6b165CA54c9e3a3872109E0,18 -1096,HANU-BCC0,HANU,Hanu Yokia,0x72E5390EDb7727E3d4e3436451DADafF675dBCC0,12 -1097,GLCH-D564,GLCH,Glitch,0x038a68FF68c393373eC894015816e33Ad41BD564,18 -1098,APYS-3615,APYS,APYSwap,0xf7413489c474ca4399eeE604716c72879Eea3615,18 -1099,SERP-5Eec,SERP,SHIBARIUM PERPETUALS,0xFd414e39155F91E94443a9Fe97E856569d0F5Eec,9 -1100,TAIL-1e31,TAIL,Tail,0xFeeeef4D7b4Bf3cc8BD012D02D32Ba5fD3D51e31,18 -1101,ADD-7d56,ADD,ADD,0x635d081fD8F6670135D8a3640E2cF78220787d56,18 -1102,RAIN-4D57,RAIN,Rainmaker Games,0x71Fc1F555a39E0B698653AB0b475488EC3c34D57,18 -1103,ADVT-9b72,ADVT,Advantis Token,0x69e37422cB87d963367F73A119C8ce9a4D529b72,9 -1104,POLK-cfbF,POLK,Polkamarkets,0xD478161C952357F05f0292B56012Cd8457F1cfbF,18 -1105,CLAW-8cc3,CLAW,Claw,0xe115401B985306837B9f1495c8e9d7f8f8328cc3,18 -1106,DEC-b9b3,DEC,Decentr,0x30f271C9E86D2B7d00a6376Cd96A1cFBD5F0b9b3,18 -1107,JAM-5A72,JAM,Geojam,0x23894DC9da6c94ECb439911cAF7d337746575A72,18 -1108,SPICE-8193,SPICE,SPICE,0x9b6dB7597a74602a5A806E33408e7E2DAFa58193,18 -1109,Yf-DAI-9577,Yf-DAI,YfDAI.finance,0xf4CD3d3Fda8d7Fd6C5a500203e38640A70Bf9577,18 -1110,UFARM-af88,UFARM,UNIFARM Token,0x40986a85B4cFCDb054A6CBFB1210194fee51af88,18 -1111,GAI-78BF,GAI,GeneraitivAI,0x0d8ca4b20b115D4DA5c13DC45Dd582A5de3e78BF,18 -1112,TUF-c8f1,TUF,TUF Token,0x6f8b23296394d20eC048FbDec8eBc0CA90f5c8f1,18 -1113,SCIFI-2CB4,SCIFI,ScifiToken,0xfDC4a3FC36df16a78edCAf1B837d3ACAaeDB2CB4,18 -1114,BART-63Ba,BART,BarterTrade,0x54C9EA2E9C9E8eD865Db4A4ce6711C2a0d5063Ba,18 -1115,KEK-6a82,KEK,KeKChain,0x67954768E721FAD0f0f21E33e874497C73ED6a82,18 -1116,ORBS-B0FA,ORBS,Orbs,0xff56Cc6b1E6dEd347aA0B7676C85AB0B3D08B0FA,18 -1117,ZEFU-1229,ZEFU,Zenfuse Trading Platform Token,0xB1e9157c2Fdcc5a856C8DA8b2d89b6C32b3c1229,18 -1118,BKING-aF04,BKING,King Arthur,0x1cA02DD95f3F1e33DA7F5AfE15EA866dAb07aF04,9 -1119,WallStreetInu-eA26,WallStreetInu,Wall Street Inu,0xd68Cb7a643079311B8645ED90F2D5267CfA6eA26,9 -1120,BAKT-1C0B,BAKT,BACKED,0x8379f52d09b9998eCbA731288EE4fE532fD91C0B,18 -1121,ALCAZAR-9bFe,ALCAZAR,Alcazar,0x10f44a834097469AC340592d28c479c442E99bFe,18 -1122,THE-2861,THE,The Protocol,0x0cbA60Ca5eF4D42f92A5070A8fEDD13BE93E2861,18 -1123,wBIND-0115,wBIND,Wrapped BIND,0x15334DCb171e8b65D6650321581dcA83bE870115,8 -1124,STACK-0Ba4,STACK,StackOS,0x56A86d648c435DC707c8405B78e2Ae8eB4E60Ba4,18 -1125,VIBE-Dfba,VIBE,Vibe Coin,0xe8Ff5C9c75dEb346acAc493C463C8950Be03Dfba,18 -1126,FLOKI-827c,FLOKI,Floki Musk,0x67Cc621AB2d086a101Cff3340df0A065Ac75827c,18 -1127,BRO-8771,BRO,BRO Token,0x1C84656Cb4c286DaA16f27D8B305F1053B5a8771,18 -1128,α-69f5,α,.alpha,0x48AF7b1c9dac8871C064f62FcEC0d9d6F7c269f5,18 -1129,LUNCH-e7e0,LUNCH,LunchDao,0x71a28feAEe902966DC8D355e7B8Aa427D421e7e0,18 -1130,GOVI-6107,GOVI,GOVI,0xeEAA40B28A2d1b0B08f6f97bB1DD4B75316c6107,18 -1131,ACAP-6A41,ACAP,Alpha Capital,0xd5A98E77d1fEB091344096301Ea336a5C07a6A41,18 -1132,BNS-E07C,BNS,BNS Token,0x695106Ad73f506f9D0A9650a78019A93149AE07C,8 -1133,TOWER-7d0B,TOWER,TOWER,0x1C9922314ED1415c95b9FD453c3818fd41867d0B,18 -1134,JEJUDOGE-79B9,JEJUDOGE,Jejudoge,0x939A7A577D93ad29B64C1595B1284ce660A479B9,18 -1135,BDP-480e,BDP,BDPToken,0xf3dcbc6D72a4E1892f7917b7C43b74131Df8480e,18 -1136,ORAI-c1b5,ORAI,Oraichain Token,0x4c11249814f11b9346808179Cf06e71ac328c1b5,18 -1137,uDOO-2ffB,uDOO,uDOO,0x12f649A9E821F90BB143089a6e56846945892ffB,18 -1138,ATRI-FB62,ATRI,AtariToken,0xdacD69347dE42baBfAEcD09dC88958378780FB62,0 -1139,Coval-76Df,Coval,CircuitsOfValue,0x3D658390460295FB963f54dC0899cfb1c30776Df,8 -1140,SUZUME-7E43,SUZUME,Shita-Kiri Suzume,0x0B452278223D3954F4AC050949D7998e373e7E43,18 -1141,QRX-14D8,QRX,QuiverX,0x6e0daDE58D2d89eBBe7aFc384e3E4f15b70b14D8,18 -1142,WAIT-EDd7,WAIT,HOURGLASS,0x2559813BBb508C4C79e9CCCE4703Bcb1f149EDd7,9 -1143,HIGH-0282,HIGH,Highstreet token,0x71Ab77b7dbB4fa7e017BC15090b2163221420282,18 -1144,TOSHI-6BdC,TOSHI,Toshi Tools,0x77a90B04d64189d4D09508612C09219bC6816BdC,9 -1145,LOOM-3DB0,LOOM,LoomToken,0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0,18 -1146,UMB-83B2,UMB,Umbrella,0x6fC13EACE26590B80cCCAB1ba5d51890577D83B2,18 -1147,GEAR-F5a9,GEAR,Bitgear,0x1b980e05943dE3dB3a459C72325338d327B6F5a9,18 -1148,SUNC-C56F,SUNC,Sunrise Token,0x692aCCdD8b86692427E0aa4752AE917Df01CC56F,18 -1149,$EARN-D79c,$EARN,EARN,0xA87Ed75C257f1ec38393bEA0A83d55Ac2279D79c,9 -1150,PAXG-Af78,PAXG,Paxos Gold,0x45804880De22913dAFE09f4980848ECE6EcbAf78,18 -1151,EQZ-0Bb0,EQZ,Equalizer,0x1Da87b114f35E1DC91F72bF57fc07A768Ad40Bb0,18 -1152,TYC-658F,TYC,Tycoon Token,0x3A82D3111aB5faF39d847D46023d9090261A658F,18 -1153,SIG-6517,SIG,xSigma,0x7777777777697cFEECF846A76326dA79CC606517,18 -1154,$SHARBI-c9a9,$SHARBI,SHARBI,0xF3A3023e6Dede84AD88a656A3269F2A36e83c9a9,9 -1155,EBOX-15c5,EBOX,ethbox Token,0x33840024177A7DacA3468912363BeD8b425015c5,18 -1156,XTM-62Fe,XTM,Torum,0xCd1fAFf6e578Fa5cAC469d2418C95671bA1a62Fe,18 -1157,SKRT-77f6,SKRT,Sekuritance,0x887168120cb89Fb06F3E74Dc4AF20D67dF0977f6,18 -1158,XLON-9D58,XLON,Xenlon Mars,0x36ff4DaE0E88113D68B1209e245B0e3Af92E9D58,18 -1159,SHOPX-D848,SHOPX,SPLYT SHOPX,0x7BEF710a5759d197EC0Bf621c3Df802C2D60D848,18 -1160,WPSL-CC29,WPSL,Wrapped PSL,0xC775C0C30840Cb9F51e21061B054ebf1A00aCC29,5 -1161,FIS-cC8d,FIS,StaFi,0xef3A930e1FfFFAcd2fc13434aC81bD278B0ecC8d,18 -1162,DIVI-3a77,DIVI,Divi,0x246908BfF0b1ba6ECaDCF57fb94F6AE2FcD43a77,8 -1163,SHIBELON-De6d,SHIBELON,ShibElon,0x4c584CD339bdDE73B7F5210486dd8bbeEE3fDe6d,9 -1164,AAPX-0811,AAPX,AMPnet APX Token,0xbfD815347d024F449886c171f78Fa5B8E6790811,18 -1165,POLS-D5Aa,POLS,PolkastarterToken,0x83e6f1E41cdd28eAcEB20Cb649155049Fac3D5Aa,18 -1166,LGCY-8A0d,LGCY,LGCY Network,0xaE697F994Fc5eBC000F8e22EbFfeE04612f98A0d,18 -1167,COT-4CE8,COT,CosplayToken,0x5CAc718A3AE330d361e39244BF9e67AB17514CE8,18 -1168,InvectAI-2904,InvectAI,InvectAI,0xCAE7F3aa6D456463bEf0E5B508542b69D96f2904,8 -1169,SOCKS-91d5,SOCKS,Unisocks Edition 0,0x23B608675a2B2fB1890d3ABBd85c5775c51691d5,18 -1170,PAR-ee06,PAR,Parachute,0x1BeEF31946fbbb40B877a72E4ae04a8D1A5Cee06,18 -1171,ARNX-e283,ARNX,Aeron,0x0C37Bcf456bC661C14D596683325623076D7e283,18 -1172,SNC-0404,SNC,SunContract,0xF4134146AF2d511Dd5EA8cDB1C4AC88C57D60404,18 -1173,bALPHA-15A6,bALPHA,bAlpha,0x7a5ce6abD131EA6B148a022CB76fc180ae3315A6,18 -1174,RARE-c7C8,RARE,RARE.UNIQUE,0x93dfaf57D986B9cA77Df9376c50878E013D9c7C8,18 -1175,BEND-6218,BEND,Bend Token,0x0d02755a5700414B26FF040e1dE35D337DF56218,18 -1176,EVNY-8E60,EVNY,EVNY Token,0x9A24B8E8A6D4563c575A707b1275381119298E60,18 -1177,SKY-B0d4,SKY,The SkyToken,0x090FC4D5436D98E13473c4d6109De6A18BCfB0d4,18 -1178,VTX-A832,VTX,Vortex DeFi,0xceb286C9604c542d3cc08b41AA6C9675B078A832,18 -1179,HAY-33bb,HAY,HAYFEVER,0xF6269e2e0C271fb6AF35E7f8a539EbC7155E33bb,9 -1180,RISE-0cA3,RISE,EverRise,0xC17c30e98541188614dF99239cABD40280810cA3,18 -1181,STRIP-3C02,STRIP,StripCoin,0xE9cB6838902CCF711f16a9EA5A1170F8e9853C02,18 -1182,RSC-F571,RSC,ResearchCoin,0xD101dCC414F310268c37eEb4cD376CcFA507F571,18 -1183,renDOGE-71A7,renDOGE,renDOGE,0x3832d2F059E55934220881F831bE501D180671A7,8 -1184,M2-D15C,M2,M2,0x965d79F1A1016B574a62986e13Ca8Ab04DfdD15C,18 -1185,STMX-2803,STMX,StormX,0xbE9375C6a420D2eEB258962efB95551A5b722803,18 -1186,NFAi-7969,NFAi,Not Financial Advice,0x8eEcaad83a1Ea77bD88A818d4628fAfc4CaD7969,18 -1187,FEY-6072,FEY,Feyorra,0xe8E06a5613dC86D459bC8Fb989e173bB8b256072,18 -1188,TAILS-6360,TAILS,TAILS,0x3d79Abb948bc76794ff4a0bCd60170a741f26360,9 -1189,SOLVE-406F,SOLVE,Healthcare Administration Token,0x446C9033E7516D820cc9a2ce2d0B7328b579406F,8 -1190,CTASK-3934,CTASK,CTASK Token,0x196c81385Bc536467433014042788Eb707703934,18 -1191,SALE-B589,SALE,DxSale.Network,0xF063fE1aB7a291c5d06a86e14730b00BF24cB589,18 -1192,CFi-1eF4,CFi,CyberFi Token,0x63b4f3e3fa4e438698CE330e365E831F7cCD1eF4,18 -1193,HINA-6764,HINA,Hina Inu,0xbD0a4bf098261673d5E6e600Fd87ddcd756e6764,9 -1194,CHIP-18bE,CHIP,Ask Chip,0x5A5389bA78F04D783E9F30e5A8C45727c5E018bE,9 -1195,SOV-2c16,SOV,ShibOriginalVision,0x2C5BC2Ba3614fD27FCc7022eA71d9172E2632c16,18 -1196,ISLA-5947,ISLA,Insula,0x697eF32B4a3F5a4C39dE1cB7563f24CA7BfC5947,18 -1197,LIFE-8EE6,LIFE,Life Crypto,0x6c936D4AE98E6d2172dB18c16C4b601C99918EE6,18 -1198,TKN-E73a,TKN,Monolith TKN,0xaAAf91D9b90dF800Df4F55c205fd6989c977E73a,8 -1199,VID-C9E5,VID,VideoCoin,0x2C9023bBc572ff8dc1228c7858A280046Ea8C9E5,18 -1200,GETH-3De9,GETH,Goerli ETH,0xdD69DB25F6D620A7baD3023c5d32761D353D3De9,18 -1201,EWW-21a8,EWW,EndlessWebWorlds,0x3d38F87BeF0123f5764635C7E11048027E0721a8,9 -1202,SONIC-0ee5,SONIC,Sonic,0xd1cD47746B8e72359b28C1c84a4F6a19dc1A0ee5,18 -1203,ZINU-6caA,ZINU,Zombie Inu,0xc50EF449171a51FbeAFd7c562b064B6471C36caA,9 -1204,GNFT-6C2b,GNFT,GNFT,0xc502002aEB1b9309FcCb016adF50507987Fc6C2b,18 -1205,DPAY-Dd78,DPAY,Devour,0xE5A733681bbE6cd8c764Bb8078ef8E13a576Dd78,18 -1206,TOK-3C30,TOK,TOK,0x4Fb721eF3Bf99e0f2c193847afA296b9257d3C30,8 -1207,JUP-2Be8,JUP,Jupiter,0x4B1E80cAC91e2216EEb63e29B957eB91Ae9C2Be8,18 -1208,NMS-91a9,NMS,Nemesis,0x77252494C25444F8598A0c74Ffc90ADc535291a9,18 -1209,KEX-a4F8,KEX,KIRA Network,0x16980b3B4a3f9D89E33311B5aa8f80303E5ca4F8,6 -1210,SWAPP-c244,SWAPP,Swapp Token,0x8CB924583681cbFE487A62140a994A49F833c244,18 -1211,SHINU-C53F,SHINU,Sheikh Inu,0x0d229c3FF2d76E4b88Ca4F9d3D3353F4545EC53F,18 -1212,PAY-3ea3,PAY,PayBolt,0xe580074A10360404AF3ABfe2d524D5806D993ea3,18 -1213,SIMP-4C99,SIMP,SIMP,0x41C21693e60FC1a5dBb7c50e54E7A6016aA44C99,18 -1214,WAS-0E1b,WAS,Wasder Token,0x0c572544a4Ee47904d54aaA6A970AF96B6f00E1b,18 -1215,PCNT-0C3b,PCNT,Playcent,0x657B83A0336561C8f64389a6f5aDE675C04b0C3b,18 -1216,PTOY-CC06,PTOY,Patientory,0x8Ae4BF2C33a8e667de34B54938B0ccD03Eb8CC06,8 -1217,PKF-8AEb,PKF,PolkaFoundry,0x8B39B70E39Aa811b69365398e0aACe9bee238AEb,18 -1218,DSLA-ECBe,DSLA,DSLA,0x3aFfCCa64c2A6f4e3B6Bd9c64CD2C969EFd1ECBe,18 -1219,GATE-82E4,GATE,GATE,0x9d7630aDF7ab0b0CB00Af747Db76864df0EC82E4,18 -1220,HLD-8187,HLD,Hackerlabs DAO,0xCA1308E38340C69E848061aA2C3880daeB958187,9 -1221,NEBO-b455,NEBO,CSP DAO,0x7f0c8B125040f707441cad9e5eD8a8408673b455,18 -1222,DOGY-6839,DOGY,DogeYield,0x9c405acf8688AfB61B3197421cDeeC1A266c6839,18 -1223,PNODE-82D2,PNODE,Pinknode Token,0xAF691508BA57d416f895e32a1616dA1024e882D2,18 -1224,PTPA-9E6c,PTPA,Pumptopia,0xC0B182B2E06164568a3310Ca1086e9bf19209E6c,18 -1225,SNOV-d969,SNOV,Snovio,0xBDC5bAC39Dbe132B1E030e898aE3830017D7d969,18 -1226,MNTP-ECCc,MNTP,Goldmint MNT Prelaunch Token,0x83cee9e086A77e492eE0bB93C2B0437aD6fdECCc,18 -1227,ID-Eb83,ID,Everest ID,0xEBd9D99A3982d547C5Bb4DB7E3b1F9F14b67Eb83,18 -1228,iDYP-e056,iDYP,iDeFiYieldProtocol,0xBD100d061E120b2c67A24453CF6368E63f1Be056,18 -1229,PRIMATE-95ff,PRIMATE,PRIMATE,0x46e98FFE40E408bA6412bEb670507e083C8B95ff,18 -1230,EMON-974a,EMON,EthermonToken,0xd6A5aB46ead26f49b03bBB1F9EB1Ad5c1767974a,18 -1231,YUNA-62f9,YUNA,Yuna (YunaToken.io),0x2F6f397332B0F8b4536430bCC97980aA838f62f9,18 -1232,RHO-90Ec,RHO,Rho Token,0x3F3Cd642E81d030D7b514a2aB5e3a5536bEb90Ec,18 -1233,SANSHU-344D,SANSHU,Sanshu Inu,0xc73C167E7a4Ba109e4052f70D5466D0C312A344D,9 -1234,VRA-E41F,VRA,VERA,0xdF1D6405df92d981a2fB3ce68F6A03baC6C0E41F,18 -1235,ATOR-79ce,ATOR,AirTor Protocol,0x0F7B3F5a8FeD821c5eb60049538a548dB2D479ce,18 -1236,AUDIO-B998,AUDIO,Audius,0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998,18 -1237,QLINDO-b46E,QLINDO,Qlindo Realestate Investment Token,0xC18c07a18198A6340cf4d94855fE5eb6DD33b46E,0 -1238,COOK-6eF5,COOK,Cook Token,0xFF75CEd57419bcaEBe5F05254983b013B0646eF5,18 -1239,PDEX-Aaea,PDEX,Polkadex,0xF59ae934f6fe444afC309586cC60a84a0F89Aaea,18 -1240,CARD-D708,CARD,Cardstack,0x954b890704693af242613edEf1B603825afcD708,18 -1241,HTB-A941,HTB,Hotbit Token,0x6be61833FC4381990e82D7D4a9F4c9B3F67eA941,18 -1242,FOUR-F4D0,FOUR,The 4th Pillar Token,0x4730fB1463A6F1F44AEB45F6c5c422427f37F4D0,18 -1243,PAN-4c92,PAN,Pantos Token,0x536381a8628dBcC8C70aC9A30A7258442eAb4c92,8 -1244,HAKI-6697,HAKI,HAKI,0xF90c7f66eAc7E2130bF677D69a250b2136Cf6697,18 -1245,PAW-1B01,PAW,PAWSWAP,0xDc63269eA166b70d4780b3A11F5C825C2b761B01,18 -1246,SHIV-cB43,SHIV,ShibVinci,0xe9615071341c6F0392A5dFDE1645Ad01b810cB43,9 -1247,GNYerc20-51d4,GNYerc20,GNYerc20,0xb1f871Ae9462F1b2C6826E88A7827e76f86751d4,18 -1248,UMBR-d35C,UMBR,UmbriaToken,0xa4bBE66f151B22B167127c770016b15fF97Dd35C,18 -1249,LEO-2Ca3,LEO,Bitfinex LEO Token,0x2AF5D2aD76741191D15Dfe7bF6aC92d4Bd912Ca3,18 -1250,DEXTF-89f0,DEXTF,DEXTF Token,0x5F64Ab1544D28732F0A24F4713c2C8ec0dA089f0,18 -1251,Kitty Dinger-3BC6,Kitty Dinger,Schrodinger,0x2C33B28527A63Cdf13C0B24Ce4cf5BF9C9fB3BC6,9 -1252,G*-2fA3,G*,G*,0x97E19E2a5458294842036404E6A05571D8Bc2fA3,18 -1253,APOLLO-3CAb,APOLLO,Apollo Inu,0xADf86E75d8f0F57e0288D0970E7407eaA49b3CAb,9 -1254,DOGEFI-646D,DOGEFI,DOGEFI,0x9B9087756eCa997C5D595C840263001c9a26646D,18 -1255,TRVL-1F3d,TRVL,TRVL,0xd47bDF574B4F76210ed503e0EFe81B58Aa061F3d,18 -1256,ARV-429E,ARV,Artemis Vision,0x28fDA76721a8077A5dE802Ab0212849B8c38429E,18 -1257,RND-6b29,RND,random,0x1c7E83f8C581a967940DBfa7984744646AE46b29,18 -1258,UniFi-CEb5,UniFi,UniFi,0x9E78b8274e1D6a76a0dBbf90418894DF27cBCEb5,18 -1259,POLC-6B37,POLC,Polka City,0xaA8330FB2B4D5D07ABFE7A72262752a8505C6B37,18 -1260,SWFL-538A,SWFL,Swapfolio,0xBa21Ef4c9f433Ede00badEFcC2754B8E74bd538A,18 -1262,BOLT-a789,BOLT,Bolt Token,0xD5930C307d7395Ff807F2921F12C5EB82131a789,18 -1263,HAPI-Fb54,HAPI,HAPI,0xD9c2D319Cd7e6177336b0a9c93c21cb48d84Fb54,18 -1264,FREE-e4Fd,FREE,Free Coin,0x2F141Ce366a2462f02cEA3D12CF93E4DCa49e4Fd,18 -1265,KANGAL-d337,KANGAL,Kangal,0x6E765D26388A17A6e86c49A8E41DF3F58aBcd337,18 -1266,DBNB-d888,DBNB,DecentraBNB,0x833850BE8858722Cfc5E5e75f2Fe6275E055d888,9 -1267,STACK-3a0a,STACK,Stacker Ventures Token,0xe0955F26515d22E347B17669993FCeFcc73c3a0a,18 -1268,LOL-C032,LOL,LOL,0xf91AC30E9b517f6D57e99446ee44894e6C22C032,9 -1269,$AI-C2a1,$AI,Alpha Intelligence,0x5d259E3FbcAdef1abfeA5582e456Bc7F0aebC2a1,18 -1270,ARCH-f3aF,ARCH,Archer DAO Governance Token,0x1F3f9D3068568F8040775be2e8C03C103C61f3aF,18 -1271,DOS-9cB7,DOS,DOS Network Token,0x0A913beaD80F321E7Ac35285Ee10d9d922659cB7,18 -1272,MKONG-8065,MKONG,MEME KONG,0xeE6b9CF11D968E0bAc7BFfF547577B8AE35B8065,9 -1273,ACYC-e147,ACYC,AllCoinsYieldCapital,0xB56A1f3310578f23120182Fb2e58c087EFE6e147,18 -1274,LITx-7a91,LITx,LITH Token,0x4B48068864F77261838C7849A12853FB94c77a91,18 -1275,GFX-58fC,GFX,GamyFi,0x65ad6A2288b2Dd23E466226397c8F5D1794e58fC,18 -1276,WSCRT-68Be,WSCRT,Wrapped SCRT,0x2B89bF8ba858cd2FCee1faDa378D5cd6936968Be,6 -1277,BARK-ea60,BARK,Bark,0x53340a1EF3a0dDeBA1D94BBd1E2fF55936F0ea60,18 -1278,NTX-7935,NTX,NuNet Utility Token,0xF0d33BeDa4d734C72684b5f9abBEbf715D0a7935,6 -1279,WAXE-4DFD,WAXE,WAX Economic Token,0x7a2Bc711E19ba6aff6cE8246C546E8c4B4944DFD,8 -1280,ONX-1033,ONX,OnX.finance,0xE0aD1806Fd3E7edF6FF52Fdb822432e847411033,18 -1281,KATA-aE15,KATA,Katana Inu,0x2e85ae1C47602f7927bCabc2Ff99C40aA222aE15,18 -1282,rDPX-8D11,rDPX,Dopex Rebate Token,0x0ff5A8451A839f5F0BB3562689D9A44089738D11,18 -1283,XSTUSD-d356,XSTUSD,SORA Synthetic USD,0xc7D9c108D4E1dD1484D3e2568d7f74bfD763d356,18 -1284,LMT-c8AF,LMT,Lympo Market Token,0x327673aE6B33Bd3d90f0096870059994f30Dc8AF,18 -1285,UNQT-5d4C,UNQT,Unique Utility Token,0xa80f2C8f61c56546001f5FC2eb8D6E4e72c45d4C,18 -1286,PLU-264E,PLU,Pluton,0xD8912C10681D8B21Fd3742244f44658dBA12264E,18 -1287,X7DAO-2dA0,X7DAO,X7DAO,0x7105E64bF67ECA3Ae9b123F0e5Ca2b83b2eF2dA0,18 -1288,UFT-3AB1,UFT,UniLend Finance Token,0x0202Be363B8a4820f3F4DE7FaF5224fF05943AB1,18 -1289,RESET-EeD2,RESET,MetaReset,0x30df7D7EE52c1b03cd009e656F00AB875AdCEeD2,18 -1290,KISHUTAMA-7990,KISHUTAMA,KishuTama,0xDc0804eD9ABA9202E2b976C031d3144BB63a7990,9 -1291,YOP-4051,YOP,YOP,0xAE1eaAE3F627AAca434127644371b67B18444051,8 -1292,TENSHI-5292,TENSHI,TENSHI v2,0x52662717e448be36Cb54588499D5A8328BD95292,18 -1293,UNIQ-8025,UNIQ,Uniqly,0x3758e00b100876C854636eF8Db61988931BB8025,18 -1294,KNDX-EFC1,KNDX,Kondux,0x7CA5af5bA3472AF6049F63c1AbC324475D44EFC1,9 -1295,GT-4759,GT,GateChainToken,0xE66747a101bFF2dBA3697199DCcE5b743b454759,18 -1296,SIS-6dd9,SIS,Symbiosis,0xd38BB40815d2B0c2d2c866e0c72c5728ffC76dd9,18 -1297,COR-D835,COR,COR Token,0x9C2dc0c3CC2BADdE84B0025Cf4df1c5aF288D835,18 -1298,AZUKI-BaEd,AZUKI,DokiDokiAzuki,0x910524678C0B1B23FFB9285a81f99C29C11CBaEd,18 -1299,HEART-897C,HEART,HUMANS,0x8FAc8031e079F409135766C7d5De29cf22EF897C,18 -1300,FKX-6EBB,FKX,Knoxstertoken,0x16484d73Ac08d2355F466d448D2b79D2039F6EBB,18 -1301,YVS-f478,YVS,YVS.Finance,0xEC681F28f4561c2a9534799AA38E0d36A83Cf478,18 -1302,eMTRG-8A9F,eMTRG,Meter Governance mapped by Meter.io,0xBd2949F67DcdC549c6Ebe98696449Fa79D988A9F,18 -1303,BTSE-32Ef,BTSE,BTSE Token,0x666d875C600AA06AC1cf15641361dEC3b00432Ef,8 -1304,NFTT-9499,NFTT,NFT.TECH,0x5fA2E9Ba5757504B3d6e8f6da03cc40d4ce19499,18 -1305,LEASH-6634,LEASH,DOGE KILLER,0x27C70Cd1946795B66be9d954418546998b546634,18 -1306,ORION-46e4,ORION,Orion Money Token,0x727f064A78DC734D33eEc18d5370aef32Ffd46e4,18 -1307,GOKU-ED79,GOKU,Goku Inu,0xA64dFe8D86963151E6496BEe513E366F6e42ED79,9 -1308,HAPPY-26f4,HAPPY,HappyFans,0x3079F61704E9eFa2BcF1db412f735d8d4cFa26f4,18 -1309,HY-5715,HY,hybrix hydra,0x9b53E429B0baDd98ef7F01F03702986c516a5715,18 -1310,BANKETH-4cA1,BANKETH,BankEth,0xBE0C826f17680d8Da620855bE89DD6544C034cA1,18 -1311,DOSE-6515,DOSE,DOSE,0xb31eF9e52d94D4120eb44Fe1ddfDe5B4654A6515,18 -1312,STILT-bE4b,STILT,Stilton,0xB5F1457d6FBa1956Fb8d31B0B7CAcA14BDe0bE4b,9 -1313,cUSDT-dCC9,cUSDT,Compound USDT,0xf650C3d88D12dB855b8bf7D11Be6C55A4e07dCC9,8 -1314,HERO-884E,HERO,Challenge Coin,0x524Ebc93BeEf838F70b4Ae54b675d3e971D5884E,9 -1315,CRBN-24EE,CRBN,Carbon,0xCdeee767beD58c5325f68500115d4B722b3724EE,18 -1316,PWRC-4f83,PWRC,PWRCASH,0x6Aa40D02115090D40Dc33C7C5F3Cf05112fA4f83,18 -1317,GRV-290c,GRV,GroveC,0xF33893DE6eB6aE9A67442E066aE9aBd228f5290c,8 -1318,BID-02fa,BID,Bidao,0x25e1474170c4c0aA64fa98123bdc8dB49D7802fa,18 -1319,UFI-a0E3,UFI,PureFi Token,0xcDa4e840411C00a614aD9205CAEC807c7458a0E3,18 -1320,EDGE-7831,EDGE,Edge,0x4EC1b60B96193a64AcAe44778e51f7BfF2007831,18 -1321,BTT-7957,BTT,BitTorrent,0xC669928185DbCE49d2230CC9B0979BE6DC797957,18 -1322,ZONE-d53C,ZONE,GridZone.io,0xC1D9B5A0776d7C8B98b8A838e5a0DD1Bc5Fdd53C,18 -1323,RELIC-884F,RELIC,MasRelic,0x77132Bb08B02a7a87732ec289EFaB45edF49884F,18 -1324,DOGENS-2e3c,DOGENS,Dogens,0x1b4dD5eA240732dDAc8d74FD1Cd9026Addc02e3c,9 -1325,MASTERMIND-9b43,MASTERMIND,Mastermind,0x8b0FdE007458Ee153bd0F66CD448Af5FB3D99b43,18 -1326,GYSR-CCAb,GYSR,Geyser,0xbEa98c05eEAe2f3bC8c3565Db7551Eb738c8CCAb,18 -1327,SHIBAKEN-Ab6B,SHIBAKEN,ShibaKen.Finance,0xa4Cf2aFD3B165975afFFBf7e487CDd40C894Ab6B,0 -1328,DRT-D5Ab,DRT,DomRaiderToken,0x9AF4f26941677C706cfEcf6D3379FF01bB85D5Ab,8 -1329,FLOW-1BF9,FLOW,Flow Protocol,0xC6e64729931f60D2c8Bc70A27D66D9E0c28D1BF9,9 -1330,SRM-e0fF,SRM,Serum,0x476c5E26a75bd202a9683ffD34359C0CC15be0fF,6 -1331,EVED-91bd,EVED,Evedo Token,0x5aaEFe84E0fB3DD1f0fCfF6fA7468124986B91bd,18 -1332,WUKONG-D714,WUKONG,Monkey King,0xA3ec7DF93090f4DE46FaEA09F73cc40ebe7dD714,18 -1333,MORK-6F76,MORK,Mork,0xf552b656022c218C26dAd43ad88881Fc04116F76,4 -1334,tAI-3B7f,tAI,AITravis,0x2F4404C4012476929b6503E1397707480bf23B7f,9 -1335,CHART-E63E,CHART,ChartEx,0x1d37986F252d0e349522EA6C3B98Cb935495E63E,18 -1336,POLY-D1eC,POLY,Polymath,0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC,18 -1337,GATSBY-37b4,GATSBY,Gatsby Inu,0xE22910D04bDc9d55570f3BC52E786b49DddF37b4,18 -1338,GAS-8469,GAS,Gas DAO,0x6Bba316c48b49BD1eAc44573c5c871ff02958469,18 -1339,SHIWA-1cc4,SHIWA,SHIWA,0x5022Cb6D39001CDD6F996e8a66500c86128f1cc4,9 -1340,BAND-7f55,BAND,BandToken,0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55,18 -1341,BABYDOGE-eBd5,BABYDOGE,BabyDoge Coin,0xAC8E13ecC30Da7Ff04b842f21A62a1fb0f10eBd5,9 -1342,FUSE-f84d,FUSE,Fuse Token,0x970B9bB2C0444F5E81e9d0eFb84C8ccdcdcAf84d,18 -1343,MAGA-2228,MAGA,MAGA Coin ETH,0xc9b6A17EbB43491635F603A01f8Bb3e4B5D22228,9 -1344,DFP2-8E6D,DFP2,Defi Plaza governance,0x2F57430a6ceDA85a67121757785877b4a71b8E6D,18 -1345,EXP-2f77,EXP,Exp,0xd137561C20BE8e870D62e2aE92269f0950702f77,18 -1346,GTFO-3398,GTFO,DumpBuster,0xa0A9C16856C96D5E9d80a8696eEA5E02B2Dc3398,9 -1347,HUSKY-5091,HUSKY,HuskyToken,0xd5281BB2d1eE94866B03A0fcCDd4e900c8Cb5091,9 -1348,NII-bE52,NII,Nahmii,0x7c8155909cd385F120A56eF90728dD50F9CcbE52,15 -1349,FAMILY-61f4,FAMILY,The Bitcoin Family,0x833E4c02c47B7e38f5b9A80b26eb07D23d1961f4,4 -1350,UNCL-Dd49,UNCL,UNCL,0x2f4eb47A1b1F4488C71fc10e39a4aa56AF33Dd49,18 -1351,CAI-a48D,CAI,CryptoAI,0xf36C5f04127F7470834ed6f98bDDC1BE62aba48D,18 -1352,MCO2-cacD,MCO2,Moss Carbon Credit,0xfC98e825A2264D890F9a1e68ed50E1526abCcacD,18 -1353,BMDA-a95E,BMDA,Bermuda,0x4236f8aaF2B1f3A28420Eb15B8e0ddF63201a95E,18 -1354,MINT-a059,MINT,Public Mint,0x0CDF9acd87E940837ff21BB40c9fd55F68bba059,18 -1355,DINU-7732,DINU,Dogey-Inu,0xbb1EE07d6c7BAeB702949904080eb61f5D5e7732,18 -1356,FreqAI-f486,FreqAI,The Razors Edge,0xB685145D7F127b9093d7f9278BaE902EF59Ff486,18 -1357,NTVRK-157A,NTVRK,NETVRK,0xFc0d6Cf33e38bcE7CA7D89c0E292274031b7157A,18 -1358,OPCT-c400,OPCT,Opacity,0xDb05EA0877A2622883941b939f0bb11d1ac7c400,18 -1359,SI-93de,SI,SIREN,0xD23Ac27148aF6A2f339BD82D0e3CFF380b5093de,18 -1360,PAINT-4042,PAINT,Paint,0x4C6eC08CF3fc987c6C4BEB03184D335A2dFc4042,18 -1361,WXMR-B0f5,WXMR,Wrapped Monero,0x465e07d6028830124BE2E4aA551fBe12805dB0f5,18 -1362,EDDA-0aA9,EDDA,EDDA,0xFbbE9b1142C699512545f47937Ee6fae0e4B0aA9,18 -1363,JACY-4A62,JACY,JACY,0x916c5DE09cF63f6602d1e1793FB41F6437814A62,9 -1364,BCT-150a,BCT,BananaClubToken,0x350D3f0f41b5B21F0e252fe2645AE9D55562150a,9 -1365,MCAP-44f0,MCAP,Meta Capital,0xbCE0665b20164d6cd6D15E70feD1E094AD4A44f0,9 -1366,PLSPAD-C47A,PLSPAD,PULSEPAD.io,0x8a74BC8c372bC7f0E9cA3f6Ac0df51BE15aEC47A,18 -1367,DOKI-71f5,DOKI,Okidoki Social,0x869DBe51Dc214fcb663604b0F7B548592F8C71f5,9 -1368,SDOG-E0D4,SDOG,SDOG,0x537edD52ebcb9F48ff2f8a28c51FCdB9D6a6E0D4,18 -1369,DBOX-D973,DBOX,Decentra Box,0x56c9D5F1E727de03643af220B5cE52DE23D4D973,18 -1370,ARCHA-C7fD,ARCHA,archangel,0x36E43065e977bC72CB86Dbd8405fae7057CDC7fD,9 -1371,FMON-e96D,FMON,FMONEY TOKEN,0xD283EC9db7B3094ED5a2c87Eb48D54f5FA96e96D,9 -1372,IXS-d1b4,IXS,Ixs Token,0x73d7c860998CA3c01Ce8c808F5577d94d545d1b4,18 -1373,STARS-13Ca,STARS,Mogul Stars,0xc55c2175E90A46602fD42e931f62B3Acc1A013Ca,18 -1374,PAID-D787,PAID,PAID Network,0x1614F18Fc94f47967A3Fbe5FfcD46d4e7Da3D787,18 -1375,SNTVT-B7F8,SNTVT,Sentivate,0x7865af71cf0b288b4E7F654f4F7851EB46a2B7F8,18 -1376,MOMA-D55B,MOMA,MOchi MArket,0xbd1848e1491d4308Ad18287A745DD4DB2A4BD55B,18 -1377,GLDN-0CC2,GLDN,Gold Retriever,0xFeeB4D0f5463B1b04351823C246bdB84c4320CC2,18 -1378,VERI-2374,VERI,Veritaseum,0x8f3470A7388c05eE4e7AF3d01D8C722b0FF52374,18 -1379,IMP-4543,IMP,Imperial Obelisk,0x2D5C73f3597B07F23C2bB3F2422932E67eca4543,18 -1380,WPT-88eA,WPT,WPT Investing Corp,0x4FD51Cb87ffEFDF1711112b5Bd8aB682E54988eA,18 -1381,OJE-6409,OJE,OJE Token,0xC5ec4f1FC86DA45AE788EC98756BA70B57676409,18 -1382,PNK-c04d,PNK,Pinakion,0x93ED3FBe21207Ec2E8f2d3c3de6e058Cb73Bc04d,18 -1383,TOKR-6772,TOKR,Tokerr,0xA885B6d3C87535de688194Ec3645199ee76D6772,9 -1384,CLIFF-6669,CLIFF,CliffordInu,0x1B9BAF2A3EdeA91eE431f02d449a1044d5726669,18 -1385,R34P-81F6,R34P,R34P,0xCAEaf8381D4B20b43AFA42061D6f80319A8881F6,8 -1386,DCNT-8701,DCNT,Decanect,0x4Ce4C025692B3142dbdE1cd432ef55b9A8D18701,9 -1387,TRND-7CCb,TRND,Trendering,0xc3dD23A0a854b4f9aE80670f528094E9Eb607CCb,18 -1388,USF-b9ce,USF,Unslashed Finance Governance Token,0xE0e05c43c097B0982Db6c9d626c4eb9e95C3b9ce,18 -1389,SHIBU-91a4,SHIBU,SHIBAUNIVERSE.ORG,0x7bFDE33d790411A88D46E9e1be32Fc86228891a4,9 -1390,oBTC-B2AC,oBTC,Ordinal BTC ,0xfF770E4c68e35DB85c6e0E89a43750eC02bDB2AC,18 -1391,DEV-aEa0,DEV,Dev Doing Something,0x77E20FC7f2F4084b74284E1190810fCa3679aEa0,9 -1392,BabyTrump-08B6,BabyTrump,Baby Trump Token,0x99d36e97676A68313ffDc627fd6b56382a2a08B6,9 -1393,UPR-2385,UPR,Upfire,0xf720E38F678B29B243F7D53B56Acbf5dE98F2385,18 -1394,MCC-9e0C,MCC,MultiChainCapital,0xC146B7CdBaff065090077151d391f4c96Aa09e0C,9 -1395,ETHPAD-C442,ETHPAD,ETHPAD.network,0x8dB1D28Ee0d822367aF8d220C0dc7cB6fe9DC442,18 -1396,KLEE-de71,KLEE,KleeKai,0xA67E9F021B9d208F7e3365B2A155E3C55B27de71,9 -1397,CELR-C667,CELR,CelerToken,0x4F9254C83EB525f9FCf346490bbb3ed28a81C667,18 -1398,VetMe-4E1f,VetMe,VetMe,0xe7eF051C6EA1026A70967E8F04da143C67Fa4E1f,9 -1399,SPO-CC4E,SPO,Spores,0xcbE771323587EA16dACB6016e269D7F08A7ACC4E,18 -1400,ELF-100e,ELF,ELF Token,0xbf2179859fc6D5BEE9Bf9158632Dc51678a4100e,18 -1401,NUX-911c,NUX,NUX Peanut.trade,0x89bD2E7e388fAB44AE88BEf4e1AD12b4F1E0911c,18 -1402,BNV-d749,BNV,BunnyVerse,0x072987D5B36aD8d45552aEd98879a7101cCdd749,18 -1403,STATS-0caD,STATS,Stats,0x39142c18B6db2a8A41B7018f49E1478837560caD,9 -1404,DYT-1E14,DYT,DoYourTip,0x740623d2c797b7D8D1EcB98e9b4Afcf99Ec31E14,18 -1405,MINTYS-bE85,MINTYS,MintySwap,0xBbd900e05b4aF2124390D206F70bc4E583B1bE85,9 -1406,QR-B002,QR,Qrolli,0xCcDb064a41AFcD432BCEa6F6d0D1E7c371d0B002,9 -1407,JIG-49E9,JIG,Jigen,0xe2Fc859C838F31C1450448f4FeD92e3284aE49E9,18 -1408,UNISTAKE-4E5E,UNISTAKE,Unistake,0x9Ed8e7C9604790F7Ec589F99b94361d8AAB64E5E,18 -1409,UGT-0063,UGT,Unreal Governance Token,0x9cf98Eb8A8B28c83E8612046cf55701Ce3Eb0063,18 -1410,ZEUS-20b1,ZEUS,ZEUS10000,0xcbC1Aa6961B28cCcb11E1cdDd84Ad8B42Ec920b1,4 -1411,MONSTR-4660,MONSTR,MonstaVerse,0xba75fBC4C7a553081F7A137b6e652520Db444660,9 -1412,BlueSparrow-6FdE,BlueSparrow,BlueSparrowToken,0x24cCeDEBF841544C9e6a62Af4E8c2fA6e5a46FdE,9 -1413,REALM-CFB8,REALM,REALM,0x464FdB8AFFC9bac185A7393fd4298137866DCFB8,18 -1414,NITRO-87B8,NITRO,Nitro,0x0335A7610D817aeCA1bEBbEfbd392ecC2eD587B8,18 -1415,STARL-6B24,STARL,StarLink,0x8E6cd950Ad6ba651F6DD608Dc70e5886B1AA6B24,18 -1416,ShibDoge-928F,ShibDoge,ShibaDoge,0x6ADb2E268de2aA1aBF6578E4a8119b960E02928F,9 -1417,MARU-2b00,MARU,Marutaro,0xC2456D2118299a2efDFE6522Ff79aA48fC5d2b00,9 -1418,BleYd-94b9,BleYd,Black Eyed Dragon,0x59B44e9AC4AB8e29db6Faf7baCd726C6B7bC94b9,9 -1419,ANARCHY-Ce8c,ANARCHY,Anarchy,0x53fD2342B43eCD24AEf1535BC3797F509616Ce8c,9 -1420,STORJ-b8aC,STORJ,StorjToken,0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC,8 -1421,SWM-ca39,SWM,SWARM,0x3505F494c3f0fed0B594E01Fa41Dd3967645ca39,18 -1422,MOD-1D71,MOD,Modefi,0xEA1ea0972fa092dd463f2968F9bB51Cc4c981D71,18 -1423,TACO-2557,TACO,Tacos,0x00D1793D7C3aAE506257Ba985b34C76AaF642557,18 -1424,YASHA-D753,YASHA,YASHA,0xD75f1f81B69bDd4Df8EfbB70e9C6F4609009D753,18 -1425,REDPANDA-44b9,REDPANDA,RedPanda Earth,0x9ba4CBcBb920F67f54A8F8f0001D721E0B8944b9,9 -1426,PKN-9503,PKN,Poken,0xdf09a216Fac5ADC3e640Db418C0b956076509503,18 -1427,Totoro-2F12,Totoro,Totoro Inu,0xfc09c7cFD9c175DD9423ca02aE1249579AB12F12,9 -1428,FTRB-81D7,FTRB,Faith Tribe,0x2596825a84888E8f24b747DF29e11b5dd03C81D7,18 -1429,CAT+-fbd6,CAT+,Capital Aggregator Token,0x686c77609aFe6A2fac50421888530288B441fbd6,18 -1430,XCN-fb18,XCN,Chain,0xA2cd3D43c775978A96BdBf12d733D5A1ED94fb18,18 -1431,SHINJI-0afd,SHINJI,Shinji Inu,0x1F31DD60b84ea2a273cfC56876437E069aE80afd,9 -1432,SAITAMA-27B2,SAITAMA,SAITAMA,0xCE3f08e664693ca792caCE4af1364D5e220827B2,9 -1433,KTO-F8fC,KTO,Kounotori,0x616ef40D55C0D2c506f4d6873Bda8090b79BF8fC,9 -1434,GYOKUTO-612D,GYOKUTO,Tsuki no Usagi,0x166D45e55143ea15032672Ac9f591A4401CC612D,9 -1435,SHINTAMA-76dA,SHINTAMA,Shintama,0x7e794eD35788b698AE60cefC98eE48015C4876dA,9 -1436,$CWI-ba5D,$CWI,Crypto Wrestling Inu,0xE2d310CB8992b3Fa1051BA4710F41c43eB5Bba5D,18 -1437,GAMMA-e197,GAMMA,Gamma,0x6BeA7CFEF803D1e3d5f7C0103f7ded065644e197,18 -1438,GVC-58Bf,GVC,Galaxy Villains,0x8dc89F4716E027394Bba225b82328C1ea2Ea58Bf,18 -1439,SHIBN-B3B3,SHIBN,Shibnaut,0xd346E8ADA104093ADcf5f4186087E1AD309BB3B3,18 -1440,GHX-387d,GHX,GamerCoin,0x728f30fa2f100742C7949D1961804FA8E0B1387d,18 -1441,CONV-8B50,CONV,Convergence,0xc834Fa996fA3BeC7aAD3693af486ae53D8aA8B50,18 -1442,DAFI-6439,DAFI,DAFI Token,0xFc979087305A826c2B2a0056cFAbA50aad3E6439,18 -1443,yShori-d69b,yShori,Shori 勝利,0x25644eA5bE09d1266B5df3F96559Ecdc2D0ad69b,18 -1444,ELongD-4d1B,ELongD,Elongate Deluxe,0x348B7f3106B5Da47405332534d06069fF9CE4d1B,9 -1445,eMax-7FF6,eMax,EthereumMax,0x15874d65e649880c2614e7a480cb7c9A55787FF6,18 -1446,RBC-3333,RBC,RUBIC TOKEN,0x3330BFb7332cA23cd071631837dC289B09C33333,18 -1447,LAEEB-863d,LAEEB,Laeeb Inu,0x3B1a3C5d9D5C60651D4841C7814aA0FbB45A863d,18 -1448,$colR-4415,$colR,colR Coin,0x14b40AD2EBA6c1B31db2bA817b07578AFB414415,18 -1449,Happy-3378,Happy,HappyBear,0x651e44D0df89055c00513d0efb9E8d1A0C843378,18 -1450,WHL-a46A,WHL,WhaleRoom,0x2aF72850c504dDD3c1876C66a914cAee7Ff8a46A,18 -1451,SHUEY-5E5D,SHUEY,Shuey Rhon Inu,0xcDcA1B81DbB543BAA92c97b701396Cd3bA315E5D,18 -1452,iFUND-b0f0,iFUND,UNIFUND,0x04B5E13000C6e9A3255Dc057091F3e3Eeee7b0f0,18 -1453,TST-9B53,TST,Standard Token,0xa0b93B9e90aB887E53F9FB8728c009746e989B53,18 -1454,YPIE-CE31,YPIE,Yearn Ecosystem Pie,0x17525E4f4Af59fbc29551bC4eCe6AB60Ed49CE31,18 -1455,XED-fd86,XED,Exeedme,0xee573a945B01B788B9287CE062A0CFC15bE9fd86,18 -1456,PICKLE-1Ca5,PICKLE,PickleToken,0x429881672B9AE42b8EbA0E26cD9C73711b891Ca5,18 -1457,SHUNAV2-8dd1,SHUNAV2,Shuna Inuverse,0xDE72a052cBB212eFf11A4A33d61dF9C5A2De8dd1,9 -1458,NFP-0834,NFP,New Frontier Presents,0x299698B4B44BD6d023981A7317798dEe12860834,9 -1459,PAWTH-367F,PAWTH,Pawthereum,0xAEcc217a749c2405b5ebC9857a16d58Bdc1c367F,9 -1460,TRENDX-c936,TRENDX,Trend X,0xC89d9aa9D9E54bb196319c6195AEA1038d2bc936,18 -1461,POOLZ-4e23,POOLZ,$Poolz Finance,0x69A95185ee2a045CDC4bCd1b1Df10710395e4e23,18 -1462,HULK-f3aa,HULK,HULK INU,0x91a5de30e57831529a3c1aF636A78a7E4E83f3aa,18 -1463,RINIA-FD7D,RINIA,Rinia Inu,0x8f828a0644f12Fa352888E645a90333d30f6FD7D,9 -1464,KYL-b99C,KYL,Kylin Network,0x67B6D479c7bB412C54e03dCA8E1Bc6740ce6b99C,18 -1465,BabyShiba-1A1D,BabyShiba,Baby Shiba Coin,0x66A64a8A9cdc54EF97e45a051bA1c8f3D4b41A1D,18 -1467,DIS-cDC6,DIS,TosDis,0x220B71671b649c03714dA9c621285943f3cbcDC6,18 -1468,FETCH-c66b,FETCH,Fetch,0xcC779bbBD17b2E68ECdCCaeA3d8C791B1573c66b,18 -1469,TSANGNYON-C242,TSANGNYON,TSANGNYON HERUKA,0xd031edafac6a6ae5425e77F936022E506444C242,18 -1470,BIRD-7Ce0,BIRD,Bird.Money,0x70401dFD142A16dC7031c56E862Fc88Cb9537Ce0,18 -1471,MLT-521d,MLT,Media Licensing Token,0x9506d37f70eB4C3d79C398d326C871aBBf10521d,18 -1472,GTH-3674,GTH,Gather,0xeb986DA994E4a118d5956b02d8b7c3C7CE373674,18 -1473,DOGEGF-6Bc5,DOGEGF,DogeGF,0xfb130d93E49DcA13264344966A611dc79a456Bc5,18 -1474,HT-a161,HT,HuobiToken,0x6f259637dcD74C767781E37Bc6133cd6A68aa161,18 -1475,DGTX-eC09,DGTX,DigitexFutures,0xc666081073E8DfF8D3d1c2292A29aE1A2153eC09,18 -1476,AIR-cCeA,AIR,Ape In Records,0xF725f73CAEe250AE384ec38bB2C77C38ef2CcCeA,18 -1477,WCHI-4605,WCHI,Wrapped CHI,0x6DC02164d75651758aC74435806093E421b64605,8 -1478,SHIT-469F,SHIT,ShitCoin,0x4e4a47cAC6A28A62dcC20990ed2cdA9BC659469F,18 -1479,WAGIE-a3Ec,WAGIE,WAGIE,0x492baa7A6450712D4bbCCa01B87F029DEe3Ea3Ec,9 -1480,DMT-AE6c,DMT,Dark Matter Token,0x79126d32a86e6663F3aAac4527732d0701c1AE6c,18 -1481,SAITOKI-87Fa,SAITOKI,Saitoki Inu,0xa3c56427683a19F7574b9fc219CFD27d5d6e87Fa,9 -1482,FIRE-2D43,FIRE,Fire Protocol,0xF921ae2DAC5fa128DC0F6168Bf153ea0943d2D43,8 -1483,HEY-F7Ee,HEY,Hey,0xE61F6e39711cEc14f8D6c637c2f4568bAA9FF7Ee,18 -1484,KOMPETE-46E9,KOMPETE,KOMPETE Token,0x1E0b2992079B620AA13A7c2E7c88D2e1E18E46E9,10 -1485,RLY-E49b,RLY,Rally,0xf1f955016EcbCd7321c7266BccFB96c68ea5E49b,18 -1486,MDX-1788,MDX,MANDALA EXCHANGE TOKEN,0x947AEb02304391f8fbE5B25D7D98D649b57b1788,18 -1487,YFIII-2A45,YFIII,DiFy.Finance,0x4be40bc9681D0A7C24A99b4c92F85B9053Fc2A45,18 -1488,SIPHER-F511,SIPHER,Sipher Token,0x9F52c8ecbEe10e00D9faaAc5Ee9Ba0fF6550F511,18 -1489,$DG-78a0,$DG,decentral.games,0xEE06A81a695750E71a662B51066F2c74CF4478a0,18 -1490,CDS-6e5e,CDS,Capital DAO Starter Token,0x3c48Ca59bf2699E51d4974d4B6D284AE52076e5e,18 -1491,OPTIMUS-215d,OPTIMUS,Optimus,0x562E362876c8Aee4744FC2c6aaC8394C312d215d,9 -1492,Metis-ed8e,Metis,Metis Token,0x9E32b13ce7f2E80A01932B42553652E053D6ed8e,18 -1493,PEEP$-9892,PEEP$,The Peoples Coin,0x5919DeA604631016c15c805e3D948A0384879892,9 -1494,CLAW-1D1C,CLAW,Claw,0x41B25Ff6431074959532dB7435DAdacA65a21D1C,18 -1495,TheAD-6189,TheAD,The Akragas Decadrachm,0xCB056A2f3cA0B82aB69dcbd677875D68B74D6189,8 -1496,TAP-db5D,TAP,Tapmydata,0x7f1F2D3dFa99678675ECE1C243d3f7bC3746db5D,18 -1497,EPAN-Bafc,EPAN,Paypolitan Token,0x72630B1e3B42874bf335020Ba0249e3E9e47Bafc,18 -1498,AFY-6A21,AFY,Artify,0xa41161AF8D4Ee421ba5fED4328F2B12034796A21,18 -1499,ERA-01EB,ERA,ERA,0x67776f14E5E9e7845e33fB0c2a3C709d259D01EB,18 -1500,KOI-856C,KOI,The Dragon Gate,0x8AE340d333fFB274969f505A6520b91024BC856C,9 -1501,CoShi-B00A,CoShi,CoShi Inu,0x668C50B1c7f46EFFBE3f242687071d7908AAB00A,9 -1502,WVG0-b611,WVG0,Wrapped Virgin Gen 0,0x25C7b64A93Eb1261E130eC21a3e9918CaA38b611,18 -1503,AKITA-23E6,AKITA,Akita Inu,0x3301Ee63Fb29F863f2333Bd4466acb46CD8323E6,18 -1504,KEY-96E7,KEY,SelfKey,0x4CC19356f2D37338b9802aa8E8fc58B0373296E7,18 -1505,EPIK-dF75,EPIK,Epik Prime,0x4da0C48376C277cdBd7Fc6FdC6936DEE3e4AdF75,18 -1506,BLES-31Cd,BLES,Blind Boxes Token,0xE796d6ca1ceb1b022EcE5296226BF784110031Cd,18 -1507,NFY-42bC,NFY,Non-Fungible Yearn,0x1cBb83EbcD552D5EBf8131eF8c9CD9d9BAB342bC,18 -1508,HRD-3445,HRD,Hoard,0x461B71cff4d4334BbA09489acE4b5Dc1A1813445,9 -1509,SHPING-1BEC,SHPING,Shping Coin,0x7C84e62859D0715eb77d1b1C4154Ecd6aBB21BEC,18 -1510,VSP-8421,VSP,VesperToken,0x1b40183EFB4Dd766f11bDa7A7c3AD8982e998421,18 -1511,NFTP-2465,NFTP,NFT Platform Index,0x68bB81B3F67f7AAb5fd1390ECB0B8e1a806F2465,18 -1512,STAK-6D13,STAK,Jigstack,0x1F8A626883d7724DBd59eF51CBD4BF1Cf2016D13,18 -1513,SIGIL-40E4,SIGIL,Sigil Finance,0xF029Fd6b5ED35C825Dd02B7A02952C30002840E4,18 -1514,CAP-3142,CAP,Cap,0x43044f861ec040DB59A7e324c40507adDb673142,18 -1515,RIDGE-3165,RIDGE,Ridge,0x64609A845Ad463d07ee51e91a88D1461C3Dc3165,9 -1516,TAXHAVENINU-bD01,TAXHAVENINU,Tax Haven Inu,0x664C6E221c77313307467B121528ad563107bD01,9 -1517,VEE-13B7,VEE,BLOCKv Token,0x340D2bdE5Eb28c1eed91B2f790723E3B160613B7,18 -1518,WNK-8Eba,WNK,Winkies,0xE1BDA0c3Bfa2bE7f740f0119B6a34F057BD58Eba,18 -1519,NFTL-F2DD,NFTL,NFTLAUNCH.network,0xe7F72Bc0252cA7B16dBb72eEee1AfcDb2429F2DD,18 -1520,SWINGBY-b13A,SWINGBY,SWINGBY token,0x8287C7b963b405b7B8D467DB9d79eEC40625b13A,18 -1521,SXP-b6A9,SXP,Swipe,0x8CE9137d39326AD0cD6491fb5CC0CbA0e089b6A9,18 -1522,KISHU-817D,KISHU,Kishu Inu,0xA2b4C0Af19cC16a6CfAcCe81F192B024d625817D,9 -1523,GAME-2437,GAME,GAME Credits,0x63f88A2298a5c4AEE3c216Aa6D926B184a4b2437,18 -1524,1MIL-A016,1MIL,1MILNFT,0xa4eF4b0B23C1fc81d3f9ecF93510e64f58A4A016,18 -1525,DGMAN-d7C9,DGMAN,DogeMan,0x3cc1020aCDCd64b11Dd417d2C28388E71605d7C9,9 -1526,MatsuSwap-26C4,MatsuSwap,MatsuSwap,0x2F0F622a93c85C43Fd47f4Ab119360f5846026C4,9 -1527,LEAP-a134,LEAP,LEAP Token,0x53263d9EF74Db583b15fbC6D5D4e8B83833fa134,18 -1528,WHITE-6B44,WHITE,Whiteheart Token,0x5F0E628B693018f639D10e4A4F59BD4d8B2B6B44,18 -1529,imgnAI-CBe0,imgnAI,Image Generation AI | imgnAI.com,0xA735A3AF76CC30791C61c10d585833829d36CBe0,9 -1530,X7R-ca54,X7R,X7R,0x70008F18Fc58928dcE982b0A69C2c21ff80Dca54,18 -1531,FOX-e52d,FOX,FOX,0xc770EEfAd204B5180dF6a14Ee197D99d808ee52d,18 -1532,BOTTO-5BBA,BOTTO,Botto,0x9DFAD1b7102D46b1b197b90095B5c4E9f5845BBA,18 -1533,DACT-EBec,DACT,Dact Coin,0x343c6de13833bc7d9890eb6B1cd3FBeBC730EBec,9 -1534,MMAI-a90F,MMAI,MetamonkeyAi,0xaa0c5B3567fd1bac8a2a11EB16c3F81a49eea90F,7 -1535,CINO-6090,CINO,Cino Token,0x9b0B23b35AD8136E6181F22b346134cE5f426090,18 -1536,DOKI-7544,DOKI,DokiDokiFinance,0x9cEB84f92A0561fa3Cc4132aB9c0b76A59787544,18 -1537,TECH-5698,TECH,Cryptomeda,0x6286A9e6f7e745A6D884561D88F94542d6715698,18 -1538,CENT-35bc,CENT,Centaurify,0x08ba718F288c3b12B01146816bef9FA03cC635bc,18 -1539,MOON-4824,MOON,MoonToken,0x68a3637bA6E75c0f66B61A42639c4e9fCD3D4824,18 -1540,SWT-c29A,SWT,ShibWallet,0x1f05DeE43dF9fd0Cd7F4b011B20b04870a30c29A,18 -1541,TRADE-4fB1,TRADE,UniTrade,0x6F87D756DAf0503d08Eb8993686c7Fc01Dc44fB1,18 -1542,GENART-BaC8,GENART,GEN.ART,0x12E56851Ec22874520Dc4c7fa0A8a8d7DBa1BaC8,18 -1543,BASE-5fDC,BASE,Base Protocol,0x07150e919B4De5fD6a63DE1F9384828396f25fDC,9 -1544,SPHRI-b3Ec,SPHRI,Spherium Token,0x8A0cdfaB62eD35b836DC0633482798421C81b3Ec,18 -1545,LPT-B239,LPT,Livepeer Token,0x58b6A8A3302369DAEc383334672404Ee733aB239,18 -1546,MITx-1Db6,MITx,Morpheus Infrastructure Token,0x4a527d8fc13C5203AB24BA0944F4Cb14658D1Db6,18 -1547,CLIQ-6767,CLIQ,Cliq,0x0Def8d8addE14c9eF7c2a986dF3eA4Bd65826767,18 -1548,SHIBO-CDa2,SHIBO,Shibosu,0x38e3b07D607dEF629b4f3f46a0082006fdd6CDa2,18 -1549,ankrETH-c3cb,ankrETH,Ankr Staked ETH,0xE95A203B1a91a908F9B9CE46459d101078c2c3cb,18 -1550,STOS-Bdcc,STOS,Stratos Token,0x08c32b0726C5684024ea6e141C50aDe9690bBdcc,18 -1551,FCL-0EB3,FCL,Fractal Protocol Token,0xF4d861575ecC9493420A3f5a14F85B13f0b50EB3,18 -1552,SWAI-7eAe,SWAI,SchwiftAI,0x3540DFCaD7CF102a2E44AA0e2132FAb1c89d7eAe,18 -1553,TSX-9Bfd,TSX,TradeStars TSX,0x734C90044a0bA31B3F2e640c10dC5d3540499Bfd,18 -1554,RARE-6350,RARE,SuperRare,0xba5BDe662c17e2aDFF1075610382B9B691296350,18 -1555,A Birds Nest-873A,A Birds Nest,HOOT,0x12A7530D6f9e1a9B0351D78aB711f7C2c033873A,18 -1556,MoFi-7544,MoFi,MobiFi,0xB2dbF14D0b47ED3Ba02bDb7C954e05A72deB7544,18 -1557,$TRDL-188a,$TRDL,Strudel Finance,0x297D33e17e61C2Ddd812389C2105193f8348188a,18 -1558,DODO-4DDd,DODO,DODO bird,0x43Dfc4159D86F3A37A5A4B3D4580b888ad7d4DDd,18 -1559,Fortune-B015,Fortune,Fortune,0x9F009D03E1b7F02065017C90e8e0D5Cb378eB015,9 -1560,wLITI-5f93,wLITI,wLitiCapital,0x0b63128C40737B13647552e0C926bCFEccC35f93,18 -1561,GSWAP-f8B2,GSWAP,gameswap.org,0xaac41EC512808d64625576EDdd580e7Ea40ef8B2,18 -1562,HELIOS-01a1,HELIOS,Mission Helios,0xC6d1f1D5a46de07E73091f1c8793293B203f01a1,18 -1563,TEN-40E4,TEN,Tokenomy,0xDD16eC0F66E54d453e6756713E533355989040E4,18 -1564,LABRA-d600,LABRA,Labra,0x106d3C66d22D2DD0446df23D7F5960752994d600,9 -1565,SCAN-871b,SCAN,CoinScan,0x234D51eE02be808A0160b19b689660Fb7BFA871b,9 -1566,TXL-4b41,TXL,Tixl Token,0x8eEF5a82E6Aa222a60F009ac18c24EE12dBf4b41,18 -1567,ROGE-c80A,ROGE,Rogue Doge,0x45734927Fa2f616FbE19E65f42A0ef3d37d1c80A,9 -1568,SAITANOBI-F1C6,SAITANOBI,Saitanobi,0x5e9F35E8163c44cD7e606BdD716AbED32AD2F1C6,9 -1569,TONE-03c4,TONE,TE-FOOD/TustChain,0x2Ab6Bb8408ca3199B8Fa6C92d5b455F820Af03c4,18 -1570,GRC-53c6,GRC,GreenCoin,0x46D886887B6908183032c75dee1b731B26D653c6,18 -1571,HOKK-21E8,HOKK,Hokkaido Inu,0xe87e15B9c7d989474Cb6d8c56b3DB4eFAD5b21E8,18 -1572,HOICHI-d2b6,HOICHI,Hoichi 芳一,0xC4EE0aA2d993ca7C9263eCFa26c6f7e13009d2b6,18 -1573,BBANK-f267,BBANK,BlockBank,0xF4b5470523cCD314C6B9dA041076e7D79E0Df267,18 -1574,RIOT-2Eb4,RIOT,RIOT,0xf56408077487cB879c992909C5b5C66D68c02Eb4,18 -1575,PZ-38E0,PZ,Paradigm Zero,0x578Dc16c47327429fF1594fA3eB77A96F38438E0,9 -1576,WOLVERINU-5f14,WOLVERINU,WOLVERINU,0x7Cc97Bf17C5AdaBe25F9D19D15A1eC8A1ad65f14,18 -1577,EGGS-82e0,EGGS,Eggs,0x2e516BA5Bf3b7eE47fb99B09eaDb60BDE80a82e0,18 -1578,CARDS-52d9,CARDS,CARD.STARTER,0x3d6F0DEa3AC3C607B3998e6Ce14b6350721752d9,18 -1579,LFT-3F82,LFT,LendFlare DAO Token,0xB620Be8a1949AA9532e6a3510132864EF9Bc3F82,18 -1580,BUH-4427,BUH,BUHUND,0x66bcD0C22Bb15cD1bA7199C7a383DC89528f4427,18 -1581,$CHOO-F8A0,$CHOO,Chooky Inu,0x9c5476Af06590A9277C7706fe70c0a42A480F8A0,18 -1582,DFYN-9023,DFYN,DFYN Token,0x9695e0114e12C0d3A3636fAb5A18e6b737529023,18 -1583,ZINU-d508,ZINU,ZINU,0xC5FDf3569af74f3B3e97E46A187a626352D2d508,9 -1584,SHIBORG-a741,SHIBORG,Shibrobi,0x372C95CE229a7Af37D141F627d09f6Df1DbAa741,9 -1585,VALUE-8E5c,VALUE,Value Liquidity,0x49E833337ECe7aFE375e44F4E3e8481029218E5c,18 -1586,KEI-A842,KEI,keisukeinu.finance,0xc0114F14638a333A4D5C3b04F09b96372348A842,9 -1587,RDT-fCa3,RDT,Ridotto,0x4740735AA98Dc8aa232BD049f8F0210458E7fCa3,18 -1588,OIN-1259,OIN,oinfinance,0x9aeB50f542050172359A0e1a25a9933Bc8c01259,8 -1589,SWRV-D433,SWRV,Swerve DAO Token,0xB8BAa0e4287890a5F79863aB62b7F175ceCbD433,18 -1590,QSP-b80d,QSP,Quantstamp Token,0x99ea4dB9EE77ACD40B119BD1dC4E33e1C070b80d,18 -1591,RR-68eD,RR,Red Rabbit,0xfe98C2B85cAaFE841ca7Fa8b3B912a178A3f68eD,18 -1592,GDAO-86Bc,GDAO,Governor,0x515d7E9D75E2b76DB60F8a051Cd890eBa23286Bc,18 -1593,PTF-39F7,PTF,PowerTrade Fuel Token,0xC57d533c50bC22247d49a368880fb49a1caA39F7,18 -1594,HOGE-7607,HOGE,hoge.finance,0xfAd45E47083e4607302aa43c65fB3106F1cd7607,9 -1595,WWY-E322,WWY,WeWay Token,0x9Ab70e92319f0b9127df78868Fd3655fB9f1E322,18 -1596,WIZ-06B2,WIZ,WIZ,0x603778e5e07e180E300bD10df7fA626313a206B2,4 -1597,SHR-a964,SHR,ShareToken,0xd98F75b1A3261dab9eEd4956c93F33749027a964,2 -1598,KEEP-aFEC,KEEP,KEEP Token,0x85Eee30c52B0b379b046Fb0F85F4f3Dc3009aFEC,18 -1599,ARTEQ-c787,ARTEQ,arteQ NFT Investment Fund,0x805C2077f3ab224D889f9c3992B41B2F4722c787,0 -1600,NET-A71F,NET,DEFINET,0x77A9B858aA8417fd318ecEE01C1d6D9fEF31A71F,18 -1601,GME-5590,GME,GameStop.Finance,0x9eb6bE354d88fD88795a04DE899a57A77C545590,18 -1602,VADER-0983,VADER,Vader,0x2602278EE1882889B946eb11DC0E810075650983,18 -1603,BARD-14DF,BARD,Bard Protocol,0x9E7e87608A34Bc66396D53e69B9495Bd8f5414DF,9 -1604,THEOS-Da1d,THEOS,THEOS,0x9e10f61749c4952C320412A6B26901605Ff6Da1d,18 -1605,BLOCK-E-0a60,BLOCK-E,BLOCK-E,0xa9f9aCB92E4E2f16410511D56839A5Bd1d630a60,9 -1606,CINU-8c32,CINU,CheemsInu,0xA64D5d1eB67748226d84812B45711453f1118c32,9 -1607,VOLT-58Ac,VOLT,Volt Inu,0x7db5af2B9624e1b3B4Bb69D6DeBd9aD1016A58Ac,9 -1608,oDOGE-EaBC,oDOGE,Ordinal Doge,0x796a4503b444A71b331c9556bEF0815237ddEaBC,18 -1609,BC-2Ae9,BC,Bitcoin,0xe03B2642A5111aD0EFc0cbCe766498c2dd562Ae9,9 -1610,DANDY-9B82,DANDY,dandy.dego,0x9Dfc4B433D359024Eb3E810d77d60fbE8B0d9B82,18 -1611,SIDUS-1102,SIDUS,SIDUS,0x549020a9Cb845220D66d3E9c6D9F9eF61C981102,18 -1612,TheRadio-622C,TheRadio,Radioreum,0xAA2DEd323944b25C0B6f1F891Bc96F010b65622C,18 -1613,HXRO-38f3,HXRO,Hxro,0x4bD70556ae3F8a6eC6C4080A0C327B24325438f3,18 -1614,NORD-a0DE,NORD,Nord Token,0x6e9730EcFfBed43fD876A264C982e254ef05a0DE,18 -1615,PoA-B8cE,PoA,Proof Of Apes,0x1d2d542e6D9d85A712deB4D1a7D96a16CE00B8cE,18 -1616,LEAD-C4ce,LEAD,Lead Token,0x1dD80016e3d4ae146Ee2EBB484e8edD92dacC4ce,18 -1617,imBTC-8923,imBTC,The Tokenized Bitcoin,0x3212b29E33587A00FB1C83346f5dBFA69A458923,8 -1618,AXL-C0E0,AXL,AXL INU,0x25b24B3c47918b7962B3e49C4F468367F73CC0E0,18 -1619,BCUBE-0A93,BCUBE,b-cube.ai Token,0x93C9175E26F57d2888c7Df8B470C9eeA5C0b0A93,18 -1620,TOR-7056,TOR,Tor Wallet,0x35073CA7bAC0c2eDf58fb34A2CBC39Ea2fbB7056,18 -1621,SCX-bF21,SCX,Scarcity,0x1B8568FbB47708E9E9D31Ff303254f748805bF21,18 -1622,MAGIC-Ac9A,MAGIC,MAGIC,0xB0c7a3Ba49C7a6EaBa6cD4a96C55a1391070Ac9A,18 -1623,SARCO-F51A,SARCO,Sarcophagus,0x7697B462A7c4Ff5F8b55BDBC2F4076c2aF9cF51A,18 -1624,BRIGHT-af55,BRIGHT,Bright Union,0xBEaB712832112bd7664226db7CD025B153D3af55,18 -1625,wSIENNA-64f9,wSIENNA,Sienna (ERC20),0x9b00e6E8D787b13756eb919786c9745054DB64f9,18 -1626,BALTO-8dBC,BALTO,Balto Token,0x5955f7d312c5d84B004d259D55072C4F0A478dBC,18 -1627,SHIH-1465,SHIH,Shih Tzu,0x841FB148863454A3b3570f515414759BE9091465,18 -1628,SWIFY-f2fB,SWIFY,Swapify,0x9C7376b5060C47E555f5F53005aA3D5A7C66f2fB,9 -1629,EVN-A7ec,EVN,Evn Token,0x9aF15D7B8776fa296019979E70a5BE53c714A7ec,18 -1630,mefi-Ec07,mefi,The meme finance,0xe13879194578C6F1A591a96C45B65022c43CEc07,9 -1631,PLSB-8D06,PLSB,PulseBitcoin,0x5EE84583f67D5EcEa5420dBb42b462896E7f8D06,12 -1632,TOKU-BD82,TOKU,Toku,0x9eEC1A4814323a7396c938bc86aeC46b97F1BD82,18 -1633,MRI-c977,MRI,Marshall Rogan Inu,0x0913dDAE242839f8995c0375493f9a1A3Bddc977,18 -1634,ALPA-514A,ALPA,AlpaToken,0x7cA4408137eb639570F8E647d9bD7B7E8717514A,18 -1635,TOKE-8C94,TOKE,Tokemak,0x2e9d63788249371f1DFC918a52f8d799F4a38C94,18 -1636,TOS-7B48,TOS,TOSA INU,0x34748FEDAd669C788aaBe4fb325A4587941F7B48,18 -1637,DOWS-c559,DOWS,Shadows Network,0x661Ab0Ed68000491d98C796146bcF28c20d7c559,18 -1638,MIKAWA-6A26,MIKAWA,Mikawa Inu,0x0888Fd2960Ddf57Cfb561B59d73Dd2b9524F6A26,9 -1639,DOV-79b1,DOV,DOVU,0xac3211a5025414Af2866FF09c23FC18bc97e79b1,18 -1640,eQUAD-7DF2,eQUAD,QuadrantProtocol,0xC28e931814725BbEB9e670676FaBBCb694Fe7DF2,18 -1641,RVP-D48a,RVP,RevolutionPopuli ERC20 Token,0x17EF75AA22dD5f6C2763b8304Ab24f40eE54D48a,18 -1642,NAME-d842,NAME,Polkadomain Token,0xe1A4c5BBb704a92599FEdB191f451E0d3a1ed842,18 -1643,DGVC-7b30,DGVC,DegenVC,0x26E43759551333e57F073bb0772F50329A957b30,18 -1644,EQX-8B15,EQX,EQIFi Token,0xBd3de9a069648c84d27d74d701C9fa3253098B15,18 -1645,cETH-0ED5,cETH,Compound Ether,0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5,8 -1646,AXI-c39a,AXI,Axioms,0x73EE6D7e6b203125aDd89320E9F343d65ec7c39a,18 -1647,ZERO-9bf8,ZERO,ZERO,0x0eC78ED49C2D27b315D462d43B5BAB94d2C79bf8,18 -1648,BNF-1057,BNF,BonFi,0x1DE5e000C41C8d35b9f1f4985C23988f05831057,18 -1649,TIGER-337F,TIGER,TigerCoin,0xB83c27805aAcA5C7082eB45C868d955Cf04C337F,18 -1650,SHINJA-84ed,SHINJA,Shibnobi,0x7DAc25b1A665e1c70F25F1fC37d88C99274984ed,9 -1651,WOLFY-e36f,WOLFY,WOLFYCOIN,0x7DbbCaE15d4DB168e01673400D7844870cc1e36f,9 -1652,INV-FB68,INV,Inverse DAO,0x41D5D79431A913C4aE7d69a668ecdfE5fF9DFB68,18 -1653,REVO-1409,REVO,Revomon,0x155040625D7ae3e9caDA9a73E3E44f76D3Ed1409,18 -1654,( ͡° ͜ʖ ͡°)-1c4c,( ͡° ͜ʖ ͡°),Lenny Face,0xDadb4aE5B5D3099Dd1f586f990B845F2404A1c4c,18 -1655,DEGEN-c855,DEGEN,DEGEN Index,0x126c121f99e1E211dF2e5f8De2d96Fa36647c855,18 -1656,GFARM2-1e1B,GFARM2,Gains V2,0x831091dA075665168E01898c6DAC004A867f1e1B,18 -1657,GUM-0f24,GUM,GourmetGalaxy,0x4f5fa8f2d12e5eB780f6082Dd656C565C48E0f24,18 -1658,ROCKI-aa04,ROCKI,ROCKI,0xFf44b937788215ecA197BAaf9AF69dbdC214aa04,18 -1659,LOCG-27d0,LOCG,LOCGame,0x60Eb57d085C59932d5fAa6c6026268A4386927d0,18 -1660,ZRO-E5e0,ZRO,PROTOCOL ZERO,0xd79F43113B22D1eA9F29cfcC7BB287489F8EE5e0,18 -1661,PBR-d695,PBR,PolkaBridge,0x298d492e8c1d909D3F63Bc4A36C66c64ACB3d695,18 -1662,MVI-34D7,MVI,Metaverse Index,0x72e364F2ABdC788b7E918bc238B21f109Cd634D7,18 -1663,DOUGH-7b2D,DOUGH,PieDAO DOUGH v2,0xad32A8e6220741182940c5aBF610bDE99E737b2D,18 -1664,RFuel-36E5,RFuel,Rio Fuel Token,0xaf9f549774ecEDbD0966C52f250aCc548D3F36E5,18 -1665,CTCN-1FD8,CTCN,Contracoin,0xFD6C31bb6F05Fc8dB64F4b740Ab758605c271FD8,18 -1666,aDAI-f85d,aDAI,Aave Interest bearing DAI,0xfC1E690f61EFd961294b3e1Ce3313fBD8aa4f85d,18 -1667,LKT-BA69,LKT,Locker Token,0xd3E133a0A14Bb8B595e5Fbf9851c7c783685BA69,18 -1668,KIBA-af3c,KIBA,Kiba Inu,0x005D1123878Fc55fbd56b54C73963b234a64af3c,18 -1669,GIGA-9cea,GIGA,GigaSwap,0x83249c6794BCa5a77Eb8c0AF9F1A86E055459cea,9 -1670,ADX-B7c3,ADX,AdEx Network,0xADE00C28244d5CE17D72E40330B1c318cD12B7c3,18 -1671,DOBE-A3d5,DOBE,Dobermann,0xe7aB45162f5979F09B0bDa1CC7DfC97C270EA3d5,18 -1672,VAI-395c,VAI,VAIOT Token,0xD13cfD3133239a3c73a9E535A5c4DadEE36b395c,18 -1673,YMNT-C254,YMNT,Yamanote-Sen,0xe59A1fe295f940E5226DcF6411Ef2Bdf3089C254,9 -1674,DOGGER-5Cbe,DOGGER,Dogger Token,0xb3Cc3d7E656893F22d2372b0aE57106F6b155Cbe,18 -1675,rHEGIC2-eE5f,rHEGIC2,HEGICTokenIOU Phase II,0xAd7Ca17e23f13982796D27d1E6406366Def6eE5f,18 -1676,BITE-D88D,BITE,DragonBite,0x4eED0fa8dE12D5a86517f214C2f11586Ba2ED88D,18 -1677,SHINSHU-cC0A,SHINSHU,Shinshu Inu,0x2965395F71B7d97ede251E9B63e44dfA9647cC0A,18 -1678,TRIB-5Af0,TRIB,Contribute,0xe09216F1d343Dd39D6Aa732a08036fee48555Af0,18 -1679,ASTRAL-28a1,ASTRAL,Astral AI Project,0xC74B43cC61b627667a608c3F650c2558F88028a1,18 -1680,SMI-2214,SMI,SafeMoon Inu,0xCd7492db29E2ab436e819b249452EE1bbDf52214,8 -1681,DREAM-7d02,DREAM,DREAM,0xb44377B74Ef1773639B663d0754cB8410A847d02,18 -1682,SAT-1332,SAT,SoMee Advertising Token V2,0xc9F1016d336ef77AeE75Fc11Ad64C5Ecf9121332,18 -1683,JSHIBA-4c7c,JSHIBA,Jomon Shiba,0x1426cC6D52D1B14e2B3b1Cb04d57ea42B39c4c7c,9 -1684,DTH-c924,DTH,DeathWolf,0x0cf75471B0FbF76A315A75eBDa6600ab92Fdc924,18 -1685,KEL-5432,KEL,KelVpn Token,0x4ABB9cC67BD3da9Eb966d1159A71a0e68BD15432,18 -1686,BLANK-9666,BLANK,GoBlank Token,0x41A3Dba3D677E573636BA691a70ff2D606c29666,18 -1687,NAOS-4496,NAOS,NAOSToken,0x4a615bB7166210CCe20E6642a6f8Fb5d4D044496,18 -1688,MOAR-701a,MOAR,MOAR Finance,0x187Eff9690E1F1A61d578C7c492296eaAB82701a,18 -1689,VAL-d1E4,VAL,Sora Validator Token,0xe88f8313e61A97cEc1871EE37fBbe2a8bf3ed1E4,18 -1690,LKR-CDcf,LKR,Polkalokr,0x80CE3027a70e0A928d9268994e9B85d03Bd4CDcf,18 -1691,ARCHIE-8f90,ARCHIE,Archie Neko,0xFE5F69dfa2d4501E78078266F6d430c079098f90,9 -1692,DZOO-ca83,DZOO,DegenZoo,0xc97d6C52F3ADD91Fa1c5287a453d7444aECBca83,18 -1693,ZAP-b104,ZAP,ZAP TOKEN,0x6781a0F84c7E9e846DCb84A9a5bd49333067b104,18 -1694,INSURE-393E,INSURE,InsureToken,0xd83AE04c9eD29d6D3E6Bf720C71bc7BeB424393E,18 -1695,TQUEEN-73fC,TQUEEN,TigerQueen,0x1C720999A4F8B2B0E9199039D353D2c9A77A73fC,18 -1696,DMTR-4fdB,DMTR,Dimitra Token,0x51cB253744189f11241becb29BeDd3F1b5384fdB,18 -1697,BABYSAITAMA-f045,BABYSAITAMA,Baby Saitama Inu,0xf79F9020560963422eCC9C0c04D3a21190BBf045,9 -1698,AllIn-3Ebe,AllIn,All In,0x9B2b931d6AB97B6A887b2C5d8529537E6FE73Ebe,9 -1699,DBUY-5782,DBUY,Doont Buy,0x4EcE5C5CfB9B960A49aAe739E15cDB6cfDcc5782,9 -1700,OKAGE-89eC,OKAGE,Okage Inu,0x8dfc8cc3201425669FaE803e1eB125cddd4189eC,18 -1701,NU-A4Cc,NU,NuCypher,0x4fE83213D56308330EC302a8BD641f1d0113A4Cc,18 -1702,LIT-9723,LIT,Litentry,0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723,18 -1703,ARC-e7c2,ARC,ARC,0xC82E3dB60A52CF7529253b4eC688f631aad9e7c2,18 -1704,KALLY-AD07,KALLY,Polkally,0xfd30C9BEA1A952FEeEd2eF2C6B2Ff8A8FC4aAD07,18 -1705,LSS-E320,LSS,Lossless Token,0x3B9BE07d622aCcAEd78f479BC0EDabFd6397E320,18 -1706,MFC-5820,MFC,Marshall Fighting Championship,0x337DD23d05c27bff099d3604938BFc23A9B25820,18 -1707,DIGI-d848,DIGI,Digi,0x3CbF23c081fAA5419810ce0F6BC1ECb73006d848,18 -1708,SNOW-79AE,SNOW,SnowSwap,0xfe9A29aB92522D14Fc65880d817214261D8479AE,18 -1709,RVF-96D2,RVF,Rocket Vault,0xdc8aF07A7861bedD104B8093Ae3e9376fc8596D2,18 -1710,BOWL-5794,BOWL,BOWL SHIBARIUM,0x760Ea31711aC14cb9Ba81aC25453C6f378fA5794,9 -1711,KENNEL-039a,KENNEL,Kennel,0x25d4e7fe624FcC6E7F0b52D142F40c9ACEcF039a,18 -1712,SYN-8BD9,SYN,SynLev,0x1695936d6a953df699C38CA21c2140d497C08BD9,18 -1713,TNGL-C1C2,TNGL,Tangle,0x5aF28EB9deC75e86CDFBD2e41a474b54B211C1C2,9 -1714,SHFT-6d19,SHFT,Shibcraft,0xF5a56bD9Ee4a3E2D493ab8e072658794B38b6d19,18 -1715,MEL-4892,MEL,Melalie,0xed0889F7E1c7C7267407222Be277e1f1Ef4d4892,18 -1716,AVG-311f,AVG,Avocado DAO Token,0xa41F142b6eb2b164f8164CAE0716892Ce02f311f,18 -1717,BTFA-C133,BTFA,Banana Task Force Ape,0xC631bE100F6Cf9A7012C23De5a6ccb990EAFC133,9 -1718,ROBO-3061,ROBO,Robo Token,0x6FC2f1044A3b9bB3e43A43EC8F840843Ed753061,18 -1719,URQA-3136,URQA,UREEQA Token,0x1735Db6AB5BAa19eA55d0AdcEeD7bcDc008B3136,18 -1720,BAO-9F3A,BAO,Bao Token V2,0xCe391315b414D4c7555956120461D21808A69F3A,18 -1721,X7103-c105,X7103,X7103,0x7103eBdbF1f89be2d53EFF9B3CF996C9E775c105,18 -1722,IAG-1Fc8,IAG,IAGON,0x40EB746DEE876aC1E78697b7Ca85142D178A1Fc8,18 -1723,HIKARI-4e39,HIKARI,HIKARI,0xd4126f195a8de772EeFfa61a4aB6dd43462F4e39,18 -1724,Shibgun-929c,Shibgun,Shibagun,0xa3BA969DD831D4eFf2bAF930e7F66D2eef5D929c,18 -1725,rushAI-c45B,rushAI,AlphaRushAI,0x69d47846bb7B884062FaBc08A4A7dEADCd98c45B,18 -1726,FND-f17e,FND,Foundation,0xB13d747d783BF1A9F1D65Df74C080C890045f17e,7 -1727,RAMP-Ed9f,RAMP,RAMP DEFI,0x33D0568941C0C64ff7e0FB4fbA0B11BD37deEd9f,18 -1728,ZORA-5ae6,ZORA,Zoracles,0xD8E3FB3b08eBA982F2754988d70D57eDc0055ae6,9 -1729,VXL-2b31,VXL,Voxel X Network,0x16CC8367055aE7e9157DBcB9d86Fd6CE82522b31,18 -1730,KEYS-86ff,KEYS,Keys,0xe0a189C975e4928222978A74517442239a0b86ff,9 -1731,SER-8fDC,SER,Serum,0xb19189Fb36c816f3e0f16065057B07B790998fDC,18 -1732,NEURONI-f332,NEURONI,Neuroni.AI,0x922e2708462c7a3d014D8344F7C4d92b27ECf332,18 -1733,TTX-4D9B,TTX,TTX NFT,0xeF2e239b21A81719abAabC6239e2e90859B44D9B,18 -1734,BabyDoge-460B,BabyDoge,Baby Doge Coin,0xAC57De9C1A09FeC648E93EB98875B212DB0d460B,9 -1735,wALV-D497,wALV,Alvey Chain,0x256D1fCE1b1221e8398f65F9B36033CE50B2D497,18 -1736,BNSD-0188,BNSD,bns.finance,0x668DbF100635f593A3847c0bDaF21f0a09380188,18 -1737,ODA-5d90,ODA,Eiichiro Oda,0x0C6Bf55F60143Fa1dA202AC8c9b8Ce484b5a5d90,18 -1738,CVP-DcA1,CVP,Concentrated Voting Power,0x38e4adB44ef08F22F5B5b76A8f0c2d0dCbE7DcA1,18 -1739,RABBIT-Fd35,RABBIT,Rabbit2023,0x706f280Cdb92260fe2D50EDA545F834ff1fbFd35,9 -1740,$XMU-D2cF,$XMU,Mushe,0x56123908ACA89bf60cE9659aE9F4589E46c8D2cF,9 -1741,KIT-B4F4,KIT,DexKit,0x7866E48C74CbFB8183cd1a929cd9b95a7a5CB4F4,18 -1742,RAZOR-d2cd,RAZOR,RAZOR,0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd,18 -1743,DOP-A2ef,DOP,Drops Ownership Power,0x6bB61215298F296C55b19Ad842D3Df69021DA2ef,18 -1744,GZLR-7632,GZLR,Guzzler,0x9f4909Cc95FB870BF48C128C1Fdbb5F482797632,18 -1745,DINERO-Be79,DINERO,DINERO,0xa3ad8c7AB6b731045b5b16E3fDf77975c71ABe79,18 -1746,IND-3705,IND,Indorse Token,0xf8e386EDa857484f5a12e4B5DAa9984E06E73705,18 -1747,AVS-b3b2,AVS,AlgoVest,0x94d916873B22C9C1b53695f1c002F78537B9b3b2,18 -1748,BFIGHT-d657,BFIGHT,BARFIGHT,0x6B5DDe2c94EcC10C93e8A44288bEFAD2a89bd657,9 -1749,XY-50DE,XY,XY Token,0x77777777772cf0455fB38eE0e75f38034dFa50DE,18 -1750,TON-520a,TON,TONToken,0x6a6c2adA3Ce053561C2FbC3eE211F23d9b8C520a,18 -1751,IC-6457,IC,Icy,0xA876f27F13A9eB6E621202cEFDD5AFc4a90E6457,9 -1752,HOBBES-4140,HOBBES,Hobbes,0x819c1A1568934Ee59d9F3C8B9640908556c44140,18 -1753,SMOL-030e,SMOL,smolting inu,0x553539d40AE81FD0d9C4b991B0b77bE6f6Bc030e,18 -1754,NFT-850a,NFT,APENFT,0x198d14F2Ad9CE69E76ea330B374DE4957C3F850a,6 -1755,BTCP-f5Ab,BTCP,BitcoinPro,0x723CbfC05e2cfcc71d3d89e770D32801A5eEf5Ab,8 -1756,UPI-B67c,UPI,Pawtocol Network UPI Token,0x70D2b7C19352bB76e4409858FF5746e500f2B67c,18 -1757,WIZ-edF2,WIZ,BlueWizard,0x33d20575f20C6A1881F8ab08E69F6fbAFfAEedF2,12 -1758,IPOR-9090,IPOR,IPOR Token,0x1e4746dC744503b53b4A082cB3607B169a289090,18 -1759,INUBIS-604c,INUBIS,Inubis,0x3667d6B1AEE4f96b608EE365FdA9fa5BA866604c,9 -1760,UCO-21fa,UCO,UnirisToken,0x8a3d77e9d6968b780564936d15B09805827C21fa,18 -1761,Dubbz-Da17,Dubbz,Dubbz,0x38029C62DfA30D9FD3CaDf4C64e9b2ab21DbDa17,18 -1762,FREN-583A,FREN,FrenChain,0x8e14c88aB0644eF41bd7138ab91C0160D8c1583A,18 -1763,BitANT-D1a6,BitANT,BitANT,0x15Ee120fD69BEc86C1d38502299af7366a41D1a6,18 -1764,KAWA-60Ec,KAWA,Kawakami,0x5552E5a89A70cB2eF5AdBbC45a6BE442fE7160Ec,9 -1765,ALOHA-FabE,ALOHA,ALOHA,0x455F7Ef6D8BCfc35f9337e85aEe1B0600a59FabE,18 -1766,HUSL-26be,HUSL,The HUSL,0xa2881F7F441267042f9778fFA0d4F834693426be,18 -1767,RVST-d4bA,RVST,Revest,0x120a3879da835A5aF037bB2d1456beBd6B54d4bA,18 -1768,DPX-dC81,DPX,Dopex Governance Token,0xEec2bE5c91ae7f8a338e1e5f3b5DE49d07AfdC81,18 -1769,$ADS-001f,$ADS,Alkimi Exchange,0x3106a0a076BeDAE847652F42ef07FD58589E001f,18 -1770,MXC-386e,MXC,MXCToken,0x5Ca381bBfb58f0092df149bD3D243b08B9a8386e,18 -1771,YORI-4661,YORI,The Path Of Light,0x1Ab052Db3216835182926A6d516762B0f1634661,9 -1772,ETH2.0-9fE8,ETH2.0,Proof of Memes,0x04A6b6DE116Fb8bF57e5eE8b05e0293EA3639fE8,18 -1773,CHAIN-81c4,CHAIN,Chain Games,0xC4C2614E694cF534D407Ee49F8E44D125E4681c4,18 -1774,CATAI-8d17,CATAI,Catgirl AI,0xBC1A4555745e9C5334eBF9DcfEC0B51285aF8d17,18 -1775,BPTL-62BF,BPTL,BPTL,0x3a1BC4014C4C493DB3dBfBDD8ee1417113b462BF,18 -1776,FMT-A54C,FMT,Finminity,0x99c6e435eC259A7E8d65E1955C9423DB624bA54C,18 -1777,PUBLX-33E8,PUBLX,PUBLX,0x1a6658F40e51b372E593B7d2144c1402d5cf33E8,18 -1778,STARS-180D,STARS,StarShip,0x7CCFeEF4F0Ff48B0E0abD19bBBebae90939f180D,18 -1779,WINRY-9F30,WINRY,Winry Inu,0x1a87077C4F834884691B8ba4fc808D2eC93A9F30,9 -1780,WILD-0e34,WILD,Wilder,0x2a3bFF78B79A009976EeA096a51A948a3dC00e34,18 -1781,SMBR-62Dd,SMBR,SOMBRA,0x16B3E050e9e2f0Ac4f1BEA1b3E4fdc43d7f062Dd,9 -1782,IDRT-b48A,IDRT,Rupiah Token,0x998FFE1E43fAcffb941dc337dD0468d52bA5b48A,2 -1783,SENATE-4470,SENATE,SENATE,0x34Be5b8C30eE4fDe069DC878989686aBE9884470,18 -1784,KONO-7Df4,KONO,Konomi,0x850aAB69f0e0171A9a49dB8BE3E71351c8247Df4,18 -1785,MP3-e7a0,MP3,mp3,0x018fb5Af9d015Af25592a014C4266a84143De7a0,18 -1786,TKINU-9F14,TKINU,Tsuki Inu,0xda23d301761E4e2bF474951f978f6DFB6F3C9F14,9 -1787,GINU-B306,GINU,GiveWell Inu,0x74bE64B45D394FA57816c1950E94dBB8d7A7B306,9 -1788,M-b2d5,M,M,0xC3E486F614e297d8E016aC2805e81707C627b2d5,18 -1789,EXRT-9925,EXRT,EXRT,0xb20043F149817bff5322F1b928e89aBFC65A9925,8 -1790,WAIF-4b20,WAIF,Waifu,0xB2279B6769CFBa691416F00609b16244c0cF4b20,18 -1791,RJV-adaB,RJV,Rejuve Token,0x02c3296C6eb50249f290AE596F2bE9454bFfadaB,6 -1792,LITH-4a42,LITH,Lithium,0x188E817B02e635D482AE4D81e25DdA98A97C4a42,18 -1793,HEROS-6f62,HEROS,Heros Token,0xb622400807765e73107B7196F444866D7EdF6f62,9 -1794,STRNGR-CF38,STRNGR,Stronger,0xDc0327D50E6C73db2F8117760592C8BBf1CDCF38,18 -1795,SHFT-2D85,SHFT,Shyft [ Wrapped ],0xb17C88bDA07D28B3838E0c1dE6a30eAfBCF52D85,18 -1796,BETTER-319A,BETTER,Better Money,0xA7925aA2A6e4575ab0C74D169f3BC3e03D4C319A,4 -1797,Mikaboshi-63f4,Mikaboshi,Amatsu-Mikaboshi,0xaE86f48c0B00F2a3eaeF4ba4c23d17368f0f63f4,18 -1798,SNT-5B9E,SNT,Status Network Token,0x744d70FDBE2Ba4CF95131626614a1763DF805B9E,18 -1799,FREE-f526,FREE,Ross Ulbricht Genesis Collection,0x4CD0c43B0D53bc318cc5342b77EB6f124E47f526,18 -1800,dKUMA-A3a8,dKUMA,KumaDex Token,0x3f5dd1A1538a4F9f82E543098f01F22480B0A3a8,18 -1801,ITS-21C4,ITS,IterationSyndicate,0xC32cC5b70BEe4bd54Aa62B9Aefb91346d18821C4,18 -1802,MOUSEWORM-5dA8,MOUSEWORM,MouseWorm,0xA848a1D33D8ef1633397A6acf617620fab8E5dA8,6 -1803,VERSE-dC0a,VERSE,Shibaverse,0x7aE0d42f23C33338dE15bFa89C7405c068d9dC0a,18 -1804,ALEX-5315,ALEX,AlexMasmej,0x8BA6DcC667d3FF64C1A2123cE72FF5F0199E5315,4 -1805,UMI-C69C,UMI,UmiToken,0x61107a409fFFe1965126aa456Af679719695C69C,18 -1806,milkAI-4F39,milkAI,milkAI,0x9f826324bb9BdcF7E7Eb274BEDc417BD45D74F39,8 -1807,JULIEN-332B,JULIEN,Julien,0xe6710e0CdA178f3D921f456902707B0d4C4A332B,4 -1808,STOP-f4Ee,STOP,SatoPay,0x8c3eE4F778E282B59D42d693A97b80b1ed80f4Ee,18 -1809,DRYP-b027,DRYP,Dripto,0xBE1fa1303e2979Ab4d4e5dF3D1c6e3656ACAb027,18 -1810,TLOS-AC88,TLOS,pTokens TLOS,0x7825e833D495F3d1c28872415a4aee339D26AC88,18 -1811,MUTE-400c,MUTE,Mute.io,0xA49d7499271aE71cd8aB9Ac515e6694C755d400c,18 -1812,LTX-d092,LTX,Lattice Token,0xa393473d64d2F9F026B60b6Df7859A689715d092,8 -1813,TWOPAW-47e8,TWOPAW,TWOPAW Token,0xf7de6DEf3D319811418d69Bf56c532A815FC47e8,18 -1814,BEZOGE-f695,BEZOGE,Bezoge Earth,0xDC349913d53b446485E98b76800b6254f43Df695,9 -1815,ESS-40f7,ESS,ESSENTIA,0xfc05987bd2be489ACCF0f509E44B0145d68240f7,18 -1816,KAI-C093,KAI,KardiaChain Token,0xD9Ec3ff1f8be459Bb9369b4E79e9Ebcf7141C093,18 -1817,VIDT-7Bb1,VIDT,VIDT Datalink,0xfeF4185594457050cC9c23980d301908FE057Bb1,18 -1818,CHIRO-775c,CHIRO,Chihiro Inu,0x35156b404C3f9bdaf45ab65Ba315419bcDe3775c,9 -1819,YAE-1EAF,YAE,Cryptonovae,0x4eE438be38F8682ABB089F2BFeA48851C5E71EAF,18 -1820,DEP-8163,DEP,DEAPCOIN,0x1A3496C18d558bd9C6C8f609E1B129f67AB08163,18 -1821,YAX-A289,YAX,yAxis,0xb1dC9124c395c1e97773ab855d66E879f053A289,18 -1822,REKT-362b,REKT,RektSkulls,0x8a7664E782860E856031D6c31EB3bde721Bc362b,18 -1823,YUP-BCC9,YUP,YUP,0x69bBC3F8787d573F1BBDd0a5f40C7bA0Aee9BCC9,18 -1824,wBAN-A034,wBAN,Wrapped Banano,0xe20B9e246db5a0d21BF9209E4858Bc9A3ff7A034,18 -1825,ZKP-c5B3,ZKP,zkProof,0x09637E374Ec5baB8C9e9654a97C9593e3038c5B3,9 -1826,ARCAI-b5E9,ARCAI,Archive AI,0x5c8190b76E90B4DD0702740cF6Eb0F7eE01Ab5E9,9 -1827,GETH-74B8,GETH,Guarded Ether,0x3802c218221390025BCEABBaD5D8C59F40eB74B8,18 -1828,BCUG-E9AF,BCUG,Blockchain Cuties Universe Governance Token,0x14Da7b27b2E0FedEfe0a664118b0c9bc68e2E9AF,18 -1829,VAB-9a04,VAB,Vabble,0xe7aE6D0C56CACaf007b7e4d312f9af686a9E9a04,18 -1830,T-Bba1,T,T,0x5b985B4F827072FebE33091b42729522B557Bba1,18 -1831,UNN-3a9D,UNN,UNION Protocol Governance Token,0x226f7b842E0F0120b7E194D05432b3fd14773a9D,18 -1832,DHP-920d,DHP,dHealth,0xc40F23A3E9613E012944f7957edCe97899Fa920d,18 -1833,PHNX-F2f7,PHNX,PhoenixDAO,0x38A2fDc11f526Ddd5a607C1F251C065f40fBF2f7,18 -1834,PERL-0318,PERL,Perlin,0xeca82185adCE47f39c684352B0439f030f860318,18 -1835,AST-A75a,AST,AirSwap Token,0x27054b13b1B798B345b591a4d22e6562d47eA75a,4 -1836,DONUT-54A9,DONUT,Donut,0xC0F9bD5Fa5698B6505F643900FFA515Ea5dF54A9,18 -1837,kSEED-0850,kSEED,KUSH.FINANCE,0x3F09400313e83d53366147e3ea0e4e2279D80850,18 -1838,MTHD-a169,MTHD,Method,0x84bA4aEcfDe39D69686a841BAb434C32d179a169,18 -1839,MIMIR-383C,MIMIR,Mimir Token,0x71dc40668682a124231301414167E4CF7f55383C,18 -1840,ESS-8b3e,ESS,Empty Set Share,0x24aE124c4CC33D6791F8E8B63520ed7107ac8b3e,18 -1841,FTM-7870,FTM,Fantom Token,0x4E15361FD6b4BB609Fa63C81A2be19d873717870,18 -1842,WQT-95bF,WQT,Work Quest Token,0x06677Dc4fE12d3ba3C7CCfD0dF8Cd45e4D4095bF,18 -1843,STREETH-DfA5,STREETH,STREETH,0xB840d10D840eF47c233FEC1fd040F5B145a6DfA5,18 -1844,ROCK-42BC,ROCK,MoonRock,0x1a6921F7B92113c79306f1A9E148D83445ac42BC,9 -1845,MEME-a8Db,MEME,MEME Inu.,0x74B988156925937bD4E082f0eD7429Da8eAea8Db,18 -1846,GWD-A56b,GWD,GreenWorld,0x674c964AC0E89d847d6B0aBd144b797bf78BA56b,6 -1847,NCT-246E,NCT,NameChangeToken,0x8A9c4dfe8b9D8962B31e4e16F8321C44d48e246E,18 -1848,BDS-1100,BDS,Black Dragon Society,0x1856BC58f5511269aFE2CA1e89Bf08CBDCD01100,18 -1849,buidl-63db,buidl,dfohub,0x7b123f53421b1bF8533339BFBdc7C98aA94163db,18 -1850,LAYER-366b,LAYER,Unilayer,0x0fF6ffcFDa92c53F615a4A75D982f399C989366b,18 -1851,HANDY-684c,HANDY,Handy Token,0x8bbe1a2961B41340468D0548c2cd5B7DFA9b684c,18 -1852,dART-dDBF,dART,dART Token,0x5a4623F305A8d7904ED68638AF3B4328678edDBF,18 -1853,FIFTY-c3aa,FIFTY,FIFTYONEFIFTY,0xf7DD746A613Fb6362D44eCEDEB743f62ade6c3aa,9 -1854,AI-7D80,AI,Chat AI,0xa89Bf95c5f15a847c8Eb8D348cd7feD719AD7D80,18 -1855,ORN-434a,ORN,Orion Protocol,0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a,8 -1856,FST-3606,FST,Futureswap Token,0x0E192d382a36De7011F795Acc4391Cd302003606,18 -1857,WELD-6dE0,WELD,Weld.Money,0xDD2a36AE937bc134ea694d77fC7e2E36f5d86dE0,18 -1858,ERN-3505,ERN,@EthernityChain $ERN Token,0xBBc2AE13b23d715c30720F079fcd9B4a74093505,18 -1859,Gold 1-E5B0,Gold 1,Teh Golden One,0x0Ec72CD6690db40B16be166858299F19D4f8E5B0,9 -1860,YourWallet-C429,YourWallet,YourWallet,0xDa70FBaC9e1C9Ac3475c24A3A847f85f1388C429,18 -1861,GTR-61c6,GTR,Ghost Trader,0x32DebF31D5ED90ca2e287D306fc23FaFAD9361c6,18 -1862,arNXM-b1dD,arNXM,Armor NXM,0x1337DEF18C680aF1f9f45cBcab6309562975b1dD,18 -1863,PIF-6513,PIF,Play It Forward DAO,0xB30F5d11b94efBBfDeaa4de38eDFFCeEc0bE6513,18 -1864,KMT-0f0f,KMT,FiveKM KMT,0x184b6f31aeAa6a19Eb207dFeA01F4289629e0f0f,18 -1865,NCT-33d1,NCT,Nectar,0x9E46A38F5DaaBe8683E10793b06749EEF7D733d1,18 -1866,DGRN-8115,DGRN,Degrain,0x71E368Ed06814Bf35d4E663eFf946400a5BC8115,18 -1867,STACY-B327,STACY,Stacy,0xf12EC0D3Dab64DdEfBdC96474bDe25af3FE1B327,18 -1868,eSOV-F7a5,eSOV,eSOV,0xbdab72602e9AD40FC6a6852CAf43258113B8F7a5,18 -1869,GALA-03dA,GALA,Gala,0x15D4c048F83bd7e37d49eA4C83a07267Ec4203dA,8 -1870,DPI-3C2b,DPI,DefiPulse Index,0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b,18 -1871,OPENAI-5041,OPENAI,OpenAI,0x6A6AA13393B7d1100c00a57c76c39e8B6C835041,9 -1872,VRX-B4e5,VRX,Verox,0x87DE305311D5788e8da38D19bb427645b09CB4e5,18 -1873,XI-Ec8c,XI,Xi Token,0x295B42684F90c77DA7ea46336001010F2791Ec8c,18 -1874,KOMBAT-C7fA,KOMBAT,Crypto Kombat Token,0x878CF148ccBb50426043a9AFFe54Ba408221C7fA,8 -1875,MSI-6fde,MSI,Martin Shkreli Inu,0xc4C75F2A0cB1a9ACc33929512dc9733EA1Fd6fde,18 -1876,METANO-1afb,METANO,METANO,0x9D9e399e5385e2b9A58d4F775A1E16441b571afb,18 -1877,BST-34FC,BST,BlockStar Token,0x4E4bFfAA8df6F0dC3e5600bBACf7DA55f37134FC,18 -1878,DEXT-C75a,DEXT,DEXTools,0xfB7B4564402E5500dB5bB6d63Ae671302777C75a,18 -1879,BURP-4A7c,BURP,Burp,0x33f391F4c4fE802b70B77AE37670037A92114A7c,18 -1880,INNIT-7c18,INNIT,InnitForTheTECH,0x62A8C2818BD7034DC24CD22368C3E53E8eB47c18,18 -1881,DEFX-8eDa,DEFX,DeFinity,0x5F474906637bdCDA05f29C74653F6962bb0f8eDa,18 -1882,RAGE-886F,RAGE,RageToken,0x94804dc4948184fFd7355f62Ccbb221c9765886F,18 -1883,WARP-Dd71,WARP,Warp Token,0xEd40834A13129509A89be39a9bE9C0E96A0DDd71,18 -1884,QUAD-77EE,QUAD,Quadency Token,0xAB2A7B5876D707e0126B3A75EF7781c77c8877EE,18 -1885,PUSSY-a1ad,PUSSY,PUSSY token,0x9196E18Bc349B1F64Bc08784eaE259525329a1ad,18 -1886,SKT-a8C1,SKT,Sukhavati Network Token,0x012E0e6342308b247F36Ee500ECb14dc77a7a8C1,8 -1887,ABI-77CD,ABI,Abachi,0xa31DFe74cDA04de990CafC6a0aB2BB6d6C9077CD,9 -1888,AiWallet-8B19,AiWallet,AiWallet Token,0xc5A927AD2d1a92Dc5f9662Ce03F7140a8B738B19,18 -1889,XOR-F677,XOR,Sora Token,0x40FD72257597aA14C7231A7B1aaa29Fce868F677,18 -1890,AISC-B9d9,AISC,Ai Smart Chain,0xB7Df0f42FAe30acf30C9A5BA147D6B792b5eB9d9,18 -1891,KAT-509C,KAT,Kambria Token,0x14da230d6726C50F759Bc1838717F8CE6373509C,18 -1892,MAD-d875,MAD,MADToken,0x5B09A0371C1DA44A8E24D36Bf5DEb1141a84d875,18 -1893,SKL-a7A7,SKL,SKALE,0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7,18 -1894,NCDT-3C1B,NCDT,NCDToken,0xE0C8b298db4cfFE05d1bEA0bb1BA414522B33C1B,18 -1895,VRA-7255,VRA,VERA,0xF411903cbC70a74d22900a5DE66A2dda66507255,18 -1896,KP3R-5A44,KP3R,Keep3rV1,0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44,18 -1897,DIE-4aC7,DIE,Die Protocol,0x6Ef6610d24593805144d73b13d4405E00A4E4aC7,18 -1898,ONIGI-1582,ONIGI,Onigiri Neko,0xb4615AAD766f6De3c55330099E907fF7F13f1582,9 -1899,STATE-8eB1,STATE,New World Order,0x00C2999c8B2AdF4ABC835cc63209533973718eB1,18 -1900,STG-2Cd6,STG,StargateToken,0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6,18 -1901,GAIN-F614,GAIN,GainDAO Token,0x874CB28A655e0Ef827d810E211aE4b9cBcbaF614,18 -1902,BBW-8F69,BBW,BabyWhale,0xd2287a52287dd64AE2c690D74322E2e345dC8F69,18 -1903,ECT-6783,ECT,Echain Token,0xda4Dd9586D27202A338843Dd6B9824d267006783,9 -1904,HBOT-e9CB,HBOT,Hummingbot Governance Token,0xE5097D9baeAFB89f9bcB78C9290d545dB5f9e9CB,18 -1905,IMX-79fF,IMX,Immutable X,0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF,18 -1906,YCO-0893,YCO,Y Coin,0x3D0293f06daF4311B482564330D57C8Db6C10893,8 -1907,HOODIE-FE75,HOODIE,CryptoPunk #7171,0xdffA3a7f5B40789C7A437DbE7B31b47F9B08FE75,18 -1908,eMAID-a303,eMAID,MaidSafeCoin,0x329c6E459FFa7475718838145e5e85802Db2a303,18 -1909,AGRS-bdDa,AGRS,Agoras Token,0x738865301A9b7Dd80Dc3666dD48cF034ec42bdDa,8 -1910,BOSON-0de9,BOSON,Boson Token,0xC477D038d5420C6A9e0b031712f61c5120090de9,18 -1911,IDEAS-cC02,IDEAS,IDEAS,0x443b29fc978058Abe3Fc2f4c3c6b76c57fdecC02,18 -1912,BIT-a4C5,BIT,BitDAO,0x1A4b46696b2bB4794Eb3D4c26f1c55F9170fa4C5,18 -1913,PRVG-8E3d,PRVG,Privilege,0x2Ec3275f7aCe4044e499823F511cd58250be8E3d,8 -1914,FLP-BcD3,FLP,FLIP Token,0x3a1Bda28AdB5B0a812a7CF10A1950c920F79BcD3,18 -1915,INST-03eb,INST,Instadapp,0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb,18 -1916,BOB-1B0B,BOB,BOB,0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0B,18 -1917,GGTK-EF76,GGTK,GGToken,0xFA99A87b14B02e2240C79240C5a20F945ca5EF76,18 -1918,SOL-b89c,SOL,Wrapped SOL,0xD31a59c85aE9D8edEFeC411D448f90841571b89c,9 -1919,arte-87b9,arte,ethart,0x34612903Db071e888a4dADcaA416d3EE263a87b9,18 -1920,LQTY-c54D,LQTY,LQTY,0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D,18 -1921,sifu-C313,sifu,Sifu,0x29127fE04ffa4c32AcAC0fFe17280ABD74eAC313,18 -1922,OGV-12D0,OGV,Origin Dollar Governance,0x9c354503C38481a7A7a51629142963F98eCC12D0,18 -1923,DINO-c68F,DINO,DinoLFG,0x49642110B712C1FD7261Bc074105E9E44676c68F,18 -1924,NYM-90e1,NYM,NYM,0x525A8F6F3Ba4752868cde25164382BfbaE3990e1,6 -1925,ITP-DE31,ITP,Interport Token,0x2b1D36f5B61AdDAf7DA7ebbd11B35FD8cfb0DE31,18 -1926,auraBAL-608d,auraBAL,Aura BAL,0x616e8BfA43F920657B3497DBf40D6b1A02D4608d,18 -1927,RAE-8756,RAE,RAE Token,0xE5a3229CCb22b6484594973A03a3851dCd948756,18 -1928,wCFG-34F0,wCFG,Wrapped Centrifuge,0xc221b7E65FfC80DE234bbB6667aBDd46593D34F0,18 -1929,cvxCRV-0Aa7,cvxCRV,Convex CRV,0x62B9c7356A2Dc64a1969e19C23e4f579F9810Aa7,18 -1930,T-beE5,T,Threshold Network Token,0xCdF7028ceAB81fA0C6971208e83fa7872994beE5,18 -1931,VINU-52c9,VINU,Vita Inu,0xAFCdd4f666c84Fed1d8BD825aA762e3714F652c9,18 -1932,NUTS-0bc0,NUTS,NutsDAO,0x981dc247745800bD2cA28a4bF147f0385Eaa0bc0,18 -1933,TPRO-4D15,TPRO,TPRO,0x3540abE4f288B280A0740ad5121aEc337c404D15,18 -1934,PUNK-232A,PUNK,CryptoPunks,0x269616D549D7e8Eaa82DFb17028d0B212D11232A,18 -1935,RADAR-4DbE,RADAR,DappRadar,0x44709a920fCcF795fbC57BAA433cc3dd53C44DbE,18 -1936,ACH-143d,ACH,Alchemy,0xEd04915c23f00A313a544955524EB7DBD823143d,8 -1937,MEME-b760,MEME,MEME,0x60c7AEa107EA3cDAb21455e187cFB7e54E09b760,18 -1938,VXV-bFCe,VXV,VectorspaceAI,0x7D29A64504629172a429e64183D6673b9dAcbFCe,18 -1939,MEZZ-4bC3,MEZZ,MEZZ Token,0xC4c346eDc55504574cCEB00AA1091d22404A4bC3,18 -1940,Pomi-77DA,Pomi,Pomi Coin,0x96ef7f9cF1B6eCC66E482A6598fc9F009E9277DA,8 -1941,TRIO-3308,TRIO,Maximus Trio,0xF55cD1e399e1cc3D95303048897a680be3313308,8 -1942,FPIS-1fdb,FPIS,Frax Price Index Share,0xc2544A32872A91F4A553b404C6950e89De901fdb,18 -1943,COW-5Ea8,COW,CoinWind Token,0x34965f73Cfa05Bf8d8aF37cB4af64Fa950605Ea8,18 -1944,WBNB-7605,WBNB,Wrapped BNB,0x418D75f65a02b3D53B2418FB8E1fe493759c7605,18 -1945,VOLT-9b25,VOLT,VOLTAGE,0xfFbF315f70E458e49229654DeA4cE192d26f9b25,18 -1946,FOREX-259B,FOREX,handleFOREX,0xDb298285FE4C5410B05390cA80e8Fbe9DE1F259B,18 -1947,frxETH-Aa1f,frxETH,Frax Ether,0x5E8422345238F34275888049021821E8E08CAa1f,18 -1948,🌐-3953,🌐,QAO,0x3402E15b3EA0f1aEC2679c4Be4c6d051ceF93953,18 -1949,DCHF-7A36,DCHF,Defi Franc,0x045da4bFe02B320f4403674B3b7d121737727A36,18 -1950,NSFW-BF19,NSFW,Pleasure Coin,0x8f006D1e1D9dC6C98996F50a4c810F17a47fBF19,18 -1951,FACTR-B9D5,FACTR,Defactor,0xe0bCEEF36F3a6eFDd5EEBFACD591423f8549B9D5,18 -1952,ZMT-62b2,ZMT,Zipmex Token,0xaa602dE53347579f86b996D2Add74bb6F79462b2,18 -1953,DECI-4eA6,DECI,Maximus Decimus,0x6b32022693210cD2Cfc466b9Ac0085DE8fC34eA6,8 -1954,ISHND-5dbf,ISHND,Stronghands Finance,0x9e6b19874e97fe8E8CAD77f2c0AB5E7a693E5dbf,18 -1955,gtcETH-065e,gtcETH,Gitcoin Staked ETH Index (gtcETH),0x36c833Eed0D376f75D1ff9dFDeE260191336065e,18 -1956,SDL-6871,SDL,Saddle DAO,0xf1Dc500FdE233A4055e25e5BbF516372BC4F6871,18 -1957,PRIME-28CF,PRIME,Prime,0xb23d80f5FefcDDaa212212F028021B41DEd428CF,18 -1958,BZR-BA8F,BZR,BAZAARS,0x8d96B4ab6C741a4C8679AE323a100d74f085BA8F,18 -1959,COM-34A8,COM,Communis,0x5A9780Bfe63f3ec57f01b087cD65BD656C9034A8,12 -1960,LUCKY-6140,LUCKY,Maximus Lucky,0x6B0956258fF7bd7645aa35369B55B61b8e6d6140,8 -1961,NXRA-EF9e,NXRA,AllianceBlock Nexera Token,0x644192291cc835A93d6330b24EA5f5FEdD0eEF9e,18 -1962,WAMPL-49Ef,WAMPL,Wrapped Ampleforth,0xEDB171C18cE90B633DB442f2A6F72874093b49Ef,18 -1963,sILV2-b068,sILV2,Escrowed Illuvium 2,0x7E77dCb127F99ECe88230a64Db8d595F31F1b068,18 -1964,BTRFLY-e5Da,BTRFLY,BTRFLY,0xc55126051B22eBb829D00368f4B12Bde432de5Da,18 -1965,HAIR-6f42,HAIR,HairDAO Token,0x9Ce115f0341ae5daBC8B477b74E83db2018A6f42,18 -1966,MS-908F,MS,Morphswap,0x6d6554939D646f274d0FC3cEcB7dab5d76bc908F,18 -1967,SGT-EcDD,SGT,Sharedstake.finance,0x24C19F7101c1731b85F1127EaA0407732E36EcDD,18 -1968,D2T-7A76,D2T,Dash 2 Trade,0x4Dd942bAa75810a3C1E876e79d5cD35E09C97A76,18 -1969,TGBP-00a5,TGBP,TrueGBP,0x00000000441378008EA67F4284A57932B1c000a5,18 -1970,FCC-e079,FCC,Freechat Coin,0x171b1DAefac13A0A3524Fcb6BEDdC7B31E58e079,18 -1971,ALICE-63E8,ALICE,ALICE,0xAC51066d7bEC65Dc4589368da368b212745d63E8,6 -1972,EFI-3733,EFI,Efinity Token,0x656C00e1BcD96f256F224AD9112FF426Ef053733,18 -1973,XDEFI-B777,XDEFI,XDEFI,0x72B886d09C117654aB7dA13A14d603001dE0B777,18 -1974,MNW-f6E4,MNW,Morpheus.Network,0xd3E4Ba569045546D09CF021ECC5dFe42b1d7f6E4,18 -1975,HOPR-81dA,HOPR,HOPR Token,0xF5581dFeFD8Fb0e4aeC526bE659CFaB1f8c781dA,18 -1976,SPUME-5283,SPUME,Spume,0xa16a609fF4e1A15b6cCb469E7a5dD14E89305283,18 -1977,GEAR-Ab5D,GEAR,Gearbox,0xBa3335588D9403515223F109EdC4eB7269a9Ab5D,18 -1978,OMI-749e,OMI,OMI Token,0xeD35af169aF46a02eE13b9d79Eb57d6D68C1749e,18 -1979,EURe-273f,EURe,Monerium EUR emoney,0x3231Cb76718CDeF2155FC47b5286d82e6eDA273f,18 -1980,MRPH-56c8,MRPH,Morpheus.Network,0x7B0C06043468469967DBA22d1AF33d77d44056c8,4 -1981,TKING-DAFA,TKING,Tiger King,0x24E89bDf2f65326b94E36978A7EDeAc63623DAFA,18 -1982,RSR-5d70,RSR,Reserve Rights,0x320623b8E4fF03373931769A31Fc52A4E78B5d70,18 -1983,DUST-c5F0,DUST,DUST Token,0xe2E109f1b4eaA8915655fE8fDEfC112a34ACc5F0,18 -1984,MAHA-49B0,MAHA,MahaDAO,0x745407c86DF8DB893011912d3aB28e68B62E49B0,18 -1985,ARIA20-4aF9,ARIA20,ARIANEE,0xeDF6568618A00C6F0908Bf7758A16F76B6E04aF9,18 -1986,CNG-44bf,CNG,Changer,0x5C1d9aA868a30795F92fAe903eDc9eFF269044bf,18 -1987,PRBLY-F7E7,PRBLY,Probably Nothing,0x6361F338Ab8DEf2AF3f2A1Be7BD8A7dB3156F7E7,18 -1988,XOY-9e52,XOY,XOYCoin,0xe9F1d62c671EFe99896492766c0B416bD3FB9e52,8 -1989,ccBCH-b789,ccBCH,Cross-Chain BCH,0xdB792B1D8869A7CFc34916d6c845Ff05A7C9b789,8 -1990,BANANA-F03a,BANANA,Banana,0x94e496474F1725f1c1824cB5BDb92d7691A4F03a,18 -1991,PUNKS-12EA,PUNKS,PUNKS,0x30c084890FC07D78F3499ffc818B3225bC8812EA,18 -1992,WEB3-e601,WEB3,Arch Ethereum Web3,0xe8e8486228753E01Dbc222dA262Aa706Bd67e601,18 -1993,XIDR-aa52,XIDR,XIDR,0xebF2096E01455108bAdCbAF86cE30b6e5A72aa52,6 -1994,₡ABIN-F830,₡ABIN,₡ABIN,0x1934E252f840aA98dfCe2b6205B3E45c41AeF830,18 -1995,STMX-D71C,STMX,StormX,0xa62cc35625B0C8dc1fAEA39d33625Bb4C15bD71C,18 -1996,AMKT-aE8D,AMKT,Alongside Crypto Market Index,0xF17A3fE536F8F7847F1385ec1bC967b2Ca9caE8D,18 -1997,FUND-7f75,FUND,Unification,0xe9B076B476D8865cDF79D1Cf7DF420EE397a7f75,9 -1998,NGC-f131,NGC,NAGA Coin,0x72dD4b6bd852A3AA172Be4d6C5a6dbEc588cf131,18 -1999,JPG-249c,JPG,JPG NFT Index,0x02e7Ac540409D32C90BfB51114003a9E1fF0249c,18 -2000,ZUSD-04fA,ZUSD,Z.com USD,0xc56c2b7e71B54d38Aab6d52E94a04Cbfa8F604fA,6 -2001,WRAB-C285,WRAB,White Rabbit,0x45D74446748fB432F05E7a85bD974aBB7af5C285,18 -2002,UTU-189B,UTU,UTU Coin,0xa58a4f5c4Bb043d2CC1E170613B74e767c94189B,18 -2003,GLQ-4D24,GLQ,GraphLinq,0x9F9c8ec3534c3cE16F928381372BfbFBFb9F4D24,18 -2004,KROM-d789,KROM,Kromatika,0x3af33bEF05C2dCb3C7288b77fe1C8d2AeBA4d789,18 -2005, SHOP-4B8b, SHOP,SHOP,0x64b78325d7495D6d4be92f234fa3f3B8d8964B8b,18 -2006,CERES-0aDA,CERES,Ceres,0x2e7B0d4F9B2EaF782eD3D160e3a0a4b1a7930aDA,18 -2007,ELA-1867,ELA,ELA on Ethereum,0xe6fd75ff38Adca4B97FBCD938c86b98772431867,18 -2008,PILOT-9525,PILOT,Unipilot,0x37C997B35C619C21323F3518B9357914E8B99525,18 -2009,UNBNK-442f,UNBNK,Unbanked,0x06B884e60794Ce02AafAb13791B59A2e6A07442f,18 -2010,KUJI-3fe7,KUJI,Kuji,0x96543ef8d2C75C26387c1a319ae69c0BEE6f3fe7,6 -2011,EUL-E07b,EUL,Euler,0xd9Fcd98c322942075A5C3860693e9f4f03AAE07b,18 -2012,UNT-fdFe,UNT,Unity Network,0x8d610E20481F4C4f3aCB87bBa9c46BeF7795fdFe,18 -2013,MIDAS-66A5,MIDAS,Midas,0x97e6e31aFb2d93d437301e006D9DA714616766A5,18 -2014,BCNT-2CD9,BCNT,Bincentive Token,0x9669890e48f330ACD88b78D63E1A6b3482652CD9,18 -2015,QRDO-2463,QRDO,Qredo Token,0x4123a133ae3c521FD134D7b13A2dEC35b56c2463,8 -2016,MVRS-f8c1,MVRS,Meta MVRS,0xBEDE1F59Fa4412556fEF69f1B9969F2003E3f8c1,18 -2017,XFT-45aE,XFT,Offshift,0x76BC677d444f1E9d57dAf5187ee2b7dC852745aE,18 -2018,UST-87a5,UST,UST,0xa693B19d2931d498c5B318dF961919BB4aee87a5,6 -2019,VEGA-bc6e,VEGA,VEGA,0xcB84d72e61e383767C4DFEb2d8ff7f4FB89abc6e,18 -2020,iZi-c200,iZi,izumi Token,0x9ad37205d608B8b219e6a2573f922094CEc5c200,18 -2021,TRG-4928,TRG,The Rug Game,0x93eEB426782BD88fCD4B48D7b0368CF061044928,18 -2022,WOMBAT-F9dd,WOMBAT,Wombat,0x0C9c7712C83B3C70e7c5E11100D33D9401BdF9dd,18 -2023,HARAMBE-38c6,HARAMBE,Harambe,0xADe6FDAba1643E4D1eeF68Da7170F234470938c6,18 -2024,THOL-0618,THOL,Tholos,0x207e14389183A94343942de7aFbC607F57460618,18 -2025,ACRIA-c58A,ACRIA,Acria Token,0x44F5909E97E1CBf5FBbDF0FC92FD83cde5d5c58A,18 -2026,POLY-fdad,POLY,Poly Maximus,0x9d93692E826A4bd9e903e2A27D7FbD1e116efdad,9 -2027,GRPFT-364A,GRPFT,GRAPEFRUIT,0x64B986211c0CC675143F895C437b79c3cadf364A,8 -2028,BTRFLY-eC3A,BTRFLY,BTRFLY,0xC0d4Ceb216B3BA9C3701B291766fDCbA977ceC3A,9 -2029,sETH2-043A,sETH2,StakeWise Staked ETH2,0xFe2e637202056d30016725477c5da089Ab0A043A,18 -2030,ZURR-e08D,ZURR,ZURRENCY,0x89509aA1D14a8E1E5364Ec4C3B041213bcDbe08D,18 -2031,AIN-0385,AIN,AI Network,0x3A810ff7211b40c4fA76205a14efe161615d0385,18 -2032,ALCA-8F8b,ALCA,AliceNet Staking Token,0xBb556b0eE2CBd89ed95DdEA881477723A3Aa8F8b,18 -2033,CADC-2Eef,CADC,CAD Coin,0xcaDC0acd4B445166f12d2C07EAc6E2544FbE2Eef,18 -2034,BYTES-8c95,BYTES,BYTES,0x7d647b1A0dcD5525e9C6B3D14BE58f27674f8c95,18 -2035,LOOMI-2451,LOOMI,LOOMI,0xEb57Bf569Ad976974C1F861a5923A59F40222451,18 -2036,AGLD-9A20,AGLD,Adventure Gold,0x32353A6C91143bfd6C7d363B546e62a9A2489A20,18 -2037,SPELL-e5F6,SPELL,Spell Token,0x090185f2135308BaD17527004364eBcC2D37e5F6,18 -2038,NFD-5346,NFD,Feisty Doge NFT,0xDFDb7f72c1F195C5951a234e8DB9806EB0635346,18 -2039,BANK-2921,BANK,Float Bank,0x24A6A37576377F63f194Caa5F518a60f45b42921,18 -2040,TERA2-3231,TERA2,Terareum,0x33909C9CE97Ce509daB3A038B3eC7ac3d1Be3231,4 -2041,BLOCKS-24eB,BLOCKS,BLOCKS,0x8a6D4C8735371EBAF8874fBd518b56Edd66024eB,18 -2042,ATH-C8F6,ATH,Athens,0x2F9411088cEF82Fd9fB904Eb8092f28eB485C8F6,18 -2043,LIT-C341,LIT,Liquidity Incentive Token,0xfd0205066521550D7d7AB19DA8F72bb004b4C341,18 -2044,H2O-1701,H2O,H2O,0x0642026E7f0B6cCaC5925b4E7Fa61384250e1701,18 -2045,CenX-cf79,CenX,Centralex Token,0x504cDe95dBC5d90d09B802F43B371971adbEcf79,18 -2046,SOON-B771,SOON,NONbeta,0x6100dd79fCAA88420750DceE3F735d168aBcB771,18 -2047,XIV-392C,XIV,INVERSE,0x44f262622248027f8E2a8Fb1090c4Cf85072392C,18 -2048,ETHMAXY-69E2,ETHMAXY,ETH Max Yield Index,0x0FE20E0Fa9C78278702B05c333Cc000034bb69E2,18 -2049,SWEAT-3A35,SWEAT,SWEAT,0xB4b9DC1C77bdbb135eA907fd5a08094d98883A35,18 -2050,PRNT-15FD,PRNT,PrimeNumbers,0x7Cfea0DD176651E7B5a1CeD9c4fAf8Ee295315FD,18 -2051,QANX-3AAA,QANX,QANX Token,0xAAA9214F675316182Eaa21C85f0Ca99160CC3AAA,18 -2052,PDI-8B48,PDI,Phuture DeFi Index,0x632806BF5c8f062932Dd121244c9fbe7becb8B48,18 -2053,SYN-9F29,SYN,Synapse,0x0f2D719407FdBeFF09D87557AbB7232601FD9F29,18 -2054,BETA-9D28,BETA,Beta Token,0xBe1a001FE942f96Eea22bA08783140B9Dcc09D28,18 -2055,FLUX-B1d9,FLUX,FLUX,0x469eDA64aEd3A3Ad6f868c44564291aA415cB1d9,18 -2056,DON-92c6,DON,Donkey,0x4576E6825B462b6916D2a41E187626E9090A92c6,18 -2057,DOG-8899,DOG,The Doge NFT,0xBAac2B4491727D78D2b78815144570b9f2Fe8899,18 -2058,MET-89aa,MET,Metronome2,0x2Ebd53d035150f328bd754D6DC66B99B0eDB89aa,18 -2059,IZE-327B,IZE,Galvan,0xf7e945FcE8F19302AaCc7E1418b0A0bdef89327B,8 -2060,MCRT-478D,MCRT,MagicCraft,0xde16Ce60804a881e9F8c4eBB3824646EDecd478D,9 -2061,LORDS-18b0,LORDS,Lords,0x686f2404e77Ab0d9070a46cdfb0B7feCDD2318b0,18 -2062,WOOF-d0a3,WOOF,WoofWork.io,0x6BC08509B36A98E829dFfAD49Fde5e412645d0a3,18 -2063,USDD-b5c6,USDD,Decentralized USD,0x0C10bF8FcB7Bf5412187A595ab97a3609160b5c6,18 -2064,WSTRAX-A51B,WSTRAX,WrappedStrax,0xa3C22370de5f9544f0c4De126b1e46cEadF0A51B,18 -2065,MON-fc17,MON,Moneta,0x1EA48B9965bb5086F3b468E50ED93888a661fc17,18 -2066,MORE-85D0,MORE,More,0xbEEf3bB9dA340EbdF0f5bae2E85368140d7D85D0,18 -2067,PXP-314f,PXP, PointPay Crypto Banking Token V2 ,0x95aA5d2DbD3c16ee3fdea82D5C6EC3E38CE3314f,18 -2068,JPYC-7BDB,JPYC,JPY Coin,0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB,18 -2069,LUNA-Fa3d,LUNA,LUNA,0xbd31EA8212119f94A611FA969881CBa3EA06Fa3d,6 -2070,PEBBLE-a4A8,PEBBLE,Etherrock #72,0xDC98c5543F3004DEBfaad8966ec403093D0aa4A8,18 -2071,RUSH-9eC7,RUSH,Rush coin,0x382A1667C9062F0621362F49076Ef6e4fE4C9eC7,18 -2072,IGG-caeA,IGG,IG Gold,0x8FfE40A3D0f80C0CE6b203D5cDC1A6a86d9AcaeA,6 -2073,ORC-2F51,ORC,Orbit Chain,0x662b67d00A13FAf93254714DD601F5Ed49Ef2F51,18 -2074,QDT-2Ef3,QDT,QuadransToken,0x9Adc7710E9d1b29d8a78c04d52D32532297C2Ef3,18 -2075,HMX-3a88,HMX,Hermes,0xb012Be90957D70D9a070918027655F998C123a88,18 -2076,$HACHI-AAFf,$HACHI,HACHI,0x967B0c95295ead8fAef70d26A7846AeCD349AAFf,18 -2077,MAP-28e4,MAP,MAP Protocol,0x9E976F211daea0D652912AB99b0Dc21a7fD728e4,18 -2078,GRAIN-e58e,GRAIN,GRAIN Token,0x6589fe1271A0F29346796C6bAf0cdF619e25e58e,18 -2079,HPO-1a84,HPO,Hippopotamus,0xa0ED3C520dC0632657AD2EaaF19E26C4fD431a84,18 -2080,MTO-324F,MTO,Merchant Token,0xE66b3AA360bB78468c00Bebe163630269DB3324F,18 -2081,SWISE-2FA2,SWISE,StakeWise,0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2,18 -2082,ANFD-211b,ANFD,Angry Doge,0x4F14cDBd815B79E9624121f564f24685c6B1211b,18 -2083,DVF-1918,DVF,DeversiFi Token,0xDDdddd4301A082e62E84e43F474f044423921918,18 -2084,TIA-Ea26,TIA,Tia Token,0x824E35f7A75324f99300aFAC75ECF7354E17Ea26,9 -2085,MEMAG-7AF6,MEMAG,Meta Masters Guild,0x6E39A587691b8c9D4341cE0A960998ED6F537AF6,18 -2086,BASE-04e0,BASE,Maximus Base,0xe9f84d418B008888A992Ff8c6D22389C2C3504e0,8 -2087,EUROC-C33c,EUROC,Euro Coin,0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c,6 -2088,WMATIC-2D43,WMATIC,Wrapped Matic,0x7c9f4C87d911613Fe9ca58b579f737911AAD2D43,18 -2089,BZZ-F8Cb,BZZ,BZZ,0x19062190B1925b5b6689D7073fDfC8c2976EF8Cb,16 -2090,UwU-5257,UwU,UwU Lend,0x55C08ca52497e2f1534B59E2917BF524D4765257,18 -2091,WAIT-19F7,WAIT,Wait,0xb5588C411ba0bb7D38865fdC51D082d004e519F7,0 -2092,TCAP-aFa4,TCAP,TCAP Token,0x16c52CeeCE2ed57dAd87319D91B5e3637d50aFa4,18 -2093,vETH-21Ab,vETH,Voucher Ethereum,0xc3D088842DcF02C13699F936BB83DFBBc6f721Ab,18 -2094,BOBA-Efbc,BOBA,Boba Token,0x42bBFa2e77757C645eeaAd1655E0911a7553Efbc,18 -2095,ankrMATIC-480C,ankrMATIC,Ankr Staked MATIC,0x26dcFbFa8Bc267b250432c01C982Eaf81cC5480C,18 -2096,PRINTS-cb95,PRINTS,Fingerprints,0x4dd28568D05f09b02220b09C2cb307bFd837cb95,18 -2097,PYR-9682,PYR,PYR Token,0x430EF9263E76DAE63c84292C3409D61c598E9682,18 -2098,$MECHA-9Ef5,$MECHA,Mechanium,0xC5bcc8BA3F33Ab0d64f3473e861BDC0685b19Ef5,18 -2099,WAVAX-Eda3,WAVAX,Wrapped AVAX,0x85f138bfEE4ef8e540890CFb48F620571d67Eda3,18 -2100,CRI-3E4d,CRI,Crypto International,0x12E951934246186F50146235d541D3bD1D463E4d,18 -2101,SKEB-C810,SKEB,Skeb Coin,0x6D614686550B9E1c1DF4b2cD8f91C9D4df66C810,18 -2102,SPOT-bafE,SPOT,SPOT,0xC1f33e0cf7e40a67375007104B929E49a581bafE,9 -2103,ELAND-3205,ELAND,Etherland,0x33E07f5055173cF8FeBedE8B21B12D1e2b523205,18 -2104,dsETH-B3BE,dsETH,Diversified Staked ETH Index (dsETH),0x341c05c0E9b33C0E38d64de76516b2Ce970bB3BE,18 -2105,MAI-f609,MAI,MindsyncAI,0x75387e1287Dd85482aB66102DA9f6577E027f609,18 -2106,ZERO-5eCC,ZERO,ZeroLiquid,0xB0Ed33f79D89541dfdCb04A8f04Bc2c6be025eCC,18 -2107,NFTL-9638,NFTL,Nifty League,0x3c8D2FCE49906e11e71cB16Fa0fFeB2B16C29638,18 -2108,CNC-5cFC,CNC,Conic Finance Token,0x9aE380F0272E2162340a5bB646c354271c0F5cFC,18 -2109,DVI-9770,DVI,Dvision,0x10633216E7E8281e33c86F02Bf8e565a635D9770,18 -2110,icETH-6A84,icETH,Interest Compounding ETH Index,0x7C07F7aBe10CE8e33DC6C5aD68FE033085256A84,18 -2111,THX-4B31,THX,THX Network,0xe632ea2eF2CFD8Fc4a2731C76F99078Aef6a4B31,18 -2112,cvxFPIS-7Df6,cvxFPIS,Convex FPIS,0xa2847348b58CEd0cA58d23c7e9106A49f1427Df6,18 -2113,GRG-C964,GRG,Rigo Token,0x4FbB350052Bca5417566f188eB2EBCE5b19BC964,18 -2114,Nvir-6804,Nvir,NvirWorld,0x9d71CE49ab8A0E6D2a1e7BFB89374C9392FD6804,18 -2115,GFI-8D2b,GFI,Goldfinch,0xdab396cCF3d84Cf2D07C4454e10C8A6F5b008D2b,18 -2116,EASE-c61c,EASE,Ease Token,0xEa5eDef1287AfDF9Eb8A46f9773AbFc10820c61c,18 -2117,ASTRA-3E23,ASTRA,Astra DAO,0x7E9c15C43f0D6C4a12E6bdfF7c7D55D0f80e3E23,18 -2118,CITIZEN-A8Ea,CITIZEN,KONG Land Alpha Citizenship,0x77F0cc420dEa0aE726Db6Bef1460A4B69176A8Ea,18 -2119,GODS-FD97,GODS,Gods Unchained,0xccC8cb5229B0ac8069C51fd58367Fd1e622aFD97,18 -2120,rETH2-86c5,rETH2,StakeWise Reward ETH2,0x20BC832ca081b91433ff6c17f85701B6e92486c5,18 -2121,GDC-aF31,GDC,Global Digital Content,0x301C755bA0fcA00B1923768Fffb3Df7f4E63aF31,18 -2122,LOVE-A27C,LOVE,UkraineDAO Flag NFT,0x5380442d3C4EC4f5777f551f5EDD2FA0F691A27C,18 -2123,LAKE-C400,LAKE,Data Lake Token,0xF9Ca9523E5b5A42C3018C62B084Db8543478C400,18 -2124,OUSD-5e86,OUSD,Origin Dollar,0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86,18 -2125,KXA-Cd89,KXA,Kryxivia Coin,0x2223bF1D7c19EF7C06DAB88938EC7B85952cCd89,18 -2126,FPI-E08E,FPI,Frax Price Index,0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E,18 -2127,MEGA-B10E,MEGA,MegaWorld $MEGA Token,0x1892F6ff5FBE11c31158F8c6f6F6e33106c5B10E,18 -2128,PENDLE-a827,PENDLE,Pendle,0x808507121B80c02388fAd14726482e061B8da827,18 -2129,FOLD-5921,FOLD,Manifold Finance,0xd084944d3c05CD115C09d072B9F44bA3E0E45921,18 -2130,WALLET-94Ae,WALLET,Ambire Wallet,0x88800092fF476844f74dC2FC427974BBee2794Ae,18 -2131,rETH-3593,rETH,StaFi,0x9559Aaa82d9649C7A7b220E7c461d2E74c9a3593,18 -2132,ALLUO-0B09,ALLUO,Alluo Token,0x1E5193ccC53f25638Aa22a940af899B692e10B09,18 -2133,BRIGHT-0DfE,BRIGHT,Bright,0x5dD57Da40e6866C9FcC34F4b6DDC89F1BA740DfE,18 -2134,GPOOL-A09d,GPOOL,Genesis Pool,0x797de1Dc0b9fAf5E25c1f7Efe8dF9599138fA09d,18 -2135,BOO-Fa58,BOO,SpookyToken,0x55aF5865807b196bD0197e0902746F31FBcCFa58,18 -2136,OHM-a899,OHM,Olympus,0x383518188C0C6d7730D91b2c03a03C837814a899,9 -2137,XAI-bEAc,XAI,XAI Stablecoin,0xd7C9F0e536dC865Ae858b0C0453Fe76D13c3bEAc,18 -2138,MTRM-7581,MTRM,Materium,0xcd17fA52528f37FACB3028688E62ec82d9417581,0 -2139,SUMMER-CA5c,SUMMER,Summer Token,0x4D4f3715050571A447FfFa2Cd4Cf091C7014CA5c,18 -2140,AUTUMN-3a99,AUTUMN,Autumn Token,0x4c3bAe16c79c30eEB1004Fb03C878d89695e3a99,18 -2141,JUSTICE-90B5,JUSTICE,AssangeDAO,0x59d1e836F7b7210A978b25a855085cc46fd090B5,18 -2142,RTH-8bC8,RTH,Rotharium,0x3FD8f39A962eFDA04956981C31AB89FAB5FB8bC8,18 -2143,DEO-cf8e,DEO,Demeter,0x5E7F20e72C21f6D0Bf0A2814FD4164176401cf8e,18 -2144,GIV-0DA0,GIV,Giveth,0x900dB999074d9277c5DA2A43F252D74366230DA0,18 -2145,OM-c95d,OM,MANTRA DAO,0x3593D125a4f7849a1B059E64F4517A86Dd60c95d,18 -2146,CTSI-6B5D,CTSI,Cartesi Token,0x491604c0FDF08347Dd1fa4Ee062a822A5DD06B5D,18 -2147,KCS-8811,KCS,KuCoin Token,0xf34960d9d60be18cC1D5Afc1A6F012A723a28811,6 -2148,PDT-9893,PDT,Paragons DAO Token,0x375aBB85C329753b1Ba849a601438AE77eEc9893,18 -2149,PAW-5136,PAW,PAWZONE,0x1AA51bc7eb181ce48CE626Bf62f8956Fa9555136,18 -2150,CQT-6240,CQT,Covalent Query Token,0xD417144312DbF50465b1C641d016962017Ef6240,18 -2151,COW-97aB,COW,CoW Protocol Token,0xDEf1CA1fb7FBcDC777520aa7f396b4E015F497aB,18 -2152,SOUL-f07F,SOUL,Phantasma Stake,0x75858677e27C930FB622759FeafFeE2b754Af07F,8 -2153,WSTR-12B1,WSTR,WrappedStar,0xF0dC76C22139ab22618dDFb498BE1283254612B1,18 -2154,X8X-fa4c,X8X,X8XToken,0x910Dfc18D6EA3D6a7124A6F8B5458F281060fa4c,18 -2155,PSTAKE-7006,PSTAKE,pSTAKE Finance,0xfB5c6815cA3AC72Ce9F5006869AE67f18bF77006,18 -2156,GEL-EA05,GEL,Gelato Network Token,0x15b7c0c907e4C6b9AdaAaabC300C08991D6CEA05,18 -2157,SHI-AD5a,SHI,Shina Inu,0x243cACb4D5fF6814AD668C3e225246efA886AD5a,18 -2158,NABOX-77Fb,NABOX,Nabox Token,0x03D1E72765545729A035e909eDd9371a405f77Fb,18 -2159,TOWN-Ab7F,TOWN,TownCoin,0x3Dd98C8A089dBCFF7e8FC8d4f532BD493501Ab7F,8 -2160,3Crv-E490,3Crv,Curve.fi DAI/USDC/USDT,0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490,18 -2161,SSV-7f54,SSV,SSV Token,0x9D65fF81a3c488d585bBfb0Bfe3c7707c7917f54,18 -2162,BKR-58Fd,BKR,Balkari Token,0x77271813bd9167e75B5DF9c230cf58d64f0A58Fd,18 -2163,FX-5057,FX,Function X,0x8c15Ef5b4B21951d50E53E4fbdA8298FFAD25057,18 -2164,KAPPA-BeF4,KAPPA,Kappa Token,0x5D2C6545d16e3f927a25b4567E39e2cf5076BeF4,18 -2165,FLOOR-455e,FLOOR,Floor,0xf59257E961883636290411c11ec5Ae622d19455e,9 -2166,GPT-47F8,GPT,CryptoGPT Token,0xD04E772BC0d591fBD288f2E2a86aFA3D3CB647F8,18 -2167,LSETH-d048,LSETH,Liquid Staked ETH,0x628eBC64A38269E031AFBDd3C5BA857483B5d048,18 -2168,LEAN-99F8,LEAN,Lean Management Token,0xFb83869f7EE52AEBadDEA254F647953AfB1F99F8,18 -2169,MYC-F5Ba,MYC,Mycelium,0x4b13006980aCB09645131b91D259eaA111eaF5Ba,18 -2170,TCR-F050,TCR,Tracer,0x9C4A4204B79dd291D6b6571C5BE8BbcD0622F050,18 -2171,SOLID-0990,SOLID,Solidly,0x777172D858dC1599914a1C4c6c9fC48c99a60990,18 -2172,AXS-B28b,AXS,Axie Infinity Shard,0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b,18 -2173,NFTI-4a81,NFTI,Scalara NFT Index,0x525eF76138Bf76118d786DbedeaE5F87aaBf4a81,18 -2174,CRETH2-dB64,CRETH2,Cream ETH Token,0x49D72e3973900A195A155a46441F0C08179FdB64,18 -2175,NATION-2069,NATION,Nation3,0x333A4823466879eeF910A04D473505da62142069,18 -2176,WINTER-845f,WINTER,Winter Token,0xCcbA0b2bc4BAbe4cbFb6bD2f1Edc2A9e86b7845f,18 -2177,wMEMO-af57,wMEMO,Wrapped MEMO,0x3b79a28264fC52c7b4CEA90558AA0B162f7Faf57,18 -2178,WGRLC-5BE9,WGRLC,Wrapped GRLC,0x58f7345b5295E43aA454911571f13be186655BE9,8 -2179,LM-bec9,LM,LeisureMeta,0x7BEC98609cB6378D6F995e8f8097Ee78376fbec9,18 -2180,GMT-1989,GMT,GoMining Token,0x7Ddc52c4De30e94Be3A6A0A2b259b2850f421989,18 -2181,UDT-1517,UDT,Unlock Discount Token,0x90DE74265a416e1393A450752175AED98fe11517,18 -2182,SOS-aEe0,SOS,SOS,0x3b484b82567a09e2588A13D54D032153f0c0aEe0,18 -2183,SBECOM-0A28,SBECOM,SheBollETH Commerce,0x888E88E71378133b7ADa5A90c08Bc97D772A0A28,18 -2184,GBPT-bA98,GBPT,poundtoken,0x86B4dBE5D203e634a12364C0e428fa242A3FbA98,18 -2185,TOS-8153,TOS,TONStarter,0x409c4D8cd5d2924b9bc5509230d16a61289c8153,18 -2186,POW-9258,POW,POW,0x43Ab765ee05075d78AD8aa79dcb1978CA3079258,18 -2187,CODE-8f11,CODE,Developer DAO,0xb24cd494faE4C180A89975F1328Eab2a7D5d8f11,18 -2188,SWTH-20bB,SWTH,Switcheo Token,0xB4371dA53140417CBb3362055374B10D97e420bB,8 -2189,NFTX-f776,NFTX,NFTX,0x87d73E916D7057945c9BcD8cdd94e42A6F47f776,18 -2190,WOOFY-57f1,WOOFY,Woofy,0xD0660cD418a64a1d44E9214ad8e459324D8157f1,12 -2191,UWL-8Df5,UWL,UniWhales.io,0xdbDD6F355A37b94e6C7D32fef548e98A280B8Df5,18 -2192,WPC-6746,WPC,WePiggy Coin,0x6F620EC89B8479e97A6985792d0c64F237566746,18 -2193,WAR-1543,WAR,Wrapped AR,0x4FaDC7A98f2Dc96510e42dD1A74141eEae0C1543,12 -2194,IPISTR-348e,IPISTR,IPI Shorter,0x888888888888f195E27A2E0F98D712952aB9348e,18 -2195,LED-BF6D,LED,LedgerScore,0x72De803b67B6AB05B61EFab2Efdcd414D16eBF6D,18 -2196,KRX-7922,KRX,KRYZA Exchange,0x93ad9b819C88D98B4c9641470A96E24769Ae7922,9 -2197,CNFI-2Ae9,CNFI,Connect Financial,0xEABB8996eA1662cAd2f7fB715127852cd3262Ae9,18 -2198,DAM-86Df,DAM,Datamine,0xF80D589b3Dbe130c270a69F1a69D050f268786Df,18 -2199,KCT-A27E,KCT,Konnect,0x4c601dc69AfFb0D4Fc8dE1Ac303705e432A4A27E,18 -2200,PAL-f4BF,PAL,Paladin Token,0xAB846Fb6C81370327e784Ae7CbB6d6a6af6Ff4BF,18 -2201,DAR-62a3,DAR,Dalarnia,0x081131434f93063751813C619Ecca9C4dC7862a3,6 -2202,GAL-9875,GAL,Project Galaxy,0x5fAa989Af96Af85384b8a938c2EdE4A7378D9875,18 -2203,GMM-c279,GMM,Gamium [via ChainPort.io],0x4B19C70Da4c6fA4bAa0660825e889d2F7eaBc279,18 -2204,FORT-Ec29,FORT,Forta,0x41545f8b9472D758bB669ed8EaEEEcD7a9C4Ec29,18 -2205,GOG-9c62,GOG,Guild of Guardians,0x9AB7bb7FdC60f4357ECFef43986818A2A3569c62,18 -2206,ALIS-4fAB,ALIS,AlisToken,0xEA610B1153477720748DC13ED378003941d84fAB,18 -2207,GBYTE-cc2a,GBYTE,Imported GBYTE,0x31F69dE127C8A0fF10819C0955490a4Ae46fcc2a,18 -2208,XOLO-B252,XOLO,Xoloitzcuintli,0x3252d4221f92b7Af3774Da8312F01600eC84B252,18 -2209,GEM-F806,GEM,NFTmall GEM Token,0x9b17bAADf0f21F03e35249e0e59723F34994F806,18 -2210,QUA-88B7,QUA,Quarashi,0xd35c06a2781f648c75290976ecF71E71582188B7,18 -2211,BXR-D695,BXR,Blockster,0x97A3BD8a445cC187c6A751F392e15C3B2134D695,18 -2212,$PAPER-9397,$PAPER,PaperToken,0x21018CBC9ad730542130bE180b577b74DB2a9397,18 -2213,KRAUSE-603b,KRAUSE,KRAUSE,0x9F6F91078A5072A8B54695DAfA2374Ab3cCd603b,18 -2214,PLOT-66Bb,PLOT,PLOT,0x72F020f8f3E8fd9382705723Cd26380f8D0c66Bb,18 -2215,INXT-16D4,INXT,Internxt,0x4A8f5F96D5436e43112c2fBC6a9f70DA9e4E16D4,8 -2216,WACME-1170,WACME,Wrapped ACME,0xDF4Ef6EE483953fE3B84ABd08C6A060445c01170,8 -2217,JPEG-45a3,JPEG,JPEG’d Governance Token,0xE80C0cd204D654CEbe8dd64A4857cAb6Be8345a3,18 -2218,PLQ-BB7B,PLQ,PlanQ,0xd23Ed8cA350CE2631F7EcDC5E6bf80D0A1DeBB7B,18 -2219,MDT-7d26,MDT,Measurable Data Token,0x814e0908b12A99FeCf5BC101bB5d0b8B5cDf7d26,18 -2220,ILV-ca0E,ILV,Illuvium,0x767FE9EDC9E0dF98E07454847909b5E959D7ca0E,18 -2221,KNIGHT-16bC,KNIGHT,CitaDAO,0x3541A5C1b04AdABA0B83F161747815cd7B1516bC,18 -2222,USDS-2eBe,USDS,StableUSD,0xA4Bdb11dc0a2bEC88d24A3aa1E6Bb17201112eBe,6 -2223,PET-5C5F,PET,Pet Token,0xB870679a7Fa65b924026F496De7f27c1DD0e5C5F,18 -2224,CSX-9C8c,CSX,Coinstox Token,0x3aadc3BCe49724ce299fD9F3850211211c399C8c,18 -2225,BOOP-3Ce1,BOOP,Boop,0x8013266cb5c9dd48bE3Ad7D1CE832874d64B3Ce1,18 -2226,MNTL-3295,MNTL,AssetMantle,0x2C4F1DF9c7DE0C59778936C9b145fF56813F3295,6 -2227,KCAL-79F9,KCAL,Phantasma Energy,0x47C1178F49140ECdBfbdF0aE2935cDB640D579F9,10 -2228,EXD-6560,EXD,Exorde Network Token,0x02dE007D412266a2e0Fa9287C103474170F06560,18 -2229,BENT-C375,BENT,Bent Token,0x01597E397605Bf280674Bf292623460b4204C375,18 -2230,LUCHOW-7C57,LUCHOW,LunaChow,0xA5Ef74068d04ba0809B7379dD76Af5Ce34Ab7C57,18 -2231,JBX-6f66,JBX,Juicebox,0x3abF2A4f8452cCC2CF7b4C1e4663147600646f66,18 -2232,anonUSD-1eFd,anonUSD,anonUSD,0x5a7E6C8204A1359DB9AAcab7bA5Fc309B7981eFd,18 -2233,AGOV-280c,AGOV,Answer Governance,0xd1420AF453Fd7bf940573431D416cAcE7fF8280c,18 -2234,MOVE-324C,MOVE,Mover,0x3FA729B4548beCBAd4EaB6EF18413470e6D5324C,18 -2235,BTC2x-FLI-1c2b,BTC2x-FLI,BTC 2x Flexible Leverage Index,0x0B498ff89709d3838a063f1dFA463091F9801c2b,18 -2236,LIT-783b,LIT,LIT,0xC5b3D3231001a776123194Cf1290068e8b0C783b,18 -2237,cV-5683,cV,cVToken,0x50bC2Ecc0bfDf5666640048038C1ABA7B7525683,18 -2238,SPRING-d4FE,SPRING,Spring Token,0xf04aF3f4E4929F7CD25A751E6149A3318373d4FE,18 -2239,MOONEY-1395,MOONEY,MOONEY,0x20d4DB1946859E2Adb0e5ACC2eac58047aD41395,18 -2240,SBLX-5F80,SBLX,SocialBlox,0xf6af18F94d55B8888B557cb3da0Ec623BA245F80,18 -2241,CHO-3099,CHO,choise.com Token,0xBBa39Fd2935d5769116ce38d46a71bde9cf03099,18 -2242,MNE-d0E0,MNE,Minereum,0x426CA1eA2406c07d75Db9585F22781c096e3d0E0,8 -2243,MILADY-EB48,MILADY,Milady Maker,0x227c7DF69D3ed1ae7574A1a7685fDEd90292EB48,18 -2244,bLUSD-79C3,bLUSD,bLUSD,0xB9D7DdDca9a4AC480991865EfEf82E01273F79C3,18 -2245,ARTIC-731e,ARTIC,ARTIC,0xE83D5FB2c60B3A2597452e248CF7b2f52a7E731e,18 -2246,PHONON-03Ec,PHONON,Phonon DAO,0x758B4684BE769E92eeFeA93f60DDA0181eA303Ec,18 -2247,NEC-7A5e,NEC,Ethfinex Nectar Token,0xCc80C051057B774cD75067Dc48f8987C4Eb97A5e,18 -2248,UNIDX-D96C,UNIDX,UniDex,0x95b3497bBcCcc46a8F45F5Cf54b0878b39f8D96C,18 -2249,SURE-416E,SURE,inSure,0xcb86c6A22CB56B6cf40CaFEDb06BA0DF188a416E,18 -2250,BOLLY-ea99,BOLLY,Bollycoin,0x6bd361e10c1afed0d95259e7C0115f3A60e4ea99,18 -2251,IMPT-1f85,IMPT,IMPT,0x04C17b9D3b29A78F7Bd062a57CF44FC633e71f85,18 -2252,AIOZ-BF18,AIOZ,AIOZ Network,0x626E8036dEB333b408Be468F951bdB42433cBF18,18 -2253,FF-94CD,FF,Forefront,0x7E9D8f07A64e363e97A648904a89fb4cd5fB94CD,18 -2254,TSCT-5035,TSCT,Transient,0x805EA9c07B49dd23cE11ec66dC6d8a2957385035,18 -2255,CPOOL-FaC5,CPOOL,Clearpool,0x66761Fa41377003622aEE3c7675Fc7b5c1C2FaC5,18 -2256,CDT-85Cc,CDT,CheckDot,0xCdB37A4fBC2Da5b78aA4E41a432792f9533e85Cc,18 -2257,$MNB-A366,$MNB,Mineable,0x42b91f1d05afeA671a2dA3c780eDa2aBf0A2A366,18 -2258,TAIL-77c4,TAIL,Tail Finance,0x4384b85FE228AE727B129230211194E4A50877c4,9 -2259,BED-7dc6,BED,Bankless BED Index,0x2aF1dF3AB0ab157e1E2Ad8F88A7D04fbea0c7dc6,18 -2260,HFT-cADC,HFT,Hashflow,0xb3999F658C0391d94A37f7FF328F3feC942BcADC,18 -2261,PUNDIX-0C38,PUNDIX,Pundi X Token,0x0FD10b9899882a6f2fcb5c371E17e70FdEe00C38,18 -2262,MVDG-9750,MVDG,Metaverse Dog,0x2eE543b8866F46cC3dC93224C6742a8911a59750,18 -2263,ANT-5A2e,ANT,Aragon Network Token,0xa117000000f279D81A1D3cc75430fAA017FA5A2e,18 -2264,BTU-cc9f,BTU,BTU Protocol,0xb683D83a532e2Cb7DFa5275eED3698436371cc9f,18 -2265,PANDA-00DC,PANDA,PandaDAO,0x3cBb7f5d7499Af626026E96a2f05df806F2200DC,18 -2266,BLOOD-B50c,BLOOD,Blood,0x95392f142Af1c12F6e39897Ff9B09c599666B50c,18 -2267,BAM-4AaB,BAM,Bambi,0x9DB0FB0Aebe6A925B7838D16e3993A3976A64AaB,18 -2268,ETH2x_FLI-65BD,ETH2x_FLI,ETH 2x Flexible Leverage Index,0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD,18 -2269,UNIBOT-5040,UNIBOT,Unibot,0x25127685dC35d4dc96C7fEAC7370749d004C5040,18 -2270,LHINU-038d,LHINU,Love Hate Inu,0xCeDefE438860D2789dA6419b3a19cEcE2A41038d,18 -2271,RIBBIT-5fFe,RIBBIT,Ribbit,0xb794Ad95317f75c44090f64955954C3849315fFe,18 -2272,TURBO-20D3,TURBO,Turbo,0xA35923162C49cF95e6BF26623385eb431ad920D3,18 -2273,SFOX-76d5,SFOX,StonedFox,0xdfba8e8fFCc348B006e893e78De233B8597076d5,18 -2274,wjAURA-Cd1F,wjAURA,Wrapped Jones AURA,0x198d7387Fa97A73F05b8578CdEFf8F2A1f34Cd1F,18 -2275,BEE-307c,BEE,Babylon Bee,0x4C4F2B9DEB3c91006719Bb3232DD4eb39977307c,18 -2276,BIAO-5D8a,BIAO,Biaocoin,0x00282FD551D03dC033256C4bf119532e8C735D8a,2 -2277,TUCKER-A84f,TUCKER,Tucker Carlson,0x6f49694827d46A14Baf2a7b1eAC3e6eB3526A84f,9 \ No newline at end of file +424,TUF-c8f1,TUF,TUF,0x6f8b23296394d20eC048FbDec8eBc0CA90f5c8f1,18 +425,UNI-ecbb,UNI,UNI,0x2730d6FdC86C95a74253BefFaA8306B40feDecbb,8 +426,HYPER-3d03,HYPER,HYPER,0x69fa10Cac03047A47ff32d7CDdD6085ff1583d03,18 +427,DAM-86Df,DAM,DAM,0xF80D589b3Dbe130c270a69F1a69D050f268786Df,18 +428,MORK-6F76,MORK,MORK,0xf552b656022c218C26dAd43ad88881Fc04116F76,4 +429,MRG-7617,MRG,MRG,0xcbee6459728019CB1f2bB971dDe2eE3271BC7617,18 +430,MCT-c9bC,MCT,MCT,0xBEE709aa42375acE642338F7f657ff859a19c9bC,18 +431,BEAN-4FeB,BEAN,BEAN,0x8189AFBE7b0e81daE735EF027cd31371b3974FeB,18 +432,AFIN-7A72,AFIN,AFIN,0xEe9E5eFF401ee921b138490d00CA8D1F13f67A72,8 +433,ASTO-4689,ASTO,ASTO,0x823556202e86763853b40e9cDE725f412e294689,18 +434,XLAB-4472,XLAB,XLAB,0x8c4E7f814d40f8929F9112C5D09016F923d34472,18 +435,PHCR-111F,PHCR,PHCR,0x37E83a94c6B1Bdb816B59aC71dd02CF154d8111F,18 +436,FRENS-5970,FRENS,FRENS,0x5C0217E4e126d501896594bEC409898A9AFc5970,18 +437,RAPID-8528,RAPID,RAPID,0x5549394cFEEf53B08FA41317019F474BFC588528,9 +438,DYDX-Eff5,DYDX,DYDX,0x92D6C1e31e14520e676a687F0a93788B716BEff5,18 +439,IC21-1A65,IC21,IC21,0x1B5E16C5b20Fb5EE87C61fE9Afe735Cca3B21A65,18 +440,AAMMUNICRVWETH-7DB0,AAMMUNICRVWETH,AAMMUNICRVWETH,0x0ea20e7fFB006d4Cfe84df2F72d8c7bD89247DB0,18 +441,WOMBAT-F9dd,WOMBAT,WOMBAT,0x0C9c7712C83B3C70e7c5E11100D33D9401BdF9dd,18 +442,HLTC-31C3,HLTC,HLTC,0x2c000c0093dE75a8fA2FccD3d97b314e20b431C3,18 +443,X7101-E105,X7101,X7101,0x7101a9392EAc53B01e7c07ca3baCa945A56EE105,18 +444,ONEICHI-1e07,ONEICHI,ONEICHI,0x4db2c02831c9ac305FF9311Eb661f80f1dF61e07,18 +445,HUNT-6fa5,HUNT,HUNT,0x9AAb071B4129B083B01cB5A0Cb513Ce7ecA26fa5,18 +446,WCA-41b0,WCA,WCA,0x506B8f75BDeF0Edac36B0A6f9CF313485E4341b0,18 +447,X7102-A105,X7102,X7102,0x7102DC82EF61bfB0410B1b1bF8EA74575bf0A105,18 +448,MUNCH-a301,MUNCH,MUNCH,0x944eeE930933BE5E23b690c8589021Ec8619a301,9 +449,FX-5057,FX,FX,0x8c15Ef5b4B21951d50E53E4fbdA8298FFAD25057,18 +450,ZIG-4f01,ZIG,ZIG,0xb2617246d0c6c0087f18703d576831899ca94f01,18 +451,AGGRX-A59c,AGGRX,AGGRX,0xB37Ea37DE1075b7d2F6B64E768917b174639A59c,9 +452,CRVUSD-1b4E,CRVUSD,CRVUSD,0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E,18 +453,BERRY-4f4c,BERRY,BERRY,0x6aEB95F06CDA84cA345c2dE0F3B7f96923a44f4c,14 +454,MANA-C942,MANA,MANA,0x0F5D2fB29fb7d3CFeE444a200298f468908cC942,18 +455,ETHEREUM-9d21,ETHEREUM,ETHEREUM,0x24249b5a869a445C9B0CE269a08d73c618dF9d21,8 +456,TPY-A2A9,TPY,TPY,0x968Cbe62c830A0Ccf4381614662398505657A2A9,8 +457,GYSR-CCAb,GYSR,GYSR,0xbEa98c05eEAe2f3bC8c3565Db7551Eb738c8CCAb,18 +458,-240C,,,0xfF836A5821E69066c87E268bC51b849FaB94240C,18 +459,ZOOMER-7676,ZOOMER,ZOOMER,0x0D505C03d30e65f6e9b4Ef88855a47a89e4b7676,18 +460,HIVALHALLA-00F1,HIVALHALLA,HIVALHALLA,0x5C0590cDE44569bf39ef79e859B367e39cB000F1,18 +461,AAG-8F97,AAG,AAG,0x5ba19d656B65f1684cFea4Af428C23B9f3628F97,18 +462,PLAY-6170,PLAY,PLAY,0xE477292f1B3268687A29376116B0ED27A9c76170,18 +463,PEEPO-CF41,PEEPO,PEEPO,0xaADA04204e9e1099DaF67cf3D5D137E84E41CF41,18 +464,AAMMUNIDAIWETH-8D36,AAMMUNIDAIWETH,AAMMUNIDAIWETH,0x9303EabC860a743aABcc3A1629014CaBcc3F8D36,18 +465,BNB-7605,BNB,BNB,0x418D75f65a02b3D53B2418FB8E1fe493759c7605,18 +466,CTASK-3934,CTASK,CTASK,0x196c81385Bc536467433014042788Eb707703934,18 +467,MOMOV2-f864,MOMOV2,MOMOV2,0x08D0222A206D1AeE59A9b66969c04FD1e8A0f864,18 +468,RABBITS-7890,RABBITS,RABBITS,0x3576EFf2be8B1A31782b3E8dfD962a6ddb087890,18 +469,KAWA-60Ec,KAWA,KAWA,0x5552E5a89A70cB2eF5AdBbC45a6BE442fE7160Ec,9 +470,PINA-780D,PINA,PINA,0x02814F435dD04e254Be7ae69F61FCa19881a780D,18 +471,MIKAWA-6A26,MIKAWA,MIKAWA,0x0888Fd2960Ddf57Cfb561B59d73Dd2b9524F6A26,9 +472,PLA-6CD5,PLA,PLA,0x0198f46f520F33cd4329bd4bE380a25a90536CD5,18 +473,FEY-6072,FEY,FEY,0xe8E06a5613dC86D459bC8Fb989e173bB8b256072,18 +474,GRAIN-ECce,GRAIN,GRAIN,0xF88Baf18FAB7e330fa0C4F83949E23F52FECECce,18 +475,KATA-aE15,KATA,KATA,0x2e85ae1C47602f7927bCabc2Ff99C40aA222aE15,18 +476,GENW-7E80,GENW,GENW,0xcf1e086A145dd7B5b771b1e6AcBBC1d2b58d7E80,18 +477,YCO-0893,YCO,YCO,0x3D0293f06daF4311B482564330D57C8Db6C10893,8 +478,CNTR-064B,CNTR,CNTR,0x03042482d64577A7bdb282260e2eA4c8a89C064B,18 +479,KTO-F8fC,KTO,KTO,0x616ef40D55C0D2c506f4d6873Bda8090b79BF8fC,9 +480,MNTO-19e4,MNTO,MNTO,0x97a9bac06f90940bCe9CAeC2b880ff17707519e4,18 +481,ACRV-70b1,ACRV,ACRV,0x8dAE6Cb04688C62d939ed9B68d32Bc62e49970b1,18 +482,VVT-0D6e,VVT,VVT,0x755be920943eA95e39eE2DC437b268917B580D6e,18 +483,XCF-C48e,XCF,XCF,0x010D14d36C3eA6570D240ae3ac9d660398f7C48e,18 +484,SRT-Da91,SRT,SRT,0x22987407FD1fC5A971e3FDA3B3e74C88666cDa91,18 +485,PBTC35A-d358,PBTC35A,PBTC35A,0xA8b12Cc90AbF65191532a12bb5394A714A46d358,18 +486,BC3M-45e7,BC3M,BC3M,0x2F123cF3F37CE3328CC9B5b8415f9EC5109b45e7,18 +487,SBLX-5F80,SBLX,SBLX,0xf6af18F94d55B8888B557cb3da0Ec623BA245F80,18 +488,BTRST-2824,BTRST,BTRST,0x799ebfABE77a6E34311eeEe9825190B9ECe32824,18 +489,MATRIX-1C36,MATRIX,MATRIX,0xc8D3DCb63C38607Cb0c9d3F55E8eccE628A01C36,18 +490,BABYPEPE-052A,BABYPEPE,BABYPEPE,0x5C559F3ee9A81Da83e069c0093471cB05D84052A,18 +491,YUNA-62f9,YUNA,YUNA,0x2F6f397332B0F8b4536430bCC97980aA838f62f9,18 +492,FOOM-0933,FOOM,FOOM,0xd0D56273290D339aaF1417D9bfa1bb8cFe8A0933,18 +493,EVIL-06E5,EVIL,EVIL,0xcf9560B9E952b195D408BE966E4f6Cf4Ab8206E5,18 +494,PRISMA-d71C,PRISMA,PRISMA,0xdA47862a83dac0c112BA89c6abC2159b95afd71C,18 +495,CMKR-325b,CMKR,CMKR,0x95b4eF2869eBD94BEb4eEE400a99824BF5DC325b,8 +496,UAC-2238,UAC,UAC,0x0AF5855a348C58a8BbF65BCc7B9BBaCD0e7e2238,18 +497,BYTES-8c95,BYTES,BYTES,0x7d647b1A0dcD5525e9C6B3D14BE58f27674f8c95,18 +498,CSMATIC-a912,CSMATIC,CSMATIC,0x38b7Bf4eeCF3EB530b1529c9401FC37d2a71a912,18 +499,LIQ-a408,LIQ,LIQ,0xD82fd4D6D62f89A1E50b1db69AD19932314aa408,18 +500,NIFT-c56f,NIFT,NIFT,0x4a1d542b52a95AD01Ddc70C2e7df0c7bBAAdc56f,18 +501,BUIDL-63db,BUIDL,BUIDL,0x7b123f53421b1bF8533339BFBdc7C98aA94163db,18 +502,GATE-82E4,GATE,GATE,0x9d7630aDF7ab0b0CB00Af747Db76864df0EC82E4,18 +503,TAIRYO-73EB,TAIRYO,TAIRYO,0x14d4c7A788908fbbBD3c1a4Bac4AFf86fE1573EB,9 +504,DRE-663c,DRE,DRE,0x1977bE49C33dFacF6590C16ca9a9CfA0463f663c,18 +505,IDLESUSDYIELD-Fd3F,IDLESUSDYIELD,IDLESUSDYIELD,0xF52CDcD458bf455aeD77751743180eC4A595Fd3F,18 +506,SIGN-7dA0,SIGN,SIGN,0xb06B8186cc008A79FD6722B1eefad07c14E97dA0,18 +507,NPC-08F6,NPC,NPC,0x8eD97a637A790Be1feff5e888d43629dc05408F6,18 +508,TZU-A262,TZU,TZU,0x13DBd5394c2c7E4bDb85B1838286Faa66532A262,18 +509,GZLR-7632,GZLR,GZLR,0x9f4909Cc95FB870BF48C128C1Fdbb5F482797632,18 +510,MSG-7356,MSG,MSG,0x308516e6dAaC88d719Af5a6D7eA2A82d8C8e7356,18 +511,GLTM-1499,GLTM,GLTM,0x556d4F40982CB95E0714989E0c229C42be8b1499,18 +512,MINDS-c068,MINDS,MINDS,0xB26631c6dda06aD89B93C71400D25692de89c068,18 +513,GEMX-5f49,GEMX,GEMX,0x3B5e2DF103a037509dcC8430E5462B9CD8F75f49,9 +514,YMNT-C254,YMNT,YMNT,0xe59A1fe295f940E5226DcF6411Ef2Bdf3089C254,9 +515,MODS-c67D,MODS,MODS,0xa43a8FC632d809FB2c16f590c0ff6423e311c67D,18 +516,ARBOT-1123,ARBOT,ARBOT,0x723696965F47B990Dff00064FcaCa95F0Ee01123,18 +517,RING-c483,RING,RING,0x9469D013805bFfB7D3DEBe5E7839237e535ec483,18 +518,AGG-198e,AGG,AGG,0x492798Fb464e77Cb3cDA62b9a2C3c65162db198e,18 +519,GXT-4bc0,GXT,GXT,0x4674672BcDdDA2ea5300F5207E1158185c944bc0,18 +520,FMT-A54C,FMT,FMT,0x99c6e435eC259A7E8d65E1955C9423DB624bA54C,18 +521,VERI-2374,VERI,VERI,0x8f3470A7388c05eE4e7AF3d01D8C722b0FF52374,18 +522,DARUMA-f704,DARUMA,DARUMA,0xA888D9616C2222788fa19f05F77221A290eEf704,9 +523,S4F-e48a,S4F,S4F,0xAec7d1069e3a914a3EB50f0BFB1796751f2ce48a,18 +524,ALIEN-cc34,ALIEN,ALIEN,0x85705eC9F2E11B8a70607D93ffaf9D73EC84cc34,18 +525,YVTUSD-0775,YVTUSD,YVTUSD,0xFD0877d9095789cAF24c98F7CCe092fa8E120775,18 +526,FOXT-bC12,FOXT,FOXT,0xFbe878CED08132bd8396988671b450793C44bC12,18 +527,TYPE-5A9F,TYPE,TYPE,0xeaf61FC150CD5c3BeA75744e830D916E60EA5A9F,4 +528,NEWS-d1E1,NEWS,NEWS,0x777fD20c983d6658c1D50b3958B3A1733d1cd1E1,9 +529,OX-7A6f,OX,OX,0x78a0A62Fba6Fb21A83FE8a3433d44C73a4017A6f,18 +530,CUCK-C2eC,CUCK,CUCK,0xBb63E6BE33Bc5B5386d7ab0529Dc6C400F2AC2eC,18 +531,ARTEQ-c787,ARTEQ,ARTEQ,0x805C2077f3ab224D889f9c3992B41B2F4722c787,0 +532,BHIG-f5C6,BHIG,BHIG,0x996229D0c6a485c7F4B52E092EAa907cB2def5C6,18 +533,RFX-8965,RFX,RFX,0x159A1dFAe19057de57dFfFcbB3DA1aE784678965,8 +534,WSB-9f0f,WSB,WSB,0x15F20f9DFDf96CCf6AC96653b7C0aBfe4A9C9f0f,18 +535,CHEDDA-837D,CHEDDA,CHEDDA,0x16756EC1DEb89A2106C35E0B586a799D0A61837D,18 +536,MESSI-4772,MESSI,MESSI,0xE08eF9206a8a7C9337cC6611b4f5226Fdafc4772,9 +537,SAN-f098,SAN,SAN,0x7C5A0CE9267ED19B22F8cae653F198e3E8daf098,18 +538,WIS-dcF5,WIS,WIS,0xDecade1c6Bf2cD9fb89aFad73e4a519C867adcF5,18 +539,RPG-C103,RPG,RPG,0x1f16D41f9B3dB03b462BDD6c92245ee708D1C103,18 +540,POOPE-32Cf,POOPE,POOPE,0x2dd7144B701bd66bc12eC17F1afAad409F0e32Cf,18 +541,MONK-052d,MONK,MONK,0x1028083026fE1e8e1e79170cEaE0EDBad07B052d,18 +542,ACQ-5581,ACQ,ACQ,0x4BDCb66B968060D9390C1D12bd29734496205581,18 +543,NOBI-e5A4,NOBI,NOBI,0xC5253C32BB72921b77ae18CF329dAd5e6C3de5A4,18 +544,DST-9095,DST,DST,0xe3A46b2Bc1d83C731D58cAb765D3b45bCe789095,18 +545,TRENDAI-d47D,TRENDAI,TRENDAI,0x6fc73113fC1aFaB4C28d3DD4c537A1DA6045d47D,18 +546,NFTL-9638,NFTL,NFTL,0x3c8D2FCE49906e11e71cB16Fa0fFeB2B16C29638,18 +547,SPO-CC4E,SPO,SPO,0xcbE771323587EA16dACB6016e269D7F08A7ACC4E,18 +548,SCCN-A8Bc,SCCN,SCCN,0xdfdDF7a69716124Bc346bA556d4b9f9E74C4A8Bc,18 +549,CAT-A290,CAT,CAT,0x02d7a93829B365b7Ad4c582DAce1493aAC50A290,18 +550,BEER-65f7,BEER,BEER,0x0D58df0929b6bAf8ED231f3Fa672F0e5DcD665f7,9 +551,WOLF-d9A0,WOLF,WOLF,0xf6aFC05fCCEa5A53F22A3e39fFeE861e016Bd9A0,18 +552,RZR-332f,RZR,RZR,0xa3a80559bbC1989654e6b8385f5001Fa1333332f,18 +553,ROCKET-B4Ce,ROCKET,ROCKET,0x8d6482B757f29e7b06440DDEeBCCeed3AF49B4Ce,9 +554,YFI-d93e,YFI,YFI,0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e,18 +555,PAT-8b61,PAT,PAT,0xdd78B3E430361560A70B9CBB7d98d961f0428b61,18 +556,CVT-f772,CVT,CVT,0xBe428c3867F05deA2A89Fc76a102b544eaC7f772,18 +557,ARX-A2B1,ARX,ARX,0x7d8DafF6d70CEAd12c6f077048552Cf89130A2B1,18 +558,YUKKY-BF44,YUKKY,YUKKY,0x37F678aD6221a0FD71CDa0eCa19C8802F4CABF44,18 +559,PEPE-1933,PEPE,PEPE,0x6982508145454Ce325dDbE47a25d4ec3d2311933,18 +560,CARR-655B,CARR,CARR,0x884DDBb5DC6c2cEf77d3E74c6CcCa315797d655B,18 +561,ROULETTEBO-A4a8,ROULETTEBO,ROULETTEBO,0x0c29fF5e5f27ed032eAB2A97aa489E9c6dA5A4a8,18 +562,USDEBT-6CB6,USDEBT,USDEBT,0x00c5CA160A968f47e7272A0CFCda36428F386CB6,18 +563,O-c40f,O,O,0xb53ecF1345caBeE6eA1a65100Ebb153cEbcac40f,18 +564,WBOT-f82B,WBOT,WBOT,0xf9c5CE0C5FA29B487B7329bb92d8e473C386f82B,9 +565,TMED-aB4C,TMED,TMED,0xd32641191578Ea9b208125dDD4EC5E7B84FcaB4C,18 +566,X7104-C105,X7104,X7104,0x7104D1f179Cc9cc7fb5c79Be6Da846E3FBC4C105,18 +567,THE-2861,THE,THE,0x0cbA60Ca5eF4D42f92A5070A8fEDD13BE93E2861,18 +568,D2D-02ad,D2D,D2D,0x43D4A3cd90ddD2F8f4f693170C9c8098163502ad,18 +569,TREAT-146b,TREAT,TREAT,0xFbD5fD3f85e9f4c5E8B40EEC9F8B8ab1cAAa146b,18 +570,RAP-13E9,RAP,RAP,0xB1e4A5f70090947e6Ad3fa2Dc648cBa7B6F913E9,18 +571,ORBN-15F6,ORBN,ORBN,0xA7fBd9254f10F8e20a31a593C9E8BC0D041e15F6,9 +572,1EARTH-0084,1EARTH,1EARTH,0x9e04F519b094F5F8210441e285f603f4d2b50084,18 +573,FINE-c1BA,FINE,FINE,0x75C97384cA209f915381755c582EC0E2cE88c1BA,18 +574,API-3908,API,API,0xfd4168e642EbD04C3684A6cDb3A5E86DE85d3908,18 +575,AAAVE-AD7B,AAAVE,AAAVE,0xFFC97d72E13E01096502Cb8Eb52dEe56f74DAD7B,18 +576,LETSGO-BB95,LETSGO,LETSGO,0xA6586E19EF681b1AC0ED3D46413D199a555dBB95,18 +577,FOUR-F4D0,FOUR,FOUR,0x4730fB1463A6F1F44AEB45F6c5c422427f37F4D0,18 +578,XAV-2202,XAV,XAV,0x40370aEd88933021e20CF7C4D67E00417CdA2202,18 +579,CVNT-09ce,CVNT,CVNT,0x6400B5522f8D448C0803e6245436DD1c81dF09ce,8 +580,RAVEN-70fa,RAVEN,RAVEN,0x43aF0944b34ad466DceA7FC8f77AAfc6a4Ec70fa,18 +581,DUCKS-f78B,DUCKS,DUCKS,0x8666Cb197Af5103f7A3a0295B50EFEA47f3Df78B,18 +582,ZOO-D4f9,ZOO,ZOO,0x0c08638473CAfbCa3beb113616A1871F4bfaD4f9,18 +583,OLAS-5CB0,OLAS,OLAS,0x0001A500A6B18995B03f44bb040A5fFc28E45CB0,18 +584,MORE-85D0,MORE,MORE,0xbEEf3bB9dA340EbdF0f5bae2E85368140d7D85D0,18 +585,CALI-3B9B,CALI,CALI,0xB8fA12f8409DA31A4fc43D15c4c78C33d8213B9B,18 +586,VPAD-4EDc,VPAD,VPAD,0x51FE2E572e97BFEB1D719809d743Ec2675924EDc,18 +587,TEMCO-ee5d,TEMCO,TEMCO,0x2Fc246aA66F0da5bB1368F688548ecBBE9bdee5d,18 +588,ELEC-02b9,ELEC,ELEC,0xD49ff13661451313cA1553fd6954BD1d9b6E02b9,18 +589,FLEXUSD-e6F3,FLEXUSD,FLEXUSD,0xa774FFB4AF6B0A91331C084E1aebAE6Ad535e6F3,18 +590,CYFI-3946,CYFI,CYFI,0x80a2AE356fc9ef4305676f7a3E2Ed04e12C33946,8 +591,PP-CfD0,PP,PP,0x9565c2036963697786705120Fc59310F747bCfD0,18 +592,BIB01-5Fb5,BIB01,BIB01,0xCA30c93B02514f86d5C86a6e375E3A330B435Fb5,18 +593,ADDY-63CF,ADDY,ADDY,0xE15A66b7B8e385CAa6F69FD0d55984B96D7263CF,18 +594,IMX-79fF,IMX,IMX,0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF,18 +595,POP-4670,POP,POP,0x5D858bcd53E085920620549214a8b27CE2f04670,18 +596,SDCRV-abB5,SDCRV,SDCRV,0xD1b5651E55D4CeeD36251c61c50C889B36F6abB5,18 +597,KNG-70FC,KNG,KNG,0x471d113059324321749E097705197a2B44A070FC,18 +598,DAO-09Ad,DAO,DAO,0x0f51bb10119727a7e5eA3538074fb341F56B09Ad,18 +599,TON-520a,TON,TON,0x6a6c2adA3Ce053561C2FbC3eE211F23d9b8C520a,18 +600,GHT-8f23,GHT,GHT,0xbe30F684d62C9F7883a75A29c162c332c0d98f23,18 +601,ARW-34E4,ARW,ARW,0x351cAa9045D65107b9d311D922D15887cfd634E4,18 +602,RUG-62f5,RUG,RUG,0xDD782657af86492771BdB369CaEB8c246bE362f5,12 +603,VST-472C,VST,VST,0xb7C2fcD6d7922eddd2A7A9B0524074A60D5b472C,18 +604,TRG-4928,TRG,TRG,0x93eEB426782BD88fCD4B48D7b0368CF061044928,18 +605,CBANK-f086,CBANK,CBANK,0xA5E412ba6FcA1e07b15dEFcaA4236Ff7B5A7f086,18 +606,TOTOFO-9B0C,TOTOFO,TOTOFO,0x0ADCfDFe9E88D28cC4C1dAaC9CC021067aFF9B0C,18 +607,SWPR-0957,SWPR,SWPR,0x6cAcDB97e3fC8136805a9E7c342d866ab77D0957,18 +608,VEMP-6eEC,VEMP,VEMP,0xcFEB09C3c5F0f78aD72166D55f9e6E9A60e96eEC,18 +609,IDLEDAISAFE-6A16,IDLEDAISAFE,IDLEDAISAFE,0xa14eA0E11121e6E951E87c66AFe460A00BCD6A16,18 +610,AAA-F6A0,AAA,AAA,0x8C6bf16C273636523C29Db7DB04396143770F6A0,18 +611,PELO-046F,PELO,PELO,0xb5cE43fE2fcFfFfb2EeCE95EC413d08Def28046F,18 +612,EGGS-82e0,EGGS,EGGS,0x2e516BA5Bf3b7eE47fb99B09eaDb60BDE80a82e0,18 +613,DPS-B9eB,DPS,DPS,0xB7B1570e26315BAAD369b8EA0a943b7F140DB9eB,9 +614,DGTV-966D,DGTV,DGTV,0xFEb6d5238Ed8F1d59DCaB2db381AA948e625966D,18 +615,EDLC-dA4A,EDLC,EDLC,0xC47ef9B19c3e29317a50F5fBE594EbA361dadA4A,6 +616,HANDZ-D087,HANDZ,HANDZ,0x9baa12A9E3B9dC355f162082762f95626367D087,18 +617,BIOS-43C8,BIOS,BIOS,0xAACa86B876ca011844b5798ECA7a67591A9743C8,18 +618,YVDAI-0c95,YVDAI,YVDAI,0xdA816459F1AB5631232FE5e97a05BBBb94970c95,18 +619,KABOSU-5cF0,KABOSU,KABOSU,0xBADFf0eF41D2A68F22De21EAbca8A59Aaf495cF0,18 +620,SHIB-4Ba8,SHIB,SHIB,0xfcaF0e4498E78d65526a507360F755178b804Ba8,18 +621,SOON-E229,SOON,SOON,0x574D22E2555cAc0ce71e44778f6De2e7487aE229,18 +622,FDAI-530b,FDAI,FDAI,0xe2bA8693cE7474900A045757fe0efCa900F6530b,8 +623,COMP-6888,COMP,COMP,0xc00e94Cb662C3520282E6f5717214004A7f26888,18 +624,HIT-6EeD,HIT,HIT,0x74b1Af114274335598da72f5C6ed7b954a016EeD,18 +625,ZETH-7b2b,ZETH,ZETH,0xe47f1CD2A37c6FE69e3501AE45ECA263c5A87b2b,18 +626,ACOIN-631c,ACOIN,ACOIN,0xB62D46A21fef0fADb5b92fC5eF7077E71e65631c,18 +627,KNTO-B1C8,KNTO,KNTO,0xc740181345c65552333e1EDC797E03f11852B1C8,18 +628,HDG-4f63,HDG,HDG,0x9A3bBC0ee2D6300BcA88c4ff820e2987d62b4f63,18 +629,CHOP-43Ae,CHOP,CHOP,0x875154c31b8858fDdA9c7Ccbed7EC15dC95943Ae,8 +630,UGT-0063,UGT,UGT,0x9cf98Eb8A8B28c83E8612046cf55701Ce3Eb0063,18 +631,FETCH-c66b,FETCH,FETCH,0xcC779bbBD17b2E68ECdCCaeA3d8C791B1573c66b,18 +632,THING-89C8,THING,THING,0xFfD822149fA6749176C7a1424e71a417F26189C8,18 +633,MINT-a059,MINT,MINT,0x0CDF9acd87E940837ff21BB40c9fd55F68bba059,18 +634,SKY-B0d4,SKY,SKY,0x090FC4D5436D98E13473c4d6109De6A18BCfB0d4,18 +635,CAPP-9D73,CAPP,CAPP,0x11613b1f840bb5A40F8866d857e24DA126B79D73,2 +636,BTBS-4356,BTBS,BTBS,0x32E6C34Cd57087aBBD59B5A4AECC4cB495924356,18 +637,DORA-38B2,DORA,DORA,0x70b790d0948a760e80bc3f892b142F7779b538B2,18 +638,EDG-e39c,EDG,EDG,0x08711D3B02C8758F2FB3ab4e80228418a7F8e39c,0 +639,PAYT-e2E2,PAYT,PAYT,0x8EF47555856f6Ce2E0cd7C36AeF4FAb317d2e2E2,18 +640,QANX-3AAA,QANX,QANX,0xAAA9214F675316182Eaa21C85f0Ca99160CC3AAA,18 +641,CRBN-24EE,CRBN,CRBN,0xCdeee767beD58c5325f68500115d4B722b3724EE,18 +642,SKEY-D442,SKEY,SKEY,0x06A01a4d579479Dd5D884EBf61A31727A3d8D442,8 +643,BPEG-d75F,BPEG,BPEG,0x02AD335DD3ca11c18cEBBbB583b9613b6289d75F,18 +644,RCG-3c30,RCG,RCG,0xe74bE071f3b62f6A4aC23cA68E5E2A39797A3c30,18 +645,BGPT-79eA,BGPT,BGPT,0x089729b0786C8803cff972c16e402f3344d079eA,18 +646,FNCT-80e1,FNCT,FNCT,0x8Af78f0c818302164F73B2365fE152C2D1FE80e1,18 +647,MOVE-324C,MOVE,MOVE,0x3FA729B4548beCBAd4EaB6EF18413470e6D5324C,18 +648,LMR-85d1,LMR,LMR,0x4b1D0b9F081468D780Ca1d5d79132b64301085d1,8 +649,OHM-f1D5,OHM,OHM,0x64aa3364F17a4D01c6f1751Fd97C2BD3D7e7f1D5,9 +650,AWO-5415,AWO,AWO,0x68C85B9f78F30A0df5aC5723e4e700037f185415,18 +651,TIP-bD40,TIP,TIP,0x0176b898E92e814c06Cc379E508CEB571F70bD40,18 +652,MIXCOIN-1412,MIXCOIN,MIXCOIN,0xB3A58Eb551b5F80EC70B7f69aB7B664453271412,18 +653,WMOXY-4c0e,WMOXY,WMOXY,0x695AfdB42EDFf97AF470a15920a66dF81a234c0e,18 +654,OLEA-C5f1,OLEA,OLEA,0xc6Cc3d07C705E39D11c7f60d8836C7C78D4aC5f1,18 +655,MSOT-05F3,MSOT,MSOT,0xe5eF42D0E5E4Aa6B36c613d00Db8dad303d505F3,18 +656,XMX-209c,XMX,XMX,0x0f8c45B896784A1E408526B9300519ef8660209c,8 +657,VOW-46Fb,VOW,VOW,0x1BBf25e71EC48B84d773809B4bA55B6F4bE946Fb,18 +658,FATP-3F1f,FATP,FATP,0x877DD180F71369d9bD70e658bABA110A55EE3F1f,18 +659,XOLO-B252,XOLO,XOLO,0x3252d4221f92b7Af3774Da8312F01600eC84B252,18 +660,DVDOGE-37aa,DVDOGE,DVDOGE,0x027BF54126482b66b0F26A680f03029DB3DE37aa,18 +661,CT-Be73,CT,CT,0xbe82BbD9C47e05f1fAc183B106a768717588Be73,18 +662,BMAX-2d53,BMAX,BMAX,0x116c4B65e14449947bC6fa1bbe844CB16A162d53,18 +663,BLOCK-c8aA,BLOCK,BLOCK,0x226d6d842D49b4D757bEf1632053a198D5D9c8aA,18 +664,KOY-56F8,KOY,KOY,0x198065e69A86cb8a9154B333AAD8eFE7A3c256F8,18 +665,BB-3C9F,BB,BB,0x562e12e1E792643d168C1fa01c1b7198a0f83C9F,18 +666,KOMPETE-46E9,KOMPETE,KOMPETE,0x1E0b2992079B620AA13A7c2E7c88D2e1E18E46E9,10 +667,TRISM-3763,TRISM,TRISM,0x56b4F8C39E07D4d5D91692acf9d0F6d4d3493763,18 +668,DGTX-eC09,DGTX,DGTX,0xc666081073E8DfF8D3d1c2292A29aE1A2153eC09,18 +669,4CHAN-7885,4CHAN,4CHAN,0xe0A458BF4AcF353cB45e211281A334BB1d837885,9 +670,SXS-DAFf,SXS,SXS,0x259cE0cb3581995d40CBb03fd4BaDeaABA1EDAFf,18 +671,AIN-0385,AIN,AIN,0x3A810ff7211b40c4fA76205a14efe161615d0385,18 +672,AETH-8c04,AETH,AETH,0x3a3A65aAb0dd2A17E3F1947bA16138cd37d08c04,18 +673,FEN-993a,FEN,FEN,0x995a6C0944322b7285D0712824acf0Cf9BF3993a,18 +674,LAIKA-EC0b,LAIKA,LAIKA,0x77f9CF0bd8C500CfFdF420e72343893aeCC2EC0b,18 +675,ANG-76fa,ANG,ANG,0x130914E1B240a7F4c5D460B7d3a2Fd3846b576fa,18 +676,WAGMI-6199,WAGMI,WAGMI,0xEf8E456967122Db4c3C160314bDE8d2602Ad6199,9 +677,-2084,,,0xD22a61e8503Bea5842e5e0126ca9fFC4dd492084,18 +678,PRTN-dcA0,PRTN,PRTN,0x6D10E0194400A04600881057787Eb9E9c063dcA0,18 +679,CNW-3ebA,CNW,CNW,0x433FCe7dfbEc729A79999EAf056Cb073B2153ebA,6 +680,LKR-CDcf,LKR,LKR,0x80CE3027a70e0A928d9268994e9B85d03Bd4CDcf,18 +681,CHEQ-4de7,CHEQ,CHEQ,0x70EDF1c215D0ce69E7F16FD4E6276ba0d99d4de7,9 +682,RAE-8756,RAE,RAE,0xE5a3229CCb22b6484594973A03a3851dCd948756,18 +683,IQN-Ab31,IQN,IQN,0x0DB8D8b76BC361bAcbB72E2C491E06085A97Ab31,18 +684,CRTS-dD37,CRTS,CRTS,0x678e840C640F619E17848045D23072844224dD37,18 +685,HUB-fB45,HUB,HUB,0x8e9A29e7Ed21DB7c5B2E1cd75e676dA0236dfB45,18 +686,MCD-8D5b,MCD,MCD,0xc66cDac744916AFb6811C71c277d88dE90cE8D5b,18 +687,VLT-4d11,VLT,VLT,0x6b785a0322126826d8226d77e173d75DAfb84d11,18 +688,TRU-276c,TRU,TRU,0xf65B5C5104c4faFD4b709d9D60a185eAE063276c,18 +689,RISITA-E8c3,RISITA,RISITA,0xe6F47303032a09c8C0F8EBb713c00e6eD345E8c3,18 +690,GTCETH-065e,GTCETH,GTCETH,0x36c833Eed0D376f75D1ff9dFDeE260191336065e,18 +691,MUTE-400c,MUTE,MUTE,0xA49d7499271aE71cd8aB9Ac515e6694C755d400c,18 +692,OMC-335B,OMC,OMC,0xd6bD97a26232bA02172Ff86b055d5D7bE789335B,18 +693,ABAT-9CF1,ABAT,ABAT,0x05Ec93c0365baAeAbF7AefFb0972ea7ECdD39CF1,18 +694,HOSHI-9ED6,HOSHI,HOSHI,0x5362Ca75aa3c0E714bc628296640C43dc5cb9ED6,9 +695,AUTH-bD80,AUTH,AUTH,0x0107C4aAa31940eF88760aCb1F32424CA8d8bD80,8 +696,LOL-5171,LOL,LOL,0x5978708d6ccE1CC9640Eed47422D64c91BbD5171,18 +697,OGN-Ae26,OGN,OGN,0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26,18 +698,OJA-291A,OJA,OJA,0x0aA7eFE4945Db24d95cA6E117BBa65Ed326e291A,18 +699,UDAI-2376,UDAI,UDAI,0x4aD0b81f92B16624BBcF46FC0030cFBBf8d02376,18 +700,RICK-A206,RICK,RICK,0x75430D0782A443bD4f1c92C69009599dEA53A206,9 +701,LEMO-71D1,LEMO,LEMO,0x60C24407d01782C2175D32fe7C8921ed732371D1,18 +702,PIXIA-A31b,PIXIA,PIXIA,0x833D94797cBeA8279a689572b01f310fF5FFA31b,18 +703,USDGLO-5AD3,USDGLO,USDGLO,0x4F604735c1cF31399C6E711D5962b2B3E0225AD3,18 +704,GSHIBA-af97,GSHIBA,GSHIBA,0xb892249939AdBf6D7851864CA9A5c7D2d537af97,18 +705,HAO-00a8,HAO,HAO,0x3C4008eca800Ec1283E4cf500E68D06BFaBc00a8,18 +706,MATH-bCeB,MATH,MATH,0xE89751b31CD4E2EB7006Ce168857F72c8e37bCeB,18 +707,KNDA-a4Ea,KNDA,KNDA,0xb40c535c8899f95E3b722df2f0619ebD28c4a4Ea,18 +708,MDS-3dbE,MDS,MDS,0x66186008C1050627F979d464eABb258860563dbE,18 +709,PEPEGPT-eBd0,PEPEGPT,PEPEGPT,0x636d585F40A7a445dA7403FCf92E03F89dc3eBd0,18 +710,EPEP-D79b,EPEP,EPEP,0x97e3C21f27182498382f81e32fbe0ea3A0e3D79b,9 +711,PEPE-5bd6,PEPE,PEPE,0xbe042e9d09CB588331Ff911c2B46FD833A3E5bd6,18 +712,FRONT-793f,FRONT,FRONT,0xf8C3527CC04340b208C854E985240c02F7B7793f,18 +713,SHIA-FB59,SHIA,SHIA,0x43D7E65B8fF49698D9550a7F315c87E67344FB59,18 +714,JOY-1FB5,JOY,JOY,0x4E114d405b9Ba2F59524941733e505Ae03Fb1FB5,18 +715,NEWS-5b98,NEWS,NEWS,0xc39a048353842CAf1B94ce5967A04149Bb435b98,9 +716,CTSI-6B5D,CTSI,CTSI,0x491604c0FDF08347Dd1fa4Ee062a822A5DD06B5D,18 +717,GNTO-D9cB,GNTO,GNTO,0x7b3296198F8A548Edf89BDB16864Da8F37b7D9cB,18 +718,XLS-f4F8,XLS,XLS,0x6c862f803fF42A97D4A483AB761256ad8c90f4F8,18 +719,NOVA-1a3d,NOVA,NOVA,0xD0b3A986FfF305854a7238A8e099Cce1ced01a3d,18 +720,TFBX-6a16,TFBX,TFBX,0x4057Db5bD9f67A566aA10E5587b1a964afFc6a16,18 +721,WBT-4F59,WBT,WBT,0x925206b8a707096Ed26ae47C84747fE0bb734F59,8 +722,BUSINESS-5484,BUSINESS,BUSINESS,0x8A4584F0Eefda8A9B459264dC7A0D62BBA9b5484,18 +723,YFX-DE2f,YFX,YFX,0xF55a93b613D172b86c2Ba3981a849DaE2aeCDE2f,18 +724,ULX-636F,ULX,ULX,0x5Aa158404fEd6b4730C13F49d3a7F820e14A636F,18 +725,MEG-630a,MEG,MEG,0x0eDe75B5f548E0D37F494368F4FA4982b6d0630a,18 +726,AC-6183,AC,AC,0x9A0aBA393aac4dFbFf4333B06c407458002C6183,18 +727,NET-2003,NET,NET,0x91368eeF9aB8Bdc727e4506897656aBb87282003,9 +728,DELTA-20EF,DELTA,DELTA,0x9EA3b5b4EC044b70375236A281986106457b20EF,18 +729,IDLETUSDYIELD-D68c,IDLETUSDYIELD,IDLETUSDYIELD,0xc278041fDD8249FE4c1Aad1193876857EEa3D68c,18 +730,FUZE-AD85,FUZE,FUZE,0x187D1018E8ef879BE4194d6eD7590987463eAD85,18 +731,BTZ-7FeE,BTZ,BTZ,0x5fBc3cb8B428cC00A04808870295D39962CC7FeE,18 +732,KLTR-74a6,KLTR,KLTR,0xa92c49C403386111C1629AEe00936eED2A9E74a6,18 +733,MEVFREE-498a,MEVFREE,MEVFREE,0x1936C91190E901B7dD55229A574AE22B58Ff498a,18 +734,ABL-79EA,ABL,ABL,0xf8b358b3397a8ea5464f8cc753645d42e14b79EA,18 +735,KONO-7Df4,KONO,KONO,0x850aAB69f0e0171A9a49dB8BE3E71351c8247Df4,18 +736,SENC-2bc3,SENC,SENC,0xA13f0743951B4f6E3e3AA039f682E17279f52bc3,18 +737,FREQAI-f486,FREQAI,FREQAI,0xB685145D7F127b9093d7f9278BaE902EF59Ff486,18 +738,IDAI-9061,IDAI,IDAI,0x40a9d39aa50871Df092538c5999b107f34409061,18 +739,AAMMUNIAAVEWETH-1E55,AAMMUNIAAVEWETH,AAMMUNIAAVEWETH,0xe59d2FF6995a926A574390824a657eEd36801E55,18 +740,POOLZ-4e23,POOLZ,POOLZ,0x69A95185ee2a045CDC4bCd1b1Df10710395e4e23,18 +741,MERC-5B35,MERC,MERC,0xa203eB78Fee91c8459C6d4eF3a899d8724Ee5B35,18 +742,WRLD-45E9,WRLD,WRLD,0xD5d86FC8d5C0Ea1aC1Ac5Dfab6E529c9967a45E9,18 +743,FLASH-12A7,FLASH,FLASH,0xBb19DA2482308ec02a242ACED4Fe0f09D06b12A7,18 +744,BAC-A69a,BAC,BAC,0x3449FC1Cd036255BA1EB19d65fF4BA2b8903A69a,18 +745,POLK-cfbF,POLK,POLK,0xD478161C952357F05f0292B56012Cd8457F1cfbF,18 +746,MTU-c629,MTU,MTU,0x822f1A51E534723ec1305E6EB5C96AEcfeb4c629,18 +747,TORA-7670,TORA,TORA,0x7a3f7F6675514D4d611b442A4B76752f6AB77670,18 +748,DOUGH-7b2D,DOUGH,DOUGH,0xad32A8e6220741182940c5aBF610bDE99E737b2D,18 +749,IOTX-4d69,IOTX,IOTX,0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69,18 +750,DLANCE-0A7A,DLANCE,DLANCE,0x7D60dE2E7D92Cb5C863bC82f8d59b37C59fC0A7A,18 +751,PSL-CC29,PSL,PSL,0xC775C0C30840Cb9F51e21061B054ebf1A00aCC29,5 +752,YVHEGIC-e84D,YVHEGIC,YVHEGIC,0xe11ba472F74869176652C35D30dB89854b5ae84D,18 +753,STABLZ-F7cd,STABLZ,STABLZ,0xA4Eb9C64eC359D093eAc7B65F51Ef933D6e5F7cd,18 +754,POE-B195,POE,POE,0x0e0989b1f9B8A38983c2BA8053269Ca62Ec9B195,8 +755,MFT-7428,MFT,MFT,0xDF2C7238198Ad8B389666574f2d8bc411A4b7428,18 +756,GTCOIN-9516,GTCOIN,GTCOIN,0x5d5E244660cA05C42073c9a526616d99f2c99516,18 +757,KOK-acAa,KOK,KOK,0x9B9647431632AF44be02ddd22477Ed94d14AacAa,18 +758,MECHA-9Ef5,MECHA,MECHA,0xC5bcc8BA3F33Ab0d64f3473e861BDC0685b19Ef5,18 +759,PMW-A88C,PMW,PMW,0x47b751e318Fe7E9769F4b56fABBffB05D530A88C,18 +760,GOLD1-E5B0,GOLD1,GOLD1,0x0Ec72CD6690db40B16be166858299F19D4f8E5B0,9 +761,SYN-9F29,SYN,SYN,0x0f2D719407FdBeFF09D87557AbB7232601FD9F29,18 +762,RAEL-9DC1,RAEL,RAEL,0x428487AD75dc9197CCcB496629Ab516974329DC1,18 +763,MAV-6aBD,MAV,MAV,0x7448c7456a97769F6cD04F1E83A4a23cCdC46aBD,18 +764,BLEYD-94b9,BLEYD,BLEYD,0x59B44e9AC4AB8e29db6Faf7baCd726C6B7bC94b9,9 +765,CVXFPIS-7Df6,CVXFPIS,CVXFPIS,0xa2847348b58CEd0cA58d23c7e9106A49f1427Df6,18 +766,LIFE-079C,LIFE,LIFE,0x8640353CDc9778DEaB0dF45D12FB3013dEAC079C,18 +767,DMT-AE6c,DMT,DMT,0x79126d32a86e6663F3aAac4527732d0701c1AE6c,18 +768,BUBU-7712,BUBU,BUBU,0x5395df198fCbC9C13bEC506004C9A8B6460A7712,18 +769,MDA-15bd,MDA,MDA,0x51DB5Ad35C671a87207d88fC11d593AC0C8415bd,18 +770,XLRT-8651,XLRT,XLRT,0x8a3C710E41cD95799C535f22DBaE371D7C858651,18 +771,EYE-0357,EYE,EYE,0x92d529163c5e880b9De86f01De0cB8924D790357,18 +772,EWC-AFF7,EWC,EWC,0xcD74Cf66c43e45Abd5703f3642F73d0675D6AFF7,18 +773,HYPE-559d,HYPE,HYPE,0x24D86Df61479982c90D2977F4BA839496895559d,18 +774,IDV-8840,IDV,IDV,0x45448E05020576929fcDEabC228E35b420098840,18 +775,HXA-0396,HXA,HXA,0x15C1Cab705B9Ddb9FfeeEa608eD8BaFcdd4c0396,18 +776,AXIS-7f28,AXIS,AXIS,0xF0c5831EC3Da15f3696B4DAd8B21c7Ce2f007f28,8 +777,SAK-5141,SAK,SAK,0xb269Ab3B20E09e6fd17C3ED5B4CECF3dEA1a5141,18 +778,MARVIN-25B1,MARVIN,MARVIN,0x55a380d134d722006A5CE2d510562e1239D225B1,18 +779,RUN-DC3e,RUN,RUN,0x5f4c148D17Effd165C2e2d46b46d2BD6e3eBDC3e,18 +780,GOLDEN-84ca,GOLDEN,GOLDEN,0xD87996Ff3D06858BFC20989aEF50cc5FCD4d84ca,9 +781,EVY-71CD,EVY,EVY,0xEEd3aE7b0F8b5B9BB8C035A9941382B1822671CD,12 +782,VXON-67b3,VXON,VXON,0x048Aa6E69D5117BD665aF4128383a6982B8367b3,4 +783,HBDC-ec5C,HBDC,HBDC,0x39d30828a163713D91c4EADBBA2C497a9139ec5C,18 +784,HAPPY-3378,HAPPY,HAPPY,0x651e44D0df89055c00513d0efb9E8d1A0C843378,18 +785,FIWT-ce58,FIWT,FIWT,0x62406995CaFd18f57e7375e8E0060725Acebce58,18 +786,EDDA-0aA9,EDDA,EDDA,0xFbbE9b1142C699512545f47937Ee6fae0e4B0aA9,18 +787,SDL-8C23,SDL,SDL,0xA95C5ebB86E0dE73B4fB8c47A45B792CFeA28C23,18 +788,JDC-9FCE,JDC,JDC,0x2fe39f22EAC6d3c1C86DD9D143640EbB94609FCE,18 +789,USD1-1783,USD1,USD1,0xf6c0aA7eBFE9992200C67E5388E4F42da49E1783,2 +790,MTO-324F,MTO,MTO,0xE66b3AA360bB78468c00Bebe163630269DB3324F,18 +791,IWBTC-cdeB,IWBTC,IWBTC,0xEC363faa5c4dd0e51f3D9B5d0101263760E7cdeB,8 +792,HEEL-B366,HEEL,HEEL,0xf941D3AAbf2EE0F5589E68Ba6047b8329592B366,9 +793,SEED-2A3F,SEED,SEED,0x30cF203b48edaA42c3B4918E955fED26Cd012A3F,18 +794,NOTICKER-882e,NOTICKER,NOTICKER,0xfDf7af616091A05b9cD3B5AeDD3E88d4E8cD882e,8 +795,ELON20-799a,ELON20,ELON20,0xEA18DC833653172BbE819fEb5320D9dA9f99799a,18 +796,SHIT-469F,SHIT,SHIT,0x4e4a47cAC6A28A62dcC20990ed2cdA9BC659469F,18 +797,GREG-d67a,GREG,GREG,0x2B9a49417F9c9c8Dd18EF5bb37c20637441Ad67a,9 +798,PETS-82A5,PETS,PETS,0x6afCFF9189e8ed3fCc1CFfa184FEB1276f6A82A5,18 +799,FLUFFY-4c31,FLUFFY,FLUFFY,0xc2a2E9B87b37938D934Fd51CfEC0C5Fd5cB14c31,18 +800,CAFE-e207,CAFE,CAFE,0xdefCafE7eAC90d31BbBA841038DF365DE3c4e207,9 +801,DPRK-Bb8b,DPRK,DPRK,0x5a0FCD6247F37154B6ab433ab72dc2AC7b3EBb8b,8 +802,HRP-12Bf,HRP,HRP,0xbd15Ad921e1B480209AF549874a2fCb80DC312Bf,18 +803,VDR-3CBe,VDR,VDR,0xEd3D4e446A96dC3b181B64B75c3c70dA41dC3CBe,18 +804,ASKO-8603,ASKO,ASKO,0xeEEE2a622330E6d2036691e983DEe87330588603,18 +805,HAKKA-3bcd,HAKKA,HAKKA,0x0E29e5AbbB5FD88e28b2d355774e73BD47dE3bcd,18 +806,PBTC-4908,PBTC,PBTC,0x62199B909FB8B8cf870f97BEf2cE6783493c4908,18 +807,CODE-8f11,CODE,CODE,0xb24cd494faE4C180A89975F1328Eab2a7D5d8f11,18 +808,OKB-a86c,OKB,OKB,0x75231F58b43240C9718Dd58B4967c5114342a86c,18 +809,CTR-90B8,CTR,CTR,0xb3Ad645dB386D7F6D753B2b9C3F4B853DA6890B8,18 +810,ECHO-0bF3,ECHO,ECHO,0x2B46578B7F06F2B373AD0E0c9b28F800dCc80bF3,9 +811,PPBLZ-97b8,PPBLZ,PPBLZ,0x4D2eE5DAe46C86DA2FF521F7657dad98834f97b8,18 +812,STA-35EA,STA,STA,0x06874F973Dc3c96dc22A10eF0D0609F877f335EA,18 +813,ECO-8F7E,ECO,ECO,0x191557728e4d8CAa4Ac94f86af842148c0FA8F7E,8 +814,CLOAK-318d,CLOAK,CLOAK,0xb4622193ca7c7580aC0ECc09C3B7bD74AEf0318d,18 +815,VIS-E863,VIS,VIS,0x469084939d1c20Fae3C73704FE963941C51bE863,18 +816,SAKURA-FeD6,SAKURA,SAKURA,0xb208b1a5664574F72d22E9e9981837310cACFeD6,9 +817,ORME-5c60,ORME,ORME,0xc96DF921009B790dfFcA412375251ed1A2b75c60,8 +818,HIAZUKI-bDA9,HIAZUKI,HIAZUKI,0x4DB26817c88A57D2ef84cFd90168f535Ee83bDA9,18 +819,TX-5Fdf,TX,TX,0x8954D907520532c1f0d89d42569232Fd0f995Fdf,8 +820,GIV-0DA0,GIV,GIV,0x900dB999074d9277c5DA2A43F252D74366230DA0,18 +821,SHFT-2D85,SHFT,SHFT,0xb17C88bDA07D28B3838E0c1dE6a30eAfBCF52D85,18 +822,SPWN-1126,SPWN,SPWN,0xe516D78d784C77D479977BE58905B3f2b1111126,18 +823,BFT-E9D9,BFT,BFT,0xEdBf98724a86F92baEFAc101082C366E96f1E9D9,18 +824,STLINK-3cD5,STLINK,STLINK,0xb8b295df2cd735b15BE5Eb419517Aa626fc43cD5,18 +825,KYOKO-BaC2,KYOKO,KYOKO,0x14a32f050FACF226Ec60882398A9BF36d91DBaC2,18 +826,OPCT-c400,OPCT,OPCT,0xDb05EA0877A2622883941b939f0bb11d1ac7c400,18 +827,PLSCX-d779,PLSCX,PLSCX,0x6cD079F296c10EB84A64239b893D4EdfA2E1d779,18 +828,WOJAK269-8f5d,WOJAK269,WOJAK269,0x8DF60CFC67c1bF51Fe3dD61B34B156F14F538f5d,9 +829,DYOR-0E64,DYOR,DYOR,0x8484E645a054586A6D6AF60c0ee911d7B5180E64,18 +830,DSETH-B3BE,DSETH,DSETH,0x341c05c0E9b33C0E38d64de76516b2Ce970bB3BE,18 +831,MO-9B64,MO,MO,0x4fD5b9B5dcc9a5D5931d007ba4aE573e760d9B64,18 +832,JPYC-7BDB,JPYC,JPYC,0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB,18 +833,EKO-56EE,EKO,EKO,0xa6a840E50bCaa50dA017b91A0D86B8b2d41156EE,18 +834,INVI-0174,INVI,INVI,0x356A5160F2B34BC8d88FB084745465eBBbed0174,13 +835,KDOE-82C5,KDOE,KDOE,0x5f190F9082878cA141F858c1c90B4C59fe2782C5,18 +836,SI-93de,SI,SI,0xD23Ac27148aF6A2f339BD82D0e3CFF380b5093de,18 +837,QWAN-0Faf,QWAN,QWAN,0xEEe0fE52299f2DE8e2eD5111CD521aB67Dcf0Faf,18 +838,IDRT-b48A,IDRT,IDRT,0x998FFE1E43fAcffb941dc337dD0468d52bA5b48A,2 +839,LARRY-6B01,LARRY,LARRY,0xd08623FB2A1f044025EEC65886011CF5D0F06B01,18 +840,IDEX-cfAE,IDEX,IDEX,0xB705268213D593B8FD88d3FDEFF93AFF5CbDcfAE,18 +841,SHIRYO-INU-8F02,SHIRYO-INU,SHIRYO-INU,0x1E2F15302B90EddE696593607b6bD444B64e8F02,9 +842,FIN-bE40,FIN,FIN,0x054f76beED60AB6dBEb23502178C52d6C5dEbE40,18 +843,ASIC-3047,ASIC,ASIC,0x347a96a5BD06D2E15199b032F46fB724d6c73047,12 +844,CDT-B0af,CDT,CDT,0x177d39AC676ED1C67A2b268AD7F1E58826E5B0af,18 +845,KAERI-3306,KAERI,KAERI,0x69Ed89ecd35082E031fE52b75123F801DB083306,9 +846,FNK-48Ad,FNK,FNK,0xB5FE099475d3030DDe498c3BB6F3854F762A48Ad,18 +847,THN-FCD9,THN,THN,0x2E95Cea14dd384429EB3c4331B776c4CFBB6FCD9,18 +848,MR-29Aa,MR,MR,0xa4Cb3ef5f41a4D89D6FCed22ea8a1C57957629Aa,18 +849,FOLO-122a,FOLO,FOLO,0xB2a63A5Dd36C91eC2DA59B188ff047F66fac122a,18 +850,UCM-232C,UCM,UCM,0x722f97A435278B7383a1e3c47F41773bebF3232C,18 +851,APN-5F68,APN,APN,0xeF7c2AB5fAfEA06f8AeE63c866d0BE1846C35F68,18 +852,MGH-3656,MGH,MGH,0x8765b1A0eb57ca49bE7EACD35b24A574D0203656,18 +853,VBIT-07c4,VBIT,VBIT,0xB8366948B4A3F07BcBf14EB1739daA42A26b07c4,18 +854,DTH-c924,DTH,DTH,0x0cf75471B0FbF76A315A75eBDa6600ab92Fdc924,18 +855,SAND-a5d0,SAND,SAND,0x3845badAde8e6dFF049820680d1F14bD3903a5d0,18 +856,ANV-7332,ANV,ANV,0x3D382228C54736d831FAC2748F4734D9177c7332,18 +857,TRV-3657,TRV,TRV,0x72955eCFf76E48F2C8AbCCe11d54e5734D6f3657,18 +858,RAYN-9638,RAYN,RAYN,0x562D8e607bed7Fc183Ca84C0362c853680b99638,18 +859,ETHS-5CB7,ETHS,ETHS,0xA9aD6830180f9C150349f2cECAdd710586E35CB7,18 +860,STF-1cb1,STF,STF,0x1F4cb968b76931C494Ff92ED80CCB169ad641cb1,18 +861,SGT-B4a2,SGT,SGT,0x5b649C07E7Ba0a1C529DEAabEd0b47699919B4a2,8 +862,NIIFI-BCb8,NIIFI,NIIFI,0x852e5427c86A3b46DD25e5FE027bb15f53c4BCb8,15 +863,POKMON-88e8,POKMON,POKMON,0x5Bb441fb23263b59e97e20b37a0534E33b9B88e8,9 +864,FURIE-D24E,FURIE,FURIE,0xDE171d5151668A330eCF5F6e882B98Aff5f3D24E,9 +865,SOFI-01c0,SOFI,SOFI,0xB49fa25978abf9a248b8212Ab4b87277682301c0,18 +866,YARA-6e66,YARA,YARA,0x66a4868F1829Ab78fFD5Aac5Fe68fe508EB96e66,18 +867,WMLX-1AAd,WMLX,WMLX,0x77D0cb0ab54F9E74b9405a5B3f60DA06A78F1AAd,0 +868,MADAI-cAb6,MADAI,MADAI,0x36F8d0D0573ae92326827C4a82Fe4CE4C244cAb6,18 +869,GLDX-4cd6,GLDX,GLDX,0xC631120155621Ee625835ec810B9885cDd764cd6,8 +870,BRRRRR-202e,BRRRRR,BRRRRR,0x91CdAcba4559Ade84daA1A51b6fbd94EC3F1202e,9 +871,IDLEWBTCYIELD-3151,IDLEWBTCYIELD,IDLEWBTCYIELD,0x8C81121B15197fA0eEaEE1DC75533419DcfD3151,18 +872,VEE-f258,VEE,VEE,0x7616113782AaDAB041d7B10d474F8A0c04EFf258,18 +873,UFT-3AB1,UFT,UFT,0x0202Be363B8a4820f3F4DE7FaF5224fF05943AB1,18 +874,ACYC-e147,ACYC,ACYC,0xB56A1f3310578f23120182Fb2e58c087EFE6e147,18 +875,INU-c7cA,INU,INU,0xC76D53F988820fe70E01eCCb0248B312c2f1c7cA,18 +876,CUSDC-7563,CUSDC,CUSDC,0x39AA39c021dfbaE8faC545936693aC917d5E7563,8 +877,NITRO-87B8,NITRO,NITRO,0x0335A7610D817aeCA1bEBbEfbd392ecC2eD587B8,18 +878,CHECKS-47ec,CHECKS,CHECKS,0x049E9f5369358786A1cE6483d668D062cfe547ec,18 +879,REVOAI-00D2,REVOAI,REVOAI,0x8793Fb615Eb92822F482f88B3137B00aad4C00D2,9 +880,WXT-E915,WXT,WXT,0xa02120696c7B8fE16C09C749E4598819b2B0E915,18 +881,HID-9c9D,HID,HID,0xB14eBF566511B9e6002bB286016AB2497B9b9c9D,18 +882,MEL-4892,MEL,MEL,0xed0889F7E1c7C7267407222Be277e1f1Ef4d4892,18 +883,LSHARE-40E8,LSHARE,LSHARE,0xD0f395AA1b49aD410B26f52348aEbCff109940E8,18 +884,CCD-AF15,CCD,CCD,0xd8684Adc4664BC2a0C78dDC8657dc005E804AF15,18 +885,CUT-fF0d,CUT,CUT,0xC5068471FE18Eda3b362231d01ae30bA6A91fF0d,18 +886,INDI-DD29,INDI,INDI,0x3392D8A60B77F8d3eAa4FB58F09d835bD31ADD29,18 +887,SWIPE-9C38,SWIPE,SWIPE,0xacb47686b92fDde6D233EC6445c1f8d4d0d59C38,8 +888,LIGHT-3e07,LIGHT,LIGHT,0xCC0D1b36d88Fd8f5f26fd00e4E769e2Dab4E3e07,18 +889,AGN-1910,AGN,AGN,0xEDc1004886d010751f74ec0Ad223819F9F3b1910,18 +890,TON-def1,TON,TON,0x582d872A1B094FC48F5DE31D3B73F2D9bE47def1,9 +891,VRH-44b2,VRH,VRH,0xeAd482da0793B00bbAe0E34C8cfaE6DAf29a44b2,18 +892,SLICE-16D1,SLICE,SLICE,0x0AeE8703D34DD9aE107386d3eFF22AE75Dd616D1,18 +893,LOOKS-421E,LOOKS,LOOKS,0xf4d2888d29D722226FafA5d9B24F9164c092421E,18 +894,DYNMT-69F7,DYNMT,DYNMT,0x3B7f247f21BF3A07088C2D3423F64233d4B069F7,2 +895,SHIB-C4cE,SHIB,SHIB,0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE,18 +896,ZSC-DC63,ZSC,ZSC,0x7A41e0517a5ecA4FdbC7FbebA4D4c47B9fF6DC63,18 +897,HSF-4487,HSF,HSF,0xbA6B0dbb2bA8dAA8F5D6817946393Aef8D3A4487,18 +898,SOBA-9F55,SOBA,SOBA,0x65032604Dab202aFf9ADf89300CdB4bD0d059F55,18 +899,JPG-249c,JPG,JPG,0x02e7Ac540409D32C90BfB51114003a9E1fF0249c,18 +900,1PECO-1125,1PECO,1PECO,0x7169bA45cF03E0377B464462AACbccdf1f721125,18 +901,ALERT-c1fB,ALERT,ALERT,0xaE377ed00DF9b9663B253bE93035EF1CfECBc1fB,9 +902,KEN-caB5,KEN,KEN,0x2654e753424A9F02df31CfBc6c5af14a87b6caB5,18 +903,GAMMA-e197,GAMMA,GAMMA,0x6BeA7CFEF803D1e3d5f7C0103f7ded065644e197,18 +904,HDOT-67cB,HDOT,HDOT,0x9ffc3bCDe7B68C46a6dC34f0718009925c1867cB,18 +905,OPEN-a916,OPEN,OPEN,0x69e8b9528CABDA89fe846C67675B5D73d463a916,18 +906,HOUSE-a6D0,HOUSE,HOUSE,0xFa4bAa6951B6Ee382e9ff9AF2D523278b99ca6D0,18 +907,TOK-3C30,TOK,TOK,0x4Fb721eF3Bf99e0f2c193847afA296b9257d3C30,8 +908,DATA-aD95,DATA,DATA,0xb551b43AF192965F74e3dfAA476C890B403caD95,9 +909,ASNX-a4DE,ASNX,ASNX,0x328C4c80BC7aCa0834Db37e6600A6c49E12Da4DE,18 +910,FLX-0770,FLX,FLX,0x3Ea8ea4237344C9931214796d9417Af1A1180770,18 +911,JRT-343A,JRT,JRT,0x8A9C67fee641579dEbA04928c4BC45F66e26343A,18 +912,SMTX-419b,SMTX,SMTX,0x102203517ce35AC5Cab9a2cda80DF03f26c7419b,18 +913,ITP-DE31,ITP,ITP,0x2b1D36f5B61AdDAf7DA7ebbd11B35FD8cfb0DE31,18 +914,WOLF-818e,WOLF,WOLF,0x8365332d4bAf69BC24CA2401B90c3853ab9F818e,18 +915,OCAI-1f09,OCAI,OCAI,0x4309E88D1D511F3764Ee0F154cEE98d783B61f09,18 +916,DOWS-c559,DOWS,DOWS,0x661Ab0Ed68000491d98C796146bcF28c20d7c559,18 +917,XGPT-aF64,XGPT,XGPT,0x51FE05eAc152494908ff1EbbD50e116e960BaF64,18 +918,LDN-a158,LDN,LDN,0xb29663Aa4E2e81e425294193616c1B102B70a158,18 +919,HATI-2520,HATI,HATI,0x251457b7c5d85251Ca1aB384361c821330bE2520,18 +920,FUSE-f84d,FUSE,FUSE,0x970B9bB2C0444F5E81e9d0eFb84C8ccdcdcAf84d,18 +921,SNC-0404,SNC,SNC,0xF4134146AF2d511Dd5EA8cDB1C4AC88C57D60404,18 +922,QTF-4260,QTF,QTF,0x0FCbC31c503b4A9eD90E87f8Ff46C318a4a14260,8 +923,BANK-A198,BANK,BANK,0x2d94AA3e47d9D5024503Ca8491fcE9A2fB4DA198,18 +924,XBP-Ae40,XBP,XBP,0x28dee01D53FED0Edf5f6E310BF8Ef9311513Ae40,18 +925,HOGE-7607,HOGE,HOGE,0xfAd45E47083e4607302aa43c65fB3106F1cd7607,9 +926,CRVWSBTC-4301,CRVWSBTC,CRVWSBTC,0x051d7e5609917Bd9b73f04BAc0DED8Dd46a74301,18 +927,MRCH-ea1e,MRCH,MRCH,0xBeD4AB0019ff361d83ddeB74883DAC8a70f5ea1e,18 +928,SENT-556F,SENT,SENT,0x97AbEe33Cd075c58BFdd174e0885e08E8f03556F,18 +929,THEO-eac2,THEO,THEO,0xfAc0403a24229d7e2Edd994D50F5940624CBeac2,9 +930,HIENS3-8262,HIENS3,HIENS3,0xa88842Ae47dbe87116cF7001DDdD1b246fcd8262,18 +931,NTB-352B,NTB,NTB,0xbE393AA534F82c0ffAC31BF06A23e283AcB3352B,18 +932,GOHM-a52f,GOHM,GOHM,0x0ab87046fBb341D058F17CBC4c1133F25a20a52f,18 +933,UOS-5C8c,UOS,UOS,0xD13c7342e1ef687C5ad21b27c2b65D772cAb5C8c,4 +934,QTO-B2b6,QTO,QTO,0xEA01906843Ea8D910658a2c485ffCe7C104AB2b6,18 +935,ZERO-5eCC,ZERO,ZERO,0xB0Ed33f79D89541dfdCb04A8f04Bc2c6be025eCC,18 +936,ETHC-0158,ETHC,ETHC,0x3c37577f1DE12046AEa6975862559a50d8f50158,18 +937,EVILPEPE-686F,EVILPEPE,EVILPEPE,0x7bD44cF5c0566AAB26150A0cd5c3D20C5535686F,18 +938,EDC-6271,EDC,EDC,0x9d5963ba32e877871dfF3e2E697283dc64066271,18 +939,BMDA-a95E,BMDA,BMDA,0x4236f8aaF2B1f3A28420Eb15B8e0ddF63201a95E,18 +940,PSDN-bccf,PSDN,PSDN,0xA5B947687163FE88C3e6af5b17Ae69896F4abccf,18 +941,DIVA-587d,DIVA,DIVA,0xBFAbdE619ed5C4311811cF422562709710DB587d,18 +942,NONE-D8B7,NONE,NONE,0x903ff0ba636E32De1767A4B5eEb55c155763D8B7,18 +943,SPDR-0Fdd,SPDR,SPDR,0xbcD4b7dE6fde81025f74426D43165a5b0D790Fdd,18 +944,YVE-CRVDAO-502A,YVE-CRVDAO,YVE-CRVDAO,0xc5bDdf9843308380375a611c18B50Fb9341f502A,18 +945,CAG-36C3,CAG,CAG,0x7d4b8Cce0591C9044a22ee543533b72E976E36C3,18 +946,XRUNE-e71c,XRUNE,XRUNE,0x69fa0feE221AD11012BAb0FdB45d444D3D2Ce71c,18 +947,MAYP-36A7,MAYP,MAYP,0x7CDA79830Faf07Ed696Fe220566116951CED36A7,18 +948,CIPHER-7812,CIPHER,CIPHER,0x9839675308f4a83e45f4B0C89B8fa264D68B7812,18 +949,SURE-416E,SURE,SURE,0xcb86c6A22CB56B6cf40CaFEDb06BA0DF188a416E,18 +950,CONV-8B50,CONV,CONV,0xc834Fa996fA3BeC7aAD3693af486ae53D8aA8B50,18 +951,LIT-783b,LIT,LIT,0xC5b3D3231001a776123194Cf1290068e8b0C783b,18 +952,NSURE-2114,NSURE,NSURE,0x20945cA1df56D237fD40036d47E866C7DcCD2114,18 +953,BMC-DC0a,BMC,BMC,0xd945d2031b4C63C0E363304FB771F709b502DC0a,18 +954,SMTY-3283,SMTY,SMTY,0xbF776e4FCa664D791C4Ee3A71e2722990E003283,18 +955,AGT-BDBD,AGT,AGT,0x0BF43350076F95e0d16120b4D6bdfA1C9D50BDBD,18 +956,DENT-A258,DENT,DENT,0x3597bfD533a99c9aa083587B074434E61Eb0A258,8 +957,HIMEEBITS-6eE0,HIMEEBITS,HIMEEBITS,0xBBeca80A4c99c3b1BD3C10E64595d0Fc7dC26eE0,18 +958,AGS-0e2A,AGS,AGS,0xdB2F2bCCe3efa95EDA95a233aF45F3e0d4f00e2A,8 +959,KISHIMOTO-1dB5,KISHIMOTO,KISHIMOTO,0xAE36155a55F04a696b8362777620027882B31dB5,9 +960,SPELLFIRE-7C91,SPELLFIRE,SPELLFIRE,0x3A0b022f32b3191D44E5847da12dc0B63fb07C91,18 +961,SNAKEBOT-f1be,SNAKEBOT,SNAKEBOT,0xbCd657377D4086CC582b215294C3611B997ef1be,9 +962,MLP-1152,MLP,MLP,0xE22020F47B7378dfedcedd2C81d4137c22fE1152,18 +963,SX-1452,SX,SX,0x99fE3B1391503A1bC1788051347A1324bff41452,18 +964,DFP2-8E6D,DFP2,DFP2,0x2F57430a6ceDA85a67121757785877b4a71b8E6D,18 +965,CCOMP-E8e4,CCOMP,CCOMP,0x70e36f6BF80a52b3B46b3aF8e106CC0ed743E8e4,8 +966,SCHRODINGE-dC9e,SCHRODINGE,SCHRODINGE,0x64C79C8c59a2Be17c8D651f73E5ee7942eEBdC9e,18 +967,BECOIN-F783,BECOIN,BECOIN,0x8F081Eb884Fd47b79536D28E2DD9d4886773F783,6 +968,POPE-7d33,POPE,POPE,0xA15865D9de09CB96aAa3A9081B3dFC8481f07d33,18 +969,ZKLAB-5198,ZKLAB,ZKLAB,0x8A0C816A52e71A1e9b6719580ebE754709C55198,18 +970,IM-a936,IM,IM,0x0A58153a0CD1cfaea94cE1f7FdC5D7E679eCa936,18 +971,ARMOR-E46a,ARMOR,ARMOR,0x1337DEF16F9B486fAEd0293eb623Dc8395dFE46a,18 +972,NTO-53ae,NTO,NTO,0xB668473944d2E25B6aF6D46917Eb0233DBaC53ae,18 +973,UMOON-C5da,UMOON,UMOON,0x71de2285ec83BB6517D2B3eC8DEb2A6c44D8C5da,18 +974,CRETH2-dB64,CRETH2,CRETH2,0x49D72e3973900A195A155a46441F0C08179FdB64,18 +975,SNTVT-B7F8,SNTVT,SNTVT,0x7865af71cf0b288b4E7F654f4F7851EB46a2B7F8,18 +976,ESGC-B87D,ESGC,ESGC,0xe857734840dc188B4283d5aF14aB8685467aB87D,18 +977,DGEN-738D,DGEN,DGEN,0x45f93404AE1E4f0411a7F42BC6a5Dc395792738D,18 +978,DERP-C4f0,DERP,DERP,0x878fCC2bdccCFf8c56812607b9a58F29b274C4f0,18 +979,DBNB-a8c5,DBNB,DBNB,0x99F618EDcfEDCa1fCC8302e14Daa84802114a8c5,9 +980,THE9-6E08,THE9,THE9,0xEFd113CeA2f656Fe7899A25a06243A6E40406E08,18 +981,KEES-2b7c,KEES,KEES,0xfCC63e6459936216b7b887F6dA5fCD90c0C62b7c,18 +982,IBETH-9c7A,IBETH,IBETH,0x67B66C99D3Eb37Fa76Aa3Ed1ff33E8e39F0b9c7A,18 +983,HIGH-0282,HIGH,HIGH,0x71Ab77b7dbB4fa7e017BC15090b2163221420282,18 +984,STKABPT-fb47,STKABPT,STKABPT,0xa1116930326D21fB917d5A27F1E9943A9595fb47,18 +985,LSD-31FF,LSD,LSD,0xfAC77A24E52B463bA9857d6b758ba41aE20e31FF,18 +986,IETHV-1F90,IETHV,IETHV,0x3A707d56D538e85B783E8CE12B346e7fB6511F90,18 +987,BALPHA-15A6,BALPHA,BALPHA,0x7a5ce6abD131EA6B148a022CB76fc180ae3315A6,18 +988,YVUSDC-C4DE,YVUSDC,YVUSDC,0xa354F35829Ae975e850e23e9615b11Da1B3dC4DE,6 +989,SMT-7173,SMT,SMT,0xB17548c7B510427baAc4e267BEa62e800b247173,18 +990,DAX-1E60,DAX,DAX,0x0B4BdC478791897274652DC15eF5C135cae61E60,18 +991,SMILEY-b644,SMILEY,SMILEY,0x4C6E2c495b974b8d4220E370F23c7e0e1da9b644,9 +992,GOV-0aC6,GOV,GOV,0x274E7Eb07B485CFdE53d02270555213447570aC6,18 +993,UNIX-7aC8,UNIX,UNIX,0xDDD6A0ECc3c6F6C102E5eA3d8Af7B801d1a77aC8,18 +994,DG-dEDE,DG,DG,0x53C8395465A84955c95159814461466053DedEDE,18 +995,ARTEM-ff3a,ARTEM,ARTEM,0x9B83f827928aBdf18cF1F7e67053572b9bceff3a,18 +996,DETF-953d,DETF,DETF,0x5516AC1aaCa7BB2fD5b7bDDE1549Ef1Ea242953d,18 +997,ORT-4b5a,ORT,ORT,0x5c59a5B139B0538CB106D775a022caD98Dd14b5a,18 +998,TOMS-9054,TOMS,TOMS,0xbE9Ab37a414c517b2be2bfA5945665bB07379054,18 +999,CFL365-4fbe,CFL365,CFL365,0xCD6Adc6b8Bd396E2D53cCD7D7257B4De55bE4fbe,18 +1000,BOBO-bE38,BOBO,BOBO,0x5888641e3e6cBeA6D84Ba81EDb217bD691d3bE38,9 +1001,NEPE-C8Ec,NEPE,NEPE,0x0D99482bB2c436B7183e7BD474cd65fA8711C8Ec,18 +1002,SWETH-Ed78,SWETH,SWETH,0xf951E335afb289353dc249e82926178EaC7DEd78,18 +1003,BTC20-7c6d,BTC20,BTC20,0x3FEB4fEA5132695542F8Ede5076Ac43296d17c6d,8 +1004,RTH-8bC8,RTH,RTH,0x3FD8f39A962eFDA04956981C31AB89FAB5FB8bC8,18 +1005,EMON-974a,EMON,EMON,0xd6A5aB46ead26f49b03bBB1F9EB1Ad5c1767974a,18 +1006,TEXAN-88d7,TEXAN,TEXAN,0xcFCFfE432A48dB53F59c301422d2EdD77B2A88d7,18 +1007,NKCLC-5444,NKCLC,NKCLC,0xd1b624f07a4D9B3e3746E33cb58f42dF079b5444,18 +1008,ASW-2a11,ASW,ASW,0x56694577564FdD577a0ABB20FE95C1E2756C2a11,18 +1009,JESUS-ce70,JESUS,JESUS,0xba386A4Ca26B85FD057ab1Ef86e3DC7BdeB5ce70,18 +1010,XEN-6Fb8,XEN,XEN,0x06450dEe7FD2Fb8E39061434BAbCFC05599a6Fb8,18 +1011,TIDAL-33B7,TIDAL,TIDAL,0x29CbD0510EEc0327992CD6006e63F9Fa8E7f33B7,18 +1012,NEXM-A9d5,NEXM,NEXM,0xe831F96A7a1DcE1aa2EB760b1e296c6A74CaA9d5,8 +1013,XB-88cA,XB,XB,0x33E80a92a9Ea73dD02f6e732D1702d58c68388cA,2 +1014,FTI-E4C8,FTI,FTI,0x943ED852DadB5C3938ECdC6883718df8142DE4C8,18 +1015,REL-75ca,REL,REL,0xe45dFC26215312edC131e34Ea9299FBCA53275ca,18 +1016,DARK-F184,DARK,DARK,0x8eFe7Dd5984640537b6596FB28b762f6c000F184,9 +1017,0XENCRYPT-E20c,0XENCRYPT,0XENCRYPT,0x397b102dECcACE4AA8E5bA63EeDb8e65ad83E20c,9 +1018,MMT-797E,MMT,MMT,0x485c665d8eEAcA7987c48057FfD0591e2aAa797E,18 +1019,BURN-736E,BURN,BURN,0x52e7B23E1FabA6d83376725E2CcAD75eFBd8736E,18 +1020,GUY-30C4,GUY,GUY,0x4743a7a193cdF202035e9Bc6830A07f1607630C4,18 +1021,SHIBP-9235,SHIBP,SHIBP,0xC90906d45046059221e908de5Cc8fcfaCA859235,18 +1022,CEJI-0407,CEJI,CEJI,0x189fC141854BFc6146777406d53fbC89F4e70407,18 +1023,SILV-6666,SILV,SILV,0x628aB8b061FEA2AF1239B68eFA5e46135D186666,8 +1024,GETH-74B8,GETH,GETH,0x3802c218221390025BCEABBaD5D8C59F40eB74B8,18 +1025,ONX-1033,ONX,ONX,0xE0aD1806Fd3E7edF6FF52Fdb822432e847411033,18 +1026,FORM-FA2a,FORM,FORM,0x21381e026Ad6d8266244f2A583b35F9E4413FA2a,18 +1027,SWRV-D433,SWRV,SWRV,0xB8BAa0e4287890a5F79863aB62b7F175ceCbD433,18 +1028,PRV-B1B7,PRV,PRV,0xB64fde8f199F073F41c132B9eC7aD5b61De0B1B7,9 +1029,VOLT-9aCa,VOLT,VOLT,0x7f792db54B0e580Cdc755178443f0430Cf799aCa,9 +1030,SFCP-fF16,SFCP,SFCP,0x8b6CdA5CC518c904e8844f445E1A7C7d2DB0fF16,18 +1031,YEET-b758,YEET,YEET,0x429acA1cCd47296483D1281c85B24e842de0b758,18 +1032,PAF-Ba49,PAF,PAF,0x6a969D379700B2E5EA4E684d273d63C1c050Ba49,18 +1033,SATT-7389,SATT,SATT,0xDf49C9f599A0A9049D97CFF34D0C30E468987389,18 +1034,YFO-473D,YFO,YFO,0xAc0C8dA4A4748d8d821A0973d00b157aA78C473D,18 +1035,AOA-5e5a,AOA,AOA,0x9ab165D795019b6d8B3e971DdA91071421305e5a,18 +1036,DNA-572C,DNA,DNA,0xef6344de1fcfC5F48c30234C16c1389e8CdC572C,18 +1037,ISLA-5947,ISLA,ISLA,0x697eF32B4a3F5a4C39dE1cB7563f24CA7BfC5947,18 +1038,LIMEX-0538,LIMEX,LIMEX,0x400b1d8a7dd8C471026B2c8CBe1062b27d120538,8 +1039,FIRE-2D43,FIRE,FIRE,0xF921ae2DAC5fa128DC0F6168Bf153ea0943d2D43,8 +1040,LKN-82AA,LKN,LKN,0x9f549ebFD4974cD4eD4A1550D40394B44A7382AA,18 +1041,ANTIS-c65e,ANTIS,ANTIS,0x0478aA9246Eb94C87FDDB470D53330a8F8B0c65e,18 +1042,BETS-E6e5,BETS,BETS,0x94025780a1aB58868D9B2dBBB775f44b32e8E6e5,18 +1043,VNXAU-a488,VNXAU,VNXAU,0x6d57B2E05F26C26b549231c866bdd39779e4a488,18 +1044,UNION-535C,UNION,UNION,0x5Dfe42eEA70a3e6f93EE54eD9C321aF07A85535C,18 +1045,CBM-4947,CBM,CBM,0x95eFD1Fe6099F65a7ED524DEF487483221094947,18 +1046,ZOO-AF74,ZOO,ZOO,0x09F098B155D561Fc9F7BcCc97038b7e3d20bAF74,18 +1047,CLB-3c84,CLB,CLB,0x0AD896863ce4Cd84f10a9D30D4f509cefFd53c84,18 +1048,ECU-C2e5,ECU,ECU,0x8fc9b6354E839AB1c8B31F4afa53607092B8C2e5,18 +1049,CBT-B289,CBT,CBT,0xfA93660C3f6a848556Bb8E265f994160A1F2B289,18 +1050,MOE-050C,MOE,MOE,0x881145E5a28b6411cB80d0350497217F549B050C,18 +1051,COLLAR-1771,COLLAR,COLLAR,0x9783B81438C24848f85848f8df31845097341771,18 +1052,PYPY-53A9,PYPY,PYPY,0xa60B6c2537078B903e3E965D4e36b7280B0b53A9,9 +1053,APY-6611,APY,APY,0x95a4492F028aa1fd432Ea71146b433E7B4446611,18 +1054,GS-3112,GS,GS,0xe0B9a2C3E9f40CF74B2C7F591B2b0CCa055c3112,18 +1055,QRX-14D8,QRX,QRX,0x6e0daDE58D2d89eBBe7aFc384e3E4f15b70b14D8,18 +1056,YVUSDT-0c65,YVUSDT,YVUSDT,0x3B27F92C0e212C671EA351827EDF93DB27cc0c65,6 +1057,REM-6B6d,REM,REM,0x83984d6142934bb535793A82ADB0a46EF0F66B6d,4 +1058,MAP-28e4,MAP,MAP,0x9E976F211daea0D652912AB99b0Dc21a7fD728e4,18 +1059,TAG-442f,TAG,TAG,0x7797C85b46F548eAcC07C229f6Cd207d6370442f,18 +1060,BEST-Ec6F,BEST,BEST,0x1B073382E63411E3BcfFE90aC1B9A43feFa1Ec6F,8 +1061,TEMPLE-F1b7,TEMPLE,TEMPLE,0x470EBf5f030Ed85Fc1ed4C2d36B9DD02e77CF1b7,18 +1062,ADX-B7c3,ADX,ADX,0xADE00C28244d5CE17D72E40330B1c318cD12B7c3,18 +1063,FONZY-2288,FONZY,FONZY,0xb939DA54f9748440A1B279d42Be1296942732288,18 +1064,RGP-3Ec0,RGP,RGP,0x4AF5ff1A60a6eF6C7c8f9C4E304cD9051fCa3Ec0,18 +1065,MIRL-Dc48,MIRL,MIRL,0x8770b7Dd89E5f759eE3b226e0C45e890f87dDc48,18 +1066,CLV-bf52,CLV,CLV,0x80C62FE4487E1351b47Ba49809EBD60ED085bf52,18 +1067,DEGEN-1Ae6,DEGEN,DEGEN,0xD060e09CbC5de2C474499a0bd5323508f57f1Ae6,18 +1068,CHS-Efb4,CHS,CHS,0xb41380174d0B06181513A5677b60200b93b5Efb4,18 +1069,ASUSD-9240,ASUSD,ASUSD,0x625aE63000f46200499120B906716420bd059240,18 +1070,GALA-7cae,GALA,GALA,0xd1d2Eb1B1e90B638588728b4130137D262C87cae,8 +1071,WBETH-E2e1,WBETH,WBETH,0xa2E3356610840701BDf5611a53974510Ae27E2e1,18 +1072,ASUSD-55EB,ASUSD,ASUSD,0x6C5024Cd4F8A59110119C56f8933403A539555EB,18 +1073,CONTRAX-E861,CONTRAX,CONTRAX,0x7b9432881fFF2a9527cFc2EfB4D33FC0D7F8E861,8 +1074,POG-851b,POG,POG,0x0a693a301215aad39D83A32A5b5279f2D238851b,18 +1075,DONG-6969,DONG,DONG,0x4208Aa4d7A9a10f4f8bb7f6400c1b2161D946969,18 +1076,CBAT-0E4E,CBAT,CBAT,0x6C8c6b02E7b2BE14d4fA6022Dfd6d75921D90E4E,8 +1077,NORMIE-4978,NORMIE,NORMIE,0x772c44b5166647B135BB4836AbC4E06c28E94978,18 +1078,NIOX-1740,NIOX,NIOX,0xc813EA5e3b48BEbeedb796ab42A30C5599b01740,4 +1079,ZTH-59a0,ZTH,ZTH,0x00000000A82B4758df44fcB124e26a9B441E59a0,18 +1080,KXA-Cd89,KXA,KXA,0x2223bF1D7c19EF7C06DAB88938EC7B85952cCd89,18 +1081,XDNA-8AbB,XDNA,XDNA,0x8e57c27761EBBd381b0f9d09Bb92CeB51a358AbB,18 +1082,DBR-D710,DBR,DBR,0xAD038Eb671c44b853887A7E32528FaB35dC5D710,18 +1083,SOCIO-4fBd,SOCIO,SOCIO,0xC6979Ff406F6cD88908009A80fAc0fa7CC1D4fBd,9 +1084,VIRAL-Bb98,VIRAL,VIRAL,0x5D6310984776583f58d29E45340f14AD3E8BBb98,18 +1085,ELS-18d8,ELS,ELS,0xEb575C45004bd7B61C6A8D3446a62a05a6Ce18d8,18 +1086,BARK-ea60,BARK,BARK,0x53340a1EF3a0dDeBA1D94BBd1E2fF55936F0ea60,18 +1087,BYN-c7ca,BYN,BYN,0x4Bb3205bf648B7F59EF90Dee0F1B62F6116Bc7ca,18 +1088,HER-4Df8,HER,HER,0x5C2975269e74Cb3a8514E5b800A1e66C694d4Df8,18 +1089,BRUCE-8977,BRUCE,BRUCE,0x34C8b3fe84410f9B3870549E037FD1EA7b168977,18 +1090,PWRC-4f83,PWRC,PWRC,0x6Aa40D02115090D40Dc33C7C5F3Cf05112fA4f83,18 +1091,BAL-4e3D,BAL,BAL,0xba100000625a3754423978a60c9317c58a424e3D,18 +1092,UERII-Bb5D,UERII,UERII,0xc1ABb8c93be6811aFfC70675b0432926c4BFBb5D,18 +1093,CARE-DE4c,CARE,CARE,0x329cf160F30D21006bCD24b67EAde561E54CDE4c,18 +1094,IFARM-F651,IFARM,IFARM,0x1571eD0bed4D987fe2b498DdBaE7DFA19519F651,18 +1095,CRYPTO-7bab,CRYPTO,CRYPTO,0x586a7cFE21E55ec0E24f0bfB118F77fE4cA87bab,18 +1096,TET-CA0a,TET,TET,0x68A47Fe1CF42eBa4a030a10CD4D6a1031Ca3CA0a,8 +1097,SKULL-9d35,SKULL,SKULL,0xBcc66ed2aB491e9aE7Bf8386541Fb17421Fa9d35,4 +1098,FSNIPE-1FeE,FSNIPE,FSNIPE,0x987041FB536942bBc686ad7DBc7046D277881FeE,18 +1099,MFI-C45a,MFI,MFI,0xEaDC218Ac4cB7895a5A56e6484646b48f841C45a,18 +1100,HAN-511F,HAN,HAN,0x0c90C57aaf95A3A87eadda6ec3974c99D786511F,18 +1101,BZN-35d4,BZN,BZN,0x6524B87960c2d573AE514fd4181777E7842435d4,18 +1102,ADI-484a,ADI,ADI,0x8810C63470d38639954c6B41AaC545848C46484a,18 +1103,DFND-2CaB,DFND,DFND,0xd2adC1C84443Ad06f0017aDCa346Bd9b6fc52CaB,18 +1104,BOB-2134,BOB,BOB,0xDF347911910b6c9A4286bA8E2EE5ea4a39eB2134,18 +1105,DAISY-BE96,DAISY,DAISY,0x40955D77F87123b71b145098358A60573ac7BE96,18 +1106,TRAXX-A249,TRAXX,TRAXX,0xD43Be54C1aedf7Ee4099104f2DaE4eA88B18A249,18 +1107,PUSSY-a1ad,PUSSY,PUSSY,0x9196E18Bc349B1F64Bc08784eaE259525329a1ad,18 +1108,BZR-BA8F,BZR,BZR,0x8d96B4ab6C741a4C8679AE323a100d74f085BA8F,18 +1109,ASDCRV-9922,ASDCRV,ASDCRV,0x43E54C2E7b3e294De3A155785F52AB49d87B9922,18 +1110,RICHARD-4343,RICHARD,RICHARD,0x91BDF1eb4215bc1C6d9a6BD83ecfCeEb17Cd4343,9 +1111,NEWS-49E7,NEWS,NEWS,0x2F8221E82E0D4669AD66eABf02a5bAeD43ea49E7,18 +1112,ZEUM-8190,ZEUM,ZEUM,0x436dA116249044E8B4464F0Cf21Dd93311d88190,18 +1113,SMI-2214,SMI,SMI,0xCd7492db29E2ab436e819b249452EE1bbDf52214,8 +1114,ZKT-3966,ZKT,ZKT,0x76fcA1adb104770B38581B64d55e67fA5A0f3966,9 +1115,AWBTC-50e3,AWBTC,AWBTC,0xFC4B8ED459e00e5400be803A9BB3954234FD50e3,8 +1116,TYP-3fF2,TYP,TYP,0xb46eda6219ba121cE9280388e7afb7dc84be3fF2,0 +1117,AZRX-8C9e,AZRX,AZRX,0xDf7FF54aAcAcbFf42dfe29DD6144A69b629f8C9e,18 +1118,STONKS-e3B9,STONKS,STONKS,0x3d9a4D8ab4F5bd1D5D08Ae3A95e8ED8BB4d7e3B9,18 +1119,RENQ-8CF2,RENQ,RENQ,0xff8C479134A18918059493243943150776cF8CF2,18 +1120,D2T-7A76,D2T,D2T,0x4Dd942bAa75810a3C1E876e79d5cD35E09C97A76,18 +1121,GDT-FFc5,GDT,GDT,0xc67B12049c2D0CF6e476BC64c7F82fc6C63cFFc5,8 +1122,RIFI-5a28,RIFI,RIFI,0xC8EF1460277EA47d179dEc66D1c5f8b7f7aE5a28,18 +1123,KVERSE-7d26,KVERSE,KVERSE,0x0AB39AC604f992aAeC3C36dE337c3CD3917a7d26,18 +1124,DVT-be75,DVT,DVT,0x29FA1fee0F4F0Ab0e36eF7Ab8d7a35439eC6be75,18 +1125,AIBOT-B7B5,AIBOT,AIBOT,0xF1fb4Cf949277Adc3F89C0D6091100789033B7B5,18 +1126,ZERO-9bf8,ZERO,ZERO,0x0eC78ED49C2D27b315D462d43B5BAB94d2C79bf8,18 +1127,FANC-c045,FANC,FANC,0xbB126042235E6bD38B17744cb31a8bF4A206c045,18 +1128,STX-EF45,STX,STX,0x006BeA43Baa3f7A6f765F14f10A1a1b08334EF45,18 +1129,RADA-6d76,RADA,RADA,0x7AA2f174fBC4D0a17B34adFB9b3E1DC029B46d76,18 +1130,MRSPEPE-f33f,MRSPEPE,MRSPEPE,0xAca55D5A5F58e29BD1E00E4B1Bdeda62D2ECf33f,18 +1131,DREAM-7d02,DREAM,DREAM,0xb44377B74Ef1773639B663d0754cB8410A847d02,18 +1132,GRIZZLY-9613,GRIZZLY,GRIZZLY,0xddceA43727558126C00eea772D660dfbe9C39613,9 +1133,KEYS-86ff,KEYS,KEYS,0xe0a189C975e4928222978A74517442239a0b86ff,9 +1134,GRT-44a7,GRT,GRT,0xc944E90C64B2c07662A292be6244BDf05Cda44a7,18 +1135,SCAN-871b,SCAN,SCAN,0x234D51eE02be808A0160b19b689660Fb7BFA871b,9 +1136,DXD-5521,DXD,DXD,0xa1d65E8fB6e87b60FECCBc582F7f97804B725521,18 +1137,CHAD-Ea07,CHAD,CHAD,0xB777eb033557490abb7Fb8F3948000826423Ea07,18 +1138,YIELD-db9B,YIELD,YIELD,0xa8B61CfF52564758A204F841E636265bEBC8db9B,18 +1139,MNB-A366,MNB,MNB,0x42b91f1d05afeA671a2dA3c780eDa2aBf0A2A366,18 +1140,KSC-3280,KSC,KSC,0x990E081A7B7d3Ccba26a2f49746A68CC4fF73280,18 +1141,PEOPLE-6C71,PEOPLE,PEOPLE,0x7A58c0Be72BE218B41C608b7Fe7C5bB630736C71,18 +1142,MEMD-c9b6,MEMD,MEMD,0x7a786DAC1f315C8A0e9962172AD8AE0C04d9c9b6,18 +1143,USDM-508C,USDM,USDM,0x59D9356E565Ab3A36dD77763Fc0d87fEaf85508C,18 +1144,PHX-5F22,PHX,PHX,0xAeC65404DdC3af3C897AD89571d5772C1A695F22,18 +1145,FYP-2C10,FYP,FYP,0x8F0921f30555624143d427b340b1156914882C10,18 +1146,RENA-9b76,RENA,RENA,0x56de8BC61346321D4F2211e3aC3c0A7F00dB9b76,18 +1147,FOUR-91A0,FOUR,FOUR,0x244b797d622D4DEe8b188b03546ACAAbD0Cf91A0,18 +1148,WOICH-E704,WOICH,WOICH,0x915EA4A94B61B138b568169122903Ed707A8E704,18 +1149,BLUE-9807,BLUE,BLUE,0x03475E14DE25908eD484EB99AD38D68cb6399807,9 +1150,MVRS-f8c1,MVRS,MVRS,0xBEDE1F59Fa4412556fEF69f1B9969F2003E3f8c1,18 +1151,SMT-794A,SMT,SMT,0x21f15966E07a10554C364b988e91DaB01D32794A,18 +1152,ZNN-72d3,ZNN,ZNN,0xb2e96a63479C2Edd2FD62b382c89D5CA79f572d3,8 +1153,TSX-9Bfd,TSX,TSX,0x734C90044a0bA31B3F2e640c10dC5d3540499Bfd,18 +1154,CROC-4618,CROC,CROC,0xcaa79Bf8B1d00Bf3D4f6dbEC6221955871C04618,18 +1155,CHESS-e187,CHESS,CHESS,0xe1bA035fE04200dA932378C4509e1fafDd08e187,18 +1156,MASQ-054c,MASQ,MASQ,0x06F3C323f0238c72BF35011071f2b5B7F43A054c,18 +1157,BLUI-f89a,BLUI,BLUI,0xe0c99ED6950ccb38347154aBD06E10eBa5A1f89a,18 +1158,UNIBOT-c3C9,UNIBOT,UNIBOT,0xf819d9Cb1c2A819Fd991781A822dE3ca8607c3C9,18 +1159,AXE-c308,AXE,AXE,0x070E984fda37DD942f5c953F6b2375339aDAc308,18 +1160,DOGE20-b988,DOGE20,DOGE20,0xF2ec4a773ef90c58d98ea734c0eBDB538519b988,9 +1161,MOD-1D71,MOD,MOD,0xEA1ea0972fa092dd463f2968F9bB51Cc4c981D71,18 +1162,LITH-4a42,LITH,LITH,0x188E817B02e635D482AE4D81e25DdA98A97C4a42,18 +1163,EUM-10Aa,EUM,EUM,0x6aB4A7d75B0A42B6Bc83E852daB9E121F9C610Aa,18 +1164,ENOCH-D455,ENOCH,ENOCH,0x4db57D585fa82Ca32d25086DDc069d899f08D455,18 +1165,SHARE-C66D,SHARE,SHARE,0x39795344CBCc76cC3Fb94B9D1b15C23c2070C66D,9 +1166,RFD-5Ba1,RFD,RFD,0x955d5c14C8D4944dA1Ea7836bd44D54a8eC35Ba1,18 +1167,KERMIT-919A,KERMIT,KERMIT,0x53250B5DFA8C911547aFeAf18DB025024C8E919A,9 +1168,SHEZMU-E162,SHEZMU,SHEZMU,0x5fE72ed557d8a02FFf49B3B826792c765d5cE162,18 +1169,MCO2-cacD,MCO2,MCO2,0xfC98e825A2264D890F9a1e68ed50E1526abCcacD,18 +1170,ASPC-5623,ASPC,ASPC,0x96eAfff5BedF18566B18fCe71C2323b69C795623,18 +1171,HMR-363A,HMR,HMR,0xB1A30851E3f7d841b231B086479608e17198363A,18 +1172,INEDIBLE-4919,INEDIBLE,INEDIBLE,0x3486b751a36F731A1bEbFf779374baD635864919,18 +1173,STRDY-3890,STRDY,STRDY,0x59276455177429ae2af1cc62B77AE31B34EC3890,18 +1174,EDFI-e73e,EDFI,EDFI,0x76C81E322fe678f9391029d571453FAd9bC9e73e,18 +1175,DEGO-89c8,DEGO,DEGO,0x3Da932456D082CBa208FEB0B096d49b202Bf89c8,18 +1176,CRE8-8D3d,CRE8,CRE8,0xc36b4311B21Fc0c2eAd46f1eA6ce97c9C4D98D3d,18 +1177,VRSW-e53D,VRSW,VRSW,0x99A01A4d6a4D621094983050D9A2F10B2912e53D,18 +1178,AKNC-2EDA,AKNC,AKNC,0x39C6b3e42d6A679d7D776778Fe880BC9487C2EDA,18 +1179,STEALTH-fcBf,STEALTH,STEALTH,0xB18F98822C22492Bd6b77D19cae9367f3D60fcBf,8 +1180,DAMEX-E0c5,DAMEX,DAMEX,0x00E679Ba63B509182c349F5614F0A07cDd0CE0c5,18 +1181,NCAT-8C8f,NCAT,NCAT,0x583CC692aeFE93C57cd55b6cd11D39cF1AA98C8f,18 +1182,RETH-6393,RETH,RETH,0xae78736Cd615f374D3085123A210448E74Fc6393,18 +1183,ETHLINQ-D9A3,ETHLINQ,ETHLINQ,0x486c280024B5428459Ec3360f99183a61D41D9A3,18 +1184,NTRS-77C0,NTRS,NTRS,0xeCcf15A4B5976a1365BAeD5297058B4cA42777C0,18 +1185,VAB-9a04,VAB,VAB,0xe7aE6D0C56CACaf007b7e4d312f9af686a9E9a04,18 +1186,LAND-984D,LAND,LAND,0x0e2ef8AeCB3c01Ad5D596f1B67134e178199984D,18 +1187,EGG-6a0c,EGG,EGG,0x65cCD72c0813CE6f2703593B633202a0F3Ca6a0c,18 +1188,FUEL-ED40,FUEL,FUEL,0xEA38eAa3C86c8F9B751533Ba2E562deb9acDED40,18 +1189,TT-D8F5,TT,TT,0x1E053D89E08c24aA2CE5C5B4206744Dc2D7BD8F5,18 +1190,FRR-2441,FRR,FRR,0xe6602B34D8510B033E000975B3322537c7172441,18 +1191,FLZ-e296,FLZ,FLZ,0x8E964e35A76103Af4C7D7318e1B1a82c682ae296,18 +1192,FRENS-D3C1,FRENS,FRENS,0xD17c18979a45c0f3604331831c409F7bFf64D3C1,18 +1193,GRO-74D7,GRO,GRO,0x3Ec8798B81485A254928B70CDA1cf0A2BB0B74D7,18 +1194,PEPMCITY-417D,PEPMCITY,PEPMCITY,0xcD58D56906318cE6Ad9EF4AE5FB21F61E05c417D,18 +1195,TOON-EF02,TOON,TOON,0xaeE433ADeBe0FBB88dAa47eF0C1A513CaA52EF02,18 +1196,USDY-985C,USDY,USDY,0x96F6eF951840721AdBF46Ac996b59E0235CB985C,18 +1197,ANFD-211b,ANFD,ANFD,0x4F14cDBd815B79E9624121f564f24685c6B1211b,18 +1198,FTN-7064,FTN,FTN,0xaeDf386B755465871fF874E3E37Af5976E247064,18 +1199,FNB-ee74,FNB,FNB,0xE6D2c3cB986db66818c14C7032DB05D1d2A6ee74,8 +1200,CHANCE-0e76,CHANCE,CHANCE,0x69D57d410e72eB21FB83FA3DBf090BA07dbe0e76,18 +1201,CIG-C629,CIG,CIG,0xCB56b52316041A62B6b5D0583DcE4A8AE7a3C629,18 +1202,LBOT-43F7,LBOT,LBOT,0x0ceccD54323B953a5464FDDEfc47171c397043F7,18 +1203,LHC-A3E8,LHC,LHC,0x320d31183100280CcdF69366CD56180Ea442A3E8,8 +1204,FTF-6A73,FTF,FTF,0xa59eA1B2D012619A8b9ce16431894cF0BE516A73,9 +1205,BADGER-E53d,BADGER,BADGER,0x3472A5A71965499acd81997a54BBA8D852C6E53d,18 +1206,SWUSD-A059,SWUSD,SWUSD,0x77C6E4a580c0dCE4E5c7a17d0bc077188a83A059,18 +1207,SUGAR-be27,SUGAR,SUGAR,0xD2cE625515600B7799A5750A853Ec8d2A44Fbe27,9 +1208,CPT-FCA1,CPT,CPT,0x88d50B466BE55222019D71F9E8fAe17f5f45FCA1,8 +1209,WIK-AeB2,WIK,WIK,0xA9049425b938C46ac3E312D4CdaEccb26282AeB2,18 +1210,6969-6969,6969,6969,0x69168908793294D0A9Ea938673e12C36eCaE6969,9 +1211,BRT-56f2,BRT,BRT,0xd578779dbC9252218E12d18D628e3cb27E4a56f2,18 +1212,KAIROS-A000,KAIROS,KAIROS,0x3Be65bd36C1aD28D33Acc1C9dD8338a2706cA000,9 +1213,MASK-3074,MASK,MASK,0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074,18 +1214,SQUID2-1E2C,SQUID2,SQUID2,0x2C056F9402A0627bC0e580365bB12979Fc011E2C,18 +1215,AMAS-4f52,AMAS,AMAS,0x65a8fbA02F641a13Bb7B01d5E1129b0521004f52,18 +1216,ARTI-1D44,ARTI,ARTI,0x3625b55f653F8C7c884aC668696881df43631D44,8 +1217,UNISTAKE-4E5E,UNISTAKE,UNISTAKE,0x9Ed8e7C9604790F7Ec589F99b94361d8AAB64E5E,18 +1218,PMA-336f,PMA,PMA,0x846C66cf71C43f80403B51fE3906B3599D63336f,18 +1219,RDT-fCa3,RDT,RDT,0x4740735AA98Dc8aa232BD049f8F0210458E7fCa3,18 +1220,GAIN-6930,GAIN,GAIN,0x24022539963319B0d6ca92797cfDC7CDf59C6930,9 +1221,PLOT-66Bb,PLOT,PLOT,0x72F020f8f3E8fd9382705723Cd26380f8D0c66Bb,18 +1222,TITR-D102,TITR,TITR,0x857d4d47a707Cb4E409e14Ac63b2e79114aCD102,18 +1223,FRESH-12E3,FRESH,FRESH,0x6F85E53B3C563D82925dC9eE1f37897afDc912E3,9 +1224,DEGEN-8De7,DEGEN,DEGEN,0xBe92B510007bD3eC0AdB3d1FCA338DD631E98De7,18 +1225,LSD-d9fd,LSD,LSD,0x97D4F49eEb0E2c96d5EbAA71AB8418e563ecd9fd,9 +1226,CVNX-C4F3,CVNX,CVNX,0xA1a4E303e9C56962F201C5e834abC1E677A3C4F3,18 +1227,HARAM-202F,HARAM,HARAM,0xc961Da88bB5E8Ee2BA7dfd4c62a875eF80f7202F,9 +1228,SANSHU-344D,SANSHU,SANSHU,0xc73C167E7a4Ba109e4052f70D5466D0C312A344D,9 +1229,SAKE-78b0,SAKE,SAKE,0x066798d9ef0833ccc719076Dab77199eCbd178b0,18 +1230,NIOCTIB-8171,NIOCTIB,NIOCTIB,0x99cf786dad3C68019f9919D153A3F1F949A18171,9 +1231,GOF-801c,GOF,GOF,0x488E0369f9BC5C40C002eA7c1fe4fd01A198801c,18 +1232,ALCA-8F8b,ALCA,ALCA,0xBb556b0eE2CBd89ed95DdEA881477723A3Aa8F8b,18 +1233,ICRETH-93b5,ICRETH,ICRETH,0xcCdAE12162566E3f29fEfA7Bf7F5b24C644493b5,18 +1234,USDZ-1fD0,USDZ,USDZ,0x8baEF8c9568c21B1a2b2fd048F8b4Da835691fD0,18 +1235,WOOO-9261,WOOO,WOOO,0x5A035e3F1551a15230D0cDE3357fB1bf89369261,18 +1236,ANRX-09E0,ANRX,ANRX,0xCae72A7A0Fd9046cf6b165CA54c9e3a3872109E0,18 +1237,TAI-Ccea,TAI,TAI,0xF915110898d9a455Ad2DA51BF49520b41655Ccea,18 +1238,OGV-12D0,OGV,OGV,0x9c354503C38481a7A7a51629142963F98eCC12D0,18 +1239,EPHIAT-b5b0,EPHIAT,EPHIAT,0xE9F721E7419423f11863e83DbD710b5D6127b5b0,18 +1240,CWBTC-DD6a,CWBTC,CWBTC,0xccF4429DB6322D5C611ee964527D42E5d685DD6a,8 +1241,BF-17F5,BF,BF,0x5b71BEE9D961b1B848f8485EEC8d8787f80217F5,18 +1242,ETH2X-FLI-65BD,ETH2X-FLI,ETH2X-FLI,0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD,18 +1243,BIBTA-f9E4,BIBTA,BIBTA,0x52d134c6DB5889FaD3542A09eAf7Aa90C0fdf9E4,18 +1244,THE-e357,THE,THE,0xB4a677B0E363c3815d46326954a4E4d2B1ACe357,18 +1245,BETS-855D,BETS,BETS,0x17B61131183D29782239C831D7E8eF2dC9f2855D,9 +1246,SATA-bEe1,SATA,SATA,0x3ebb4A4e91Ad83BE51F8d596533818b246F4bEe1,18 +1247,AI-C2a1,AI,AI,0x5d259E3FbcAdef1abfeA5582e456Bc7F0aebC2a1,18 +1248,X7103-c105,X7103,X7103,0x7103eBdbF1f89be2d53EFF9B3CF996C9E775c105,18 +1249,FORE-0f4D,FORE,FORE,0xB2ee0aDBe0EF1281025d0676511bB1df14600f4D,18 +1250,EGS-3672,EGS,EGS,0xB009BFaAF85e53F55d8657781Eb69feAaed83672,18 +1251,SIMPSON20-50E7,SIMPSON20,SIMPSON20,0x5510d26C504b21Ef22ca85b7125390bC23cA50E7,9 +1252,PRINTS-cb95,PRINTS,PRINTS,0x4dd28568D05f09b02220b09C2cb307bFd837cb95,18 +1253,D2O-D252,D2O,D2O,0x2FdA8c6783Aa36BeD645baD28a4cDC8769dCD252,18 +1254,MELOS-E647,MELOS,MELOS,0x1afb69DBC9f54d08DAB1bD3436F8Da1af819E647,18 +1255,OMNI-e5A5,OMNI,OMNI,0x3ce1848F4ace979D31f7eD1921Ee0B2689Fce5A5,18 +1256,WBTC-C599,WBTC,WBTC,0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599,8 +1257,UNN-3a9D,UNN,UNN,0x226f7b842E0F0120b7E194D05432b3fd14773a9D,18 +1258,DOGES-CB25,DOGES,DOGES,0xb4FBed161bEbcb37afB1Cb4a6F7cA18b977cCB25,18 +1259,GAI-78BF,GAI,GAI,0x0d8ca4b20b115D4DA5c13DC45Dd582A5de3e78BF,18 +1260,ARGO-0E97,ARGO,ARGO,0x28Cca76f6e8eC81e4550ecd761f899110b060E97,18 +1261,KUKU-3647,KUKU,KUKU,0x27206F5a9AFD0C51dA95F20972885545D3B33647,0 +1262,OHM-a899,OHM,OHM,0x383518188C0C6d7730D91b2c03a03C837814a899,9 +1263,OBT-5E22,OBT,OBT,0x07F9702ce093db82dfdC92c2C6E578d6EA8D5E22,18 +1264,LT-735b,LT,LT,0x9ed1439D328647BDb148c20316eA024c719a735b,18 +1265,SCX-bF21,SCX,SCX,0x1B8568FbB47708E9E9D31Ff303254f748805bF21,18 +1266,HOT-26E2,HOT,HOT,0x6c6EE5e31d828De241282B9606C8e98Ea48526E2,18 +1267,COGE-6806,COGE,COGE,0xC382e04099A435439725BB40647e2B32dC136806,18 +1268,NOA-4458,NOA,NOA,0x0FD3822072ad001aac1c90A09d9506f097F24458,9 +1269,RSR-5d70,RSR,RSR,0x320623b8E4fF03373931769A31Fc52A4E78B5d70,18 +1270,MEOWL-E294,MEOWL,MEOWL,0x1F1F26C966F483997728bEd0F9814938b2B5E294,18 +1271,SOJU-D1e0,SOJU,SOJU,0x5EbFFc53C3b8A71120789a211F9B91C79c78D1e0,18 +1272,WSCRT-68Be,WSCRT,WSCRT,0x2B89bF8ba858cd2FCee1faDa378D5cd6936968Be,6 +1273,MBOT-6957,MBOT,MBOT,0x38CF11283de05cF1823b7804bC75068bd6296957,18 +1274,ATOR-79ce,ATOR,ATOR,0x0F7B3F5a8FeD821c5eb60049538a548dB2D479ce,18 +1275,BST-5d80,BST,BST,0xD4f6f9Ae14399fD5Eb8DFc7725F0094a1A7F5d80,18 +1276,LEXE-6833,LEXE,LEXE,0x53011E93F21EC7A74cdfBB7E6548F1ABCE306833,18 +1277,THUG-8538,THUG,THUG,0xCe9DE5365739B1BEd5C8546867AeE4209FbB8538,18 +1278,HDRN-5e06,HDRN,HDRN,0x3819f64f282bf135d62168C1e513280dAF905e06,9 +1279,BCT-150a,BCT,BCT,0x350D3f0f41b5B21F0e252fe2645AE9D55562150a,9 +1280,XFBOT-70A7,XFBOT,XFBOT,0x4d40ea8FaB99544A64C6B7c2C98DD19d7BC170A7,18 +1281,MYRIA-ff86,MYRIA,MYRIA,0xA0Ef786Bf476fE0810408CaBA05E536aC800ff86,18 +1282,AKRO-53d7,AKRO,AKRO,0x8Ab7404063Ec4DBcfd4598215992DC3F8EC853d7,18 +1283,ETE-0268,ETE,ETE,0xd27B128dc6536309CdebF7F1AFf0cB7717Bc0268,18 +1284,2CRZ-F3fA,2CRZ,2CRZ,0x2C9C19cE3b15ae77C6d80aEc3C1194Cfd6F7F3fA,18 +1285,0NE-f4C2,0NE,0NE,0x73A83269b9bbAFC427E76Be0A2C1a1db2a26f4C2,18 +1286,YVWETH-168c,YVWETH,YVWETH,0xa258C4606Ca8206D8aA700cE2143D7db854D168c,18 +1287,BUSY-3f4a,BUSY,BUSY,0x5CB3ce6D081fB00d5f6677d196f2d70010EA3f4a,18 +1288,PARTY-02ca,PARTY,PARTY,0x0fE0Ed7F146Cb12e4B9759afF4FA8d34571802ca,18 +1289,GDO-bd3D,GDO,GDO,0x16F78145AD0B9Af58747e9A97EBd99175378bd3D,18 +1290,CHAMP-1453,CHAMP,CHAMP,0x456125Cd98107ae0480Ba566f1b716D48Ba31453,18 +1291,BRTR-4223,BRTR,BRTR,0xF0ACF8949e705E0ebb6CB42c2164B0B986454223,8 +1292,BED-7dc6,BED,BED,0x2aF1dF3AB0ab157e1E2Ad8F88A7D04fbea0c7dc6,18 +1293,BRO-77af,BRO,BRO,0x7F3E4DbD84f5c8a5f15EF927557748cf2FBB77af,18 +1294,VERSE-0a18,VERSE,VERSE,0x249cA82617eC3DfB2589c4c17ab7EC9765350a18,18 +1295,HOPE-f98e,HOPE,HOPE,0xc353Bf07405304AeaB75F4C2Fac7E88D6A68f98e,18 +1296,MTRA-3C87,MTRA,MTRA,0xC62DEF1701309bb76e6B39B6ab8B5fAC910A3C87,18 +1297,PEPPA-41A0,PEPPA,PEPPA,0xF4172630a656A47Ece8616E75791290446Fa41A0,2 +1298,XCHAIN-7B16,XCHAIN,XCHAIN,0xb68D792329BBcA81C2b823E9DBe066db53eF7B16,18 +1299,SPIRAL-1C3c,SPIRAL,SPIRAL,0x01792e1548Dc317bDE6123fe92da1Fe6d7311C3c,9 +1300,BAT-87EF,BAT,BAT,0x0D8775F648430679A709E98d2b0Cb6250d2887EF,18 +1301,ICE-7DF9,ICE,ICE,0xf16e81dce15B08F326220742020379B855B87DF9,18 +1302,EXD-6560,EXD,EXD,0x02dE007D412266a2e0Fa9287C103474170F06560,18 +1303,MUU-4eb1,MUU,MUU,0x849C479D7A90Eb378dbD00E8f166371176244eb1,9 +1304,A5T-9c51,A5T,A5T,0xe8272210954eA85DE6D2Ae739806Ab593B5d9c51,18 +1305,WPCI-f258,WPCI,WPCI,0x3C2A309d9005433c1BC2C92EF1bE06489e5bf258,8 +1306,UNLEASH-6479,UNLEASH,UNLEASH,0x0E9cc0F7E550BD43BD2af2214563C47699F96479,18 +1307,MODA-22d5,MODA,MODA,0x1117aC6Ad6Cdf1A3BC543baD3B133724620522d5,18 +1308,IOEN-893A,IOEN,IOEN,0x1e4E46b7BF03ECE908c88FF7cC4975560010893A,18 +1309,CLONE-fdAe,CLONE,CLONE,0x1aC1D4991EdF93bD2E5594a9B38A9599071afdAe,9 +1310,SHIBDAO-b9A8,SHIBDAO,SHIBDAO,0xB197a6Fdd8AB825332eDEbA1AB5C4D1Bf97fb9A8,18 +1311,SCA-fFD6,SCA,SCA,0x1FbD3dF007eB8A7477A1Eab2c63483dCc24EfFD6,18 +1312,BWT-Cd62,BWT,BWT,0xcA3Ea3061d638E02113aA960340c98343b5aCd62,18 +1313,XRUN-a905,XRUN,XRUN,0x5833dBB0749887174b254bA4a5df747FF523a905,18 +1314,EMP-8fC4,EMP,EMP,0x13A0599c493Cc502ED8C4Dd26F22F5cEDC248fC4,18 +1315,ZIK-e5D3,ZIK,ZIK,0x88303FeD02b31dB9C7a9eafB711dA9eF4A03e5D3,18 +1316,TCP-6DB4,TCP,TCP,0x06576eB3B212d605B797dC15523d9Dc9F4F66DB4,18 +1317,CBDC-413D,CBDC,CBDC,0xE07C41E9CDf7e0a7800e4bbF90d414654fD6413D,9 +1318,PERL-0318,PERL,PERL,0xeca82185adCE47f39c684352B0439f030f860318,18 +1319,ADP-767b,ADP,ADP,0xc314b0E758D5FF74f63e307A86EbfE183C95767b,18 +1320,SHOE-32c9,SHOE,SHOE,0x0fD67B4ceb9b607Ef206904eC73459c4880132c9,18 +1321,OOKI-379B,OOKI,OOKI,0x0De05F6447ab4D22c8827449EE4bA2D5C288379B,18 +1322,TOSHI-6BdC,TOSHI,TOSHI,0x77a90B04d64189d4D09508612C09219bC6816BdC,9 +1323,ABC-dc30,ABC,ABC,0xD4d4B7b55B30fB096C30ad202e746d010B47dc30,18 +1324,ACR-E3CF,ACR,ACR,0x76306F029f8F99EFFE509534037Ba7030999E3CF,18 +1325,TITAN-Ce87,TITAN,TITAN,0x3A8cCCB969a61532d1E6005e2CE12C200caeCe87,18 +1326,BAOUSD-LUSD-STABLEP-8b1F,BAOUSD-LUSD-STABLEP,BAOUSD-LUSD-STABLEP,0x7E9AfD25F5Ec0eb24d7d4b089Ae7EcB9651c8b1F,18 +1327,GOG-9c62,GOG,GOG,0x9AB7bb7FdC60f4357ECFef43986818A2A3569c62,18 +1328,PARROT-E345,PARROT,PARROT,0x3a6dC7EeFef660be5C254C8AA1b710202151E345,18 +1329,CCO-fc46,CCO,CCO,0x679BADc551626e01B23CeecEFBc9B877EA18fc46,18 +1330,LEVX-c701,LEVX,LEVX,0x86F0cdB38a853420be4dbF6a3a9a3fe0756bc701,9 +1331,MPL-35e6,MPL,MPL,0x33349B282065b0284d756F0577FB39c158F935e6,18 +1332,XFIT-7441,XFIT,XFIT,0x4aa41bC1649C9C3177eD16CaaA11482295fC7441,18 +1333,DUCKER-01A7,DUCKER,DUCKER,0xa52bfFAD02B1FE3f86A543a4e81962d3B3bB01A7,18 +1334,IGNT-9419,IGNT,IGNT,0xd12443D642D021Dc52D0AF8F5f6191e02d1E9419,18 +1335,HEDGEHOG-FDc3,HEDGEHOG,HEDGEHOG,0x6d4CA1177087924edfE0908ef655169EA766FDc3,18 +1336,NPICK-b24B,NPICK,NPICK,0xC3DCA8F61B275d1e88f3ea31B3e311c49f56b24B,18 +1337,MIKE-744d,MIKE,MIKE,0x260e59A6E96C26CfEFd9DEC566a4D4e50031744d,8 +1338,LEV-4e91,LEV,LEV,0xbc194e6f748a222754C3E8b9946922c09E7d4e91,18 +1339,WOOF-d0a3,WOOF,WOOF,0x6BC08509B36A98E829dFfAD49Fde5e412645d0a3,18 +1340,RBIF-ac9b,RBIF,RBIF,0x0e6FA9c050c8a707e7f56A2b3695665E4F9Eac9b,9 +1341,EAC-E000,EAC,EAC,0xcAe636167db2369bd746F2bcBa79a6e8b0d4E000,18 +1342,WBX-1009,WBX,WBX,0xbB97e381F1d1e94ffa2A5844F6875e6146981009,18 +1343,BENJI-4483,BENJI,BENJI,0xCA5b0AE1d104030a9B8F879523508EFd86c14483,18 +1344,AAVE-DaE9,AAVE,AAVE,0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9,18 +1345,DEB-422B,DEB,DEB,0xA1E770be76BDe604F8Ebb66f640250a787B9422B,18 +1346,HRTS-8e45,HRTS,HRTS,0xCeB53519a2B891d33b36E3826962D2a48f878e45,18 +1347,MONONOKE-INU-2bFc,MONONOKE-INU,MONONOKE-INU,0x4da08a1Bff50BE96bdeD5C7019227164b49C2bFc,9 +1348,VIZ-fD2c,VIZ,VIZ,0x2C10c0dE3362FF21F8ED6bC7F4AC5e391153fD2c,18 +1349,CLAW-1D1C,CLAW,CLAW,0x41B25Ff6431074959532dB7435DAdacA65a21D1C,18 +1350,OVO-27B7,OVO,OVO,0xbfC66D8cCE39E668fd5d3C10fd1B1eAbB82c27B7,18 +1351,ENJ-3B9c,ENJ,ENJ,0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c,18 +1352,PERC-2268,PERC,PERC,0x60bE1e1fE41c1370ADaF5d8e66f07Cf1C2Df2268,18 +1353,BC-2Ae9,BC,BC,0xe03B2642A5111aD0EFc0cbCe766498c2dd562Ae9,9 +1354,EQZ-0Bb0,EQZ,EQZ,0x1Da87b114f35E1DC91F72bF57fc07A768Ad40Bb0,18 +1355,MARS-70B7,MARS,MARS,0x66C0DDEd8433c9EA86C8cf91237B14e10b4d70B7,18 +1356,POLL-F5d0,POLL,POLL,0x4b0f027d0b694Aae2761ED2d426295d4f949F5d0,18 +1357,BT-dEBc,BT,BT,0x997507cc49FBf0CD6ce5e1EE543218556fAFdEBc,18 +1358,ABPT-4F84,ABPT,ABPT,0x41A08648C3766F9F9d85598fF102a08f4ef84F84,18 +1359,DTX-3F75,DTX,DTX,0x765f0C16D1Ddc279295c1a7C24B0883F62d33F75,18 +1360,RON-c6fb,RON,RON,0x3267c5b73cc15E253b1A90c01366B17d560Bc6fb,9 +1361,PROB-9803,PROB,PROB,0xfB559CE67Ff522ec0b9Ba7f5dC9dc7EF6c139803,18 +1362,BORED-538D,BORED,BORED,0x2047ab3072B52561596Ce5E0131BDbB7C848538D,9 +1363,PIRB-0033,PIRB,PIRB,0xC05C3aF62f5F3663f2C415473Aa4D5AD69200033,18 +1364,UM-2280,UM,UM,0xb19Dd661F076998e3B0456935092a233e12C2280,18 +1365,UNI-F984,UNI,UNI,0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984,18 +1366,ANONUSD-1eFd,ANONUSD,ANONUSD,0x5a7E6C8204A1359DB9AAcab7bA5Fc309B7981eFd,18 +1367,AGRS-bdDa,AGRS,AGRS,0x738865301A9b7Dd80Dc3666dD48cF034ec42bdDa,8 +1368,DEGAI-2DC7,DEGAI,DEGAI,0xd068C7C941FbbD2300cB2f1841858c2643722DC7,18 +1369,FANTA-f39e,FANTA,FANTA,0x5AdEbAfBf2FD0D6808A7a1E823759De2DF1df39e,18 +1370,POLI-6Db9,POLI,POLI,0xa1a36D3537bBe375Cc9694795F663DDC8D516Db9,18 +1371,OTB-16DE,OTB,OTB,0xA86a0Da9D05d0771955DF05B44Ca120661aF16DE,18 +1372,CYBER-88a9,CYBER,CYBER,0x14778860E937f509e651192a90589dE711Fb88a9,18 +1373,G-2fA3,G,G,0x97E19E2a5458294842036404E6A05571D8Bc2fA3,18 +1374,VIBE-Dfba,VIBE,VIBE,0xe8Ff5C9c75dEb346acAc493C463C8950Be03Dfba,18 +1375,WOETH-8192,WOETH,WOETH,0xDcEe70654261AF21C44c093C300eD3Bb97b78192,18 +1376,LRC-EafD,LRC,LRC,0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD,18 +1377,1ECO-6C3b,1ECO,1ECO,0x1Af2eAEAf2B1d9dDA800861268e6bbB3995a6C3b,18 +1378,ELON-60F3,ELON,ELON,0x761D38e5ddf6ccf6Cf7c55759d5210750B5D60F3,18 +1379,ONC-92dc,ONC,ONC,0xD90E69f67203EBE02c917B5128629E77B4cd92dc,18 +1380,CENNZ-5c1F,CENNZ,CENNZ,0x1122B6a0E00DCe0563082b6e2953f3A943855c1F,18 +1381,M2-D15C,M2,M2,0x965d79F1A1016B574a62986e13Ca8Ab04DfdD15C,18 +1382,ATF-16a8,ATF,ATF,0x518b63Da813D46556FEa041A88b52e3CAa8C16a8,18 +1383,Y2B-0650,Y2B,Y2B,0xF9C12B27cE5058ab98ce11BD53900f84E18C0650,18 +1384,DINGER-fA68,DINGER,DINGER,0x9e5BD9D9fAd182ff0A93bA8085b664bcab00fA68,9 +1385,AIMBOT-73C7,AIMBOT,AIMBOT,0x0c48250Eb1f29491F1eFBeEc0261eb556f0973C7,18 +1386,GTC-d32C,GTC,GTC,0xB70835D7822eBB9426B56543E391846C107bd32C,18 +1387,MEM-3758,MEM,MEM,0x42dbBd5ae373FEA2FC320F62d44C058522Bb3758,18 +1388,PRTC-dA31,PRTC,PRTC,0xb9098D3669A78e9AfE8b94a97290407400D9dA31,18 +1389,POW-98B0,POW,POW,0xcB27E0b9530D5107302e3e0691Dd0f64FAf498B0,18 +1390,PANDO-F471,PANDO,PANDO,0x252b9F56359901a0BDE52d0675b1f1130d86F471,18 +1391,CHEW-7Cb3,CHEW,CHEW,0xf5d126077096e5b01BC30FFa5d9324D7202d7Cb3,18 +1392,MCG-AeBc,MCG,MCG,0x9cCf191169A613Eca433a249d3F40131178CAeBc,18 +1393,ANARCHY-Ce8c,ANARCHY,ANARCHY,0x53fD2342B43eCD24AEf1535BC3797F509616Ce8c,9 +1394,FREE-f526,FREE,FREE,0x4CD0c43B0D53bc318cc5342b77EB6f124E47f526,18 +1395,SRN-8D25,SRN,SRN,0x68d57c9a1C35f63E2c83eE8e49A64e9d70528D25,18 +1396,00-250D,00,00,0x881Ba05de1E78f549cC63a8f6Cabb1d4AD32250D,18 +1397,LSS-E320,LSS,LSS,0x3B9BE07d622aCcAEd78f479BC0EDabFd6397E320,18 +1398,SIGIL-40E4,SIGIL,SIGIL,0xF029Fd6b5ED35C825Dd02B7A02952C30002840E4,18 +1399,MAUSDC-0529,MAUSDC,MAUSDC,0xA5269A8e31B93Ff27B887B56720A25F844db0529,18 +1400,DETO-e55C,DETO,DETO,0xaB93dF617F51E1E415b5b4f8111f122d6b48e55C,18 +1401,PB-03Dc,PB,PB,0x996Ca7e71C37D70132889e29d17d2e44427A03Dc,18 +1402,AMP-95C2,AMP,AMP,0xfF20817765cB7f73d4bde2e66e067E58D11095C2,18 +1403,EJS-79C2,EJS,EJS,0x96610186F3ab8d73EBEe1CF950C750f3B1Fb79C2,18 +1404,GUPPI-6351,GUPPI,GUPPI,0x4341A2C412B1b7Bee50616de6E6e1172719C6351,18 +1405,ATUSD-0341,ATUSD,ATUSD,0x4DA9b813057D04BAef4e5800E36083717b4a0341,18 +1406,NEST-0000,NEST,NEST,0xcd6926193308d3B371FdD6A6219067E550000000,18 +1407,JBX-6f66,JBX,JBX,0x3abF2A4f8452cCC2CF7b4C1e4663147600646f66,18 +1408,RED-fE8a,RED,RED,0xd5dC24c9Ef8a21E6D7CAa603f9502e4A0dc7fE8a,9 +1409,AWETH-854e,AWETH,AWETH,0x030bA81f1c18d280636F32af80b9AAd02Cf0854e,18 +1410,WFLOW-3B2b,WFLOW,WFLOW,0x5c147e74D63B1D31AA3Fd78Eb229B65161983B2b,18 +1411,CV-5683,CV,CV,0x50bC2Ecc0bfDf5666640048038C1ABA7B7525683,18 +1412,YELLOW-6716,YELLOW,YELLOW,0x66A39D581961D4cFa9Bd3953cCC4e7EC7bd56716,9 +1413,WCX-4347,WCX,WCX,0xC014186Cf1Ba36032aaEc7f96088f09eb3934347,18 +1414,GDC-aF31,GDC,GDC,0x301C755bA0fcA00B1923768Fffb3Df7f4E63aF31,18 +1415,SBTC-CfC6,SBTC,SBTC,0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6,18 +1416,ELT-1B02,ELT,ELT,0xc0AE17Eb994fa828540FFa53776B3830233A1B02,18 +1417,LEO-2Ca3,LEO,LEO,0x2AF5D2aD76741191D15Dfe7bF6aC92d4Bd912Ca3,18 +1418,EBOX-15c5,EBOX,EBOX,0x33840024177A7DacA3468912363BeD8b425015c5,18 +1419,DIGG-01C3,DIGG,DIGG,0x798D1bE841a82a273720CE31c822C61a67a601C3,9 +1420,OWN-13Dd,OWN,OWN,0xcC6F15Be8573cB8243C42d300565566D328213Dd,18 +1421,BNK-6835,BNK,BNK,0x7707aAdA3Ce7722Ac63B91727DAF1999849F6835,8 +1422,FXS-64D0,FXS,FXS,0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0,18 +1423,NOWAI-7956,NOWAI,NOWAI,0x987441856BA4f463544FC68ccBF6a80F434a7956,18 +1424,LIM-F48c,LIM,LIM,0x9CdaFB9FAe77E7C1bd7CF28C389008ca8daCF48c,18 +1425,MONTE-9bB1,MONTE,MONTE,0x318Ee488AF8881f9945B6d3D69e8B395Fb559bB1,18 +1426,BOTTO-5BBA,BOTTO,BOTTO,0x9DFAD1b7102D46b1b197b90095B5c4E9f5845BBA,18 +1427,ENXS-5667,ENXS,ENXS,0x18a3563c21062897950BB09339C82b9686a35667,9 +1428,SIMP-4C99,SIMP,SIMP,0x41C21693e60FC1a5dBb7c50e54E7A6016aA44C99,18 +1429,CBOT-a71C,CBOT,CBOT,0xf49311af05a4Ffb1dbf33d61e9b2d4f0a7d4a71C,9 +1430,CORX-CF97,CORX,CORX,0x26a604DFFE3ddaB3BEE816097F81d3C4a2A4CF97,8 +1431,OBI-1873,OBI,OBI,0xBb3A8FD6Ec4bF0FDc6Cd2739b1e41192D12B1873,18 +1432,XPN-0dF4,XPN,XPN,0x3b9e094D56103611f0ACEfDAb43182347BA60dF4,18 +1433,WITCH-D236,WITCH,WITCH,0xdc524e3c6910257744C1F93Cf15E9F472b5bD236,18 +1434,PYUSD-A0e8,PYUSD,PYUSD,0x6c3ea9036406852006290770BEdFcAbA0e23A0e8,6 +1435,DGN-47C2,DGN,DGN,0xCa7013bA4Bf76bCdc3ffC71735896682644f47C2,18 +1436,ETF-86d4,ETF,ETF,0x667210a731447F8B385e068205759BE2311b86d4,18 +1437,PAPA-eb12,PAPA,PAPA,0x6C4C193bff0a117F0C2B516802abbA961A1Eeb12,18 +1438,LINK-86CA,LINK,LINK,0x514910771AF9Ca656af840dff83E8264EcF986CA,18 +1439,FLEX-290E,FLEX,FLEX,0xb076BDa1ABc154DdB4CCd9Be45542A823aEE290E,18 +1440,DOGECOIN-2c96,DOGECOIN,DOGECOIN,0xf257a2783f6633A149B5966e32432b5bB3462c96,8 +1441,CULT-5A13,CULT,CULT,0xf0f9D895aCa5c8678f706FB8216fa22957685A13,18 +1442,NAVI-2BF1,NAVI,NAVI,0xFc1C93a2507975E98b9d0E9260Ded61A00152BF1,18 +1443,DFYN-9023,DFYN,DFYN,0x9695e0114e12C0d3A3636fAb5A18e6b737529023,18 +1444,LTX-d092,LTX,LTX,0xa393473d64d2F9F026B60b6Df7859A689715d092,8 +1445,RAK-bE66,RAK,RAK,0xa8B0F154A688c22142E361707df64277e0A0bE66,18 +1446,BBL-1124,BBL,BBL,0x0a44A7ccEa34A7563Ba1D45A5F757d0B02281124,18 +1447,FF-94CD,FF,FF,0x7E9D8f07A64e363e97A648904a89fb4cd5fB94CD,18 +1448,REAP-6987,REAP,REAP,0x1fc5EF0337AEA85C5f9198853a6E3A579a7A6987,18 +1449,STACME-C547,STACME,STACME,0x7AC168c81F4F3820Fa3F22603ce5864D6aB3C547,8 +1450,MKR-79A2,MKR,MKR,0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2,18 +1451,SKI-Dc3D,SKI,SKI,0x996Dc5dfc819408Dd98Cd92c9a76f64b0738Dc3D,18 +1452,CELL-e099,CELL,CELL,0x26c8AFBBFE1EBaca03C2bB082E69D0476Bffe099,18 +1453,BOOST-3218,BOOST,BOOST,0x302CAe5dcf8f051d0177043C3438020b89b33218,18 +1454,B-BAOETH-ETH-BPT-B1D0,B-BAOETH-ETH-BPT,B-BAOETH-ETH-BPT,0x1A44E35d5451E0b78621A1B3e7a53DFaA306B1D0,18 +1455,IZE-327B,IZE,IZE,0xf7e945FcE8F19302AaCc7E1418b0A0bdef89327B,8 +1456,FFRAX-1D7C,FFRAX,FFRAX,0x2bE1e42BF263AaB47D27Ba92E72c14823e101D7C,18 +1457,PUSUKE-2877,PUSUKE,PUSUKE,0x5DD0D493EA59d512EfC13D5C1F9d325775192877,18 +1458,HIBAYC-2F46,HIBAYC,HIBAYC,0x83031984B45553070a088273f341BfF7fB4f2F46,18 +1459,EPIK-dF75,EPIK,EPIK,0x4da0C48376C277cdBd7Fc6FdC6936DEE3e4AdF75,18 +1460,OBTC-B2AC,OBTC,OBTC,0xfF770E4c68e35DB85c6e0E89a43750eC02bDB2AC,18 +1461,ZAT-3A15,ZAT,ZAT,0x6311FCFEF61E75e11c6E78949D7849f3b07e3A15,9 +1462,PLUG-976a,PLUG,PLUG,0x47DA5456bC2e1ce391b645Ce80F2E97192e4976a,18 +1463,UETH-fc7b,UETH,UETH,0x77607588222e01bf892a29Abab45796A2047fc7b,18 +1464,BAO-61C1,BAO,BAO,0x374CB8C27130E2c9E04F44303f3c8351B9De61C1,18 +1465,CHIRO-775c,CHIRO,CHIRO,0x35156b404C3f9bdaf45ab65Ba315419bcDe3775c,9 +1466,SNM-e86B,SNM,SNM,0x46d0DAc0926fa16707042CAdC23F1EB4141fe86B,18 +1467,THEPOND-6757,THEPOND,THEPOND,0x6213f40e00F4595AA038FA710e3f837b492d6757,12 +1468,ABI-B76D,ABI,ABI,0xBF0B8b7475EdB32D103001Efd19FdD2753d7B76D,18 +1469,AUC-5663,AUC,AUC,0xc12d099be31567add4e4e4d0D45691C3F58f5663,18 +1470,CLM-9375,CLM,CLM,0x0B4C2708F052dca413600e237675e4d6778A9375,16 +1471,CTK-4063,CTK,CTK,0x42a501903AFaa1086B5975773375c80E363f4063,8 +1472,STUB-C5A0,STUB,STUB,0x54C890411e97755ca69321f28Bed31CAFBb3C5A0,18 +1473,BTSE-32Ef,BTSE,BTSE,0x666d875C600AA06AC1cf15641361dEC3b00432Ef,8 +1474,BOLT-a789,BOLT,BOLT,0xD5930C307d7395Ff807F2921F12C5EB82131a789,18 +1475,FTRB-81D7,FTRB,FTRB,0x2596825a84888E8f24b747DF29e11b5dd03C81D7,18 +1476,BB-A-USDC-1B83,BB-A-USDC,BB-A-USDC,0x82698aeCc9E28e9Bb27608Bd52cF57f704BD1B83,18 +1477,WHITE-6B44,WHITE,WHITE,0x5F0E628B693018f639D10e4A4F59BD4d8B2B6B44,18 +1478,BTCPX-1021,BTCPX,BTCPX,0x9C32185b81766a051E08dE671207b34466DD1021,8 +1479,NDX-5F83,NDX,NDX,0x86772b1409b61c639EaAc9Ba0AcfBb6E238e5F83,18 +1480,IUSD-9A2D,IUSD,IUSD,0x0A3BB08b3a15A19b4De82F8AcFc862606FB69A2D,18 +1481,RUFF-AcE2,RUFF,RUFF,0xf278c1CA969095ffddDED020290cf8B5C424AcE2,18 +1482,AUDT-5f2e,AUDT,AUDT,0xB90cb79B72EB10c39CbDF86e50B1C89F6a235f2e,18 +1483,MEMBOT-9E61,MEMBOT,MEMBOT,0x9eac760d89805558D1A657b59beD313766e09E61,18 +1484,ISIKC-A783,ISIKC,ISIKC,0x42726d074BBa68Ccc15200442B72Afa2D495A783,4 +1485,CURVE-b376,CURVE,CURVE,0xeCbddf83687e9842837e08c5A650658f2260b376,9 +1486,KTLYO-27c8,KTLYO,KTLYO,0x24E3794605C84E580EEA4972738D633E8a7127c8,18 +1487,MIS-9999,MIS,MIS,0x024B6e7DC26F4d5579bDD936F8d7BC31f2339999,18 +1488,SOV-F7a5,SOV,SOV,0xbdab72602e9AD40FC6a6852CAf43258113B8F7a5,18 +1489,KEKO-1eb5,KEKO,KEKO,0x2c7f442AaB99D5e18CfAE2291c507c0b5f3c1eb5,18 +1490,BREPE-3326,BREPE,BREPE,0xA0117792d4B100Fd329B37e8AB4181dF8a5b3326,18 +1491,ECT-6783,ECT,ECT,0xda4Dd9586D27202A338843Dd6B9824d267006783,9 +1492,XWIZARD-fa56,XWIZARD,XWIZARD,0x7FC09A4F6182E835A97c42980F7235E8C0cBfa56,9 +1493,IQ-b0C9,IQ,IQ,0x579CEa1889991f68aCc35Ff5c3dd0621fF29b0C9,18 +1494,KFC-A291,KFC,KFC,0xE63684BcF2987892CEfB4caA79BD21b34e98A291,18 +1495,PARA-EF1E,PARA,PARA,0xD16fd95D949F996e3808EeEa0e3881C59E76EF1E,18 +1496,SAUDIPEPE-0587,SAUDIPEPE,SAUDIPEPE,0x8ACee0fCeE91cedAD1c5013F031762C814740587,18 +1497,CAAVE-D06c,CAAVE,CAAVE,0xe65cdB6479BaC1e22340E4E755fAE7E509EcD06c,8 +1498,OPTI-215d,OPTI,OPTI,0x562E362876c8Aee4744FC2c6aaC8394C312d215d,9 +1499,PLANB-499B,PLANB,PLANB,0xe77f82f288A6a7EB4Ac295a86FccB1F6D240499B,18 +1500,SOLANA-643F,SOLANA,SOLANA,0x3D806324b6Df5AF3c1a81aCbA14A8A62Fe6D643F,18 +1501,BABYSHIBA-1A1D,BABYSHIBA,BABYSHIBA,0x66A64a8A9cdc54EF97e45a051bA1c8f3D4b41A1D,18 +1502,SKEB-C810,SKEB,SKEB,0x6D614686550B9E1c1DF4b2cD8f91C9D4df66C810,18 +1503,GINU-B306,GINU,GINU,0x74bE64B45D394FA57816c1950E94dBB8d7A7B306,9 +1504,ADAI-68A3,ADAI,ADAI,0x028171bCA77440897B824Ca71D1c56caC55b68A3,18 +1505,ENV-e1A0,ENV,ENV,0xF1d1A5306daaE314AF6c5d027a492B313e07e1A0,18 +1506,OSAK-6b5c,OSAK,OSAK,0xa21Af1050F7B26e0cfF45ee51548254C41ED6b5c,18 +1507,ARC-e7c2,ARC,ARC,0xC82E3dB60A52CF7529253b4eC688f631aad9e7c2,18 +1508,BOX-9ad7,BOX,BOX,0x066e941E168dE3815cd6c8F63c46e8E3a2309ad7,18 +1509,IBY-712B,IBY,IBY,0x6A68DE599E8E0b1856E322CE5Bd11c5C3C79712B,18 +1510,CRABS-627D,CRABS,CRABS,0x2C9715D6D95443c3BdF29E473AD168FF6fA6627D,18 +1511,CUDOS-dB35,CUDOS,CUDOS,0x817bbDbC3e8A1204f3691d14bB44992841e3dB35,18 +1512,FACTR-B9D5,FACTR,FACTR,0xe0bCEEF36F3a6eFDd5EEBFACD591423f8549B9D5,18 +1513,AGIX-b542,AGIX,AGIX,0x5B7533812759B45C2B44C19e320ba2cD2681b542,8 +1514,BEAR-A26a,BEAR,BEAR,0x17837004eA685690b32dbEaD02a274Ec4333A26a,18 +1515,ZEON-0532,ZEON,ZEON,0xE5B826Ca2Ca02F09c1725e9bd98d9a8874C30532,18 +1516,BANK-8028,BANK,BANK,0x9360C489056b64D5003Bf22f4f31458e31cc8028,18 +1517,PKF-8AEb,PKF,PKF,0x8B39B70E39Aa811b69365398e0aACe9bee238AEb,18 +1518,RDN-c8e6,RDN,RDN,0x255Aa6DF07540Cb5d3d297f0D0D4D84cb52bc8e6,18 +1519,ASTRAL-28a1,ASTRAL,ASTRAL,0xC74B43cC61b627667a608c3F650c2558F88028a1,18 +1520,RENDOGE-71A7,RENDOGE,RENDOGE,0x3832d2F059E55934220881F831bE501D180671A7,8 +1521,CHAP-F703,CHAP,CHAP,0x414cbF31c62D99515bfD66497B495a585b52F703,0 +1522,BATTLE-3EA6,BATTLE,BATTLE,0x63F314C44D164D5Be423199AFBfbe129D72d3EA6,18 +1523,EGC-fd48,EGC,EGC,0xc0EC8CaEC55F37D47fBfA595727418868A21fd48,8 +1524,BETROCK-C2A5,BETROCK,BETROCK,0x18B7f4d5d8d1e36Af2975be978FBB5438FD3C2A5,18 +1525,ANTX-8F4d,ANTX,ANTX,0xC590C348d431d544172f5Ec4e4c8ea44537b8F4d,9 +1526,DYOR-CE7e,DYOR,DYOR,0xbfFAA2bF647e5Ae6280a8138D884C3a9A95eCE7e,18 +1527,INU-Bda5,INU,INU,0x050D94685c6B0477E1Fc555888AF6e2bB8dFBda5,18 +1528,CAJ-A40e,CAJ,CAJ,0x3C6A7aB47B5F058Be0e7C7fE1A4b7925B8aCA40e,18 +1529,REN-2a38,REN,REN,0x408e41876cCCDC0F92210600ef50372656052a38,18 +1530,RVST-d4bA,RVST,RVST,0x120a3879da835A5aF037bB2d1456beBd6B54d4bA,18 +1531,LUSD-8bA0,LUSD,LUSD,0x5f98805A4E8be255a32880FDeC7F6728C6568bA0,18 +1532,ADVT-9b72,ADVT,ADVT,0x69e37422cB87d963367F73A119C8ce9a4D529b72,9 +1533,FEG-2A11,FEG,FEG,0xbededDf2eF49E87037c4fb2cA34d1FF3D3992A11,18 +1534,MEGODS-9DAc,MEGODS,MEGODS,0xc6980fA29A42e44852E29492268d9285d89c9DAc,18 +1535,FET-Ad85,FET,FET,0xaea46A60368A7bD060eec7DF8CBa43b7EF41Ad85,18 +1536,CVR-e6c6,CVR,CVR,0x3C03b4EC9477809072FF9CC9292C9B25d4A8e6c6,18 +1537,VXDEFI-83Ac,VXDEFI,VXDEFI,0xe1A3864DbF62Fb94834B108Ff6Bf439cE70183Ac,18 +1538,COINBT-d481,COINBT,COINBT,0x6fA5E1c43b5a466CBD1CAe7993B67C982400d481,18 +1539,MOSOLID-d743,MOSOLID,MOSOLID,0x848578e351D25B6Ec0d486E42677891521c3d743,18 +1540,SOLID-0990,SOLID,SOLID,0x777172D858dC1599914a1C4c6c9fC48c99a60990,18 +1541,MNFT-093d,MNFT,MNFT,0x3235B13708F178Af6F110dE7177ED5De10c1093d,18 +1542,OUSD-5e86,OUSD,OUSD,0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86,18 +1543,OPTIG-F44b,OPTIG,OPTIG,0xD5DF655087d99B7B720A5bc8711F296180A4F44b,18 +1544,XI-Ec8c,XI,XI,0x295B42684F90c77DA7ea46336001010F2791Ec8c,18 +1545,JIZZ-a352,JIZZ,JIZZ,0x8b937AF714aC7E2129bD33D93641F52b665Ca352,18 +1546,HNB-B1FF,HNB,HNB,0x6E0615a03eD9527a6013FcD5B556E36EF4DaB1FF,18 +1547,KTT-fE43,KTT,KTT,0x14cC8DfaF2258E1B8B2869300dBa1B734dc0fE43,18 +1548,LOTTY-E35C,LOTTY,LOTTY,0xB459F7204A8Ac84F9e7758d6d839eBD01670E35C,18 +1549,PAW-5136,PAW,PAW,0x1AA51bc7eb181ce48CE626Bf62f8956Fa9555136,18 +1550,YVS-f478,YVS,YVS,0xEC681F28f4561c2a9534799AA38E0d36A83Cf478,18 +1551,P2PS-5047,P2PS,P2PS,0x4527a3B4A8A150403090a99b87efFC96F2195047,8 +1552,LINQ-cA64,LINQ,LINQ,0x3e34eabF5858a126cb583107E643080cEE20cA64,18 +1553,SHIDO-163c,SHIDO,SHIDO,0xeD354cAE598148846aa9694254C854fc7051163c,18 +1554,FUND-d0AB,FUND,FUND,0x66861D5f0Fbfb7b2711712fEF2172c560D08d0AB,18 +1555,SMS-9B0A,SMS,SMS,0xe5867608b51A2c9C78B9587355cC093140A49B0A,3 +1556,SHIB2-64c0,SHIB2,SHIB2,0x2dE7B02Ae3b1f11d51Ca7b2495e9094874A064c0,18 +1557,APX-0Fa4,APX,APX,0xed4e879087ebD0e8A77d66870012B5e0dffd0Fa4,18 +1558,BEND-6218,BEND,BEND,0x0d02755a5700414B26FF040e1dE35D337DF56218,18 +1559,CRAB-b735,CRAB,CRAB,0x24BCeC1AFda63E622a97F17cFf9a61FFCfd9b735,18 +1560,INXT-16D4,INXT,INXT,0x4A8f5F96D5436e43112c2fBC6a9f70DA9e4E16D4,8 +1561,REMIT-cAfb,REMIT,REMIT,0x3db045814D0a29d831fe38055CB97a956eF7cAfb,18 +1562,AGVC-05C4,AGVC,AGVC,0x8b79656FC38a04044E495e22fAD747126ca305C4,18 +1563,GRL-81dA,GRL,GRL,0xEf5eFf55F665B66385b6692EbD80680e581D81dA,9 +1564,KIRO-b137,KIRO,KIRO,0xB1191F691A355b43542Bea9B8847bc73e7Abb137,18 +1565,CFXQ-2cEB,CFXQ,CFXQ,0x0557E0d15aeC0b9026dD17aA874fDf7d182A2cEB,6 +1566,ESS-40f7,ESS,ESS,0xfc05987bd2be489ACCF0f509E44B0145d68240f7,18 +1567,SAITO-B57B,SAITO,SAITO,0xFa14Fa6958401314851A17d6C5360cA29f74B57B,18 +1568,X-237c,X,X,0xaBeC00542D141BDdF58649bfe860C6449807237c,18 +1569,IDEAS-cC02,IDEAS,IDEAS,0x443b29fc978058Abe3Fc2f4c3c6b76c57fdecC02,18 +1570,GOLD-9b01,GOLD,GOLD,0x089453742936dd35134383aee9d78bEe63A69b01,18 +1571,BXB-3530,BXB,BXB,0xAAc88E48767988119b84dea3fc93ceEc012F3530,18 +1572,NINEFI-2f1d,NINEFI,NINEFI,0xe78BFF28D3c5195C752E734E95421bb4bd742f1d,18 +1573,XGF-9977,XGF,XGF,0xfa26384dddA8176c74dB700Bb0CDa50c559E9977,18 +1574,ALLUO-0B09,ALLUO,ALLUO,0x1E5193ccC53f25638Aa22a940af899B692e10B09,18 +1575,SMETA-a38F,SMETA,SMETA,0xAdc3F2C3D728202658930860158C726d8180a38F,18 +1576,COR-D835,COR,COR,0x9C2dc0c3CC2BADdE84B0025Cf4df1c5aF288D835,18 +1577,VEST-7986,VEST,VEST,0x1f19f83fC9a25F3C861260143E36c17706257986,18 +1578,BIX-2803,BIX,BIX,0x009c43B42AEFAC590C719E971020575974122803,18 +1579,MAWETH-ABa4,MAWETH,MAWETH,0x490BBbc2485e99989Ba39b34802faFa58e26ABa4,18 +1580,XFER-242c,XFER,XFER,0x32d5B155e82c87C491ea14b59477ddd0957e242c,18 +1581,PIN-a9BE,PIN,PIN,0xc1f976B91217E240885536aF8b63bc8b5269a9BE,18 +1582,JPYC-cD53,JPYC,JPYC,0x2370f9d504c7a6E775bf6E14B3F12846b594cD53,18 +1583,CJPY-8372,CJPY,CJPY,0x1cfa5641c01406aB8AC350dEd7d735ec41298372,18 +1584,WPT-88eA,WPT,WPT,0x4FD51Cb87ffEFDF1711112b5Bd8aB682E54988eA,18 +1585,MXRBOT-970b,MXRBOT,MXRBOT,0x6995923FAA52F1D0Cd3ed7870Eb273ebB1b0970b,18 +1586,CRVRENWSBTC-0fB3,CRVRENWSBTC,CRVRENWSBTC,0x075b1bb99792c9E1041bA13afEf80C91a1e70fB3,18 +1587,TXT-3B8C,TXT,TXT,0x547b2F82ceCfAb9C2B1D36fddA96eF9F58C63B8C,18 +1588,PETH-78c7,PETH,PETH,0x836A808d4828586A69364065A1e064609F5078c7,18 +1589,TIGER-337F,TIGER,TIGER,0xB83c27805aAcA5C7082eB45C868d955Cf04C337F,18 +1590,ADAI-f85d,ADAI,ADAI,0xfC1E690f61EFd961294b3e1Ce3313fBD8aa4f85d,18 +1591,EGG-7309,EGG,EGG,0x7e85B369d170Ebf127367400B1F399cb18027309,18 +1592,BITO-4932,BITO,BITO,0x93b1E78a3e652cd2e71C4a767595B77282344932,18 +1593,AIRBOT-9fE9,AIRBOT,AIRBOT,0xcD14517C7397a003aeC7404CB8159f16a90f9fE9,18 +1594,PTM-8c1e,PTM,PTM,0x7c32DB0645A259FaE61353c1f891151A2e7f8c1e,18 +1595,DOKI-71f5,DOKI,DOKI,0x869DBe51Dc214fcb663604b0F7B548592F8C71f5,9 +1596,WELD-6dE0,WELD,WELD,0xDD2a36AE937bc134ea694d77fC7e2E36f5d86dE0,18 +1597,PROT-8932,PROT,PROT,0x2341Dd0A96a0Dab62Aa1efB93D59FF7F3bDB8932,18 +1598,ALN-5748,ALN,ALN,0x8185Bc4757572Da2a610f887561c32298f1A5748,18 +1599,DAWAE-72CD,DAWAE,DAWAE,0xBc953FCcBCC9E95DAFb35d46992cEe966AA972CD,18 +1600,COMBO-c661,COMBO,COMBO,0xc03fBF20A586fa89C2a5f6F941458E1Fbc40c661,18 +1601,RAGE-886F,RAGE,RAGE,0x94804dc4948184fFd7355f62Ccbb221c9765886F,18 +1602,ETHV-aC76,ETHV,ETHV,0xC53342fd7575f572b0fF4569e31941A5B821aC76,18 +1603,FOMO-946A,FOMO,FOMO,0x8387c2d1b0EEa6B91b910afF66a7bD2710a5946A,18 +1604,BUMBLEC-9444,BUMBLEC,BUMBLEC,0xAD83b92cdD542Db07445597f7F06963B31Cf9444,9 +1605,FUSDT-b458,FUSDT,FUSDT,0xADc234a4e90E2045f353F5d4fCdE66144d23b458,6 +1606,WINS-96d1,WINS,WINS,0x5f48d1Fd6814Cd1CD38Aeb895755E57d519196d1,18 +1607,IMPT-1f85,IMPT,IMPT,0x04C17b9D3b29A78F7Bd062a57CF44FC633e71f85,18 +1608,HIMOONBIRDS-BFa5,HIMOONBIRDS,HIMOONBIRDS,0x0A7b89E66a1DC16633abdfd132bAe05827d3BFa5,18 +1609,DIA-9419,DIA,DIA,0x84cA8bc7997272c7CfB4D0Cd3D55cd942B3c9419,18 +1610,REVHUB-b449,REVHUB,REVHUB,0xD3B9A9E5Ee4Aab3963C95dD715882DEF4F22b449,18 +1611,OOKS-1572,OOKS,OOKS,0x69D9905B2e5f6F5433212b7F3c954433F23C1572,18 +1612,BANK-2921,BANK,BANK,0x24A6A37576377F63f194Caa5F518a60f45b42921,18 +1613,MPH-35C5,MPH,MPH,0x8888801aF4d980682e47f1A9036e589479e835C5,18 +1614,SHIELD-6F0b,SHIELD,SHIELD,0x3e98253D316856Df99c17686aF1A6a0107956F0b,9 +1615,WAVES-f29a,WAVES,WAVES,0x1cF4592ebfFd730c7dc92c1bdFFDfc3B9EfCf29a,18 +1616,TONE-03c4,TONE,TONE,0x2Ab6Bb8408ca3199B8Fa6C92d5b455F820Af03c4,18 +1617,IBZ-4771,IBZ,IBZ,0x5AA7C403c7dE4B3bb0cc07079a03e389671a4771,18 +1618,WAGMIGAMES-00F0,WAGMIGAMES,WAGMIGAMES,0x3B604747ad1720C01ded0455728b62c0d2F100F0,18 +1619,PVP-2871,PVP,PVP,0x9B44793a0177C84DD01AD81137db696531902871,18 +1620,PAINT-4042,PAINT,PAINT,0x4C6eC08CF3fc987c6C4BEB03184D335A2dFc4042,18 +1621,JACY-4A62,JACY,JACY,0x916c5DE09cF63f6602d1e1793FB41F6437814A62,9 +1622,FTX-6a61,FTX,FTX,0xd559f20296FF4895da39b5bd9ADd54b442596a61,18 +1623,ILV-ca0E,ILV,ILV,0x767FE9EDC9E0dF98E07454847909b5E959D7ca0E,18 +1624,LEAGUE-1aa2,LEAGUE,LEAGUE,0xc01b733B2EF479086B80949676A673346B531aa2,18 +1625,NORD-a0DE,NORD,NORD,0x6e9730EcFfBed43fD876A264C982e254ef05a0DE,18 +1626,GNFT-6C2b,GNFT,GNFT,0xc502002aEB1b9309FcCb016adF50507987Fc6C2b,18 +1627,TATE-3b64,TATE,TATE,0xa589d8868607b8d79eE4288ce192796051263b64,18 +1628,DTUBE-9C24,DTUBE,DTUBE,0xd2be3722B17b616c51ed9B8944A227D1ce579C24,2 +1629,TOAD-eD1e,TOAD,TOAD,0xBfB2b6870501a6Ff17121D676A0A45a38c9eeD1e,9 +1630,AW3-Ea07,AW3,AW3,0xCc09F34Accdb36ee3ED98358A3B8a6AE5C29Ea07,18 +1631,WEB3-e601,WEB3,WEB3,0xe8e8486228753E01Dbc222dA262Aa706Bd67e601,18 +1632,INJ-ca30,INJ,INJ,0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30,18 +1633,ZZ-55ad,ZZ,ZZ,0xC91a71A1fFA3d8B22ba615BA1B9c01b2BBBf55ad,18 +1634,BB-A-WETH-374a,BB-A-WETH,BB-A-WETH,0x60D604890feaa0b5460B28A424407c24fe89374a,18 +1635,DON-c88a,DON,DON,0x217ddEad61a42369A266F1Fb754EB5d3EBadc88a,18 +1636,SWITCH-1338,SWITCH,SWITCH,0xb10cc888cB2CcE7036F4c7ECAd8a57Da16161338,8 +1637,DAPPX-883C,DAPPX,DAPPX,0x00d8318E44780EdEEFcF3020A5448F636788883C,18 +1638,MEZZ-4bC3,MEZZ,MEZZ,0xC4c346eDc55504574cCEB00AA1091d22404A4bC3,18 +1639,GSWAP-f8B2,GSWAP,GSWAP,0xaac41EC512808d64625576EDdd580e7Ea40ef8B2,18 +1640,DFIAT-89F0,DFIAT,DFIAT,0x1045F5cCb01DAEA4f8eaB055F5FcBB7C0E7c89F0,18 +1641,AVI-a7fe,AVI,AVI,0xd2bDaAF2b9cc6981fd273DcB7C04023bFbe0a7fe,18 +1642,UDO-dC06,UDO,UDO,0xea3983Fc6D0fbbC41fb6F6091f68F3e08894dC06,18 +1643,GEM-201f,GEM,GEM,0xc7BbA5b765581eFb2Cdd2679DB5Bea9eE79b201f,18 +1644,VCORE-9feb,VCORE,VCORE,0x733B5056a0697e7a4357305FE452999a0C409feb,18 +1645,LORDS-18b0,LORDS,LORDS,0x686f2404e77Ab0d9070a46cdfb0B7feCDD2318b0,18 +1646,PDEX-Aaea,PDEX,PDEX,0xF59ae934f6fe444afC309586cC60a84a0F89Aaea,18 +1647,IXS-d1b4,IXS,IXS,0x73d7c860998CA3c01Ce8c808F5577d94d545d1b4,18 +1648,ETHX-c16A,ETHX,ETHX,0x21eAD867C8c5181854f6f8Ce71f75b173d2Bc16A,18 +1649,BSP-24D3,BSP,BSP,0xE51b8Ab09008285a0380Dd2680cD9Dd5e13924D3,18 +1650,MEF-803F,MEF,MEF,0xCA5001bC5134302Dbe0F798a2d0b95Ef3cF0803F,18 +1651,PRQ-d7D2,PRQ,PRQ,0x362bc847A3a9637d3af6624EeC853618a43ed7D2,18 +1652,ABUSD-23D9,ABUSD,ABUSD,0xA361718326c15715591c299427c62086F69923D9,18 +1653,JASMY-03EC,JASMY,JASMY,0x7420B4b9a0110cdC71fB720908340C03F9Bc03EC,18 +1654,KALE-5be5,KALE,KALE,0x508626d9a29D13EbA26F843A2BD7bF7b00a45be5,18 +1655,STARS-13Ca,STARS,STARS,0xc55c2175E90A46602fD42e931f62B3Acc1A013Ca,18 +1656,SILKROAD-52a1,SILKROAD,SILKROAD,0x1142866f451d9d5281C5C8349a332bD338e552a1,18 +1657,YVLINK-30B2,YVLINK,YVLINK,0x671a912C10bba0CFA74Cfc2d6Fba9BA1ed9530B2,18 +1658,USDF-c8aA,USDF,USDF,0x51acB1ea45c1EC2512ae4202B9076C13016dc8aA,6 +1659,BUY-FA96,BUY,BUY,0x31Fdd1c6607F47C14a2821f599211c67AC20FA96,18 +1660,MSWAP-BDc6,MSWAP,MSWAP,0x4bE2b2C45b432BA362f198c08094017b61E3BDc6,18 +1661,GODBOT-3812,GODBOT,GODBOT,0x5579699A6E1Da7D924D3bFdE38a427be5fC93812,9 +1662,HOLA-D2C7,HOLA,HOLA,0x5BffE8DdFF21cA52D8371B14a6c39D6ae3C5D2C7,18 +1663,MPH-Aa38,MPH,MPH,0x6369c3DadfC00054A42BA8B2c09c48131dd4Aa38,18 +1664,ABAL-4576,ABAL,ABAL,0x272F97b7a56a387aE942350bBC7Df5700f8a4576,18 +1665,WPR-15d4,WPR,WPR,0x4CF488387F035FF08c371515562CBa712f9015d4,18 +1666,FOY-4d76,FOY,FOY,0xAf91E8aFbe87642dC628786188a54B78580A4d76,18 +1667,AD-13C7,AD,AD,0xe973E453977195422B48e1852A207b7eE9C913C7,18 +1668,GCR-c661,GCR,GCR,0x6307B25A665Efc992EC1C1bC403c38F3dDd7c661,4 +1669,BLOCKS-24eB,BLOCKS,BLOCKS,0x8a6D4C8735371EBAF8874fBd518b56Edd66024eB,18 +1670,YSHORI-d69b,YSHORI,YSHORI,0x25644eA5bE09d1266B5df3F96559Ecdc2D0ad69b,18 +1671,FDAI-1387,FDAI,FDAI,0x244517Dc59943E8CdFbD424Bdb3262c5f04a1387,6 +1672,TERA2-3231,TERA2,TERA2,0x33909C9CE97Ce509daB3A038B3eC7ac3d1Be3231,4 +1673,KITTYDINGER-3BC6,KITTYDINGER,KITTYDINGER,0x2C33B28527A63Cdf13C0B24Ce4cf5BF9C9fB3BC6,9 +1674,PPDEX-0cf7,PPDEX,PPDEX,0xf1F508c7C9f0d1b15a76fbA564eEf2d956220cf7,18 +1675,LIF3-8A2c,LIF3,LIF3,0x7138Eb0d563f3F6722500936A11DcAe99D738A2c,18 +1676,XMT-721e,XMT,XMT,0x3E5D9D8a63CC8a88748f229999CF59487e90721e,18 +1677,LM-ee9D,LM,LM,0xc064F4F215B6A1E4e7F39bD8530C4dE0fC43ee9D,18 +1678,MATIC-eBB0,MATIC,MATIC,0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0,18 +1679,PIG20-e32B,PIG20,PIG20,0xb2114E5420927932666A5C5Bd1ac4e14d9EDe32B,9 +1680,TEM-2a12,TEM,TEM,0xaE0585a259A3BCAB258D6EE02FB583f7B33C2a12,18 +1681,BARA-8BCf,BARA,BARA,0xF190dbD849E372FF824e631a1FdF199f38358BCf,18 +1682,SHIB05-dE1b,SHIB05,SHIB05,0x8Eb94A06b4716093DBfE335cbdb098DEb2dcdE1b,18 +1683,FXF-0f12,FXF,FXF,0x8a40c222996f9F3431f63Bf80244C36822060f12,18 +1684,AEDY-E16B,AEDY,AEDY,0x103bb3EBc6F61b3DB2d6e01e54eF7D9899A2E16B,18 +1685,MINI-44EC,MINI,MINI,0x4D953cf077c0C95Ba090226E59A18FcF97db44EC,18 +1686,ALPHR-58e0,ALPHR,ALPHR,0xaa99199d1e9644b588796F3215089878440D58e0,18 +1687,LOCG-27d0,LOCG,LOCG,0x60Eb57d085C59932d5fAa6c6026268A4386927d0,18 +1688,TICKR-0d24,TICKR,TICKR,0xf0a163a26601D9dc8Aef26b388Eadb7B1c620d24,9 +1689,KOL-d414,KOL,KOL,0x1CC30e2EAc975416060Ec6FE682041408420d414,18 +1690,PIF-6513,PIF,PIF,0xB30F5d11b94efBBfDeaa4de38eDFFCeEc0bE6513,18 +1691,ALD-2a8D,ALD,ALD,0xb26C4B3Ca601136Daf98593feAeff9E0CA702a8D,18 +1692,BIGSB-b6F6,BIGSB,BIGSB,0x131157c6760f78f7dDF877C0019Eba175BA4b6F6,18 +1693,COOK-6eF5,COOK,COOK,0xFF75CEd57419bcaEBe5F05254983b013B0646eF5,18 +1694,SUB-E63a,SUB,SUB,0x8D75959f1E61EC2571aa72798237101F084DE63a,18 +1695,CVT-52Ed,CVT,CVT,0x24B47299E756aF0571F512232A3629E0DaBb52Ed,18 +1696,HFT-cADC,HFT,HFT,0xb3999F658C0391d94A37f7FF328F3feC942BcADC,18 +1697,DOGC-58B6,DOGC,DOGC,0xda8263d8ce3F726233f8b5585bcb86a3120a58B6,18 +1698,SPIZ-6c2d,SPIZ,SPIZ,0xa7A5c1058194Af8F00c187adB7FcC0c95f1C6c2d,18 +1699,USDTSO-7B7C,USDTSO,USDTSO,0x1CDD2EaB61112697626F7b4bB0e23Da4FeBF7B7C,6 +1700,ARCAI-b5E9,ARCAI,ARCAI,0x5c8190b76E90B4DD0702740cF6Eb0F7eE01Ab5E9,9 +1701,OLE-aB7e,OLE,OLE,0x92CfbEC26C206C90aeE3b7C66A9AE673754FaB7e,18 +1702,HANKEY-932c,HANKEY,HANKEY,0x0383E1C4AF6FEd9f127E901ca982fA61333e932c,18 +1703,MBASE-91AA,MBASE,MBASE,0xbA3E5F8b4200a5eb856FF2C3E001aB29444491AA,18 +1704,CVXFXS-df74,CVXFXS,CVXFXS,0xFEEf77d3f69374f66429C91d732A244f074bdf74,18 +1705,TAI-2c5F,TAI,TAI,0x267eB2A9a13DC304a9dEFf4277abE850d0852c5F,8 +1706,FFRAX-978B,FFRAX,FFRAX,0x1C9A2d6b33B4826757273D47ebEe0e2DddcD978B,8 +1707,DODO-4DDd,DODO,DODO,0x43Dfc4159D86F3A37A5A4B3D4580b888ad7d4DDd,18 +1708,CAST-65FC,CAST,CAST,0x3FAb0bBAa03BCEAF7C49E2b12877dB0142BE65FC,8 +1709,RMATIC-E34B,RMATIC,RMATIC,0x3DBB00c9bE5A327E25CAf4f650844C5DbA81E34B,18 +1710,GLCH-D564,GLCH,GLCH,0x038a68FF68c393373eC894015816e33Ad41BD564,18 +1711,MPS-D47D,MPS,MPS,0x96c645D3D3706f793Ef52C19bBACe441900eD47D,0 +1712,BIOT-25EB,BIOT,BIOT,0xc07A150ECAdF2cc352f5586396e344A6b17625EB,9 +1713,SANI-342F,SANI,SANI,0x4521C9aD6A3D4230803aB752Ed238BE11F8B342F,18 +1714,1SOL-6214,1SOL,1SOL,0x009178997aFf09A67D4cACcFeB897Fb79d036214,18 +1715,ADS-d22A,ADS,ADS,0xcfcEcFe2bD2FED07A9145222E8a7ad9Cf1Ccd22A,11 +1716,BIPS-dfeE,BIPS,BIPS,0x5Cb888182fBfFdb62C08fb4B5a343914F00FdfeE,18 +1717,ICHI-A881,ICHI,ICHI,0x903bEF1736CDdf2A537176cf3C64579C3867A881,9 +1718,KDAG-603a,KDAG,KDAG,0x95E40E065AFB3059dcabe4aaf404c1F92756603a,18 +1719,SUZUME-7E43,SUZUME,SUZUME,0x0B452278223D3954F4AC050949D7998e373e7E43,18 +1720,UNIFI-CEb5,UNIFI,UNIFI,0x9E78b8274e1D6a76a0dBbf90418894DF27cBCEb5,18 +1721,SHINJI-0afd,SHINJI,SHINJI,0x1F31DD60b84ea2a273cfC56876437E069aE80afd,9 +1722,SQGL-d9cf,SQGL,SQGL,0x8d137e3337eb1B58A222Fef2B2Cc7C423903d9cf,18 +1723,EM-1082,EM,EM,0x35b08722AA26bE119c1608029CcbC976ac5C1082,8 +1724,BPLC-21b4,BPLC,BPLC,0x426FC8BE95573230f6e6bc4af91873F0c67b21b4,18 +1725,RUSH-9eC7,RUSH,RUSH,0x382A1667C9062F0621362F49076Ef6e4fE4C9eC7,18 +1726,RAS-C3EF,RAS,RAS,0x19dd1Cc08a8Bdb124a3f57A364f1D72b7a19C3EF,18 +1727,CRI-3E4d,CRI,CRI,0x12E951934246186F50146235d541D3bD1D463E4d,18 +1728,LUNCH-e7e0,LUNCH,LUNCH,0x71a28feAEe902966DC8D355e7B8Aa427D421e7e0,18 +1729,POP-2a48,POP,POP,0x265F542C1E78068F13d87C6fE0df54f3e9562a48,9 +1730,HANU-BCC0,HANU,HANU,0x72E5390EDb7727E3d4e3436451DADafF675dBCC0,12 +1731,RADAR-4DbE,RADAR,RADAR,0x44709a920fCcF795fbC57BAA433cc3dd53C44DbE,18 +1732,DKUMA-A3a8,DKUMA,DKUMA,0x3f5dd1A1538a4F9f82E543098f01F22480B0A3a8,18 +1733,TERA-b84D,TERA,TERA,0x009668A9691e456972c8ec4Cc84e99486308b84D,18 +1734,XNL-A833,XNL,XNL,0x06A00715E6F92210Af9d7680B584931FAF71A833,18 +1735,XRP-e6cc,XRP,XRP,0xb1C064C3f2908F741C9dEA4AFC5773238B53e6cc,9 +1736,WALLY-1B58,WALLY,WALLY,0x7c3ED93b03e67C1fA240395B28E38c4386321B58,9 +1737,WOLVERINU-5f14,WOLVERINU,WOLVERINU,0x7Cc97Bf17C5AdaBe25F9D19D15A1eC8A1ad65f14,18 +1738,LPT-B239,LPT,LPT,0x58b6A8A3302369DAEc383334672404Ee733aB239,18 +1739,STORJ-b8aC,STORJ,STORJ,0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC,8 +1740,MOETA-a55B,MOETA,MOETA,0x238A1FcC2F65ed50c1e1797cF5857CBA3E82a55B,9 +1741,RSC-F571,RSC,RSC,0xD101dCC414F310268c37eEb4cD376CcFA507F571,18 +1742,FDZ-DED9,FDZ,FDZ,0x23352036E911A22Cfc692B5E2E196692658ADED9,18 +1743,MTE-db95,MTE,MTE,0x159cDAF78bE31E730d9E1330adFcfBb79a5fdb95,18 +1744,GOLD-6817,GOLD,GOLD,0x40d1F63B5D2048e67E9bEdB1B4c2F1A9fb4b6817,18 +1745,UUSDC-9cAB,UUSDC,UUSDC,0xBc5991cCd8cAcEba01edC44C2BB9832712c29cAB,6 +1746,METAL-6eab,METAL,METAL,0x294559FA758C88D639Fd085751e463FEe7806eab,18 +1747,ICSMMT-39cD,ICSMMT,ICSMMT,0xc30FBa978743a43E736fc32FBeEd364b8A2039cD,18 +1748,VAI-395c,VAI,VAI,0xD13cfD3133239a3c73a9E535A5c4DadEE36b395c,18 +1749,POOL-844e,POOL,POOL,0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e,18 +1750,XFUND-7881,XFUND,XFUND,0x892A6f9dF0147e5f079b0993F486F9acA3c87881,9 +1751,PEPEXL-22ed,PEPEXL,PEPEXL,0xDDd5592CF4759313C649eB4e624a79541Ed222ed,18 +1752,WAGMI-3a67,WAGMI,WAGMI,0x92CC36D66e9d739D50673d1f27929a371FB83a67,18 +1753,THOL-0618,THOL,THOL,0x207e14389183A94343942de7aFbC607F57460618,18 +1754,0XGAS-9E79,0XGAS,0XGAS,0x994A258c7Dec633b5b15376f850D5Ea701179E79,18 +1755,USDP-C925,USDP,USDP,0x1456688345527bE1f37E9e627DA0837D6f08C925,18 +1756,BXR-D695,BXR,BXR,0x97A3BD8a445cC187c6A751F392e15C3B2134D695,18 +1757,MAPS-5a64,MAPS,MAPS,0x9A6aeA7C2b0D563EaB701E3255110d30F08B5a64,8 +1758,REV-Edc9,REV,REV,0x2ef52Ed7De8c5ce03a4eF0efbe9B7450F2D7Edc9,6 +1759,INTX-0AE2,INTX,INTX,0x7533D63A2558965472398Ef473908e1320520AE2,9 +1760,MIM-17F3,MIM,MIM,0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3,18 +1761,PHONON-03Ec,PHONON,PHONON,0x758B4684BE769E92eeFeA93f60DDA0181eA303Ec,18 +1762,OCTO-F9C7,OCTO,OCTO,0x52DeC19Feef469d7a683963b7380eCd0b1afF9C7,18 +1763,1MIL-A016,1MIL,1MIL,0xa4eF4b0B23C1fc81d3f9ecF93510e64f58A4A016,18 +1764,DOLA-9ce4,DOLA,DOLA,0x865377367054516e17014CcdED1e7d814EDC9ce4,18 +1765,BULLET-54B6,BULLET,BULLET,0x8ef32a03784c8Fd63bBf027251b9620865bD54B6,8 +1766,SGTV2-EcDD,SGTV2,SGTV2,0x24C19F7101c1731b85F1127EaA0407732E36EcDD,18 +1767,BLACK-Dbe2,BLACK,BLACK,0xd714d91A169127e11D8FAb3665d72E8b7ef9Dbe2,18 +1768,HORD-3448,HORD,HORD,0x43A96962254855F16b925556f9e97BE436A43448,18 +1769,NXRA-EF9e,NXRA,NXRA,0x644192291cc835A93d6330b24EA5f5FEdD0eEF9e,18 +1770,SHIELD-2f68,SHIELD,SHIELD,0xd8B90D2e680ea535eAcCe1b025c998B347892f68,18 +1771,OLY-Fb1f,OLY,OLY,0x6595b8fD9C920C81500dCa94e53Cdc712513Fb1f,18 +1772,KUMA-3E02,KUMA,KUMA,0x48C276e8d03813224bb1e55F953adB6d02FD3E02,18 +1773,PSDNOCEAN-929E,PSDNOCEAN,PSDNOCEAN,0x51Fa2efd62ee56a493f24AE963eAce7D0051929E,18 +1774,ORBS-B0FA,ORBS,ORBS,0xff56Cc6b1E6dEd347aA0B7676C85AB0B3D08B0FA,18 +1775,ASTA-8AF5,ASTA,ASTA,0xf2ddae89449b7D26309a5D54614B1FC99C608AF5,18 +1776,BLZ-D668,BLZ,BLZ,0x5732046A883704404F284Ce41FfADd5b007FD668,18 +1777,CENT-35bc,CENT,CENT,0x08ba718F288c3b12B01146816bef9FA03cC635bc,18 +1778,SONIC-0ee5,SONIC,SONIC,0xd1cD47746B8e72359b28C1c84a4F6a19dc1A0ee5,18 +1779,FOXE-F14d,FOXE,FOXE,0x378E1BE15BE6d6D1f23Cfe7090b6a77660dBF14d,18 +1780,DIGITS-404F,DIGITS,DIGITS,0xBE56ab825fD35678A32dc35bc4EB17e238e1404F,18 +1781,MIR-E608,MIR,MIR,0x09a3EcAFa817268f77BE1283176B946C4ff2E608,18 +1782,VIDY-B5E8,VIDY,VIDY,0xC77b230F31b517F1ef362e59c173C2BE6540B5E8,18 +1783,SPAY-f3c5,SPAY,SPAY,0x58FaD9E3C3AE54c9BA98c3f0E4bF88aB3E8Cf3c5,18 +1784,GSC-E80C,GSC,GSC,0x228ba514309FFDF03A81a205a6D040E429d6E80C,18 +1785,BRIDGE-5223,BRIDGE,BRIDGE,0x92868A5255C628dA08F550a858A802f5351C5223,18 +1786,LSDAI-9E91,LSDAI,LSDAI,0xe1A70B24E109F7A8b39806c554E123Efc6769E91,18 +1787,HONK-eD38,HONK,HONK,0x5efcEA234f7547de4569aad1215FA5D2adACeD38,18 +1788,INX-Eae3,INX,INX,0xBBC7f7A6AADAc103769C66CBC69AB720f7F9Eae3,18 +1789,NUX-911c,NUX,NUX,0x89bD2E7e388fAB44AE88BEf4e1AD12b4F1E0911c,18 +1790,ZION-190e,ZION,ZION,0x3DA434F76226b9489ED4277eb6fDccdf03FF190e,18 +1791,SIFU-C313,SIFU,SIFU,0x29127fE04ffa4c32AcAC0fFe17280ABD74eAC313,18 +1792,UNKMAV-cF34,UNKMAV,UNKMAV,0x04506DDDBF689714487f91Ae1397047169afcF34,18 +1793,HVN-2D9D,HVN,HVN,0xC0Eb85285d83217CD7c891702bcbC0FC401E2D9D,8 +1794,BPEPE-BB8f,BPEPE,BPEPE,0x02a739710d5E469ffca483f898EE9aea27b8BB8f,18 +1795,KEK-6a82,KEK,KEK,0x67954768E721FAD0f0f21E33e874497C73ED6a82,18 +1796,BHIGH-DF7a,BHIGH,BHIGH,0x20C64dEE8FdA5269A78f2D5BDBa861CA1d83DF7a,18 +1797,FRETH-0374,FRETH,FRETH,0xB4Bd4628e6EFb0Cb521D9ec35050C75840320374,18 +1798,WUSD-EFa5,WUSD,WUSD,0x068E3563b1c19590F822c0e13445c4FA1b9EEFa5,18 +1799,PAN-4c92,PAN,PAN,0x536381a8628dBcC8C70aC9A30A7258442eAb4c92,8 +1800,SRC-4e4b,SRC,SRC,0x16587cF43F044aBa0165ffA00AcF412631194e4b,18 +1801,PHUNK-Ae91,PHUNK,PHUNK,0xB39185e33E8c28e0BB3DbBCe24DA5dEA6379Ae91,18 +1802,REVIVE-E725,REVIVE,REVIVE,0x3F17f64F682019599ba51638f74E4b6C127FE725,18 +1803,OMIKAMI-AbD3,OMIKAMI,OMIKAMI,0x9e18d5BAB2FA94a6A95F509Ecb38F8F68322AbD3,9 +1804,RBIS-9D7D,RBIS,RBIS,0xf34B1Db61ACa1a371fE97BAd2606c9f534fb9D7D,18 +1805,MORI-762C,MORI,MORI,0x00c8555542158Fff0FEb892c8e000a8D1831762C,18 +1806,XCUR-86bd,XCUR,XCUR,0xE1c7E30C42C24582888C758984f6e382096786bd,8 +1807,SETS-cF59,SETS,SETS,0x04E0Af0af1b7f0023c6B12af5a94Df59B0e8cF59,18 +1808,SONO-4bF3,SONO,SONO,0x0D15009896EfE9972F8E086bdD3BcBa5c1f74bF3,8 +1809,YOURWALLET-C429,YOURWALLET,YOURWALLET,0xDa70FBaC9e1C9Ac3475c24A3A847f85f1388C429,18 +1810,SPRING-d4FE,SPRING,SPRING,0xf04aF3f4E4929F7CD25A751E6149A3318373d4FE,18 +1811,WILD-0e34,WILD,WILD,0x2a3bFF78B79A009976EeA096a51A948a3dC00e34,18 +1812,BHNY-0844,BHNY,BHNY,0xCc802c45B55581713cEcd1Eb17BE9Ab7fcCb0844,18 +1813,DIONE-D697,DIONE,DIONE,0x89B69F2d1adffA9A253d40840B6Baa7fC903D697,9 +1814,BILLY-eF26,BILLY,BILLY,0x9CBf044bc535db4C93a9F11205A69631d9DCeF26,18 +1815,ZENF-c1A5,ZENF,ZENF,0xE9b7B5D5e8d2BCC78884F9F9099bfA42A9e5c1A5,18 +1816,TELE-1674,TELE,TELE,0xF1e345Ea7c33fd6c05F5512a780Eb5839EE31674,18 +1817,HPO-1a84,HPO,HPO,0xa0ED3C520dC0632657AD2EaaF19E26C4fD431a84,18 +1818,NII-bE52,NII,NII,0x7c8155909cd385F120A56eF90728dD50F9CcbE52,15 +1819,MOC-4E68,MOC,MOC,0x865ec58b06bF6305B886793AA20A2da31D034E68,18 +1820,-Ff24,,,0xe4eFDd2eb216A4620cfA55c5cC67Bd09DC64Ff24,9 +1821,PYR-9682,PYR,PYR,0x430EF9263E76DAE63c84292C3409D61c598E9682,18 +1822,BABYPEPE-877D,BABYPEPE,BABYPEPE,0x69cd13d248830602A60B1f20ab11F5049385877D,18 +1823,NVG-D54E,NVG,NVG,0x08F40811C7d6C013744166f3d4CB1A9A92D3D54E,18 +1824,KIT-B4F4,KIT,KIT,0x7866E48C74CbFB8183cd1a929cd9b95a7a5CB4F4,18 +1825,HOBBES-954A,HOBBES,HOBBES,0xB475332D25d34b59176F5c1D94cb9Bc9B5E3954A,9 +1826,CTLS-D94d,CTLS,CTLS,0xdbecDd726f6ad8e24aFc78fe3cC8eb7B73C2D94d,18 +1827,CNG-44bf,CNG,CNG,0x5C1d9aA868a30795F92fAe903eDc9eFF269044bf,18 +1828,G-7380,G,G,0xE1005BfBBC9A17d5d844C7a4371CBF6B2B387380,8 +1829,NOW-693b,NOW,NOW,0xE9A95d175a5f4C9369f3b74222402eB1b837693b,8 +1830,BROCK-B493,BROCK,BROCK,0xde67d97b8770dC98C746A3FC0093c538666eB493,9 +1831,X8X-fa4c,X8X,X8X,0x910Dfc18D6EA3D6a7124A6F8B5458F281060fa4c,18 +1832,BABYSHIB-A588,BABYSHIB,BABYSHIB,0x00000000051b48047bE6DC0Ada6DE5c3de86A588,18 +1833,4SHIBA-984d,4SHIBA,4SHIBA,0xB04bf60E468743418E87291d7c9301a5299d984d,18 +1834,BEEP-8913,BEEP,BEEP,0x9A0Df129E798438a8aD995368bd82BaA7EEe8913,18 +1835,UNIQ-8025,UNIQ,UNIQ,0x3758e00b100876C854636eF8Db61988931BB8025,18 +1836,XEND-4903,XEND,XEND,0xE4CFE9eAa8Cdb0942A80B7bC68fD8Ab0F6D44903,18 +1837,HIKARI-4e39,HIKARI,HIKARI,0xd4126f195a8de772EeFfa61a4aB6dd43462F4e39,18 +1838,LEMD-49fA,LEMD,LEMD,0xf45f6c8bB3d77eA762175b8f7ca4D251941649fA,18 +1839,NEPT-4130,NEPT,NEPT,0x355a824bEa1adc22733978A3748271E1bbB34130,18 +1840,WSTR-12B1,WSTR,WSTR,0xF0dC76C22139ab22618dDFb498BE1283254612B1,18 +1841,URQA-3136,URQA,URQA,0x1735Db6AB5BAa19eA55d0AdcEeD7bcDc008B3136,18 +1842,GEN-c025,GEN,GEN,0xcae3fAA4B6cF660AEF18474074949BA0948bc025,18 +1843,AXS-B28b,AXS,AXS,0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b,18 +1844,MAGE-2B15,MAGE,MAGE,0xd52AAE39a2b5CC7812F7B9450EBB61DfEf702B15,18 +1845,VNXLU-5C15,VNXLU,VNXLU,0x00fC270C9cc13e878Ab5363D00354bebF6f05C15,18 +1846,WIZARD-D8Fb,WIZARD,WIZARD,0x87931E7AD81914e7898d07c68F145fC0A553D8Fb,18 +1847,DS-13C7,DS,DS,0x607229dB773Fa901215175aEB09A3A5695F813C7,9 +1848,CHSB-35Ba,CHSB,CHSB,0xba9d4199faB4f26eFE3551D490E3821486f135Ba,8 +1849,KNDX-EFC1,KNDX,KNDX,0x7CA5af5bA3472AF6049F63c1AbC324475D44EFC1,9 +1850,HIBEANZ-8B09,HIBEANZ,HIBEANZ,0x23ddBD36547d43627afa9B42d4e9FB0515F48B09,18 +1851,MMAI-a90F,MMAI,MMAI,0xaa0c5B3567fd1bac8a2a11EB16c3F81a49eea90F,7 +1852,AURORA-7961,AURORA,AURORA,0xAaAAAA20D9E0e2461697782ef11675f668207961,18 +1853,AWBTC-1656,AWBTC,AWBTC,0x9ff58f4fFB29fA2266Ab25e75e2A8b3503311656,8 +1854,JPC-73bF,JPC,JPC,0x043827A6dCFfFb7fE21953d3BAD32A1c74bB73bF,18 +1855,YLC-8832,YLC,YLC,0x21d5678A62DFe63a47062469Ebb2fAc2817D8832,8 +1856,RIOT-2Eb4,RIOT,RIOT,0xf56408077487cB879c992909C5b5C66D68c02Eb4,18 +1857,XS-6425,XS,XS,0xd139a81D8422bb2ee1f21Ce0301e6e28e7696425,18 +1858,DIVA-818e,DIVA,DIVA,0x4B7fFCB2b92fB4890f22f62a52Fb7A180eaB818e,18 +1859,KAE-4436,KAE,KAE,0x65Def5029A0e7591e46B38742bFEdd1Fb7b24436,18 +1860,UFARM-af88,UFARM,UFARM,0x40986a85B4cFCDb054A6CBFB1210194fee51af88,18 +1861,SWAT-0809,SWAT,SWAT,0xc0F1728d9513EFC316D0E93A0758c992f88b0809,8 +1862,AAMMUNILINKWETH-8134,AAMMUNILINKWETH,AAMMUNILINKWETH,0xb8db81B84d30E2387de0FF330420A4AAA6688134,18 +1863,AAMMBPTWBTCWETH-83BD,AAMMBPTWBTCWETH,AAMMBPTWBTCWETH,0x358bD0d980E031E23ebA9AA793926857703783BD,18 +1864,SALLY-DEaF,SALLY,SALLY,0x42E70913b53cFCC38b18ffBD124E8f65C706DEaF,9 +1865,YOUC-6ceb,YOUC,YOUC,0x3D371413dd5489F3A04C07c0C2CE369c20986ceb,10 +1866,TBT-7c27,TBT,TBT,0x07Ac55797D4F43f57cA92a49E65ca582cC287c27,18 +1867,ETHEREUM-6d5c,ETHEREUM,ETHEREUM,0xC32dB1D3282e872d98f6437D3BCFa57801CA6d5c,18 +1868,CHP-7909,CHP,CHP,0x0a6E18fB2842855C3AF925310B0F50a4BfA17909,18 +1869,MACRV-190c,MACRV,MACRV,0x9dc7094530cB1bcf5442c3b9389ee386738A190c,18 +1870,TENET-7f2A,TENET,TENET,0x788D86E00ab31Db859C3d6b80d5a9375801d7f2A,18 +1871,NET-A71F,NET,NET,0x77A9B858aA8417fd318ecEE01C1d6D9fEF31A71F,18 +1872,XJP-EA0A,XJP,XJP,0x604026696fDB3C6720AE3049C46d59AC604dEA0A,18 +1873,SAIKO-9d48,SAIKO,SAIKO,0x685Fb6960Ea7F7b24F02e17c8d893B8c33239d48,9 +1874,SFG-5ce0,SFG,SFG,0x8a6ACA71A218301c7081d4e96D64292D3B275ce0,18 +1875,DMTR-4fdB,DMTR,DMTR,0x51cB253744189f11241becb29BeDd3F1b5384fdB,18 +1876,PRARE-C796,PRARE,PRARE,0x2C2f7e7C5604D162d75641256b80F1Bf6f4dC796,18 +1877,POLY-D1eC,POLY,POLY,0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC,18 +1878,LYFE-21fA,LYFE,LYFE,0xd87de4cCef2c2FE651bc4d130cb1A365248f21fA,18 +1879,QASH-37F6,QASH,QASH,0x618E75Ac90b12c6049Ba3b27f5d5F8651b0037F6,6 +1880,IDEA-FbEa,IDEA,IDEA,0x5d3a4F62124498092Ce665f865E0b38fF6F5FbEa,18 +1881,CUBT-4266,CUBT,CUBT,0xBf9e72eEb5adB8B558334c8672950B7a379D4266,18 +1882,MORPHO-0999,MORPHO,MORPHO,0x9994E35Db50125E0DF82e4c2dde62496CE330999,18 +1883,RARE-c7C8,RARE,RARE,0x93dfaf57D986B9cA77Df9376c50878E013D9c7C8,18 +1884,GFI-8D2b,GFI,GFI,0xdab396cCF3d84Cf2D07C4454e10C8A6F5b008D2b,18 +1885,SURF-2246,SURF,SURF,0x46d473a0B3eEEc9F55FADE641bC576d5bc0b2246,18 +1886,ANGLE-14c2,ANGLE,ANGLE,0x31429d1856aD1377A8A0079410B297e1a9e214c2,18 +1887,HDR-CC10,HDR,HDR,0x8CC5ABA81A610F4Fc01b42C83508CE7A59B8CC10,9 +1888,SPOT-bafE,SPOT,SPOT,0xC1f33e0cf7e40a67375007104B929E49a581bafE,9 +1889,UBX-09f3,UBX,UBX,0xF5B5eFc906513b4344EbAbCF47A04901f99F09f3,0 +1890,ARCHIVE-472C,ARCHIVE,ARCHIVE,0xC7f950271d118A5bdF250dFfc39128DCCED8472C,18 +1891,DX-41A9,DX,DX,0x973e52691176d36453868D9d86572788d27041A9,18 +1892,FAKT-dC48,FAKT,FAKT,0xC3FFbE26E9446aC52008FfC8C1191d60A12bdC48,18 +1893,CT-A452,CT,CT,0x6f2dEC5Da475333b0af4A3fFc9A33B0211A9A452,18 +1894,HELIOS-01a1,HELIOS,HELIOS,0xC6d1f1D5a46de07E73091f1c8793293B203f01a1,18 +1895,BERC-c83A,BERC,BERC,0xbC8E35221904F61b4200Ca44a08e4daC387Ac83A,18 +1896,FMB-58Ad,FMB,FMB,0x52284158E02425290f6B627Aeb5FFF65eDf058Ad,18 +1897,EYES-0c30,EYES,EYES,0x2DCA19E944453e46d9130950Ca135461b3Bc0c30,18 +1898,NFT-7042,NFT,NFT,0xcB8d1260F9c92A3A545d409466280fFdD7AF7042,18 +1899,OAP-A316,OAP,OAP,0x1788430620960F9a70e3DC14202a3A35ddE1A316,18 +1900,ZYX-839D,ZYX,ZYX,0xf974b5f9Ac9c6632FeE8b76C61B0242ce69C839D,18 +1901,MEGA-B10E,MEGA,MEGA,0x1892F6ff5FBE11c31158F8c6f6F6e33106c5B10E,18 +1902,POVCHAIN-ba3c,POVCHAIN,POVCHAIN,0x29de166064E1f9467B70bd561e516564A5A9ba3c,9 +1903,ARAI-46AF,ARAI,ARAI,0xc9BC48c72154ef3e5425641a3c747242112a46AF,18 +1904,ZEUS-B091,ZEUS,ZEUS,0xE153F65dDaf4f2234Bd56F51f546D4B493ACB091,18 +1905,RFKC-d9a9,RFKC,RFKC,0x6a1d3d36E1BE3da88A2268Ebeb1A055758bDd9a9,18 +1906,UWL-8Df5,UWL,UWL,0xdbDD6F355A37b94e6C7D32fef548e98A280B8Df5,18 +1907,HZM-49b3,HZM,HZM,0x069f967be0CA21C7D793D8C343f71e597D9a49b3,8 +1908,CRVY-0808,CRVY,CRVY,0xBc8b7Ff89EB2B73eCDD579F81424a3B582200808,18 +1909,WLITI-5f93,WLITI,WLITI,0x0b63128C40737B13647552e0C926bCFEccC35f93,18 +1910,BOA-489e,BOA,BOA,0x746DdA2ea243400D5a63e0700F190aB79f06489e,7 +1911,DOGTIC-e79A,DOGTIC,DOGTIC,0x3c79EB9d7a76F4EB7B2a5286aAcFbbD4FeAbe79A,18 +1912,DIP-cD83,DIP,DIP,0xc719d010B63E5bbF2C0551872CD5316ED26AcD83,18 +1913,WARP-Dd71,WARP,WARP,0xEd40834A13129509A89be39a9bE9C0E96A0DDd71,18 +1914,CNC-5cFC,CNC,CNC,0x9aE380F0272E2162340a5bB646c354271c0F5cFC,18 +1915,POW-9258,POW,POW,0x43Ab765ee05075d78AD8aa79dcb1978CA3079258,18 +1916,GNY-51d4,GNY,GNY,0xb1f871Ae9462F1b2C6826E88A7827e76f86751d4,18 +1917,CBK-688a,CBK,CBK,0x2e19067Cbeb38d6554d31a1a83aefc4018A1688a,18 +1918,KIF-4fAa,KIF,KIF,0x177BA0cac51bFC7eA24BAd39d81dcEFd59d74fAa,18 +1919,FLURRY-59FE,FLURRY,FLURRY,0x60F63B76E2Fc1649E57a3489162732A90ACf59FE,18 +1920,LBA-0657,LBA,LBA,0xfe5F141Bf94fE84bC28deD0AB966c16B17490657,18 +1921,NOTE-3eD5,NOTE,NOTE,0xCFEAead4947f0705A14ec42aC3D44129E1Ef3eD5,8 +1922,EDR-0A0F,EDR,EDR,0xc528c28FEC0A90C083328BC45f587eE215760A0F,18 +1923,PINE-3a51,PINE,PINE,0x569424c5EE13884A193773fDC5d1c5f79C443a51,18 +1924,TEST-4338,TEST,TEST,0x807534B396919783B7e30383Fe57D857BC084338,18 +1925,VRA-7255,VRA,VRA,0xF411903cbC70a74d22900a5DE66A2dda66507255,18 +1926,FROGEX-Def1,FROGEX,FROGEX,0x5fA54fdDF1870C344DbFaBb37dFab8700Ec0Def1,9 +1927,CRYN-10DB,CRYN,CRYN,0xC31CEBf8F9E825d1D1244D73d0a65e44bD5210DB,8 +1928,BP-8b94,BP,BP,0xdF290B162a7D3E0A328cF198308D421954f08b94,18 +1929,SNOW-79AE,SNOW,SNOW,0xfe9A29aB92522D14Fc65880d817214261D8479AE,18 +1930,BOX-007f,BOX,BOX,0x63f584FA56E60e4D0fE8802b27C7e6E3b33E007f,18 +1931,BOOP-3Ce1,BOOP,BOOP,0x8013266cb5c9dd48bE3Ad7D1CE832874d64B3Ce1,18 +1932,XCAD-6Aa0,XCAD,XCAD,0x7659CE147D0e714454073a5dd7003544234b6Aa0,18 +1933,CYL-7c47,CYL,CYL,0x26CB3641aaA43911f1D4cB2ce544eb652AAc7c47,18 +1934,BAS-5287,BAS,BAS,0x106538CC16F938776c7c180186975BCA23875287,18 +1935,LEVL-f13a,LEVL,LEVL,0x09970aec766b6f3223aCA9111555E99DC50Ff13a,18 +1936,FXN-Bb09,FXN,FXN,0x365AccFCa291e7D3914637ABf1F7635dB165Bb09,18 +1937,QUICK-6F2f,QUICK,QUICK,0x6c28AeF8977c9B773996d0e8376d2EE379446F2f,18 +1938,SWAP-4EFe,SWAP,SWAP,0xCC4304A31d09258b0029eA7FE63d032f52e44EFe,18 +1939,GHD-fDa9,GHD,GHD,0x3b544e6fcf6C8dCE9D8B45A4FdF21C9B02f9fDa9,18 +1940,SWT-c29A,SWT,SWT,0x1f05DeE43dF9fd0Cd7F4b011B20b04870a30c29A,18 +1941,ATC-c3CD,ATC,ATC,0x0eb3032bcAc2BE1fa95E296442F225edb80fc3CD,18 +1942,WPEPE-da37,WPEPE,WPEPE,0xb2fd1E0478Dbf61772996bcCE8A2F1151EEeda37,18 +1943,BMP-0541,BMP,BMP,0x01b23286FF60a543ec29366aE8D6B6274cA20541,18 +1944,EGP-A9Ae,EGP,EGP,0x4eeA955F63D7e24Ea7272651a29c7C70F7c2A9Ae,18 +1945,ETHIX-0D3e,ETHIX,ETHIX,0xFd09911130e6930Bf87F2B0554c44F400bD80D3e,18 +1946,CRPT-6d8B,CRPT,CRPT,0x08389495D7456E1951ddF7c3a1314A4bfb646d8B,18 +1947,B2M-0a1f,B2M,B2M,0xd7c302fc3ac829C7E896a32c4Bd126f3e8Bd0a1f,18 +1948,WOOFIE-6929,WOOFIE,WOOFIE,0x76F187059039c13a93D43B6B6dc929F5f9806929,18 +1949,AGB-EF8e,AGB,AGB,0xBddF903F43dC7d9801F3F0034bA306169074EF8e,18 +1950,CONI-8d82,CONI,CONI,0x4561de8e0C2bbA725d38D266EF62426e62678d82,18 +1951,MBET-4df5,MBET,MBET,0x78D448A1D1FEDAa3e916F467568e86081E0f4df5,18 +1952,MADAPE-4d8F,MADAPE,MADAPE,0x81EF51FcE2b14874CB840515faCf5BE667ea4d8F,18 +1953,WHL-a46A,WHL,WHL,0x2aF72850c504dDD3c1876C66a914cAee7Ff8a46A,18 +1954,BLOB-E1aD,BLOB,BLOB,0x2eA6CC1ac06fdC01b568fcaD8D842DEc3F2CE1aD,18 +1955,SAITAMA-5946,SAITAMA,SAITAMA,0x930ae5999210724248b36265e8D3696128115946,8 +1956,COT-9ff8,COT,COT,0x5c872500c00565505F3624AB435c222E558E9ff8,18 +1957,DHT-Fa84,DHT,DHT,0xca1207647Ff814039530D7d35df0e1Dd2e91Fa84,18 +1958,CHAMPZ-1c7A,CHAMPZ,CHAMPZ,0x571E21a545842C6CE596663cdA5CaA8196AC1c7A,8 +1959,YVWBTC-6C7E,YVWBTC,YVWBTC,0xA696a63cc78DfFa1a63E9E50587C197387FF6C7E,8 +1960,BB-A-WETH-459E,BB-A-WETH,BB-A-WETH,0xbB6881874825E60e1160416D6C426eae65f2459E,18 +1961,ARNX-e283,ARNX,ARNX,0x0C37Bcf456bC661C14D596683325623076D7e283,18 +1962,ART-B9C6,ART,ART,0x570936840fA942C96ca4C57A170dDa494DD9B9C6,18 +1963,YGG-CF73,YGG,YGG,0x25f8087EAD173b73D6e8B84329989A8eEA16CF73,18 +1964,PSPS-DE78,PSPS,PSPS,0x03049b395147713ae53C0617093675B4b86dDE78,18 +1965,ESG-b9a9,ESG,ESG,0x20cD2E7Ec8F5d8b337fe46a4F565Ccef1561b9a9,18 +1966,BFLY-c063,BFLY,BFLY,0xf680429328caaaCabee69b7A9FdB21a71419c063,18 +1967,CWD-3b3D,CWD,CWD,0x374fB05c96c36348b92E38fB088b26B8511e3b3D,18 +1968,EMAX-7FF6,EMAX,EMAX,0x15874d65e649880c2614e7a480cb7c9A55787FF6,18 +1969,SEELE-cC43,SEELE,SEELE,0xB1e93236ab6073fdAC58adA5564897177D4bcC43,18 +1970,TAU-8589,TAU,TAU,0xd26b94dBf1bBC840774b9D6Ba7a0B9145d118589,9 +1971,TPT-fAe1,TPT,TPT,0x4161725D019690a3E0de50f6bE67b07a86A9fAe1,4 +1972,VDG-d711,VDG,VDG,0x57C75ECCc8557136D32619a191fBCDc88560d711,0 +1973,WZM-e2F8,WZM,WZM,0xD15A1A2A3211b58113e45809f05934252E34e2F8,18 +1974,0XMR-EDDF,0XMR,0XMR,0x035dF12E0F3ac6671126525f1015E47D79dFEDDF,18 +1975,SOS-aEe0,SOS,SOS,0x3b484b82567a09e2588A13D54D032153f0c0aEe0,18 +1976,SDEX-BEeF,SDEX,SDEX,0x5DE8ab7E27f6E7A1fFf3E5B337584Aa43961BEeF,18 +1977,BZZ-F8Cb,BZZ,BZZ,0x19062190B1925b5b6689D7073fDfC8c2976EF8Cb,16 +1978,FLC-64F1,FLC,FLC,0x32C4ADB9cF57f972bc375129de91C897b4F364F1,18 +1979,HIUNDEAD-9293,HIUNDEAD,HIUNDEAD,0x70d0ff0d3b3F5E69220c09bEFC70606Fa5F89293,18 +1980,BABYSAITAMA-f045,BABYSAITAMA,BABYSAITAMA,0xf79F9020560963422eCC9C0c04D3a21190BBf045,9 +1981,TOPIA-40C3,TOPIA,TOPIA,0xcccCb68e1A848CBDB5b60a974E07aAE143ed40C3,18 +1982,RAIL-A33D,RAIL,RAIL,0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D,18 +1983,MAXX-3354,MAXX,MAXX,0x966e770030209C95F974f37Edbde65D98e853354,18 +1984,CARDS-52d9,CARDS,CARDS,0x3d6F0DEa3AC3C607B3998e6Ce14b6350721752d9,18 +1985,OCD-Ddc7,OCD,OCD,0x017E9Db34fC69Af0dC7c7b4b33511226971cDdc7,18 +1986,CZRX-d407,CZRX,CZRX,0xB3319f5D18Bc0D84dD1b4825Dcde5d5f7266d407,8 +1987,SPIDERCAT-8854,SPIDERCAT,SPIDERCAT,0xf1b4Cb8Ab3146edD856Ed696c199a9a647178854,8 +1988,BULL-2d9c,BULL,BULL,0x18c1074845C389907762a71242BFE271c9da2d9c,18 +1989,MOTG-D604,MOTG,MOTG,0x171d76d931529384639BC9aad5b77b77041ED604,18 +1990,CHEX-030f,CHEX,CHEX,0x9Ce84F6A69986a83d92C324df10bC8E64771030f,18 +1991,LOGT-21Eb,LOGT,LOGT,0xba58444C8050Ed9385b7417533A73644036d21Eb,18 +1992,TRXC-7d8e,TRXC,TRXC,0xaD5Fe5B0B8eC8fF4565204990E4405B2Da117d8e,0 +1993,WJAURA-Cd1F,WJAURA,WJAURA,0x198d7387Fa97A73F05b8578CdEFf8F2A1f34Cd1F,18 +1994,MCT-5547,MCT,MCT,0x6876EbA317272FE221C67405C5e8EB3B24535547,18 +1995,SRLTY-46D0,SRLTY,SRLTY,0x142a774E8b52550E88E196CedD7A5835acB646D0,9 +1996,DLTA-D823,DLTA,DLTA,0x0000000DE40dfa9B17854cBC7869D80f9F98D823,18 +1997,BANANA-30B4,BANANA,BANANA,0x38E68A37E401F7271568CecaAc63c6B1e19130B4,18 +1998,SILK-7B23,SILK,SILK,0xB045f7f363fE4949954811b113bd56d208c67B23,8 +1999,METADOGE-62eD,METADOGE,METADOGE,0x8530b66ca3DDf50E0447eae8aD7eA7d5e62762eD,18 +2000,YCURVE-06A8,YCURVE,YCURVE,0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8,18 +2001,ELONONE-0aa2,ELONONE,ELONONE,0x97b65710D03E12775189F0D113202cc1443b0aa2,9 +2002,PPAI-D397,PPAI,PPAI,0xe616ADb3f729f6f3df19C876Eda66472a308D397,18 +2003,OXAI-Fe9d,OXAI,OXAI,0x428dca9537116148616a5A3E44035Af17238Fe9d,18 +2004,REFLEX-8Ba9,REFLEX,REFLEX,0x2F09757B222642C649f1f9d80798b0123fA18Ba9,18 +2005,PROPS-4F41,PROPS,PROPS,0x6fe56C0bcdD471359019FcBC48863d6c3e9d4F41,18 +2006,FOFO-8415,FOFO,FOFO,0x27f103f86070Cc639FEf262787a16887D22D8415,18 +2007,BETS-aa2c,BETS,BETS,0x3BcEa5A1612f50E5AAD16B741Ac473E4679Daa2c,18 +2008,SFP-a134,SFP,SFP,0x12e2b8033420270db2F3b328E32370Cb5B2Ca134,18 +2009,BAG-2548,BAG,BAG,0x70881D5c8A5950ceeDf1f1B4b5D4105718642548,18 +2010,LBXC-49eB,LBXC,LBXC,0xfFE510a92434a0Df346C5E72a3494b043Cf249eB,18 +2011,BTTY-3D0A,BTTY,BTTY,0x9cc83D580180f0d37d00e5d86ce868f73b6E3D0A,18 +2012,DSP-8F99,DSP,DSP,0x8C661806f716652B637728355cC4e2620D428F99,18 +2013,REL-05ec,REL,REL,0xb6c4267C4877BB0D6b1685Cfd85b0FBe82F105ec,18 +2014,UCT-3b79,UCT,UCT,0x6d1DC3928604b00180Bb570BdAe94b9698d33b79,18 +2015,COVER-8713,COVER,COVER,0x4688a8b1F292FDaB17E9a90c8Bc379dC1DBd8713,18 +2016,HERO-884E,HERO,HERO,0x524Ebc93BeEf838F70b4Ae54b675d3e971D5884E,9 +2017,VIDT-0875,VIDT,VIDT,0x3BE7bF1A5F23BD8336787D0289B70602f1940875,18 +2018,PEPURAI-0911,PEPURAI,PEPURAI,0x9863BcC2Fb23dfDf5fE275Aa4C5575a32A580911,18 +2019,SHIBN-B3B3,SHIBN,SHIBN,0xd346E8ADA104093ADcf5f4186087E1AD309BB3B3,18 +2020,EZ-a1eb,EZ,EZ,0x00AbA6fE5557De1a1d565658cBDdddf7C710a1eb,18 +2021,REAPER-F81c,REAPER,REAPER,0xbE9385116fBbFf5fDbAeA0b52C3003B92bE7F81c,18 +2022,ALCZ-d478,ALCZ,ALCZ,0xfed656555A88c86675D2bf01A3b7861c3f89d478,18 +2023,AIT-936C,AIT,AIT,0x79650799e7899A802cB96C0Bc33a6a8d4CE4936C,18 +2024,KEI-92f3,KEI,KEI,0xF75C7a59bCD9bd207C4Ab1BEB0b32EEd3B6392f3,8 +2025,CNNS-72e1,CNNS,CNNS,0x6c3BE406174349cfa4501654313d97e6a31072e1,18 +2026,BTB-BCDf,BTB,BTB,0x06e0feB0D74106c7adA8497754074D222Ec6BCDf,18 +2027,SINU-E0D6,SINU,SINU,0x03f813f7d066C55E3512985186df3B4E6a08E0D6,9 +2028,VOCARE-ffdc,VOCARE,VOCARE,0x4eb5124D04227f1AaB771A37E131e62f17C4ffdc,18 +2029,MEF-841E,MEF,MEF,0x64B5a241b829Bca14Eb42d00097Ba8fD8135841E,18 +2030,TPRO-4D15,TPRO,TPRO,0x3540abE4f288B280A0740ad5121aEc337c404D15,18 +2031,FVT-5e32,FVT,FVT,0x45080a6531d671DDFf20DB42f93792a489685e32,18 +2032,TBILL-7b0F,TBILL,TBILL,0xad6250f0BD49F7a1eB11063af2cE9F25B9597b0F,6 +2033,MCB-Ce42,MCB,MCB,0x4e352cF164E64ADCBad318C3a1e222E9EBa4Ce42,18 +2034,BOMB-6714,BOMB,BOMB,0x1C95b093d6C236d3EF7c796fE33f9CC6b8606714,0 +2035,EFOLIO-019E,EFOLIO,EFOLIO,0xF3bF9B3EF3867d20a5eE51244f8b374B9d5E019E,18 +2036,PEPE-f11e,PEPE,PEPE,0xA57Ed6E54be8125BBE45D6cA330E45EbB71ef11e,18 +2037,HAVOC-a850,HAVOC,HAVOC,0x9F94b198ce85C19A846C2B1a4D523f40A747a850,9 +2038,TOP-fE2b,TOP,TOP,0xdcD85914b8aE28c1E62f1C488E1D968D5aaFfE2b,18 +2039,RETH-3593,RETH,RETH,0x9559Aaa82d9649C7A7b220E7c461d2E74c9a3593,18 +2040,SPURDO-8aB7,SPURDO,SPURDO,0x59C6766de1Dc50a9c9DB86CB0461b5Ce07408aB7,8 +2041,TST-9B53,TST,TST,0xa0b93B9e90aB887E53F9FB8728c009746e989B53,18 +2042,AUXO-9B1d,AUXO,AUXO,0xff030228a046F640143Dab19be00009606C89B1d,18 +2043,SJM-Ba11,SJM,SJM,0x4448d67EA26a2Eaf286bc1045005f4CF15aaBa11,9 +2044,SRM-2a89,SRM,SRM,0x99B600D0a4abdbc4a6796225a160bCf3D5Ce2a89,18 +2045,CHFT-b0d9,CHFT,CHFT,0x58002A6B6E659A16dE9F02F529B10536E307b0d9,18 +2046,PICKLE-6239,PICKLE,PICKLE,0x3eC15c4745e21ab3831D1f51c492e3b5582d6239,18 +2047,DCHF-7A36,DCHF,DCHF,0x045da4bFe02B320f4403674B3b7d121737727A36,18 +2048,CRDC-a756,CRDC,CRDC,0xF81421fc15300c5a8CCa9aFE12F5CBAd502Fa756,18 +2049,TUSHI-cF30,TUSHI,TUSHI,0x68FfB43026CEdC070bfC01B2203d90caB62CcF30,18 +2050,JCHF-3ea0,JCHF,JCHF,0x53dfEa0A8CC2A2A2e425E1C174Bc162999723ea0,18 +2051,RHO-90Ec,RHO,RHO,0x3F3Cd642E81d030D7b514a2aB5e3a5536bEb90Ec,18 +2052,PAYB-F2A4,PAYB,PAYB,0xdCB5645eDa1ed34C5641d81b927D33EBaE9cF2A4,18 +2053,VCHF-BF4f,VCHF,VCHF,0x79d4f0232A66c4c91b89c76362016A1707CFBF4f,18 +2054,WFIO-93D5,WFIO,WFIO,0xbEA269038Eb75BdAB47a9C04D0F5c572d94b93D5,9 +2055,VACHI-BF8a,VACHI,VACHI,0x337AF08bb6980Ecb68389C5ed8876D08643aBF8a,18 +2056,GIX-B8c4,GIX,GIX,0xbD434a09191D401da3283a5545bB3515d033B8c4,18 +2057,FLOKI-827c,FLOKI,FLOKI,0x67Cc621AB2d086a101Cff3340df0A065Ac75827c,18 +2058,FBT-B983,FBT,FBT,0x4727a02269943b225A7de9ef28496f36d454B983,18 +2059,KEKYA-2328,KEKYA,KEKYA,0xc983C1bD8393Dd5c630A3D6c4Fe9E5C92E582328,18 +2060,LUCHOW-7C57,LUCHOW,LUCHOW,0xA5Ef74068d04ba0809B7379dD76Af5Ce34Ab7C57,18 +2061,MCF-4fcB,MCF,MCF,0xE33AE4E795114279721047484E5ad5cc7DF24fcB,10 +2062,BRZ-1839,BRZ,BRZ,0x01d33FD36ec67c6Ada32cf36b31e88EE190B1839,18 +2063,XFL-Ac30,XFL,XFL,0x8Ae452D9F8F08F21FF81c94260Cb85302a31Ac30,18 +2064,CHR-bAA2,CHR,CHR,0x8A2279d4A90B6fe1C4B30fa660cC9f926797bAA2,6 +2065,X7105-D105,X7105,X7105,0x7105FAA4a26eD1c67B8B2b41BEc98F06Ee21D105,18 +2066,BPT-37da,BPT,BPT,0x0eC9F76202a7061eB9b3a7D6B59D36215A7e37da,18 +2067,AZUKI-BaEd,AZUKI,AZUKI,0x910524678C0B1B23FFB9285a81f99C29C11CBaEd,18 +2068,STATE-8eB1,STATE,STATE,0x00C2999c8B2AdF4ABC835cc63209533973718eB1,18 +2069,SWM-ca39,SWM,SWM,0x3505F494c3f0fed0B594E01Fa41Dd3967645ca39,18 +2070,THALES-C3c5,THALES,THALES,0x8947da500Eb47F82df21143D0C01A29862a8C3c5,18 +2071,DOKI-7544,DOKI,DOKI,0x9cEB84f92A0561fa3Cc4132aB9c0b76A59787544,18 +2072,WATT-7fa6,WATT,WATT,0xE67F943af5Eb6051ef56f05979cc30B732717fa6,4 +2073,MIN-CF38,MIN,MIN,0x5D64D850c8368008aFB39224E92aD0DcEFf3CF38,18 +2074,GATSBY-37b4,GATSBY,GATSBY,0xE22910D04bDc9d55570f3BC52E786b49DddF37b4,18 +2075,AUSDT-5ae8,AUSDT,AUSDT,0x71fc860F7D3A592A4a98740e39dB31d25db65ae8,6 +2076,PNDC-1eea,PNDC,PNDC,0x423f4e6138E475D85CF7Ea071AC92097Ed631eea,18 +2077,MXT-B929,MXT,MXT,0x6251E725CD45Fb1AF99354035a414A2C0890B929,18 +2078,MONKED-A07F,MONKED,MONKED,0xE7AC8545E34771de3706598Abb3dB9a19af2A07F,8 +2079,NAO-53dc,NAO,NAO,0xd049206fB408a611E543791F2d8F102a8bC253dc,18 +2080,ARV-429E,ARV,ARV,0x28fDA76721a8077A5dE802Ab0212849B8c38429E,18 +2081,DBX-DAB0,DBX,DBX,0x3CBc780D2934d55A06069e837fABd3e6Fc23DAB0,18 +2082,GLG-aAf6,GLG,GLG,0xC57F1d079c862b70AA12FAAb19293F827187aAf6,18 +2083,ORBR-3766,ORBR,ORBR,0xdA30f261a962d5AAe94C9ecd170544600d193766,18 +2084,CSM-8861,CSM,CSM,0x2620638EDA99F9e7E902Ea24a285456EE9438861,18 +2085,GEKE-0c0f,GEKE,GEKE,0x471A202f69D6e975DA55E363daB1bDB2e86E0c0f,18 +2086,QLT-c87c,QLT,QLT,0x0173661769325565d4f011b2e5Cda688689Cc87c,9 +2087,BORK-5A39,BORK,BORK,0xF2d754EA7626f35090CDdf92893374bD1B2E5A39,9 +2088,COSHI-B00A,COSHI,COSHI,0x668C50B1c7f46EFFBE3f242687071d7908AAB00A,9 +2089,DUCKER-C2A5,DUCKER,DUCKER,0xF70ce9eE486106882d3dc43ddbd84E0fA71AC2A5,18 +2090,BOBC-29ce,BOBC,BOBC,0xe803178b48A0e560C2b19F3b3d4e504f79D229ce,18 +2091,IJC-05d6,IJC,IJC,0xc7fF1e126cC81e816915FF48c940ED9d4E6d05d6,18 +2092,FLY-1472,FLY,FLY,0x85f6eB2BD5a062f5F8560BE93FB7147e16c81472,4 +2093,CLAW-8cc3,CLAW,CLAW,0xe115401B985306837B9f1495c8e9d7f8f8328cc3,18 +2094,BTO-2Fb5,BTO,BTO,0x36905Fc93280f52362A1CBAB151F25DC46742Fb5,18 +2095,RICE-2Df0,RICE,RICE,0xbD9908b0Cdd50386F92efCC8e1d71766C2782Df0,18 +2096,WASSIE-6160,WASSIE,WASSIE,0x2c95D751DA37A5C1d9c5a7Fd465c1d50F3d96160,18 +2097,VOLDEMORT-E654,VOLDEMORT,VOLDEMORT,0x670eC8893DA9C339d52fA70189756a92cAfbE654,18 +2098,BNS-c2b5,BNS,BNS,0x19E2a43Fbbc643C3B2D9667D858D49cAd17bc2b5,8 +2099,EGAME-C1Ae,EGAME,EGAME,0x62d3c05b9C3d916FBC111819bbD3CEE52906C1Ae,18 +2100,FIRE-9776,FIRE,FIRE,0xB25EA095997F5bBaa6cEa962c4fBf3bfc3C09776,9 +2101,JFIN-F257,JFIN,JFIN,0x940BdCb99A0Ee5Fb008A606778AE87Ed9789F257,18 +2102,INVECTAI-2904,INVECTAI,INVECTAI,0xCAE7F3aa6D456463bEf0E5B508542b69D96f2904,8 +2103,ELA-1867,ELA,ELA,0xe6fd75ff38Adca4B97FBCD938c86b98772431867,18 +2104,BLES-31Cd,BLES,BLES,0xE796d6ca1ceb1b022EcE5296226BF784110031Cd,18 +2105,KAS-C582,KAS,KAS,0x112b08621E27e10773ec95d250604a041f36C582,8 +2106,COLR-6663,COLR,COLR,0xB2D2e1309dB33b38A19eE2A7cD9cb5de39d76663,18 +2107,MULTI-2df4,MULTI,MULTI,0x65Ef703f5594D2573eb71Aaf55BC0CB548492df4,18 +2108,DOTR-aaE3,DOTR,DOTR,0x26524e35E44e265eB181C7Ba6eC084983181aaE3,9 +2109,H-d17a,H,H,0xc6956b78e036b87Ba2aB9810BF081eb76EEDd17a,18 +2110,FLASH-20F2,FLASH,FLASH,0xC150A5841e5B0F046a46e85fb22CBD05185b20F2,18 +2111,DXF-9FB8,DXF,DXF,0x15Eabb7500E44B7Fdb6e4051cA8DecA430cF9FB8,18 +2112,RVUSD-239b,RVUSD,RVUSD,0x84777600c51996B2ce92a514FF2583B7d7C2239b,18 +2113,AXL-E5f3,AXL,AXL,0x467719aD09025FcC6cF6F8311755809d45a5E5f3,6 +2114,LCNY-34BC,LCNY,LCNY,0x7635B612792e4bFB7F2FA12a3E5d5A3f2e3C34BC,18 +2115,FIT-0241,FIT,FIT,0x3c72fca8523686fd9e5740b0826FA4bB376E0241,18 +2116,AERGO-D4E6,AERGO,AERGO,0x91Af0fBB28ABA7E31403Cb457106Ce79397FD4E6,18 +2117,GMEME-B302,GMEME,GMEME,0x238CEFec182679C27a3035713416fA0a8198B302,18 +2118,PTOY-CC06,PTOY,PTOY,0x8Ae4BF2C33a8e667de34B54938B0ccD03Eb8CC06,8 +2119,TRYC-4D6E,TRYC,TRYC,0x0000000005c6B7C1fd10915a05f034F90d524D6E,6 +2120,USDK-70bb,USDK,USDK,0x1c48f86ae57291F7686349F12601910BD8D470bb,18 +2121,MON-fc17,MON,MON,0x1EA48B9965bb5086F3b468E50ED93888a661fc17,18 +2122,MDAI-C0c4,MDAI,MDAI,0xf6043bEa98B07F0bEa7813aeB22D0cb70C91C0c4,18 +2123,VNLNK-061a,VNLNK,VNLNK,0x0f1e49d6dcfC9eeFcCE9D5ae3c660f8eAD75061a,9 +2124,AUC-A9F4,AUC,AUC,0x87a92428bBc876d463C21C8e51b903f127d9A9F4,18 +2125,NGM-B75d,NGM,NGM,0xed0d5747A9AB03a75fBfEC3228cd55848245B75d,6 +2126,HYUSD-12be,HYUSD,HYUSD,0xaCdf0DBA4B9839b96221a8487e9ca660a48212be,18 +2127,CON-C8fB,CON,CON,0x4Dd672e77c795844fe3A464eF8eF0FAAe617C8fB,18 +2128,HONR-79B8,HONR,HONR,0x39Ea10E507720783C27eDd5F96Bf2D6e199579B8,18 +2129,IPT-FC3d,IPT,IPT,0xd909C5862Cdb164aDB949D92622082f0092eFC3d,18 +2130,AI-25f2,AI,AI,0xc91B523A59ACC63A64f61fc7bBfB4bfc82DD25f2,18 +2131,ZETH-c89F,ZETH,ZETH,0x776280F68aD33c4d49e6846507B7dBaf7811c89F,18 +2132,CCASH-b720,CCASH,CCASH,0xE925Aa77D51746b865e5c05165A879820cb4b720,18 +2133,TOOLS-b8d4,TOOLS,TOOLS,0xc14B4d4CA66f40F352d7a50fd230EF8b2Fb3b8d4,18 +2134,BITE-43BA,BITE,BITE,0x34103e1190b824a44C6a638438d425cbA21143BA,18 +2135,BITCCA-cE06,BITCCA,BITCCA,0xe4D75e9b493458D032A5C3CC1eE9B0712C1EcE06,2 +2136,BITH-7adA,BITH,BITH,0x8811e4Dd5EC5Eb8764b97CC814B1339089717adA,8 +2137,HAKA-2210,HAKA,HAKA,0xD85AD783cc94bd04196a13DC042A3054a9B52210,18 +2138,SRM-e0fF,SRM,SRM,0x476c5E26a75bd202a9683ffD34359C0CC15be0fF,6 +2139,TIPJA-9c10,TIPJA,TIPJA,0x8e235f491Ae66b82296d58332Adc2a021C449c10,18 +2140,TT-AD82,TT,TT,0xdF906f6FD89ce60c16bAEd3C96CEB08BCA65AD82,18 +2141,UQC-D6e2,UQC,UQC,0x8806926Ab68EB5a7b909DcAf6FdBe5d93271D6e2,18 +2142,HOTDOG-Eb0c,HOTDOG,HOTDOG,0x01E87d74B11f656A673a3E7c441425816213Eb0c,18 +2143,0KN-9036,0KN,0KN,0x4594CFfbFc09BC5e7eCF1C2e1C1e24F0f7D29036,18 +2144,SPONGE-781E,SPONGE,SPONGE,0x25722Cd432d02895d9BE45f5dEB60fc479c8781E,18 +2145,IDH-12F0,IDH,IDH,0x5136C98A80811C3f46bDda8B5c4555CFd9f812F0,6 +2146,IDK-4498,IDK,IDK,0x61fd1c62551850D0c04C76FcE614cBCeD0094498,8 +2147,RATING-5B31,RATING,RATING,0xE8663A64A96169ff4d95b4299E7ae9a76b905B31,8 +2148,SPIDER-Bc0D,SPIDER,SPIDER,0xe70E1D6A2E971ff6DEBc21DD2540064c25C9Bc0D,18 +2149,ECOTERRA-391a,ECOTERRA,ECOTERRA,0x982b50E55394641cA975a0eEc630b120b671391a,9 +2150,DF-DBe0,DF,DF,0x431ad2ff6a9C365805eBaD47Ee021148d6f7DBe0,18 +2151,OCN-892B,OCN,OCN,0x4092678e4E78230F46A1534C0fbc8fA39780892B,18 +2152,OMI-749e,OMI,OMI,0xeD35af169aF46a02eE13b9d79Eb57d6D68C1749e,18 +2153,PYME-F240,PYME,PYME,0x3408636A7825E894ac5521cA55494F89F96DF240,18 +2154,XVC-8f96,XVC,XVC,0x4fABf135bCF8111671870d4399af739683198f96,18 +2155,ETE-69A2,ETE,ETE,0x000000e29fa2bd3E5C215fFc71aA66b29c9769A2,18 +2156,APOLLO-3CAb,APOLLO,APOLLO,0xADf86E75d8f0F57e0288D0970E7407eaA49b3CAb,9 +2157,HOBBES-4140,HOBBES,HOBBES,0x819c1A1568934Ee59d9F3C8B9640908556c44140,18 +2158,BUP-9e57,BUP,BUP,0xB04DFdb8271ed2d5e13858562C44A77D3CEb9e57,18 +2159,HACHI-ccFe,HACHI,HACHI,0x2a7e415C169cE3a580c6F374Dc26f6Aaad1EccFe,18 +2160,WOJAK20-89c2,WOJAK20,WOJAK20,0xC4E30d504FE3b18423D82A34e7Ebe529a56f89c2,18 +2161,EUSD-482F,EUSD,EUSD,0xA0d69E286B938e21CBf7E51D71F6A4c8918f482F,18 +2162,ALINK-5F84,ALINK,ALINK,0xA64BD6C70Cb9051F6A9ba1F163Fdc07E0DfB5F84,18 +2163,MATH-DD30,MATH,MATH,0x08d967bb0134F2d07f7cfb6E246680c53927DD30,18 +2164,MZM-4E05,MZM,MZM,0x61B57bDC01E3072fAB3e9E2F3c7b88d482734E05,18 +2165,BOTC-8f70,BOTC,BOTC,0x9532CA064278CE3BA4fcc66CEBec6d9F04F58f70,9 +2166,-1c4c,,,0xDadb4aE5B5D3099Dd1f586f990B845F2404A1c4c,18 +2167,BLUR-8b44,BLUR,BLUR,0x5283D291DBCF85356A21bA090E6db59121208b44,18 +2168,NRFX-494E,NRFX,NRFX,0x41BbD051E366D8437cb02374FBb0521C847F494E,18 +2169,2DAI-2A1d,2DAI,2DAI,0xB44b653f147569d88a684cBf6549e1968E8B2A1d,18 +2170,LPNT-5583,LPNT,LPNT,0x6a4C76874e686A7d080D173987A35A9c48905583,18 +2171,API3-B88a,API3,API3,0x0b38210ea11411557c13457D4dA7dC6ea731B88a,18 +2172,SALTY-a829,SALTY,SALTY,0xb6387E8e928C9FaCe4D44a6ACa72e5A6C939a829,18 +2173,KNC-7202,KNC,KNC,0xdeFA4e8a7bcBA345F687a2f1456F5Edd9CE97202,18 +2174,WEN-29d3,WEN,WEN,0x7BA5273D53D8a964b0a338e25DEF0c082f5C29d3,8 +2175,MPAY-cFca,MPAY,MPAY,0x3810A4Ddf41E586Fa0dbA1463A7951B748cEcFca,18 +2176,CHOO-c43a,CHOO,CHOO,0x244748587F145c0571E92e85429D711d1B4Cc43a,18 +2177,LUXO-83FD,LUXO,LUXO,0xD39a2CeCBA2657e125Ba6a5c98ad2F6b6D7E83FD,18 +2178,DAVE-0dbD,DAVE,DAVE,0x7f4c5447af6A96d8eeAEE1d932338cFc57890dbD,18 +2179,DRC-2c67,DRC,DRC,0xd7f5CABdF696D7d1bf384D7688926A4bdB092c67,18 +2180,0XF-B901,0XF,0XF,0x570147337F1A2313Fc35573F6a123CeB109eB901,9 +2181,USP-056c,USP,USP,0x79B87d52a03ED26A19C1914be4CE37F812e2056c,18 +2182,BB-A-USD-9786,BB-A-USD,BB-A-USD,0xc443C15033FCB6Cf72cC24f1BDA0Db070DdD9786,18 +2183,GEN-Addf,GEN,GEN,0x543Ff227F64Aa17eA132Bf9886cAb5DB55DCAddf,18 +2184,KING-e5aD,KING,KING,0x149D8290F653dEB8e34c037D239d3d8EeE9de5aD,18 +2185,FON-4463,FON,FON,0xa4be4cDC552891a6702E1aE9645EF445179a4463,18 +2186,MAXCAT-Ab5B,MAXCAT,MAXCAT,0xB6A7a1d8f64fC6F984A6F3b52b7426F7b0aBAb5B,18 +2187,EPAN-Bafc,EPAN,EPAN,0x72630B1e3B42874bf335020Ba0249e3E9e47Bafc,18 +2188,CRVFRAX-73CC,CRVFRAX,CRVFRAX,0x3175Df0976dFA876431C2E9eE6Bc45b65d3473CC,18 +2189,SPHRI-b3Ec,SPHRI,SPHRI,0x8A0cdfaB62eD35b836DC0633482798421C81b3Ec,18 +2190,CARTEL-e3Fd,CARTEL,CARTEL,0xA381e7073EA828Fb963157DcC4b414DA4344e3Fd,18 +2191,CFI-1eF4,CFI,CFI,0x63b4f3e3fa4e438698CE330e365E831F7cCD1eF4,18 +2192,MATTER-FEBe,MATTER,MATTER,0x9B99CcA871Be05119B2012fd4474731dd653FEBe,18 +2193,CHER-6Fdc,CHER,CHER,0xa20f77B7ad5A88badC48800C56507B7274c06Fdc,18 +2194,BABYFLOKI-f956,BABYFLOKI,BABYFLOKI,0xdF35988d795d90711e785B488Bb2127692e6f956,9 +2195,DDRT-d72d,DDRT,DDRT,0x94501b6A153C8973fd1f321fCC8188d40dC5d72d,8 +2196,TSHP-2804,TSHP,TSHP,0x525794473F7ab5715C81d06d10f52d11cC052804,18 +2197,SOAPS-3db0,SOAPS,SOAPS,0xa2c798f6456E4928f1E029C971007A09416A3db0,9 +2198,STREAMERINU-259a,STREAMERINU,STREAMERINU,0x0e8D2EB7D6bDF28393c25a1966385Ad32Ff0259a,18 +2199,GEM-efcC,GEM,GEM,0x9008064E6cf73e27a3Aba4B10E69f855A4F8efcC,18 +2200,FERC-5Be0,FERC,FERC,0x2eCBa91da63C29EA80Fbe7b52632CA2d1F8e5Be0,18 +2201,LUSD3CRV-F0cA,LUSD3CRV,LUSD3CRV,0xEd279fDD11cA84bEef15AF5D39BB4d4bEE23F0cA,18 +2202,CYFM-bf82,CYFM,CYFM,0x4a621d9f1b19296d1C0f87637b3A8D4978e9bf82,18 +2203,B-80BAL-20WETH-8F56,B-80BAL-20WETH,B-80BAL-20WETH,0x5c6Ee304399DBdB9C8Ef030aB642B10820DB8F56,18 +2204,JFISH-cfAf,JFISH,JFISH,0xCdeb595293511115d9D9d44B189Cc0Da4a08cfAf,18 +2205,NFTD-B379,NFTD,NFTD,0x8E0fE2947752BE0d5ACF73aaE77362Daf79cB379,18 +2206,SRUNE-E2f4,SRUNE,SRUNE,0x0352557B007A4Aae1511C114409b932F06F9E2f4,18 +2207,GEC-869d,GEC,GEC,0xe304283C3e60Cefaf7eA514007Cf4E8fdC3d869d,18 +2208,HPT-5213,HPT,HPT,0xa66Daa57432024023DB65477BA87D4E7F5f95213,18 +2209,STATS-0caD,STATS,STATS,0x39142c18B6db2a8A41B7018f49E1478837560caD,9 +2210,CRF-219d,CRF,CRF,0x508df5aa4746bE37b5b6A69684DfD8BDC322219d,18 +2211,HIPENGUINS-9491,HIPENGUINS,HIPENGUINS,0x669dB4c47f89f21554Ebd825A744888725FD9491,18 +2212,BLOOD-B50c,BLOOD,BLOOD,0x95392f142Af1c12F6e39897Ff9B09c599666B50c,18 +2213,MUSE-fc81,MUSE,MUSE,0xB6Ca7399B4F9CA56FC27cBfF44F4d2e4Eef1fc81,18 +2214,FTUSD-aa8F,FTUSD,FTUSD,0x0B319dB00d07C8fAdfaAEf13C910141a5dA0aa8F,18 +2215,MOE-1099,MOE,MOE,0xcBa78d126f0B1FeDa0c538bcAf4C852A7a171099,18 +2216,MITH-10BB,MITH,MITH,0x3893b9422Cd5D70a81eDeFfe3d5A1c6A978310BB,18 +2217,BCOIN-3Ac9,BCOIN,BCOIN,0xbbcb0356bB9e6B3Faa5CbF9E5F36185d53403Ac9,18 +2218,TAIL-77c4,TAIL,TAIL,0x4384b85FE228AE727B129230211194E4A50877c4,9 +2219,X-CB26,X,X,0x7f3141c4D6b047fb930991b450f1eD996a51CB26,18 +2220,MRI-c977,MRI,MRI,0x0913dDAE242839f8995c0375493f9a1A3Bddc977,18 +2221,FLOOR-455e,FLOOR,FLOOR,0xf59257E961883636290411c11ec5Ae622d19455e,9 +2222,CCS-fD31,CCS,CCS,0x1da4858ad385cc377165A298CC2CE3fce0C5fD31,0 +2223,STREETH-DfA5,STREETH,STREETH,0xB840d10D840eF47c233FEC1fd040F5B145a6DfA5,18 +2224,HYPE-883C,HYPE,HYPE,0x6706e05F3BAFdbA97dE268483BC3a54bf92A883C,9 +2225,WEAPON-762d,WEAPON,WEAPON,0x0b8057C3Cc676C329c25C1d0Cd27776efA73762d,9 +2226,AAMMUNIUNIWETH-2F9f,AAMMUNIUNIWETH,AAMMUNIUNIWETH,0x3D26dcd840fCC8e4B2193AcE8A092e4a65832F9f,18 +2227,HIT-3566,HIT,HIT,0x7995ab36bB307Afa6A683C24a25d90Dc1Ea83566,6 +2228,WEN-83A8,WEN,WEN,0x830a8512db4F6fCA51968593E2667156C2c483A8,18 +2229,CREDIT-e8A4,CREDIT,CREDIT,0xC4cB5793BD58BaD06bF51FB37717b86B02CBe8A4,18 +2230,ANB-9692,ANB,ANB,0x2c9acEb63181cd08a093d052ec041e191f229692,18 +2231,EVZ-fA68,EVZ,EVZ,0x7A939Bb714fd2A48EbeB1E495AA9aaa74BA9fA68,18 +2232,1%-9f92,1%,1%,0xe02d1524E385d67613e2EE969c60395be9A89f92,18 +2233,TYC-658F,TYC,TYC,0x3A82D3111aB5faF39d847D46023d9090261A658F,18 +2234,GOLD-CE11,GOLD,GOLD,0x34D6A0F5C2f5D0082141fE73d93B9dd00ca7CE11,18 +2235,SHANG-Aa83,SHANG,SHANG,0xee772CEc929D8430b4Fa7a01cD7FbD159a68Aa83,18 +2236,LUNAT-e18a,LUNAT,LUNAT,0xE8438c23157De97BDe8BEdD2eeaBc8e7e44De18a,9 +2237,XDEX-6c83,XDEX,XDEX,0x000000000000d0151E748d25b766e77efe2A6c83,18 +2238,AIX-c6C5,AIX,AIX,0x40e9187078032AfE1a30cfcF76E4fe3D7aB5c6C5,18 +2239,MSB-a824,MSB,MSB,0x84c722e6F1363E8D5C6dB3eA600bEF9a006Da824,18 +2240,DLT-606f,DLT,DLT,0x07e3c70653548B04f0A75970C1F81B4CBbFB606f,18 +2241,PULSE-97cE,PULSE,PULSE,0x52A047Ee205701895Ee06A375492490EC9C597cE,18 +2242,OGZ-4BCf,OGZ,OGZ,0xB7BDa6a89e724f63572Ce68FdDc1a6d1d5D24BCf,18 +2243,EUSD-62cC,EUSD,EUSD,0xdf3ac4F479375802A821f7b7b46Cd7EB5E4262cC,18 +2244,SG-fD0A,SG,SG,0xdDF7Fd345D54ff4B40079579d4C4670415DbfD0A,18 +2245,EVA-8707,EVA,EVA,0xd6cAF5Bd23CF057f5FcCCE295Dcc50C01C198707,18 +2246,QR-B002,QR,QR,0xCcDb064a41AFcD432BCEa6F6d0D1E7c371d0B002,9 +2247,INU-572c,INU,INU,0x8423B76BE8ef6CA7400a6b4c334d29C1D5d4572c,8 +2248,DED-f5f4,DED,DED,0xdBBE358Fead311b4089B8BF30F455c041E67f5f4,18 +2249,CMT-Dc18,CMT,CMT,0xE910c2a090516Fb7a7Be07f96a464785f2D5Dc18,18 +2250,CIND-3bC3,CIND,CIND,0xaC0968a3E2020aC8ca83e60CcF69081EBc6d3bC3,18 +2251,DOP-A2ef,DOP,DOP,0x6bB61215298F296C55b19Ad842D3Df69021DA2ef,18 +2252,SBIO-0073,SBIO,SBIO,0x9b5C38cC2d1bA05Ed87C8f8A2418475bAcb20073,18 +2253,BPVC-e403,BPVC,BPVC,0x9D95486E1B0E0Ea8A5361e853901F731B7f8e403,18 +2254,AXPR-f91A,AXPR,AXPR,0xdD0020B1D5Ba47A54E2EB16800D73Beb6546f91A,18 +2255,R-3e21,R,R,0x183015a9bA6fF60230fdEaDc3F43b3D788b13e21,18 +2256,TREE-689b,TREE,TREE,0xfBbE098EE65238E4D9f771404eDddcBF89Cd689b,18 +2257,BISC-AcFe,BISC,BISC,0x4295c8556AFEE00264C0789dde2ddd2dba71AcFe,18 +2258,AUR-8790,AUR,AUR,0x6E98E5401ADCB0D76F4DEBfc3d794B3031F48790,18 +2259,WAGIEBOT-ee31,WAGIEBOT,WAGIEBOT,0xD2c869382C7AC9f87Ff73548d029d67C0F9Dee31,9 +2260,MNT-f354,MNT,MNT,0x3c3a81e81dc49A522A592e7622A7E711c06bf354,18 +2261,SML-5Acb,SML,SML,0x1A403E1c96792dFedb8232cF56400Eb72Ab95Acb,18 +2262,EMPIRE-e7B6,EMPIRE,EMPIRE,0x9A2Af0AbB12bee5369B180976Be01E8c80D0e7B6,9 +2263,PTF-39F7,PTF,PTF,0xC57d533c50bC22247d49a368880fb49a1caA39F7,18 +2264,SYLO-dcd4,SYLO,SYLO,0xf293d23BF2CDc05411Ca0edDD588eb1977e8dcd4,18 +2265,CDS-6e5e,CDS,CDS,0x3c48Ca59bf2699E51d4974d4B6D284AE52076e5e,18 +2266,BN-84B6,BN,BN,0xABD0061755A180052703f72F06CEf8c2Eb1384B6,9 +2267,THEOS-Da1d,THEOS,THEOS,0x9e10f61749c4952C320412A6B26901605Ff6Da1d,18 +2268,CORE-23D7,CORE,CORE,0x62359Ed7505Efc61FF1D56fEF82158CcaffA23D7,18 +2269,DPY-B391,DPY,DPY,0x6C2adC2073994fb2CCC5032cC2906Fa221e9B391,18 +2270,YAE-1EAF,YAE,YAE,0x4eE438be38F8682ABB089F2BFeA48851C5E71EAF,18 +2271,TWT-F5cF,TWT,TWT,0xd4Df22556e07148e591B4c7b4f555a17188CF5cF,9 +2272,XT-D7aF,XT,XT,0x4BE10dA47A07716af28Ad199FbE020501BddD7aF,18 +2273,BOLLY-ea99,BOLLY,BOLLY,0x6bd361e10c1afed0d95259e7C0115f3A60e4ea99,18 +2274,ECOREAL-1C16,ECOREAL,ECOREAL,0x7ECbb21346C501Fd07eb165E406120fA32381C16,18 +2275,COREDAO-Dd58,COREDAO,COREDAO,0xf66Cd2f8755a21d3c8683a10269F795c0532Dd58,18 +2276,CPU-6626,CPU,CPU,0x6D52DfeFb16BB9Cdc78bfCA09061e44574886626,18 +2277,VERSE-dC0a,VERSE,VERSE,0x7aE0d42f23C33338dE15bFa89C7405c068d9dC0a,18 +2278,REF-1e1f,REF,REF,0x89303500a7Abfb178B274FD89F2469C264951e1f,8 +2279,JPGC-6f0e,JPGC,JPGC,0x5891599664Ed15C6e88041B4F5bc08594f026f0e,18 +2280,UBI-E9a4,UBI,UBI,0xDd1Ad9A21Ce722C151A836373baBe42c868cE9a4,18 +2281,LEAD-C4ce,LEAD,LEAD,0x1dD80016e3d4ae146Ee2EBB484e8edD92dacC4ce,18 +2282,CHOO-F8A0,CHOO,CHOO,0x9c5476Af06590A9277C7706fe70c0a42A480F8A0,18 +2283,RIA-9eb6,RIA,RIA,0x9b110Fda4E20DB18Ad7052f8468a455de7449eb6,18 +2284,BMI-E688,BMI,BMI,0x725C263e32c72dDC3A19bEa12C5a0479a81eE688,18 +2285,NEON-061d,NEON,NEON,0x6Ee9742d17B527e682248DCA85952e4Fe190061d,18 +2286,ENG-23e4,ENG,ENG,0xf0Ee6b27b759C9893Ce4f094b49ad28fd15A23e4,8 +2287,WLEO-3998,WLEO,WLEO,0x73A9fb46e228628f8f9BB9004eCa4f4F529D3998,3 +2288,MODEX-7438,MODEX,MODEX,0x4bceA5E4d0F6eD53cf45e7a28FebB2d3621D7438,18 +2289,FPI-E08E,FPI,FPI,0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E,18 +2290,ABYSS-8DA6,ABYSS,ABYSS,0x0E8d6b471e332F140e7d9dbB99E5E3822F728DA6,18 +2291,VISION-3996,VISION,VISION,0xF406F7A9046793267bc276908778B29563323996,18 +2292,MF1-2253,MF1,MF1,0x9b5161a41B58498Eb9c5FEBf89d60714089d2253,18 +2293,HIFRIENDS-5fa5,HIFRIENDS,HIFRIENDS,0xeb2f5A4e1441dF330670Dc7B0cf4eaC0f7ab5fa5,18 +2294,ADD-F9F7,ADD,ADD,0x5c9c7554AB2b302A0a3E943377AcB30E9a70F9F7,18 +2295,HOTCROSS-f24E,HOTCROSS,HOTCROSS,0x4297394c20800E8a38A619A243E9BbE7681Ff24E,18 +2296,APPC-b0DB,APPC,APPC,0x1a7a8BD9106F2B8D977E08582DC7d24c723ab0DB,18 +2297,CROWN-de58,CROWN,CROWN,0xF3Bb9F16677F2B86EfD1DFca1c141A99783Fde58,18 +2298,MNMC-a741,MNMC,MNMC,0xF45091f25d374BbE956c0bb64bB85e02D07Aa741,8 +2299,TUSD-b376,TUSD,TUSD,0x0000000000085d4780B73119b644AE5ecd22b376,18 +2300,SWAI-7eAe,SWAI,SWAI,0x3540DFCaD7CF102a2E44AA0e2132FAb1c89d7eAe,18 +2301,GGT-3613,GGT,GGT,0x39B0E13A29c2A27ce88ceBD21262A232b0633613,18 +2302,AUDIO-B998,AUDIO,AUDIO,0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998,18 +2303,DES-05e3,DES,DES,0x634239cfA331Df0291653139d1a6083B9cf705e3,18 +2304,SPX-c56C,SPX,SPX,0xE0f63A424a4439cBE457D80E4f4b51aD25b2c56C,8 +2305,DIS-cDC6,DIS,DIS,0x220B71671b649c03714dA9c621285943f3cbcDC6,18 +2306,MONKGG-F821,MONKGG,MONKGG,0x9078dEb4736b7E2181BEB8DB276dfbFA7F21F821,18 +2307,N1-C16D,N1,N1,0xaCbd826394189Cf2623C6DF98a18b41fC8fFC16D,18 +2308,ARTX-7710,ARTX,ARTX,0x741b0428Efdf4372A8DF6FB54B018dB5e5aB7710,18 +2309,HIPVP-8DdF,HIPVP,HIPVP,0x0C0725282cbF037e6781fE84E0361B01daA88DdF,16 +2310,ECELL-6E7f,ECELL,ECELL,0x9b62Ec1453cEa5Dde760AAf662048cA6eEB66E7f,2 +2311,MONKE-522f,MONKE,MONKE,0x18cC2Ba8995c6307E355726244ADb023Cf00522f,9 +2312,SPILLWAYS-7b47,SPILLWAYS,SPILLWAYS,0x8790f2fc7Ca2e7Db841307FB3f4e72a03Baf7b47,18 +2313,UWBTC-2436,UWBTC,UWBTC,0x3aF5Ba94C29a8407785f5f6d90eF5d69a8EB2436,8 +2314,SKRT-77f6,SKRT,SKRT,0x887168120cb89Fb06F3E74Dc4AF20D67dF0977f6,18 +2315,TBC-E6fb,TBC,TBC,0x03042ae6fcFd53E3A0BAa1FaB5Ce70E0cb74E6fb,18 +2316,LUD-75f5,LUD,LUD,0xe64b47931f28f89Cc7A0C6965Ecf89EaDB4975f5,18 +2317,OCTO-2BA3,OCTO,OCTO,0x7240aC91f01233BaAf8b064248E80feaA5912BA3,18 +2318,DILI-F06a,DILI,DILI,0x37F74e99794853777a10ea1dc08a64C86958F06a,18 +2319,B20-EfD8,B20,B20,0xc4De189Abf94c57f396bD4c52ab13b954FebEfD8,18 +2320,ARENA-3D75,ARENA,ARENA,0x7512200f2Ae3E1625a060d589348716F65923D75,18 +2321,SWEAT-3A35,SWEAT,SWEAT,0xB4b9DC1C77bdbb135eA907fd5a08094d98883A35,18 +2322,QWLA-1AD2,QWLA,QWLA,0x1D96Fd43EE07Aa79f8Fd003cbdF404fb5ce41AD2,18 +2323,DPX-dC81,DPX,DPX,0xEec2bE5c91ae7f8a338e1e5f3b5DE49d07AfdC81,18 +2324,NOONE-f0cf,NOONE,NOONE,0x296233E84c1D7bfF11121BF6D60f0FFA39C3f0cf,9 +2325,OHMI-533C,OHMI,OHMI,0x4159862bcF6B4393A80550b1ed03DFfa6f90533C,18 +2326,LHINU-038d,LHINU,LHINU,0xCeDefE438860D2789dA6419b3a19cEcE2A41038d,18 +2327,AUCTION-9096,AUCTION,AUCTION,0xA9B1Eb5908CfC3cdf91F9B8B3a74108598009096,18 +2328,LIQS-4575,LIQS,LIQS,0x6D4695f7E8d7F9615314A743335702d7eAbA4575,18 +2329,YVRAI-A4ea,YVRAI,YVRAI,0x873fB544277FD7b977B196a826459a69E27eA4ea,18 +2330,MUMU-23c7,MUMU,MUMU,0x2F573070E6090b3264Fe707e2C9F201716F123c7,18 +2331,UDOO-2ffB,UDOO,UDOO,0x12f649A9E821F90BB143089a6e56846945892ffB,18 +2332,APYS-3615,APYS,APYS,0xf7413489c474ca4399eeE604716c72879Eea3615,18 +2333,BLUESPARROW-fd42,BLUESPARROW,BLUESPARROW,0x4D67EDef87a5fF910954899f4e5a0AaF107afd42,9 +2334,DGMV-960c,DGMV,DGMV,0x8EEdEFe828A0f16C8fc80e46a87Bc0f1De2d960c,18 +2335,CGT-A32a,CGT,CGT,0xF56b164efd3CFc02BA739b719B6526A6FA1cA32a,18 +2336,STN-36AB,STN,STN,0xe63d6B308BCe0F6193AeC6b7E6eBa005f41e36AB,18 +2337,YVSNX-aedf,YVSNX,YVSNX,0xF29AE508698bDeF169B89834F76704C3B205aedf,18 +2338,MOONCAT-8398,MOONCAT,MOONCAT,0x98968f0747E0A261532cAcC0BE296375F5c08398,18 +2339,TAXHAVENINU-bD01,TAXHAVENINU,TAXHAVENINU,0x664C6E221c77313307467B121528ad563107bD01,9 +2340,UTU-189B,UTU,UTU,0xa58a4f5c4Bb043d2CC1E170613B74e767c94189B,18 +2341,XMON-Bf74,XMON,XMON,0x3aaDA3e213aBf8529606924d8D1c55CbDc70Bf74,18 +2342,BASE-04e0,BASE,BASE,0xe9f84d418B008888A992Ff8c6D22389C2C3504e0,8 +2343,POINT-BE6a,POINT,POINT,0x2d64750eC85f6eC442E3093D74C7b1b0a133BE6a,18 +2344,MUST-288f,MUST,MUST,0x9C78EE466D6Cb57A4d01Fd887D2b5dFb2D46288f,18 +2345,PSYCHO-4A9B,PSYCHO,PSYCHO,0x9ACBD8315d81253f1bA7c0D24cdBd4e01BE44A9B,18 +2346,CAP-A600,CAP,CAP,0xc6cd44F9630886a7492cEa3d9860e0510933A600,18 +2347,YAMA-3D67,YAMA,YAMA,0x66A3A58F812d0f433DaaF1D96E14fD72D1D03D67,18 +2348,BREED-702e,BREED,BREED,0x94E9EB8b5Ab9fd6B9ea3169D55FFAde62a01702e,18 +2349,LOTT-41ab,LOTT,LOTT,0xbA93EF534094F8b7001ECe2691168140965341ab,18 +2350,FLRBRG-C650,FLRBRG,FLRBRG,0x9138C8779A0Ac8a84D69617D5715BD8AFa23C650,18 +2351,MNS-1959,MNS,MNS,0x53884b61963351C283118a8E1Fc05BA464a11959,18 +2352,HBOT-e9CB,HBOT,HBOT,0xE5097D9baeAFB89f9bcB78C9290d545dB5f9e9CB,18 +2353,KEL-5432,KEL,KEL,0x4ABB9cC67BD3da9Eb966d1159A71a0e68BD15432,18 +2354,TRUMP-bea7,TRUMP,TRUMP,0x576e2BeD8F7b46D34016198911Cdf9886f78bea7,9 +2355,PEUSD-F247,PEUSD,PEUSD,0xD585aaafA2B58b1CD75092B51ade9Fa4Ce52F247,18 +2356,MORE-bA22,MORE,MORE,0x305DE070488C8469dFAC957226c9c900c4BFbA22,8 +2357,RVF-96D2,RVF,RVF,0xdc8aF07A7861bedD104B8093Ae3e9376fc8596D2,18 +2358,AER-C308,AER,AER,0x703293d32aEa894CCA91d6C282db9eFFfE47C308,18 +2359,KARMA-951C,KARMA,KARMA,0xdfe691F37b6264a90Ff507EB359C45d55037951C,4 +2360,METRO-09E7,METRO,METRO,0xD77401A76d6cDB7Ac3bb031Bf25dEc07615509E7,18 +2361,ELY-6839,ELY,ELY,0x8ED2Fc62D6850eAaDcB717465752dab591286839,18 +2362,ALPHA-940B,ALPHA,ALPHA,0x138C2F1123cF3f82E4596d097c118eAc6684940B,18 +2363,NEKO-341F,NEKO,NEKO,0x1E9D0bB190Ac34492aa11B80D28c1C86487a341F,18 +2364,KEYFI-9052,KEYFI,KEYFI,0xB8647e90C0645152Fccf4d9AbB6B59Eb4AA99052,18 +2365,BULL-aC66,BULL,BULL,0xD1d92f1c5524d93ceD7Bf6F418c8bf8abf68aC66,18 +2366,FROKI-287a,FROKI,FROKI,0x3F7d1C62a8456893C0F55C13e3B5993d2F68287a,18 +2367,SPACE-041f,SPACE,SPACE,0xcc7ab8d78dBA187dC95bF3bB86e65E0C26d0041f,18 +2368,WAXE-4DFD,WAXE,WAXE,0x7a2Bc711E19ba6aff6cE8246C546E8c4B4944DFD,8 +2369,GSE-c838,GSE,GSE,0xe530441f4f73bDB6DC2fA5aF7c3fC5fD551Ec838,4 +2370,DENA-a1DA,DENA,DENA,0x15F0EEDF9Ce24fc4b6826E590A8292CE5524a1DA,18 +2371,EL-7B16,EL,EL,0x2781246fe707bB15CeE3e5ea354e2154a2877B16,18 +2372,LCS-dBA8,LCS,LCS,0xAA19961b6B858D9F18a115f25aa1D98ABc1fdBA8,18 +2373,DIVER-d5F4,DIVER,DIVER,0xFb782396c9b20E564A64896181c7AC8d8979d5F4,18 +2374,BXX-7898,BXX,BXX,0x6b1a8f210Ec6b7B6643cea3583Fb0c079f367898,18 +2375,MEME-a8Db,MEME,MEME,0x74B988156925937bD4E082f0eD7429Da8eAea8Db,18 +2376,ROYA-48DB,ROYA,ROYA,0x7eaF9C89037e4814DC0d9952Ac7F888C784548DB,18 +2377,SHI-4302,SHI,SHI,0xaD996A45fd2373ed0B10Efa4A8eCB9de445A4302,18 +2378,ATT-A11C,ATT,ATT,0x89Fb927240750c1B15d4743cd58440fc5f14A11C,18 +2379,LOVESNOOPY-393a,LOVESNOOPY,LOVESNOOPY,0xF0EDAC27Aa3E85E2D176F689B0025f90C154393a,18 +2380,APW-60c8,APW,APW,0x4104b135DBC9609Fc1A9490E61369036497660c8,18 +2381,MEMEX-3060,MEMEX,MEMEX,0xD89310F4BaeDb33AfB36d7cc45BB8847f4463060,18 +2382,MULTIBTC-8F7D,MULTIBTC,MULTIBTC,0x66eFF5221ca926636224650Fd3B9c497FF828F7D,8 +2383,BAO-9F3A,BAO,BAO,0xCe391315b414D4c7555956120461D21808A69F3A,18 +2384,BTC20-0e18,BTC20,BTC20,0xE86DF1970055e9CaEe93Dae9B7D5fD71595d0e18,18 +2385,L2-4D24,L2,L2,0xBbff34E47E559ef680067a6B1c980639EEb64D24,18 +2386,ZNX-eFdE,ZNX,ZNX,0x9471d30D78a3C9f076cE206D14867a8d8BE1eFdE,6 +2387,HEDG-654F,HEDG,HEDG,0xF1290473E210b2108A85237fbCd7b6eb42Cc654F,18 +2388,ANT-5A2e,ANT,ANT,0xa117000000f279D81A1D3cc75430fAA017FA5A2e,18 +2389,WHETH-6bE4,WHETH,WHETH,0xDe0220b69CE3e855a0124433A8E8D093f53A6bE4,18 +2390,PAPI-415E,PAPI,PAPI,0x693C216aA181EbF776730d16C7ba06842548415E,18 +2391,LINT-D714,LINT,LINT,0x11f9e9B3c539368BEA16DDE2108B748a9672D714,9 +2392,DRM-0584,DRM,DRM,0x89551b940e2A8ED8eCcF509935bAc9213fE30584,18 +2393,WXRP-e1B9,WXRP,WXRP,0x39fBBABf11738317a448031930706cd3e612e1B9,18 +2394,PITCHFXS-8F0b,PITCHFXS,PITCHFXS,0x11EBe21e9d7BF541A18e1E3aC94939018Ce88F0b,18 +2395,LAMBO-EfB3,LAMBO,LAMBO,0x3d2b66BC4f9D6388BD2d97B95b565BE1686aEfB3,18 +2396,COPIUM-4b36,COPIUM,COPIUM,0x36520f6336490088c2455279C59CEFaC66984b36,18 +2397,TCT-FFF7,TCT,TCT,0x4824A7b64E3966B0133f4f4FFB1b9D6bEb75FFF7,18 +2398,IGG-caeA,IGG,IGG,0x8FfE40A3D0f80C0CE6b203D5cDC1A6a86d9AcaeA,6 +2399,MOONEY-1395,MOONEY,MOONEY,0x20d4DB1946859E2Adb0e5ACC2eac58047aD41395,18 +2400,AUSDC-3B7E,AUSDC,AUSDC,0x9bA00D6856a4eDF4665BcA2C2309936572473B7E,6 +2401,FIT-37B7,FIT,FIT,0x9B01637302B6Adfc2C82678e2A8D680CFF6337B7,18 +2402,IZI-c200,IZI,IZI,0x9ad37205d608B8b219e6a2573f922094CEc5c200,18 +2403,L-9D79,L,L,0xf8C76dbeA329Ec4Fa987AFC514f805b21b249D79,18 +2404,BROS-af4d,BROS,BROS,0x9Dcd367e2AFA8D6e5d6Cf0306094E3Eb7BBAaf4d,18 +2405,ASM-9982,ASM,ASM,0x2565ae0385659badCada1031DB704442E1b69982,18 +2406,CATT-80BD,CATT,CATT,0x6E605c269E0C92e70BEeB85486f1fC550f9380BD,18 +2407,ORO-B466,ORO,ORO,0xc3Eb2622190c57429aac3901808994443b64B466,18 +2408,LOVE-A27C,LOVE,LOVE,0x5380442d3C4EC4f5777f551f5EDD2FA0F691A27C,18 +2409,GPX-A83F,GPX,GPX,0x3e7804c51a70Ba26E904c2e0ab440C5623a8A83F,8 +2410,TKING-DAFA,TKING,TKING,0x24E89bDf2f65326b94E36978A7EDeAc63623DAFA,18 +2411,ES-FdD9,ES,ES,0x72108a8CC3254813C6BE2F1b77be53E185abFdD9,18 +2412,ZW-Fe58,ZW,ZW,0x52d30b949BdBc63780E5A263CF436d4Df983Fe58,18 +2413,PISS-BF9F,PISS,PISS,0x9C0bD34beBc33A0E898554cFc91e8A84C728BF9F,18 +2414,YDR-865d,YDR,YDR,0x3757232B55E60da4A8793183aC030CfCE4c3865d,18 +2415,PKR-bd6c,PKR,PKR,0x001A8Ffcb0f03e99141652eBCdecDb0384E3bd6c,18 +2416,ESCO-95e6,ESCO,ESCO,0x7163436b8EfFfB469F6BB81cc908b1661d4795e6,18 +2417,NFAI-7969,NFAI,NFAI,0x8eEcaad83a1Ea77bD88A818d4628fAfc4CaD7969,18 +2418,MTS-5e75,MTS,MTS,0xA9598333B99d14D90Bc81CAd8Af82C4C70625e75,18 +2419,PEEP-9892,PEEP,PEEP,0x5919DeA604631016c15c805e3D948A0384879892,9 +2420,QQQ-4C21,QQQ,QQQ,0x2822f6D1B2f41F93f33d937bc7d84A8Dfa4f4C21,18 +2421,MTN-4DE3,MTN,MTN,0x41dBECc1cdC5517C6f76f6a6E836aDbEe2754DE3,18 +2422,BMX-35d8,BMX,BMX,0x986EE2B944c42D017F52Af21c4c69B84DBeA35d8,18 +2423,SSP-E850,SSP,SSP,0x624d520BAB2E4aD83935Fa503fB130614374E850,4 +2424,SCOOBY-6F2F,SCOOBY,SCOOBY,0xAd497eE6a70aCcC3Cbb5eB874e60d87593B86F2F,18 +2425,SKYRIM-9D6E,SKYRIM,SKYRIM,0x2610F0bFC21EF389fe4D03CFB7De9ac1E6C99D6E,18 +2426,APCG-d502,APCG,APCG,0x434Cb4fC4b952872967914D430878Eee53Ebd502,18 +2427,BTEX-e67c,BTEX,BTEX,0x182C00807F2D4904d02d5e0D179600ff6a3Ae67c,18 +2428,AXIS-4389,AXIS,AXIS,0xecC0F1F860a82aB3b442382D93853C02d6384389,18 +2429,SHIBGF-65d6,SHIBGF,SHIBGF,0x505a84a03e382331A1Be487b632Cf357748b65d6,18 +2430,PACHA-0d4E,PACHA,PACHA,0x2Dd1B9410c73E16b60240E529e38E30425F00d4E,10 +2431,UPR-2385,UPR,UPR,0xf720E38F678B29B243F7D53B56Acbf5dE98F2385,18 +2432,UPI-B67c,UPI,UPI,0x70D2b7C19352bB76e4409858FF5746e500f2B67c,18 +2433,NMT-23C3,NMT,NMT,0xd81b71cBb89B2800CDb000AA277Dc1491dc923C3,18 +2434,KLEE-de71,KLEE,KLEE,0xA67E9F021B9d208F7e3365B2A155E3C55B27de71,9 +2435,XAI-0280,XAI,XAI,0x0A13A5929e5F0ff0EABA4Bd9e9512C91fCE40280,9 +2436,BLF-f37f,BLF,BLF,0x2b896c7f060Ae441B76bbe47cdDCa934Ba60f37f,18 +2437,OKINAMI-4121,OKINAMI,OKINAMI,0x1C4853Ec0d55e420002c5eFaBc7Ed8e0bA7A4121,9 +2438,SPGBB-8F69,SPGBB,SPGBB,0x64551fA4093c2D6c298cf1792740F884084a8F69,18 +2439,COFI-32b3,COFI,COFI,0x3136eF851592aCf49CA4C825131E364170FA32b3,18 +2440,ESPR-BD4f,ESPR,ESPR,0xA3c31927A092BD54eb9A0B5DfE01D9DB5028BD4f,9 +2441,CMCX-4A32,CMCX,CMCX,0x5B685863494C33F344081F75e5430C260c224A32,18 +2442,ARA-7Df5,ARA,ARA,0xa92E7c82B11d10716aB534051B271D2f6aEf7Df5,18 +2443,HSC-3d7F,HSC,HSC,0x2bBA3CF6DE6058cc1B4457Ce00deb359E2703d7F,18 +2444,TRL-Ec41,TRL,TRL,0x58f9102bF53Cf186682Bd9a281d3Cd3c616eEc41,18 +2445,MFC-5820,MFC,MFC,0x337DD23d05c27bff099d3604938BFc23A9B25820,18 +2446,ELEV-EA65,ELEV,ELEV,0x045109cF1Be9eDEC048AA0B3D7a323154a1aEA65,18 +2447,NRFB-f9E8,NRFB,NRFB,0x00281dFCe4cfD72c0b6FDA2AAaF077258743f9E8,0 +2448,GYEN-D911,GYEN,GYEN,0xC08512927D12348F6620a698105e1BAac6EcD911,6 +2449,GWD-A56b,GWD,GWD,0x674c964AC0E89d847d6B0aBd144b797bf78BA56b,6 +2450,LYNK-dfd1,LYNK,LYNK,0xef952363C1d990A2fa58F8b379A9fa33bad1dfd1,8 +2451,FIDU-00BF,FIDU,FIDU,0x6a445E9F40e0b97c92d0b8a3366cEF1d67F700BF,18 +2452,FWT-a295,FWT,FWT,0x20e7125677311Fca903A8897042b9983f22Ea295,18 +2453,HITOP-5D77,HITOP,HITOP,0x01022591fCe0609B57670bebA60102dFd2b95D77,18 +2454,BKC-662e,BKC,BKC,0x34bdf48A8F753de4822a6CFB1FEE275F9b4D662e,18 +2455,JEUR-F20B,JEUR,JEUR,0x0f17BC9a994b87b5225cFb6a2Cd4D667ADb4F20B,18 +2456,AIR-cCeA,AIR,AIR,0xF725f73CAEe250AE384ec38bB2C77C38ef2CcCeA,18 +2457,FWB-99A8,FWB,FWB,0x35bD01FC9d6D5D81CA9E055Db88Dc49aa2c699A8,18 +2458,ITGR-Bc98,ITGR,ITGR,0xD502F487e1841Fdc805130e13eae80c61186Bc98,18 +2459,BNANA-4DB4,BNANA,BNANA,0x07eF9E82721AC16809D24DAfBE1792Ce01654DB4,18 +2460,GDAO-86Bc,GDAO,GDAO,0x515d7E9D75E2b76DB60F8a051Cd890eBa23286Bc,18 +2461,ARTIC-731e,ARTIC,ARTIC,0xE83D5FB2c60B3A2597452e248CF7b2f52a7E731e,18 +2462,STND-999d,STND,STND,0x9040e237C3bF18347bb00957Dc22167D0f2b999d,18 +2463,COFI-4Ea1,COFI,COFI,0x1a23a6BfBAdB59fa563008c0fB7cf96dfCF34Ea1,18 +2464,ZUSD-04fA,ZUSD,ZUSD,0xc56c2b7e71B54d38Aab6d52E94a04Cbfa8F604fA,6 +2465,IFEX-3CDC,IFEX,IFEX,0xA891CF72AEDa692570928eFe1A832342e9783CDC,18 +2466,USDF-8cD2,USDF,USDF,0x963035453633f6f7433032c958F82Eb3043D8cD2,18 +2467,BETT-502F,BETT,BETT,0x2f4b36442687E943E587b45cCcc92D60C3c3502F,18 +2468,PAXU-8e43,PAXU,PAXU,0x4E452B391a86C9240e98DF7277CE0BeA5bE08e43,18 +2469,HDAO-fF2D,HDAO,HDAO,0xdaC657ffD44a3B9d8aba8749830Bf14BEB66fF2D,18 +2470,GAME-2437,GAME,GAME,0x63f88A2298a5c4AEE3c216Aa6D926B184a4b2437,18 +2471,APOLLO-c3B9,APOLLO,APOLLO,0x425d105913a04f4F95311788195bA13c3E82c3B9,9 +2472,SONIK-06CB,SONIK,SONIK,0x9F891b5ECbd89DD8A5Ee4d1D80EfC3fE78b306CB,18 +2473,FUSDC-19e5,FUSDC,FUSDC,0x465a5a630482f3abD6d3b84B39B29b07214d19e5,8 +2474,BDT-d5Cf,BDT,BDT,0x4Efe8665e564bF454cCF5C90Ee16817F7485d5Cf,18 +2475,UBSN-5773,UBSN,UBSN,0x86EFc496DcA70bcFD92D19194290e8457a375773,0 +2476,SATS-Abf8,SATS,SATS,0x6C22910c6F75F828B305e57c6a54855D8adeAbf8,9 +2477,TAIL-1e31,TAIL,TAIL,0xFeeeef4D7b4Bf3cc8BD012D02D32Ba5fD3D51e31,18 +2478,CHART-2Daa,CHART,CHART,0xF62aC0fCae17F9195280cEd4dE978313eFFE2Daa,18 +2479,SHADOWCATS-f8b1,SHADOWCATS,SHADOWCATS,0x0018d5E01e53878F90FEAB02F1b2019a21adf8b1,18 +2480,ALEPH-F628,ALEPH,ALEPH,0x27702a26126e0B3702af63Ee09aC4d1A084EF628,18 +2481,SPOOL-0976,SPOOL,SPOOL,0x40803cEA2b2A32BdA1bE61d3604af6a814E70976,18 +2482,HANDY-684c,HANDY,HANDY,0x8bbe1a2961B41340468D0548c2cd5B7DFA9b684c,18 +2483,KKO-f4c9,KKO,KKO,0x368C5290b13cAA10284Db58B4ad4F3E9eE8bf4c9,18 +2484,PRMX-d812,PRMX,PRMX,0xe4dae00bc1c46ea2F44ae71B1BEb8b171C15d812,18 +2485,DAWN-9aFa,DAWN,DAWN,0x580c8520dEDA0a441522AEAe0f9F7A5f29629aFa,18 +2486,LET-6288,LET,LET,0xFA3118B34522580c35Ae27F6cf52da1dBb756288,6 +2487,WPE-881b,WPE,WPE,0xd075e95423C5c4BA1E122CaE0f4CdFA19b82881b,18 +2488,XP-b2Ac,XP,XP,0x948c70Dc6169Bfb10028FdBE96cbC72E9562b2Ac,18 +2489,MFTU-936B,MFTU,MFTU,0xbA745513ACEbcBb977497C569D4F7d340f2A936B,18 +2490,ICNQ-390A,ICNQ,ICNQ,0xB3e2Cb7CccfE139f8FF84013823Bf22dA6B6390A,18 +2491,SMT-A4aD,SMT,SMT,0x76dbCba41e11784BFA95cE30e529fA533C3fA4aD,18 +2492,PENGYX-50C3,PENGYX,PENGYX,0x3AeFF9536CED04e4443908Cb0ceBAC952a5550C3,18 +2493,PNL-B459,PNL,PNL,0x9FC8f0ca1668E87294941b7f627e9C15eA06B459,18 +2494,VIZ-50d1,VIZ,VIZ,0x3Bf954e809620bF2f1Fcb667F1c7D2D2E94350d1,9 +2495,BAKED-6ccE,BAKED,BAKED,0xa4cb0dCe4849BdcAd2d553E9e68644Cf40E26ccE,18 +2496,AWC-13f4,AWC,AWC,0xaD22f63404f7305e4713CcBd4F296f34770513f4,8 +2497,YVBOOST-Ab9a,YVBOOST,YVBOOST,0x9d409a0A012CFbA9B15F6D4B36Ac57A46966Ab9a,18 +2498,ENT-041A,ENT,ENT,0x675ABaBD3A210566A5e213547523b740Be80041A,18 +2499,DMX-3eED,DMX,DMX,0xf058501585023d040eA9493134ED72C083553eED,18 +2500,DEVT-D0de,DEVT,DEVT,0xB5c578947de0fd71303F71F2C3d41767438bD0de,18 +2501,BID-02fa,BID,BID,0x25e1474170c4c0aA64fa98123bdc8dB49D7802fa,18 +2502,OIN-1259,OIN,OIN,0x9aeB50f542050172359A0e1a25a9933Bc8c01259,8 +2503,BCUG-E9AF,BCUG,BCUG,0x14Da7b27b2E0FedEfe0a664118b0c9bc68e2E9AF,18 +2504,ZKS-58c6,ZKS,ZKS,0xe4815AE53B124e7263F08dcDBBB757d41Ed658c6,18 +2505,TLW-5753,TLW,TLW,0x06f3CDabae564B0546529b4DD8FeF1bcD4235753,8 +2506,YV1INCH-ab67,YV1INCH,YV1INCH,0xB8C3B7A2A618C552C23B1E4701109a9E756Bab67,18 +2507,JPEG-45a3,JPEG,JPEG,0xE80C0cd204D654CEbe8dd64A4857cAb6Be8345a3,18 +2508,NHT-9708,NHT,NHT,0x84342e932797FC62814189f01F0Fb05F52519708,18 +2509,ETHF-990d,ETHF,ETHF,0x730f8C56C709c5F5B4a6e91f98Fa7A7C410E990d,18 +2510,IDO-CB1E,IDO,IDO,0xF9c53268e9de692AE1b2ea5216E24e1c3ad7CB1E,18 +2511,DMT-ad75,DMT,DMT,0x5b1D655C93185b06B00f7925791106132Cb3ad75,18 +2512,BIGCAP-6181,BIGCAP,BIGCAP,0xE29F1241E6015A4949cb7E3f07234BA794006181,18 +2513,MAHA-49B0,MAHA,MAHA,0x745407c86DF8DB893011912d3aB28e68B62E49B0,18 +2514,MANDOX-B9A7,MANDOX,MANDOX,0x7A8aDCf432EbCC2311B955d176ee4BFED13bB9A7,9 +2515,COLT-9334,COLT,COLT,0x1A3cBdA3853494acAb67648EE59AfeB7ec3E9334,18 +2516,KIRA-426B,KIRA,KIRA,0xf98AB0874b13a7Fdc39D7295DEdd49850A5D426B,8 +2517,DVPN-B037,DVPN,DVPN,0xa44E5137293E855B1b7bC7E2C6f8cD796fFCB037,8 +2518,GERA-BB02,GERA,GERA,0xDe5eA375FFBDc8b25a80fe13D631E8Ba0AB4BB02,18 +2519,DAD-81e8,DAD,DAD,0x5B322514FF727253292637D9054301600c2C81e8,9 +2520,PC-ce28,PC,PC,0xe1eC350ea16D1DdAFF57F31387B2d9708Eb7ce28,9 +2521,FREL-FF70,FREL,FREL,0x29CeDDCF0Da3c1D8068a7DFbD0FB06c2E438FF70,18 +2522,CCX-8B59,CCX,CCX,0x1D6405138A335cE5FD7364086334EfB3E4F28B59,18 +2523,GCAKE-bf6c,GCAKE,GCAKE,0x5f944B0c4315Cb7c3a846b025AB4045da44abf6c,18 +2524,NON-B771,NON,NON,0x6100dd79fCAA88420750DceE3F735d168aBcB771,18 +2525,GGTK-EF76,GGTK,GGTK,0xFA99A87b14B02e2240C79240C5a20F945ca5EF76,18 +2526,SNT-5B9E,SNT,SNT,0x744d70FDBE2Ba4CF95131626614a1763DF805B9E,18 +2527,XIDO-08A7,XIDO,XIDO,0xF6650117017FFD48B725B4EC5A00B414097108A7,18 +2528,SG-27c4,SG,SG,0xBe74A95D159e8E323b8C1a70F825Efc85FED27c4,18 +2529,MAV-2629,MAV,MAV,0xbe1dBe6741fB988fb571AB1E28CfFB36e3C62629,18 +2530,DOOMER-3bFA,DOOMER,DOOMER,0x04b77A1be2981c1Ca353aaf251b0F11398413bFA,18 +2531,AKNC-03eB,AKNC,AKNC,0x9D91BE44C06d373a8a226E1f3b146956083803eB,18 +2532,ZCO-1722,ZCO,ZCO,0x2008e3057BD734e10AD13c9EAe45Ff132aBc1722,8 +2533,KPOP-59C9,KPOP,KPOP,0x7B7983967409Fce461EA8bbDF9ED37631b1d59C9,18 +2534,KFT-b207,KFT,KFT,0xEF53462838000184F35f7D991452e5f25110b207,18 +2535,OKAGE-89eC,OKAGE,OKAGE,0x8dfc8cc3201425669FaE803e1eB125cddd4189eC,18 +2536,METIS-ed8e,METIS,METIS,0x9E32b13ce7f2E80A01932B42553652E053D6ed8e,18 +2537,DOS-9cB7,DOS,DOS,0x0A913beaD80F321E7Ac35285Ee10d9d922659cB7,18 +2538,FPIS-1fdb,FPIS,FPIS,0xc2544A32872A91F4A553b404C6950e89De901fdb,18 +2539,CYMI-A93B,CYMI,CYMI,0x7449c93ABe66457e83B3799BCf1A99e92D58A93B,18 +2540,ZERO-a574,ZERO,ZERO,0xF0939011a9bb95c3B791f0cb546377Ed2693a574,18 +2541,0XBTC-5B31,0XBTC,0XBTC,0xB6eD7644C69416d67B522e20bC294A9a9B405B31,8 +2542,PAPER-0e8C,PAPER,PAPER,0x7aE1D57b58fA6411F32948314BadD83583eE0e8C,18 +2543,SDT-DB2F,SDT,SDT,0x73968b9a57c6E53d41345FD57a6E6ae27d6CDB2F,18 +2544,ENS-9D72,ENS,ENS,0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72,18 +2545,CVC-4E45,CVC,CVC,0x41e5560054824eA6B0732E656E3Ad64E20e94E45,8 +2546,EHASH-bbC6,EHASH,EHASH,0x2942E3B38E33123965bfbc21E802bE943a76bbC6,18 +2547,UGAS-400F,UGAS,UGAS,0x8716Fc5Da009D3A208f0178b637a50F4ef42400F,18 +2548,LAMB-Dd26,LAMB,LAMB,0x8971f9fd7196e5cEE2C1032B50F656855af7Dd26,18 +2549,DONUT-54A9,DONUT,DONUT,0xC0F9bD5Fa5698B6505F643900FFA515Ea5dF54A9,18 +2550,4ART-7d73,4ART,4ART,0xFF44b5719f0B77A9951636fc5e69d3a1fc9E7d73,18 +2551,LBT-37d3,LBT,LBT,0x5AC83BfbFcebb3397A40fD259dBE7a4bE04237d3,18 +2552,ZEFU-1229,ZEFU,ZEFU,0xB1e9157c2Fdcc5a856C8DA8b2d89b6C32b3c1229,18 +2553,YASHA-D753,YASHA,YASHA,0xD75f1f81B69bDd4Df8EfbB70e9C6F4609009D753,18 +2554,ENTC-32D9,ENTC,ENTC,0x3Ecab35B64345bfC472477A653e4A3abE70532D9,18 +2555,GBPT-bA98,GBPT,GBPT,0x86B4dBE5D203e634a12364C0e428fa242A3FbA98,18 +2556,NCR-ed9c,NCR,NCR,0xDB5C3C46E28B53a39C255AA39A411dD64e5fed9c,18 +2557,MNT-1a05,MNT,MNT,0x149caC67F1cd5d80651E7c9Bb359ec285D821a05,18 +2558,SHR-a964,SHR,SHR,0xd98F75b1A3261dab9eEd4956c93F33749027a964,2 +2559,BAAS-c2de,BAAS,BAAS,0x5d929AA919E489505CcAAd8A199619c6DCA0c2de,18 +2560,FLP-BcD3,FLP,FLP,0x3a1Bda28AdB5B0a812a7CF10A1950c920F79BcD3,18 +2561,REEF-5ACf,REEF,REEF,0xFE3E6a25e6b192A42a44ecDDCd13796471735ACf,18 +2562,CTR-d375,CTR,CTR,0x923b83c26B3809d960fF80332Ed00aA46D7Ed375,18 +2563,CET-D97F,CET,CET,0x081F67aFA0cCF8c7B17540767BBe95DF2bA8D97F,18 +2564,ECHOES-8a4F,ECHOES,ECHOES,0xf07Ebf00Aa847bBB0057b92cB469747e2c7C8a4F,18 +2565,EVRY-7ad7,EVRY,EVRY,0xd7DCd9B99787C619b4D57979521258D1A7267ad7,18 +2566,ISR-9489,ISR,ISR,0xB16d3Ed603D62b125c6bd45519EDa40829549489,18 +2567,CNTM-1b32,CNTM,CNTM,0x0E5f00DA8AAef196a719d045DB89b5DA8F371b32,18 +2568,IXI-3520,IXI,IXI,0x179Cd91631d96e8faFEe6A744eAC6fFdbB923520,8 +2569,MIB-0Fde,MIB,MIB,0x146D8D942048ad517479C9bab1788712Af180Fde,18 +2570,OLT-FCF0,OLT,OLT,0x64A60493D888728Cf42616e034a0dfEAe38EFCF0,18 +2571,FOAM-C121,FOAM,FOAM,0x4946Fcea7C692606e8908002e55A582af44AC121,18 +2572,JAY-CA6E,JAY,JAY,0xDA7C0810cE6F8329786160bb3d1734cf6661CA6E,18 +2573,OBOT-0c32,OBOT,OBOT,0xeDADeB5fAa413e6c8623461849DFD0B7C3790c32,18 +2574,DRC-e606,DRC,DRC,0xa150Db9b1Fa65b44799d4dD949D922c0a33Ee606,0 +2575,GHOUL-157A,GHOUL,GHOUL,0x3bb86d867A9F3adDF994cdaDb210Fa82F0D4157A,18 +2576,KEX-a4F8,KEX,KEX,0x16980b3B4a3f9D89E33311B5aa8f80303E5ca4F8,6 +2577,YIN-34C8,YIN,YIN,0x794Baab6b878467F93EF17e2f2851ce04E3E34C8,18 +2578,LPL-75B8,LPL,LPL,0x99295f1141d58A99e939F7bE6BBe734916a875B8,18 +2579,HLD-8187,HLD,HLD,0xCA1308E38340C69E848061aA2C3880daeB958187,9 +2580,METR-03f0,METR,METR,0x405CE8B2eAeeA7D4Ba5Fc160848cB2A6569e03f0,18 +2581,ETHX-A15b,ETHX,ETHX,0xA35b1B31Ce002FBF2058D22F30f95D405200A15b,18 +2582,DEC-b9b3,DEC,DEC,0x30f271C9E86D2B7d00a6376Cd96A1cFBD5F0b9b3,18 +2583,OIL-88a5,OIL,OIL,0x0275E1001e293C46CFe158B3702AADe0B99f88a5,18 +2584,AAMMUNISNXWETH-4894,AAMMUNISNXWETH,AAMMUNISNXWETH,0x38E491A71291CD43E8DE63b7253E482622184894,18 +2585,FREN-A3fa,FREN,FREN,0x43A8f41644a3f07818a43455b975d940Ce16A3fa,18 +2586,HICOOLCATS-29b2,HICOOLCATS,HICOOLCATS,0x082716b6734b31791407d7Dd0e2a2c41260029b2,18 +2587,GOVI-6107,GOVI,GOVI,0xeEAA40B28A2d1b0B08f6f97bB1DD4B75316c6107,18 +2588,BIAO-5D8a,BIAO,BIAO,0x00282FD551D03dC033256C4bf119532e8C735D8a,2 +2589,GAURO-1f90,GAURO,GAURO,0x8cb73eB53FA81F808f704BEa15A677B6464A1f90,9 +2590,MIMIR-383C,MIMIR,MIMIR,0x71dc40668682a124231301414167E4CF7f55383C,18 +2591,WNXM-2bDE,WNXM,WNXM,0x0d438F3b5175Bebc262bF23753C1E53d03432bDE,18 +2592,REQ-938a,REQ,REQ,0x8f8221aFbB33998d8584A2B05749bA73c37a938a,18 +2593,CTX-f98D,CTX,CTX,0x321C2fE4446C7c963dc41Dd58879AF648838f98D,18 +2594,STRP-ADc9,STRP,STRP,0x97872EAfd79940C7b24f7BCc1EADb1457347ADc9,18 +2595,FLEX-bc0A,FLEX,FLEX,0xFcF8eda095e37A41e002E266DaAD7efC1579bc0A,18 +2596,METAL-BB93,METAL,METAL,0x7ae075546e8042dC263FA0eb6519ce0a04EABB93,9 +2597,GENE-aF3b,GENE,GENE,0xf6ec87DFE1Ed3a7256Cc0c38e3c8139103e9aF3b,18 +2598,XTK-AdEB,XTK,XTK,0x7F3EDcdD180Dbe4819Bd98FeE8929b5cEdB3AdEB,18 +2599,RLC-7375,RLC,RLC,0x607F4C5BB672230e8672085532f7e901544a7375,9 +2600,ZENI-Caa7,ZENI,ZENI,0x9c6666d5ff4B53b5eB3bd866664c15d0BFcECaa7,18 +2601,MAXI-e84b,MAXI,MAXI,0x0d86EB9f43C57f6FF3BC9E23D8F9d82503f0e84b,8 +2602,PUMLX-1c73,PUMLX,PUMLX,0x8c088775e4139af116Ac1FA6f281Bbf71E8c1c73,18 +2603,RAINI-d5eD,RAINI,RAINI,0xeB953eDA0DC65e3246f43DC8fa13f35623bDd5eD,18 +2604,MEISHU-1289,MEISHU,MEISHU,0x406B9DCA8b52f08385014eC1eD1cf6A0D5c01289,9 +2605,XRP-98ae,XRP,XRP,0x07E0EDf8ce600FB51d44F51E3348D77D67F298ae,8 +2606,VETH-801F,VETH,VETH,0x4Bc3263Eb5bb2Ef7Ad9aB6FB68be80E43b43801F,18 +2607,HPO-d59b,HPO,HPO,0xfE39C384D702914127a005523f9915ADDB9bd59b,18 +2608,OGMF-3239,OGMF,OGMF,0x62D04C79C1F3a2d7230FFCd3Ab01794e1d153239,18 +2609,GEEQ-1b78,GEEQ,GEEQ,0x6B9f031D718dDed0d681c20cB754F97b3BB81b78,18 +2610,QUA-B227,QUA,QUA,0x4dAeb4a06F70f4b1A5C329115731fE4b89C0B227,18 +2611,PANTO-aA9d,PANTO,PANTO,0x54B8D105aA09342FAD6b352D41a0bAd3E1a9aA9d,18 +2612,RET-65fF,RET,RET,0xD7394087E1DBBE477FE4F1CF373B9Ac9459565fF,8 +2613,SAFETH-F3e5,SAFETH,SAFETH,0x6732Efaf6f39926346BeF8b821a04B6361C4F3e5,18 +2614,EMS-13Ad,EMS,EMS,0x247Dc9CBBAADabce6e30E2A84eC6C53A419913Ad,18 +2615,BT-8e82,BT,BT,0x6628606c321FaF52b7230A57b26c01B19aA68e82,18 +2616,MARAN-541e,MARAN,MARAN,0x5F9123d661459AF6f398B6f1566f53222612541e,18 +2617,ROBOT-23Eb,ROBOT,ROBOT,0xfb5453340C03db5aDe474b27E68B6a9c6b2823Eb,18 +2618,ARDVRK-D8BE,ARDVRK,ARDVRK,0xD0E94BF2466979B81d738c34058d4a6559c4D8BE,18 +2619,CNFI-2Ae9,CNFI,CNFI,0xEABB8996eA1662cAd2f7fB715127852cd3262Ae9,18 +2620,POP-78c4,POP,POP,0xD0Cd466b34A24fcB2f87676278AF2005Ca8A78c4,18 +2621,CLIPS-eD20,CLIPS,CLIPS,0xeCbEE2fAE67709F718426DDC3bF770B26B95eD20,18 +2622,MXC-386e,MXC,MXC,0x5Ca381bBfb58f0092df149bD3D243b08B9a8386e,18 +2623,UNICHAD-9A78,UNICHAD,UNICHAD,0x099f8d9e004cE139c6F46572ea99c0DB71889A78,18 +2624,ACX-F82F,ACX,ACX,0x44108f0223A3C3028F5Fe7AEC7f9bb2E66beF82F,18 +2625,PEPA-38A8,PEPA,PEPA,0x577Fee283e776eec29C9E4d258431982780a38A8,9 +2626,YVCOMP-5e66,YVCOMP,YVCOMP,0x4A3FE75762017DB0eD73a71C9A06db7768DB5e66,18 +2627,STFX-Db2d,STFX,STFX,0x9343e24716659A3551eB10Aff9472A2dcAD5Db2d,18 +2628,WCFG-34F0,WCFG,WCFG,0xc221b7E65FfC80DE234bbB6667aBDd46593D34F0,18 +2629,GAL-9875,GAL,GAL,0x5fAa989Af96Af85384b8a938c2EdE4A7378D9875,18 +2630,QUIDD-7c07,QUIDD,QUIDD,0xDA9FDAb21bC4A5811134A6E0Ba6CA06624e67c07,18 +2631,AG-f01b,AG,AG,0xCC8E21F599995D1c8367054841b8af5024DDf01b,18 +2632,XIO-5704,XIO,XIO,0x0f7F961648aE6Db43C75663aC7E5414Eb79b5704,18 +2633,SNAILS-4fB2,SNAILS,SNAILS,0xFA1B65448E7eC5f37e512cDcE52Ab79e541f4fB2,9 +2634,EML-1062,EML,EML,0x03dDe9e5BB31ee40A471476e2FCcF75C67921062,18 +2635,CIA-817d,CIA,CIA,0x52F4D5EE6c91e01Be67CA1F64b11eD0EE370817d,9 +2636,CPAY-E23E,CPAY,CPAY,0x0Ebb614204E47c09B6C3FeB9AAeCad8EE060E23E,0 +2637,ARES-d523,ARES,ARES,0x358AA737e033F34df7c54306960a38d09AaBd523,18 +2638,RESET-EeD2,RESET,RESET,0x30df7D7EE52c1b03cd009e656F00AB875AdCEeD2,18 +2639,NABOX-77Fb,NABOX,NABOX,0x03D1E72765545729A035e909eDd9371a405f77Fb,18 +2640,ADEL-A182,ADEL,ADEL,0x94d863173EE77439E4292284fF13fAD54b3BA182,18 +2641,NFTS-7dBc,NFTS,NFTS,0x08037036451C768465369431Da5C671ad9B37dBc,18 +2642,MASTERMIND-9b43,MASTERMIND,MASTERMIND,0x8b0FdE007458Ee153bd0F66CD448Af5FB3D99b43,18 +2643,TRIX-b081,TRIX,TRIX,0x056354F3Ff20743aa4c0DA365603871c7000b081,18 +2644,REKT-362b,REKT,REKT,0x8a7664E782860E856031D6c31EB3bde721Bc362b,18 +2645,PCNT-0C3b,PCNT,PCNT,0x657B83A0336561C8f64389a6f5aDE675C04b0C3b,18 +2646,BBF-AC91,BBF,BBF,0xDE075D9ADbD0240b4462F124af926452Ad0BAC91,18 +2647,SOUL-66F6,SOUL,SOUL,0x992D339532A9C42F1b0E59A57e95F38da38c66F6,18 +2648,QDT-5B55,QDT,QDT,0x4e432A62733a7ee38Ad2e16b3cc0731457eA5B55,4 +2649,HEZ-8dEE,HEZ,HEZ,0xEEF9f339514298C6A857EfCfC1A762aF84438dEE,18 +2650,YFII-aB83,YFII,YFII,0xa1d0E215a23d7030842FC67cE582a6aFa3CCaB83,18 +2651,BBTC-2541,BBTC,BBTC,0x9BE89D2a4cd102D8Fecc6BF9dA793be995C22541,8 +2652,AZUM-B070,AZUM,AZUM,0xd26a9C3437f7D121098c8C05C7413F5Cc70BB070,18 +2653,IDLEUSDTSAFE-07b5,IDLEUSDTSAFE,IDLEUSDTSAFE,0x28fAc5334C9f7262b3A3Fe707e250E01053e07b5,18 +2654,PET-5C5F,PET,PET,0xB870679a7Fa65b924026F496De7f27c1DD0e5C5F,18 +2655,HOLD-2ECE,HOLD,HOLD,0x9fb41Be7688A1aE9759185d7cAcb10e9A9d22ECE,18 +2656,AAMMUNIUSDCWETH-5976,AAMMUNIUSDCWETH,AAMMUNIUSDCWETH,0x391E86e2C002C70dEe155eAceB88F7A3c38f5976,18 +2657,STICK-badC,STICK,STICK,0x556713E6A6a928aF55Bf3967F847C62402ACbadC,9 +2658,YVSUSHI-0390,YVSUSHI,YVSUSHI,0x6d765CbE5bC922694afE112C140b8878b9FB0390,18 +2659,TORG-67A9,TORG,TORG,0xCfa0885131F602D11D4DA248D2c65A62063567A9,18 +2660,SHS-65ca,SHS,SHS,0xbB4f3aD7a2cf75d8EfFc4f6D7BD21d95F06165ca,18 +2661,ROOBEE-91AA,ROOBEE,ROOBEE,0xA31B1767e09f842ECFd4bc471Fe44F830E3891AA,18 +2662,BABY-0603,BABY,BABY,0x1cCF27211e8bf052f6255329ed641B4E94E80603,18 +2663,BNTY-9de3,BNTY,BNTY,0xd2d6158683aeE4Cc838067727209a0aAF4359de3,18 +2664,AMLT-0f2f,AMLT,AMLT,0xCA0e7269600d353F70b14Ad118A49575455C0f2f,18 +2665,HIRENGA-aa47,HIRENGA,HIRENGA,0x1De852CD18323Bc5eBDa842b8EEF46C6E551aa47,18 +2666,LOON-373c,LOON,LOON,0x7C5d5100B339Fe7D995a893AF6CB496B9474373c,18 +2667,LSETH-6549,LSETH,LSETH,0x8c1BEd5b9a0928467c9B1341Da1D7BD5e10b6549,18 +2668,ALG-842B,ALG,ALG,0x16B0a1a87ae8aF5C792faBC429C4FE248834842B,18 +2669,AAMMUNIWBTCWETH-E123,AAMMUNIWBTCWETH,AAMMUNIWBTCWETH,0xc58F53A8adff2fB4eb16ED56635772075E2EE123,18 +2670,IDLEUSDTYIELD-C2f8,IDLEUSDTYIELD,IDLEUSDTYIELD,0xF34842d05A1c888Ca02769A633DF37177415C2f8,18 +2671,AGA-4e20,AGA,AGA,0x2D80f5F5328FdcB6ECeb7Cacf5DD8AEDaEC94e20,4 +2672,MVD-39d1,MVD,MVD,0x788B6D2B37Aa51D916F2837Ae25b05f0e61339d1,9 +2673,AVINOC-A3EF,AVINOC,AVINOC,0xF1cA9cb74685755965c7458528A36934Df52A3EF,18 +2674,MNTE-E8d3,MNTE,MNTE,0x94D40B49F020BfeBbA1a80A0191EB3737B90E8d3,18 +2675,ULT-53a7,ULT,ULT,0x09617F6fD6cF8A71278ec86e23bBab29C04353a7,18 +2676,ASX-2701,ASX,ASX,0x67d85A291fcDC862A78812a3C26d55e28FFB2701,18 +2677,RELAY-841c,RELAY,RELAY,0x5D843Fa9495d23dE997C394296ac7B4D721E841c,18 +2678,BLY-0D5d,BLY,BLY,0xf8aD7dFe656188A23e89da09506Adf7ad9290D5d,18 +2679,EUL-E07b,EUL,EUL,0xd9Fcd98c322942075A5C3860693e9f4f03AAE07b,18 +2680,PURE-230f,PURE,PURE,0x2904b9b16652d7d0408EcCfA23A19D4A3358230f,18 +2681,INU-7574,INU,INU,0xF32aa187d5Bc16A2C02A6aFb7Df1459d0D107574,18 +2682,BERRY-6ed5,BERRY,BERRY,0x2d787D4f5005Bd66aC910c2E821241625c406ed5,18 +2683,WSIENNA-64f9,WSIENNA,WSIENNA,0x9b00e6E8D787b13756eb919786c9745054DB64f9,18 +2684,RAIN-4D57,RAIN,RAIN,0x71Fc1F555a39E0B698653AB0b475488EC3c34D57,18 +2685,VEGA-bc6e,VEGA,VEGA,0xcB84d72e61e383767C4DFEb2d8ff7f4FB89abc6e,18 +2686,WACO-204e,WACO,WACO,0x910c4DA718CAF4EE38cE5c2490CDDAEca689204e,18 +2687,AZRX-062f,AZRX,AZRX,0x6Fb0855c404E09c47C3fBCA25f08d4E41f9F062f,18 +2688,HIODBS-5889,HIODBS,HIODBS,0x33bD66c334274989b673a8e8C8d1A3f1B8De5889,18 +2689,H2O-1701,H2O,H2O,0x0642026E7f0B6cCaC5925b4E7Fa61384250e1701,18 +2690,IPOR-9090,IPOR,IPOR,0x1e4746dC744503b53b4A082cB3607B169a289090,18 +2691,CUP-968E,CUP,CUP,0x3209d14Ff61766359E64aceFf91877cEC2AD968E,18 +2692,WOMI-A670,WOMI,WOMI,0x04969cD041C0cafB6AC462Bd65B536A5bDB3A670,18 +2693,DAMM-16b8,DAMM,DAMM,0xb3207935FF56120f3499e8aD08461Dd403bF16b8,18 +2694,MFI-355B,MFI,MFI,0xAa4e3edb11AFa93c41db59842b29de64b72E355B,18 +2695,OFI-97dC,OFI,OFI,0x419E35E3515c2fDB652C898bF7A0B21FB20497dC,9 +2696,JARED-ea56,JARED,JARED,0x36880f14AF2e85Cae8E467827FA077D6BF12ea56,18 +2697,BAMBOO-2e89,BAMBOO,BAMBOO,0xf56842Af3B56Fd72d17cB103f92d027bBa912e89,18 +2698,GUSTA-8614,GUSTA,GUSTA,0xe2F668f6166EDa65620A01c4C116a5F6E5528614,18 +2699,AUTO-581b,AUTO,AUTO,0x622dFfCc4e83C64ba959530A5a5580687a57581b,18 +2700,SUPER-1384,SUPER,SUPER,0x6D8f7Ac13E8c2944D27e0f9BC6aA0122f2eC1384,18 +2701,VLX-Edb9,VLX,VLX,0x8C543AED163909142695f2d2aCd0D55791a9Edb9,18 +2702,USHI-ec55,USHI,USHI,0x6Dca182ac5E3f99985bC4Ee0f726d6472aB1ec55,18 +2703,CYCLUB-3e5f,CYCLUB,CYCLUB,0x3b58c52C03ca5Eb619EBa171091c86C34d603e5f,9 +2704,APN-75E6,APN,APN,0xd4342a57eCf2Fe7ffA37c33cb8f63b1500e575E6,18 +2705,HIFLUF-B047,HIFLUF,HIFLUF,0x79C9e0410b6615e7Ba9DD69614B0519325a2B047,18 +2706,CAH-754A,CAH,CAH,0x8e0E57DCb1ce8d9091dF38ec1BfC3b224529754A,18 +2707,ICETH-6A84,ICETH,ICETH,0x7C07F7aBe10CE8e33DC6C5aD68FE033085256A84,18 +2708,MTRM-7581,MTRM,MTRM,0xcd17fA52528f37FACB3028688E62ec82d9417581,0 +2709,UPP-f652,UPP,UPP,0xC86D054809623432210c107af2e3F619DcFbf652,18 +2710,BNA-c2b8,BNA,BNA,0x20910e5b5f087f6439DFcB0ddA4e27d1014Ac2b8,18 +2711,DEUS-9E44,DEUS,DEUS,0xDE5ed76E7c05eC5e4572CfC88d1ACEA165109E44,18 +2712,ALCX-c8DF,ALCX,ALCX,0xdBdb4d16EdA451D0503b854CF79D55697F90c8DF,18 +2713,MXNT-64AA,MXNT,MXNT,0xed03Ed872159e199065401b6d0D487d78d9464AA,6 +2714,UWU-5257,UWU,UWU,0x55C08ca52497e2f1534B59E2917BF524D4765257,18 +2715,LWC-9D11,LWC,LWC,0xa6a1Cc527d48585538b137E6Abc14B2a55489D11,8 +2716,DACXI-193F,DACXI,DACXI,0xEfaB7248D36585e2340E5d25F8a8D243E6e3193F,18 +2717,SAT-91a2,SAT,SAT,0x5ABf88cF3444611D13F6D1B39F3f3EE8575c91a2,18 +2718,GUNBET-cF4d,GUNBET,GUNBET,0x9E64ea4e67371de7Ea8039C6F992f3029836cF4d,9 +2719,SOV-2c16,SOV,SOV,0x2C5BC2Ba3614fD27FCc7022eA71d9172E2632c16,18 +2720,FSC-5C6e,FSC,FSC,0x5f4361971667C8198706dEc8C59cF7607e405C6e,8 +2721,HVH-0E0E,HVH,HVH,0xd076C4Ba62c57b3Fa10800bcfD8dA66742110E0E,18 +2722,ADCO-92F4,ADCO,ADCO,0xB6c3DC857845a713d3531cea5ac546F6767992F4,6 +2723,MFG-0312,MFG,MFG,0x6710c63432A2De02954fc0f851db07146a6c0312,18 +2724,EXM-0f62,EXM,EXM,0x83869DE76B9Ad8125e22b857f519F001588c0f62,8 +2725,DCNT-8701,DCNT,DCNT,0x4Ce4C025692B3142dbdE1cd432ef55b9A8D18701,9 +2726,RFUEL-36E5,RFUEL,RFUEL,0xaf9f549774ecEDbD0966C52f250aCc548D3F36E5,18 +2727,PTU-98dd,PTU,PTU,0xC229c69eB3BB51828D0cAA3509A05a51083898dd,18 +2728,LIEN-557E,LIEN,LIEN,0xaB37e1358b639Fd877f015027Bb62d3ddAa7557E,8 +2729,BNTX-fB6d,BNTX,BNTX,0x86d1d12523B65203851c571FcC029bF90903fB6d,18 +2730,FROG-91D5,FROG,FROG,0x4fEe21439F2b95b72da2F9f901b3956f27fE91D5,18 +2731,K21-04AF,K21,K21,0xB9d99C33eA2d86EC5eC6b8A4dD816EBBA64404AF,18 +2732,DNT-04ea,DNT,DNT,0x0AbdAce70D3790235af448C88547603b945604ea,18 +2733,VERA-e468,VERA,VERA,0xd7f0cC50AD69408aE58be033F4f85D2367C2e468,18 +2734,DERC-a9aE,DERC,DERC,0x9fa69536d1cda4A04cFB50688294de75B505a9aE,18 +2735,STAKE-95e6,STAKE,STAKE,0x0Ae055097C6d159879521C384F1D2123D1f195e6,18 +2736,BTCP-f5Ab,BTCP,BTCP,0x723CbfC05e2cfcc71d3d89e770D32801A5eEf5Ab,8 +2737,DEP-8163,DEP,DEP,0x1A3496C18d558bd9C6C8f609E1B129f67AB08163,18 +2738,AREN-C54C,AREN,AREN,0x69948cC03f478B95283F7dbf1CE764d0fc7EC54C,18 +2739,DELREY-28dd,DELREY,DELREY,0xfca89d55A768375Ab7cA04485A35a964BEA828dd,18 +2740,UMBR-d35C,UMBR,UMBR,0xa4bBE66f151B22B167127c770016b15fF97Dd35C,18 +2741,SPH-a406,SPH,SPH,0xA0CF46eb152656C7090e769916eb44a138aaa406,18 +2742,SHEESHA-E768,SHEESHA,SHEESHA,0x232FB065D9d24c34708eeDbF03724f2e95ABE768,18 +2743,XDATA-C023,XDATA,XDATA,0x0Cf0Ee63788A0849fE5297F3407f701E122cC023,18 +2744,PDF-e7a9,PDF,PDF,0x0c943300D604c732117DB2755873A0A0683ee7a9,18 +2745,NPXS-e5B3,NPXS,NPXS,0xA15C7Ebe1f07CaF6bFF097D8a589fb8AC49Ae5B3,18 +2746,PRTG-06ca,PRTG,PRTG,0xBD04ccc050058a6A422851fA6c0F92BB65EB06ca,18 +2747,PDX-74B3,PDX,PDX,0x6a8fee0E33Cb65a7E8D21BadCA62E87639ef74B3,18 +2748,XCATGE-96a2,XCATGE,XCATGE,0xc608557D966F6b7568E5c9345285f0c8C90A96a2,9 +2749,KST-6d87,KST,KST,0xBc17729fDf562723f0267F79FF25aDE441056d87,18 +2750,DEXE-Cbd6,DEXE,DEXE,0xde4EE8057785A7e8e800Db58F9784845A5C2Cbd6,18 +2751,XAI-e232,XAI,XAI,0x35e78b3982E87ecfD5b3f3265B601c046cDBe232,18 +2752,GOL-EfaC,GOL,GOL,0x083D41d6DD21EE938f0c055CA4fb12268DF0EfaC,4 +2753,NCT-33d1,NCT,NCT,0x9E46A38F5DaaBe8683E10793b06749EEF7D733d1,18 +2754,ZUM-502c,ZUM,ZUM,0xe0b9BcD54bF8A730EA5d3f1fFCe0885E911a502c,8 +2755,FSCC-8622,FSCC,FSCC,0x0789dbAE94fb18e5789B8e4489BCB7A1ADB58622,8 +2756,KRL-DAC0,KRL,KRL,0x464eBE77c293E473B48cFe96dDCf88fcF7bFDAC0,18 +2757,GMAT-Ca5D,GMAT,GMAT,0xB13dE094Cc5CEe6C4cC0A3737bf0290166D9Ca5D,18 +2758,XFT-45aE,XFT,XFT,0x76BC677d444f1E9d57dAf5187ee2b7dC852745aE,18 +2759,HI-99aC,HI,HI,0xC4f6E93AEDdc11dc22268488465bAbcAF09399aC,18 +2760,HIENS4-2B02,HIENS4,HIENS4,0x00A7EC2F2b451cb0233E8aDbf4C9a951027C2B02,18 +2761,DREP-b4c2,DREP,DREP,0x3Ab6Ed69Ef663bd986Ee59205CCaD8A20F98b4c2,18 +2762,ZEUS-F867,ZEUS,ZEUS,0x6ef460EB3563CfCc73F8147B0A77DAFFeE71F867,18 +2763,BLUSD-79C3,BLUSD,BLUSD,0xB9D7DdDca9a4AC480991865EfEf82E01273F79C3,18 +2764,CERE-B0d6,CERE,CERE,0x2dA719DB753dFA10a62E140f436E1d67F2ddB0d6,10 +2765,OMNIA-E849,OMNIA,OMNIA,0x71dC640b99faAF03544BDbCE87018c2Ae8ebE849,8 +2766,OM-c95d,OM,OM,0x3593D125a4f7849a1B059E64F4517A86Dd60c95d,18 +2767,WVG0-b611,WVG0,WVG0,0x25C7b64A93Eb1261E130eC21a3e9918CaA38b611,18 +2768,XSGD-cA96,XSGD,XSGD,0x70e8dE73cE538DA2bEEd35d14187F6959a8ecA96,6 +2769,PNK-c04d,PNK,PNK,0x93ED3FBe21207Ec2E8f2d3c3de6e058Cb73Bc04d,18 +2770,ROUTE-3dB4,ROUTE,ROUTE,0x16ECCfDbb4eE1A85A33f3A9B21175Cd7Ae753dB4,18 +2771,SARCO-F51A,SARCO,SARCO,0x7697B462A7c4Ff5F8b55BDBC2F4076c2aF9cF51A,18 +2772,BBS-B430,BBS,BBS,0xFe459828c90c0BA4bC8b42F5C5D44F316700B430,18 +2773,BTR-2f3a,BTR,BTR,0x5EA82C27efc7634f1C5Ad20a3561c453433a2f3a,18 +2774,MELON-326d,MELON,MELON,0x37DbA54Fdc402AFF647CE06c66972F5D662c326d,18 +2775,SHEPE-9B1b,SHEPE,SHEPE,0x0b0a8c7C34374C1d0C649917a97EeE6c6c929B1b,9 +2776,PHTR-22dA,PHTR,PHTR,0xE1Fc4455f62a6E89476f1072530C20CF1A0622dA,18 +2777,BOG-AbA1,BOG,BOG,0x0BA74fb26Ca523f2dc22fa4318581CC2452eAbA1,18 +2778,RETH2-86c5,RETH2,RETH2,0x20BC832ca081b91433ff6c17f85701B6e92486c5,18 +2779,FOR-672F,FOR,FOR,0x1FCdcE58959f536621d76f5b7FfB955baa5A672F,18 +2780,BOXFEE-0f94,BOXFEE,BOXFEE,0xE4B91fAf8810F8895772E7cA065D4CB889120f94,18 +2781,MVL-Dc71,MVL,MVL,0xA849EaaE994fb86Afa73382e9Bd88c2B6b18Dc71,18 +2782,TIME-A260,TIME,TIME,0x485d17A6f1B8780392d53D64751824253011A260,8 +2783,ANOM-0942,ANOM,ANOM,0x5224F552f110eC78E6E0468138950AE5F3040942,18 +2784,HICLONEX-4319,HICLONEX,HICLONEX,0x764104dc24DAdFf01150253a58C82337984B4319,18 +2785,PLA-b430,PLA,PLA,0x3a4f40631a4f906c2BaD353Ed06De7A5D3fCb430,18 +2786,TOKE-8C94,TOKE,TOKE,0x2e9d63788249371f1DFC918a52f8d799F4a38C94,18 +2787,ZKITTY-3016,ZKITTY,ZKITTY,0x7DF18E4eFD6e6f73cfb462937dAC40FE42533016,18 +2788,YCC-b0B0,YCC,YCC,0x37E1160184F7dD29f00b78C050Bf13224780b0B0,8 +2789,BTCPEP-cf8E,BTCPEP,BTCPEP,0x61F7FdAAE910f3Ed65Fb1a3aB59354E38B06cf8E,18 +2790,ROOK-3d4a,ROOK,ROOK,0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a,18 +2791,MCHC-ECC3,MCHC,MCHC,0xD69F306549e9d96f183B1AecA30B8f4353c2ECC3,18 +2792,VPP-5e6e,VPP,VPP,0x5EeAA2DCb23056F4E8654a349E57eBE5e76b5e6e,18 +2793,DBI-0EcE,DBI,DBI,0x2dE509bf0014ddF697b220bE628213034d320EcE,18 +2794,XNO-3F83,XNO,XNO,0x05bBe7240De66F6480C9aeda77C1376B13393F83,18 +2795,VRO-1e44,VRO,VRO,0x10BC518c32fbAE5e38Ecb50A612160571bD81e44,8 +2796,XDG-1c8d,XDG,XDG,0x4f81C790581b240A5C948Afd173620EcC8C71c8d,18 +2797,LOC-446c,LOC,LOC,0x5e3346444010135322268a4630d2ED5F8D09446c,18 +2798,ZLW-d68C,ZLW,ZLW,0x5319e86F0e41a06E49eb37046b8c11D78bcAd68C,18 +2799,PSP-3dE5,PSP,PSP,0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5,18 +2800,X2Y2-EBC9,X2Y2,X2Y2,0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9,18 +2801,MEEB-6f16,MEEB,MEEB,0x641927E970222B10b2E8CDBC96b1B4F427316f16,18 +2802,ROCKI-aa04,ROCKI,ROCKI,0xFf44b937788215ecA197BAaf9AF69dbdC214aa04,18 +2803,PVPBOT-c712,PVPBOT,PVPBOT,0x6a36481aF18289f80Af4a1B21e4f6d323faBc712,9 +2804,MIX-0429,MIX,MIX,0x5d285F735998F36631F678FF41fb56A10A4d0429,18 +2805,ABT-E986,ABT,ABT,0xB98d4C97425d9908E66E53A6fDf673ACcA0BE986,18 +2806,X7DAO-2dA0,X7DAO,X7DAO,0x7105E64bF67ECA3Ae9b123F0e5Ca2b83b2eF2dA0,18 +2807,GRG-C964,GRG,GRG,0x4FbB350052Bca5417566f188eB2EBCE5b19BC964,18 +2808,HISEALS-A703,HISEALS,HISEALS,0x286F851b049CcCE1419e09b6468dC3297F86A703,18 +2809,ELAND-3205,ELAND,ELAND,0x33E07f5055173cF8FeBedE8B21B12D1e2b523205,18 +2810,COVN-6F50,COVN,COVN,0x19ac2659599fD01c853dE846919544276aD26F50,18 +2811,ZKP-c5B3,ZKP,ZKP,0x09637E374Ec5baB8C9e9654a97C9593e3038c5B3,9 +2812,BBW-8F69,BBW,BBW,0xd2287a52287dd64AE2c690D74322E2e345dC8F69,18 +2813,SYNC-FD32,SYNC,SYNC,0xB6ff96B8A8d214544Ca0dBc9B33f7AD6503eFD32,18 +2814,EUR-C-A134,EUR-C,EUR-C,0xf7790914Dc335B20Aa19D7c9C9171e14e278A134,18 +2815,JUP-2Be8,JUP,JUP,0x4B1E80cAC91e2216EEb63e29B957eB91Ae9C2Be8,18 +2816,GAINS-FF55,GAINS,GAINS,0x056C1D42Fb1326f57da7f19eBB7dDA4673f1FF55,18 +2817,NRCH-CC51,NRCH,NRCH,0x69fa8e7F6bf1ca1fB0de61e1366f7412b827CC51,9 +2818,OUSG-ee92,OUSG,OUSG,0x1B19C19393e2d034D8Ff31ff34c81252FcBbee92,18 +2819,DFA-99f5,DFA,DFA,0x62959c699A52eC647622c91e79CE73344e4099f5,18 +2820,POLAR-075E,POLAR,POLAR,0x58fcAa970339a9b1f8c0a5b4F3Fcd7af2bA3075E,18 +2821,PACK-1Ab2,PACK,PACK,0xb186035490C8602EaD853EC98bE05E3461521Ab2,18 +2822,QUARTZ-25ef,QUARTZ,QUARTZ,0xbA8A621b4a54e61C442F5Ec623687e2a942225ef,18 +2823,STAT-30C2,STAT,STAT,0x4FC15c91a9c4A9efB404174464687E8e128730C2,18 +2824,LUCKY-6140,LUCKY,LUCKY,0x6B0956258fF7bd7645aa35369B55B61b8e6d6140,8 +2825,DXGM-3475,DXGM,DXGM,0x66F73D0fD4161cfad4302DC145Ff994375c13475,18 +2826,TRIBL-0F86,TRIBL,TRIBL,0x6988A804C74Fd04F37DA1EA4781CEa68c9C00F86,18 +2827,CUSDT-dCC9,CUSDT,CUSDT,0xf650C3d88D12dB855b8bf7D11Be6C55A4e07dCC9,8 +2828,RVP-D48a,RVP,RVP,0x17EF75AA22dD5f6C2763b8304Ab24f40eE54D48a,18 +2829,DOSE-6515,DOSE,DOSE,0xb31eF9e52d94D4120eb44Fe1ddfDe5B4654A6515,18 +2830,AAMMUNIDAIUSDC-2177,AAMMUNIDAIUSDC,AAMMUNIDAIUSDC,0xE340B25fE32B1011616bb8EC495A4d503e322177,18 +2831,IONX-4217,IONX,IONX,0x02D3A27Ac3f55d5D91Fb0f52759842696a864217,18 +2832,CVP-DcA1,CVP,CVP,0x38e4adB44ef08F22F5B5b76A8f0c2d0dCbE7DcA1,18 +2833,ID-Eb83,ID,ID,0xEBd9D99A3982d547C5Bb4DB7E3b1F9F14b67Eb83,18 +2834,SU-4f4D,SU,SU,0x9F5f463A7666e04CDABD22BD83569A5c72Cb4f4D,9 +2835,TCH-ac91,TCH,TCH,0x9B39A0B97319a9bd5fed217c1dB7b030453bac91,18 +2836,BCDT-62a5,BCDT,BCDT,0xAcfa209Fb73bF3Dd5bBfb1101B9Bc999C49062a5,18 +2837,WOOL-e525,WOOL,WOOL,0x8355DBE8B0e275ABAd27eB843F3eaF3FC855e525,18 +2838,LA-cdDf,LA,LA,0xE50365f5D679CB98a1dd62D6F6e58e59321BcdDf,18 +2839,PEPES-7E12,PEPES,PEPES,0x6BF765C43030387a983f429c1438e9D2025B7E12,18 +2840,TRIO-3308,TRIO,TRIO,0xF55cD1e399e1cc3D95303048897a680be3313308,8 +2841,MVC-D6f7,MVC,MVC,0x581911b360B6eB3a14eF295a83a91DC2bCE2D6f7,18 +2842,LITX-7a91,LITX,LITX,0x4B48068864F77261838C7849A12853FB94c77a91,18 +2843,PILOT-9525,PILOT,PILOT,0x37C997B35C619C21323F3518B9357914E8B99525,18 +2844,KGC-cFbB,KGC,KGC,0xa8262Eb913FccEa4C3f77fc95b8b4043B384cFbB,18 +2845,BCDN-FE40,BCDN,BCDN,0x1e797Ce986C3CFF4472F7D38d5C4aba55DfEFE40,15 +2846,QRDO-2463,QRDO,QRDO,0x4123a133ae3c521FD134D7b13A2dEC35b56c2463,8 +2847,SAO-086F,SAO,SAO,0x3EF389f264e07fFF3106A3926F2a166d1393086F,9 +2848,YF-DAI-9577,YF-DAI,YF-DAI,0xf4CD3d3Fda8d7Fd6C5a500203e38640A70Bf9577,18 +2849,WAMPL-49Ef,WAMPL,WAMPL,0xEDB171C18cE90B633DB442f2A6F72874093b49Ef,18 +2850,SOP-2cbe,SOP,SOP,0x076641aF1B8f06B7f8C92587156143C109002cbe,18 +2851,DACT-EBec,DACT,DACT,0x343c6de13833bc7d9890eb6B1cd3FBeBC730EBec,9 +2852,XCHF-fc08,XCHF,XCHF,0xB4272071eCAdd69d933AdcD19cA99fe80664fc08,18 +2853,PAR-4703,PAR,PAR,0x68037790A0229e9Ce6EaA8A99ea92964106C4703,18 +2854,VXL-2b31,VXL,VXL,0x16CC8367055aE7e9157DBcB9d86Fd6CE82522b31,18 +2855,SHOP-0D40,SHOP,SHOP,0x99e186E8671DB8B10d45B7A1C430952a9FBE0D40,18 +2856,TOL-2cFA,TOL,TOL,0xd07D9Fe2d2cc067015E2b4917D24933804f42cFA,18 +2857,FAR-4687,FAR,FAR,0xAaE3Cf9968D26925BDb73cE3864e0084a20f4687,18 +2858,ATRI-FB62,ATRI,ATRI,0xdacD69347dE42baBfAEcD09dC88958378780FB62,0 +2859,COMBO-0278,COMBO,COMBO,0xfFffFffF2ba8F66D4e51811C5190992176930278,18 +2860,BLANK-9666,BLANK,BLANK,0x41A3Dba3D677E573636BA691a70ff2D606c29666,18 +2861,DDIM-8E20,DDIM,DDIM,0xFbEEa1C75E4c4465CB2FCCc9c6d6afe984558E20,18 +2862,MTA-AcD2,MTA,MTA,0xa3BeD4E1c75D00fa6f4E5E6922DB7261B5E9AcD2,18 +2863,BANANA-F03a,BANANA,BANANA,0x94e496474F1725f1c1824cB5BDb92d7691A4F03a,18 +2864,ICH-6166,ICH,ICH,0xf8483E2d6560585C02D46bF7B3186Bf154a96166,8 +2865,HART-861d,HART,HART,0x52928C95C4C7e934E0EfcfAB08853A0E4558861d,18 +2866,POLA-2CED,POLA,POLA,0xc691bc298a304d591Ad9b352c7A8D216dE9f2CED,18 +2867,DUCK-57D5,DUCK,DUCK,0x92E187a03B6CD19CB6AF293ba17F2745Fd2357D5,18 +2868,MTLX-1d14,MTLX,MTLX,0x2e1E15C44Ffe4Df6a0cb7371CD00d5028e571d14,18 +2869,QTCON-0078,QTCON,QTCON,0x1bF7Fd22709733cCD7c45AB27Dd02C7EC8E50078,18 +2870,FUSDT-27d7,FUSDT,FUSDT,0x81994b9607e06ab3d5cF3AffF9a67374f05F27d7,8 +2871,PPC-2958,PPC,PPC,0x044d078F1c86508e13328842Cc75AC021B272958,6 +2872,BTC2X-FLI-1c2b,BTC2X-FLI,BTC2X-FLI,0x0B498ff89709d3838a063f1dFA463091F9801c2b,18 +2873,ALBT-0Eb0,ALBT,ALBT,0x00a8b738E453fFd858a7edf03bcCfe20412f0Eb0,18 +2874,MM-c611,MM,MM,0x6B4c7A5e3f0B99FCD83e9c089BDDD6c7FCe5c611,18 +2875,SHOP-4B8b,SHOP,SHOP,0x64b78325d7495D6d4be92f234fa3f3B8d8964B8b,18 +2876,CNHT-7AEF,CNHT,CNHT,0x6E109E9dD7Fa1a58BC3eff667e8e41fC3cc07AEF,6 +2877,DPAY-Dd78,DPAY,DPAY,0xE5A733681bbE6cd8c764Bb8078ef8E13a576Dd78,18 +2878,SENATE-4470,SENATE,SENATE,0x34Be5b8C30eE4fDe069DC878989686aBE9884470,18 +2879,VEN-53c3,VEN,VEN,0x3A529A8d4f2ea64D206339fA12A3aF4D431F53c3,18 +2880,AX-dA39,AX,AX,0xCB0D82f4DFA503C9e3b8Abc7A3Caa01175b2dA39,18 +2881,FLUT-1870,FLUT,FLUT,0x4F08705FB8F33AffC231ed66e626B40E84A71870,11 +2882,UMAD-326f,UMAD,UMAD,0x31c2415c946928e9FD1Af83cdFA38d3eDBD4326f,8 +2883,STIMA-24Df,STIMA,STIMA,0xD2e5decc08A80be6538F89f9AB8ff296e2f724Df,6 +2884,SUTER-5DB4,SUTER,SUTER,0xAA2ce7Ae64066175E0B90497CE7d9c190c315DB4,18 +2885,MEED-47b7,MEED,MEED,0x8503a7b00B4b52692cC6c14e5b96F142E30547b7,18 +2886,NEBO-b455,NEBO,NEBO,0x7f0c8B125040f707441cad9e5eD8a8408673b455,18 +2887,CETH-0ED5,CETH,CETH,0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5,8 +2888,BRWL-877a,BRWL,BRWL,0x4086E77C5E993FDB90a406285d00111a974F877a,4 +2889,VRX-B4e5,VRX,VRX,0x87DE305311D5788e8da38D19bb427645b09CB4e5,18 +2890,MDT-7d26,MDT,MDT,0x814e0908b12A99FeCf5BC101bB5d0b8B5cDf7d26,18 +2891,YAM-8521,YAM,YAM,0x0AaCfbeC6a24756c20D41914F2caba817C0d8521,18 +2892,SHIB20-4483,SHIB20,SHIB20,0x34ba042827996821CFFEB06477D48a2Ff9474483,8 +2893,DV-65b6,DV,DV,0x2a03A891ADD2dc6d0F7b94419086630ba5cB65b6,18 +2894,KINE-F05D,KINE,KINE,0xCbfef8fdd706cde6F208460f2Bf39Aa9c785F05D,18 +2895,MTH-1F16,MTH,MTH,0xaF4DcE16Da2877f8c9e00544c93B62Ac40631F16,5 +2896,NTN-BEe2,NTN,NTN,0x56D3d0B333D29b48DD7c01d516A737B8866fBEe2,18 +2897,STANDARD-2bcd,STANDARD,STANDARD,0xDA0c94c73D127eE191955FB46bACd7FF999b2bcd,18 +2898,GRLC-5BE9,GRLC,GRLC,0x58f7345b5295E43aA454911571f13be186655BE9,8 +2899,YEL-75ea,YEL,YEL,0x7815bDa662050D84718B988735218CFfd32f75ea,18 +2900,FABRIC-e523,FABRIC,FABRIC,0x8c6Fa66c21aE3fC435790E451946a9Ea82E6e523,18 +2901,BLT-B82e,BLT,BLT,0x107c4504cd79C5d2696Ea0030a8dD4e92601B82e,18 +2902,XY-50DE,XY,XY,0x77777777772cf0455fB38eE0e75f38034dFa50DE,18 +2903,MANC-3363,MANC,MANC,0xE0c05ec44775e4AD62CDC2eEcdF337aA7A143363,2 +2904,TOS-8153,TOS,TOS,0x409c4D8cd5d2924b9bc5509230d16a61289c8153,18 +2905,MYST-f361,MYST,MYST,0x4Cf89ca06ad997bC732Dc876ed2A7F26a9E7f361,18 +2906,VADER-0983,VADER,VADER,0x2602278EE1882889B946eb11DC0E810075650983,18 +2907,COT-4CE8,COT,COT,0x5CAc718A3AE330d361e39244BF9e67AB17514CE8,18 +2908,IAI-2122,IAI,IAI,0x6dDe4fFD6dB302Bc9a46850f61399e082f6c2122,18 +2909,GOLD-73b8,GOLD,GOLD,0x486F4641eF2B50cC130Dadbd27B6F271723873b8,18 +2910,TRZ-56AA,TRZ,TRZ,0x394A16744Dcd805BB0cA7252e70691f0dcAc56AA,18 +2911,INSAI-4674,INSAI,INSAI,0xceec4aE5CF5300aC9A49a816961Af9393b214674,6 +2912,EDEN-1559,EDEN,EDEN,0x1559FA1b8F28238FD5D76D9f434ad86FD20D1559,18 +2913,QUAD-77EE,QUAD,QUAD,0xAB2A7B5876D707e0126B3A75EF7781c77c8877EE,18 +2914,PBTC-733b,PBTC,PBTC,0x5228a22e72ccC52d415EcFd199F99D0665E7733b,18 +2915,INDEX-4cab,INDEX,INDEX,0x0954906da0Bf32d5479e25f46056d22f08464cab,18 +2916,YLD-6F48,YLD,YLD,0xF94b5C5651c888d928439aB6514B93944eEE6F48,18 +2917,ARIA20-4aF9,ARIA20,ARIA20,0xeDF6568618A00C6F0908Bf7758A16F76B6E04aF9,18 +2918,JIYUU-07bD,JIYUU,JIYUU,0x77D9046ee15FAACeB89439FFdDE4be071C2F07bD,18 +2919,AFY-6A21,AFY,AFY,0xa41161AF8D4Ee421ba5fED4328F2B12034796A21,18 +2920,UNIC-3aD5,UNIC,UNIC,0x94E0BAb2F6Ab1F19F4750E42d7349f2740513aD5,18 +2921,PERI-8492,PERI,PERI,0x5d30aD9C6374Bf925D0A75454fa327AACf778492,18 +2922,CIV-361d,CIV,CIV,0x37fE0f067FA808fFBDd12891C0858532CFE7361d,18 +2923,SUNC-C56F,SUNC,SUNC,0x692aCCdD8b86692427E0aa4752AE917Df01CC56F,18 +2924,ASTRADAO-3E23,ASTRADAO,ASTRADAO,0x7E9c15C43f0D6C4a12E6bdfF7c7D55D0f80e3E23,18 +2925,CART-273e,CART,CART,0x5C8C8D560048F34E5f7f8ad71f2f81a89DBd273e,18 +2926,AAMMUNIYFIWETH-0E8f,AAMMUNIYFIWETH,AAMMUNIYFIWETH,0x5394794Be8b6eD5572FCd6b27103F46b5F390E8f,18 +2927,ENTR-d66e,ENTR,ENTR,0xd779eEA9936B4e323cDdff2529eb6F13d0A4d66e,18 +2928,SX-F89D,SX,SX,0x96Eb50804d0eF2790f2E1A33670FEff6040CF89D,18 +2929,LOCUS-b054,LOCUS,LOCUS,0xC64500DD7B0f1794807e67802F8Abbf5F8Ffb054,18 +2930,BDP-480e,BDP,BDP,0xf3dcbc6D72a4E1892f7917b7C43b74131Df8480e,18 +2931,DAKS-B200,DAKS,DAKS,0x6f38e0f1a73c96cB3f42598613EA3474F09cB200,0 +2932,BABYFLOKI-6A61,BABYFLOKI,BABYFLOKI,0xae83511C4Ef07358e2D95B0c219A5f9EB8656A61,18 +2933,BCUBE-0A93,BCUBE,BCUBE,0x93C9175E26F57d2888c7Df8B470C9eeA5C0b0A93,18 +2934,PLSD-36A7,PLSD,PLSD,0x34F0915a5f15a66Eba86F6a58bE1A471FB7836A7,12 +2935,MARS4-ed87,MARS4,MARS4,0x16CDA4028e9E872a38AcB903176719299beAed87,18 +2936,TAI-3B7f,TAI,TAI,0x2F4404C4012476929b6503E1397707480bf23B7f,9 +2937,UCX-C933,UCX,UCX,0x3D3af44cf092a49280e316f09c8f20ecf97BC933,18 +2938,PKT-e83f,PKT,PKT,0x2604FA406Be957E542BEb89E6754fCdE6815e83f,18 +2939,TCR-F050,TCR,TCR,0x9C4A4204B79dd291D6b6571C5BE8BbcD0622F050,18 +2940,TNT-30a0,TNT,TNT,0x6692De64716a177c15360D8d010BC522bBc530a0,18 +2941,LMT-c8AF,LMT,LMT,0x327673aE6B33Bd3d90f0096870059994f30Dc8AF,18 +2942,BIFI-BA81,BIFI,BIFI,0x2791BfD60D232150Bff86b39B7146c0eaAA2BA81,18 +2943,DOKE-A128,DOKE,DOKE,0x517ABf1fCDBD76BC75B532683ada9113E313A128,9 +2944,DOGU-dCf4,DOGU,DOGU,0x8326Bf664704966C984a3A46Fa37d7A80A52dCf4,18 +2945,STARX-e467,STARX,STARX,0xC4e8A9D47000Ab8E59c7031e311762c68215e467,18 +2946,LIFE-8EE6,LIFE,LIFE,0x6c936D4AE98E6d2172dB18c16C4b601C99918EE6,18 +2947,TEMP-1aB9,TEMP,TEMP,0xA36FDBBAE3c9d55a1d67EE5821d53B50B63A1aB9,18 +2948,IDLEDAIYIELD-3bB4,IDLEDAIYIELD,IDLEDAIYIELD,0x3fE7940616e5Bc47b0775a0dccf6237893353bB4,18 +2949,PANDA-00DC,PANDA,PANDA,0x3cBb7f5d7499Af626026E96a2f05df806F2200DC,18 +2950,RADAR-DEa8,RADAR,RADAR,0xf9FBE825BFB2bF3E387af0Dc18caC8d87F29DEa8,18 +2951,UMI-C69C,UMI,UMI,0x61107a409fFFe1965126aa456Af679719695C69C,18 +2952,OPIUM-eC11,OPIUM,OPIUM,0x888888888889C00c67689029D7856AAC1065eC11,18 +2953,FR-b532,FR,FR,0xC626e0619aC79AFEa9281c8eB9b1a9f9D3Fab532,18 +2954,DEPAY-55eb,DEPAY,DEPAY,0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb,18 +2955,BLXM-1a08,BLXM,BLXM,0x38d9eb07A7b8Df7D86F440A4A5c4a4c1a27E1a08,18 +2956,UUU-605D,UUU,UUU,0x3543638eD4a9006E4840B105944271Bcea15605D,18 +2957,VBNT-7f94,VBNT,VBNT,0x48Fb253446873234F2fEBbF9BdeAA72d9d387f94,18 +2958,PIB-b8A7,PIB,PIB,0x1864cE27E9F7517047933CaAE530674e8C70b8A7,18 +2959,LGCY-8A0d,LGCY,LGCY,0xaE697F994Fc5eBC000F8e22EbFfeE04612f98A0d,18 +2960,F9-CC1F,F9,F9,0x38A94e92A19E970c144DEd0B2DD47278CA11CC1F,9 +2961,EDGE-7831,EDGE,EDGE,0x4EC1b60B96193a64AcAe44778e51f7BfF2007831,18 +2962,TON-33C5,TON,TON,0x2be5e8c109e2197D077D13A82dAead6a9b3433C5,18 +2963,CPC-c090,CPC,CPC,0xfAE4Ee59CDd86e3Be9e8b90b53AA866327D7c090,18 +2964,EQUAD-7DF2,EQUAD,EQUAD,0xC28e931814725BbEB9e670676FaBBCb694Fe7DF2,18 +2965,ARTH-8a71,ARTH,ARTH,0x8CC0F052fff7eaD7f2EdCCcaC895502E884a8a71,18 +2966,ELAN-28B5,ELAN,ELAN,0x1b5036bEc1B82D44d52Fa953A370b3c6Cd9328B5,18 +2967,POCHI-4d90,POCHI,POCHI,0x8eB1779A32678452eB273A22d413207299904d90,18 +2968,NFTY-3208,NFTY,NFTY,0xE1D7C7a4596B038CEd2A84bF65B8647271C53208,18 +2969,SYNR-490a,SYNR,SYNR,0xbc6E06778708177a18210181b073DA747C88490a,18 +2970,UDT-1517,UDT,UDT,0x90DE74265a416e1393A450752175AED98fe11517,18 +2971,UNDEAD-7947,UNDEAD,UNDEAD,0x310C8F00b9dE3c31Ab95ea68feb6C877538f7947,18 +2972,SMART-AD8c,SMART,SMART,0xce20BB92CCF9BbF5091ef85649E71E552819AD8c,18 +2973,KAN-8f4a,KAN,KAN,0x1410434b0346f5bE678d0FB554E5c7ab620f8f4a,18 +2974,BOXETH-3B73,BOXETH,BOXETH,0x7690202e2C2297bcD03664e31116d1dFfE7e3B73,18 +2975,BIBLE-543c,BIBLE,BIBLE,0x95e05e2Abbd26943874ac000D87C3D9e115B543c,18 +2976,DVI-9770,DVI,DVI,0x10633216E7E8281e33c86F02Bf8e565a635D9770,18 +2977,TKP-AcaC,TKP,TKP,0xd31695a1d35E489252CE57b129FD4b1B05E6AcaC,18 +2978,DEFX-8eDa,DEFX,DEFX,0x5F474906637bdCDA05f29C74653F6962bb0f8eDa,18 +2979,ORC-2F51,ORC,ORC,0x662b67d00A13FAf93254714DD601F5Ed49Ef2F51,18 +2980,LOOT-8335,LOOT,LOOT,0x721A1B990699eE9D90b6327FaaD0A3E840aE8335,18 +2981,DUCK-305F,DUCK,DUCK,0xC0bA369c8Db6eB3924965e5c4FD0b4C1B91e305F,18 +2982,KAP-8569,KAP,KAP,0x9625cE7753ace1fa1865A47aAe2c5C2Ce4418569,18 +2983,CREDI-4c6B,CREDI,CREDI,0xaE6e307c3Fe9E922E5674DBD7F830Ed49c014c6B,18 +2984,UNT-fdFe,UNT,UNT,0x8d610E20481F4C4f3aCB87bBa9c46BeF7795fdFe,18 +2985,UNCL-Dd49,UNCL,UNCL,0x2f4eb47A1b1F4488C71fc10e39a4aa56AF33Dd49,18 +2986,BCMC-93F9,BCMC,BCMC,0x2BA8349123de45E931a8C8264c332E6e9CF593F9,18 +2987,LBK-37b6,LBK,LBK,0x9cB1AEaFcc8A9406632C5B084246Ea72f62d37b6,8 +2988,SNP-FA9d,SNP,SNP,0x6911F552842236bd9E8ea8DDBB3fb414e2C5FA9d,18 +2989,PAWTH-367F,PAWTH,PAWTH,0xAEcc217a749c2405b5ebC9857a16d58Bdc1c367F,9 +2990,DZAR-341c,DZAR,DZAR,0x9Cb2f26A23b8d89973F08c957C4d7cdf75CD341c,6 +2991,AOG-97C2,AOG,AOG,0x8578530205CEcbe5DB83F7F29EcfEEC860C297C2,18 +2992,FODL-b9C3,FODL,FODL,0x4C2e59D098DF7b6cBaE0848d66DE2f8A4889b9C3,18 +2993,GOGO-4A17,GOGO,GOGO,0x9a96E767bFCcE8E80370BE00821ED5BA283D4A17,18 +2994,FST-3606,FST,FST,0x0E192d382a36De7011F795Acc4391Cd302003606,18 +2995,DKA-fCE0,DKA,DKA,0x5dc60C4D5e75D22588FA17fFEB90A63E535efCE0,18 +2996,PATH-7588,PATH,PATH,0x2a2550e0A75aCec6D811AE3930732F7f3ad67588,18 +2997,ASIA-6011,ASIA,ASIA,0xF519381791C03DD7666C142D4E49Fd94d3536011,18 +2998,IOI-1d81,IOI,IOI,0x8B3870Df408fF4D7C3A26DF852D41034eDa11d81,6 +2999,WPC-6746,WPC,WPC,0x6F620EC89B8479e97A6985792d0c64F237566746,18 +3000,HBCH-0Aa5,HBCH,HBCH,0xaAC679720204aAA68B6C5000AA87D789a3cA0Aa5,18 +3001,AZK-1A99,AZK,AZK,0x5408245a4D7c685F59cE6D3b8B35916dd6c11A99,18 +3002,DECI-4eA6,DECI,DECI,0x6b32022693210cD2Cfc466b9Ac0085DE8fC34eA6,8 +3003,EQX-8B15,EQX,EQX,0xBd3de9a069648c84d27d74d701C9fa3253098B15,18 +3004,CBG-9BA9,CBG,CBG,0x1900E8B5619a3596745F715d0427Fe617c729BA9,18 +3005,REVO-1409,REVO,REVO,0x155040625D7ae3e9caDA9a73E3E44f76D3Ed1409,18 +3006,TOTM-599A,TOTM,TOTM,0x6FF1BFa14A57594a5874B37ff6AC5efbD9F9599A,18 +3007,SNS-19DB,SNS,SNS,0xEa4a2327E75252517535fd013b7C6706609819DB,18 +3008,LBL-eDE1,LBL,LBL,0x2162f572B25f7358db9376AB58a947a4e45CeDE1,18 +3009,TXL-4b41,TXL,TXL,0x8eEF5a82E6Aa222a60F009ac18c24EE12dBf4b41,18 +3010,ODDZ-5Bf6,ODDZ,ODDZ,0xCd2828fc4D8E8a0eDe91bB38CF64B1a81De65Bf6,18 +3011,PLR-9C17,PLR,PLR,0xe3818504c1B32bF1557b16C238B2E01Fd3149C17,18 +3012,RLTM-f389,RLTM,RLTM,0x1b396CF90504686b7edE2760eebb053d30d1f389,18 +3013,SASHIMI-64c2,SASHIMI,SASHIMI,0xC28E27870558cF22ADD83540d2126da2e4b464c2,18 +3014,NIHAO-605D,NIHAO,NIHAO,0xC3681A720605bD6F8fe9A2FaBff6A7CDEcDc605D,18 +3015,WGR-B6e0,WGR,WGR,0xC237868a9c5729bdF3173dDDacaa336a0a5BB6e0,8 +3016,MTC-e745,MTC,MTC,0x905E337c6c8645263D3521205Aa37bf4d034e745,18 +3017,ATD-4f54,ATD,ATD,0x8052327F1BAF94A9DC8B26b9100f211eE3774f54,18 +3018,UNV-A673,UNV,UNV,0xf009f5531dE69067435e32c4b9D36077F4C4A673,18 +3019,SOLVE-406F,SOLVE,SOLVE,0x446C9033E7516D820cc9a2ce2d0B7328b579406F,8 +3020,LUA-21cC,LUA,LUA,0xB1f66997A5760428D3a87D68b90BfE0aE64121cC,18 +3021,GLDN-0CC2,GLDN,GLDN,0xFeeB4D0f5463B1b04351823C246bdB84c4320CC2,18 +3022,GUILD-475A,GUILD,GUILD,0x83E9F223e1edb3486F876EE888d76bFba26c475A,18 +3023,HYPE-15dA,HYPE,HYPE,0x85225Ed797fd4128Ac45A992C46eA4681a7A15dA,18 +3024,POGEX-8876,POGEX,POGEX,0xAEd8077B25c88AF2e711aBdcc24ef9389B028876,18 +3025,DFD-333A,DFD,DFD,0x20c36f062a31865bED8a5B1e512D9a1A20AA333A,18 +3026,ETHA-2e38,ETHA,ETHA,0x59E9261255644c411AfDd00bD89162d09D862e38,18 +3027,CMOS-2a8e,CMOS,CMOS,0x87869A9789291A6cEC99f3c3Ef2fF71fcEb12a8e,9 +3028,SALE-B589,SALE,SALE,0xF063fE1aB7a291c5d06a86e14730b00BF24cB589,18 +3029,KANGAL-d337,KANGAL,KANGAL,0x6E765D26388A17A6e86c49A8E41DF3F58aBcd337,18 +3030,GP-dB32,GP,GP,0x8F8eD076e61A27DB72a5724ea0907A66fb0ddB32,18 +3031,EBSO-F942,EBSO,EBSO,0x866f8a50A64e68ca66E97e032c5Da99538B3F942,4 +3032,LYM-c8c5,LYM,LYM,0xc690F7C7FcfFA6a82b79faB7508c466FEfdfc8c5,18 +3033,TROLL-eB3A,TROLL,TROLL,0xf8ebf4849F1Fa4FaF0DFF2106A173D3A6CB2eB3A,18 +3034,TOKO-2675,TOKO,TOKO,0xa0F0546Eb5E3eE7e8cfC5DA12e5949F3AE622675,18 +3035,EMTRG-8A9F,EMTRG,EMTRG,0xBd2949F67DcdC549c6Ebe98696449Fa79D988A9F,18 +3036,PRIMATE-95ff,PRIMATE,PRIMATE,0x46e98FFE40E408bA6412bEb670507e083C8B95ff,18 +3037,ALTD-E0D1,ALTD,ALTD,0x8929e9DbD2785e3BA16175E596CDD61520feE0D1,18 +3038,NGC-f131,NGC,NGC,0x72dD4b6bd852A3AA172Be4d6C5a6dbEc588cf131,18 +3039,RCN-75A6,RCN,RCN,0xF970b8E36e23F7fC3FD752EeA86f8Be8D83375A6,18 +3040,NEZUKO-7756,NEZUKO,NEZUKO,0x049715C70fDbdD2be4814f76a53Dc3D6F4367756,18 +3041,GAME-1d1c,GAME,GAME,0xD567B5F02b9073aD3a982a099a23Bf019FF11d1c,5 +3042,RIBBIT-5fFe,RIBBIT,RIBBIT,0xb794Ad95317f75c44090f64955954C3849315fFe,18 +3043,FNT-9D59,FNT,FNT,0xDc5864eDe28BD4405aa04d93E05A0531797D9D59,6 +3044,KNIGHT-16bC,KNIGHT,KNIGHT,0x3541A5C1b04AdABA0B83F161747815cd7B1516bC,18 +3045,CPD-5355,CPD,CPD,0x9b31bb425D8263fA1b8B9d090b83CF0C31665355,18 +3046,HIFIDENZA-4eC7,HIFIDENZA,HIFIDENZA,0xb3e6Ee8d2c586FA03Ab70Aef96B8aE6D12D64eC7,18 +3047,PEPECOLA-A141,PEPECOLA,PEPECOLA,0x55fB228730ED971269EBF284C7500d5fF572A141,9 +3048,FSW-26DB,FSW,FSW,0xfffffffFf15AbF397dA76f1dcc1A1604F45126DB,18 +3049,MOCHI-9896,MOCHI,MOCHI,0xf134519cBE2042B06Ee7cE20Df51d09b55559896,18 +3050,PXG-437e,PXG,PXG,0x47e67BA66b0699500f18A53F94E2b9dB3D47437e,18 +3051,ARCHA-C7fD,ARCHA,ARCHA,0x36E43065e977bC72CB86Dbd8405fae7057CDC7fD,9 +3052,PLAQ-2435,PLAQ,PLAQ,0xd6710559656f2ecD336b153B0719500Fff8C2435,18 +3053,AVG-311f,AVG,AVG,0xa41F142b6eb2b164f8164CAE0716892Ce02f311f,18 +3054,FEI-87CA,FEI,FEI,0x956F47F50A910163D8BF957Cf5846D573E7f87CA,18 +3055,HIMAYC-Bdda,HIMAYC,HIMAYC,0x635F15eb7Aa2e62d122f6B1f9f519fDCcf4aBdda,18 +3056,RAPTOR-4BC3,RAPTOR,RAPTOR,0xD115A61A25c059c78cD34b97Fab7aB25dfC84BC3,9 +3057,TOWER-7d0B,TOWER,TOWER,0x1C9922314ED1415c95b9FD453c3818fd41867d0B,18 +3058,NEURONI-f332,NEURONI,NEURONI,0x922e2708462c7a3d014D8344F7C4d92b27ECf332,18 +3059,IHF-D58e,IHF,IHF,0xaF1250fa68D7DECD34fD75dE8742Bc03B29BD58e,18 +3060,SHIN-660b,SHIN,SHIN,0xa27A6FA698a63f82e559914c11C6Cd888060660b,18 +3061,APM-BA6c,APM,APM,0xC8C424B91D8ce0137bAB4B832B7F7D154156BA6c,18 +3062,LPOOL-Df5B,LPOOL,LPOOL,0x6149C26Cd2f7b5CCdb32029aF817123F6E37Df5B,18 +3063,JAM-5A72,JAM,JAM,0x23894DC9da6c94ECb439911cAF7d337746575A72,18 +3064,BRIGHT-af55,BRIGHT,BRIGHT,0xBEaB712832112bd7664226db7CD025B153D3af55,18 +3065,BPRO-5f61,BPRO,BPRO,0xbbBBBBB5AA847A2003fbC6b5C16DF0Bd1E725f61,18 +3066,MG-677B,MG,MG,0xB444Cb2bcB19180602328fA774738cB8DbD6677B,9 +3067,SEUR-8620,SEUR,SEUR,0xD71eCFF9342A5Ced620049e616c5035F1dB98620,18 +3068,GM-37e6,GM,GM,0xe5597f0723EeaBa1B26948e06f008Bf0fc1e37e6,18 +3069,ICHI-C4d6,ICHI,ICHI,0x111111517e4929D3dcbdfa7CCe55d30d4B6BC4d6,18 +3070,NPX-4a02,NPX,NPX,0x28b5E12CcE51f15594B0b91d5b5AdaA70F684a02,2 +3071,RENBTC-B27D,RENBTC,RENBTC,0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D,8 +3072,WHALE-38e0,WHALE,WHALE,0x9355372396e3F6daF13359B7b607a3374cc638e0,4 +3073,DDX-Ed3A,DDX,DDX,0x3A880652F47bFaa771908C07Dd8673A787dAEd3A,18 +3074,CIRUS-8756,CIRUS,CIRUS,0xA01199c61841Fce3b3daFB83FeFC1899715c8756,18 +3075,HIOD-1315,HIOD,HIOD,0x7a83FF237e7870d8d6C3485920EBe654D2841315,18 +3076,REVV-A8Ca,REVV,REVV,0x557B933a7C2c45672B610F8954A3deB39a51A8Ca,18 +3077,CRE8R-d8d6,CRE8R,CRE8R,0xaa61D5dec73971CD4a026ef2820bB87b4a4Ed8d6,18 +3078,GLR-43B1,GLR,GLR,0xd54619E0b9899D74Cc9B981354Eb6b59732c43B1,18 +3079,KEKE-A3fF,KEKE,KEKE,0xf7168c8AbB0ff80116413a8d95396BBdC318A3fF,7 +3080,EURT-E491,EURT,EURT,0xC581b735A1688071A1746c968e0798D642EDE491,6 +3081,MET-89aa,MET,MET,0x2Ebd53d035150f328bd754D6DC66B99B0eDB89aa,18 +3082,HISQUIGGLE-f13F,HISQUIGGLE,HISQUIGGLE,0x51395AdE06Eae126f590e7B06Dc8F6Baf511f13F,18 +3083,TRUTH-cd53,TRUTH,TRUTH,0xAF75d880b3128981D1fEd3292Fc02E3FB37Acd53,9 +3084,NATION-2069,NATION,NATION,0x333A4823466879eeF910A04D473505da62142069,18 +3085,MUSD-35a5,MUSD,MUSD,0xe2f2a5C287993345a840Db3B0845fbC70f5935a5,18 +3086,BBADGER-fC28,BBADGER,BBADGER,0x19D97D8fA813EE2f51aD4B4e04EA08bAf4DFfC28,18 +3087,OETH-8dC3,OETH,OETH,0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3,18 +3088,CBX-642a,CBX,CBX,0x37FC4b48CE93469dbEA9918468993C735049642a,18 +3089,BTE-80Ef,BTE,BTE,0x73B708E84837FFCcDE2933e3A1531fe61D5e80Ef,18 +3090,IBIT-8FDE,IBIT,IBIT,0xA3cB87080e68AD54D00573983D935Fa85d168FDE,8 +3091,BTSG-54A9,BTSG,BTSG,0x05079687D35b93538cbd59fe5596380cae9054A9,18 +3092,TKN-E73a,TKN,TKN,0xaAAf91D9b90dF800Df4F55c205fd6989c977E73a,8 +3093,UNCX-B1D0,UNCX,UNCX,0xaDB2437e6F65682B85F814fBc12FeC0508A7B1D0,18 +3094,VALOR-0E0a,VALOR,VALOR,0x297E4e5e59Ad72B1B0A2fd446929e76117be0E0a,18 +3095,DEV-5b26,DEV,DEV,0x5cAf454Ba92e6F2c929DF14667Ee360eD9fD5b26,18 +3096,WQT-95bF,WQT,WQT,0x06677Dc4fE12d3ba3C7CCfD0dF8Cd45e4D4095bF,18 +3097,XTN-27a0,XTN,XTN,0x674C6Ad92Fd080e4004b2312b45f796a192D27a0,18 +3098,VIX-085B,VIX,VIX,0x49Bf0220C9Ce17E52dCcA3d217231746D676085B,18 +3099,EMARS-8E19,EMARS,EMARS,0x5b5065A95842Ca8d51274BA9ADf57861D60e8E19,18 +3100,HOPPY-1543,HOPPY,HOPPY,0x8C130499D33097D4D000D3332E1672f75b431543,8 +3101,CUMINU-7536,CUMINU,CUMINU,0xd6327ce1fb9D6020E8C2c0E124A1eC23DCAb7536,18 +3102,NEXUS-7d29,NEXUS,NEXUS,0x0abD596070bE270F04Eb446128B3dC04969E7d29,18 +3103,CAPY-b78a,CAPY,CAPY,0xF03D5fC6E08dE6Ad886fCa34aBF9a59ef633b78a,18 +3104,IFV-4eCE,IFV,IFV,0x3656bD0f3f07623Bb7f429B390D208f894e44eCE,18 +3105,GOB-8A80,GOB,GOB,0xd6929179D752d5D25c5efe2d9729eb77D7138A80,18 +3106,BOLT-e473,BOLT,BOLT,0x36948A6809bE82D3Ba8De9f2Be626101e2C9e473,9 +3107,BTM-c7D5,BTM,BTM,0xC9D21E5A24110b67af31aF464edfDC2dAe5Ec7D5,18 +3108,DOGEGF-6Bc5,DOGEGF,DOGEGF,0xfb130d93E49DcA13264344966A611dc79a456Bc5,18 +3109,DIVI-3a77,DIVI,DIVI,0x246908BfF0b1ba6ECaDCF57fb94F6AE2FcD43a77,8 +3110,UNO-1A77,UNO,UNO,0x474021845C4643113458ea4414bdb7fB74A01A77,18 +3111,MOPS-D967,MOPS,MOPS,0x602f65BB8B8098Ad804E99DB6760Fd36208cD967,18 +3112,AAMMUNIWBTCUSDC-4C6F,AAMMUNIWBTCUSDC,AAMMUNIWBTCUSDC,0x2365a4890eD8965E564B7E2D27C38Ba67Fec4C6F,18 +3113,ICOM-9dCF,ICOM,ICOM,0xB131F337C45D386cEeC234e194b2663D5c3d9dCF,18 +3114,AEL-1EA8,AEL,AEL,0xd337382da15d12Bb6e56498e91DF64f86c8f1EA8,18 +3115,HIGAZERS-8544,HIGAZERS,HIGAZERS,0xc1AD0aA69454603a5dEe55Cf9BD9341e01328544,18 +3116,AQT-4F93,AQT,AQT,0x2a9bDCFF37aB68B95A53435ADFd8892e86084F93,18 +3117,CND-6Da1,CND,CND,0xEc505C81D6a7567b5BDE804870b1038832fE6Da1,18 +3118,ASH-0b92,ASH,ASH,0x64D91f12Ece7362F91A6f8E7940Cd55F05060b92,18 +3119,PIGGY-C36D,PIGGY,PIGGY,0xDF121180Af07cb906d970799627A430D2440C36D,18 +3120,SIPHER-F511,SIPHER,SIPHER,0x9F52c8ecbEe10e00D9faaAc5Ee9Ba0fF6550F511,18 +3121,RYOSHI-618e,RYOSHI,RYOSHI,0x777E2ae845272a2F540ebf6a3D03734A5a8f618e,18 +3122,GVC-58Bf,GVC,GVC,0x8dc89F4716E027394Bba225b82328C1ea2Ea58Bf,18 +3123,BSGG-5a25,BSGG,BSGG,0x69570f3E84f51Ea70b7B68055c8d667e77735a25,18 +3124,DINU-7732,DINU,DINU,0xbb1EE07d6c7BAeB702949904080eb61f5D5e7732,18 +3125,STAK-6D13,STAK,STAK,0x1F8A626883d7724DBd59eF51CBD4BF1Cf2016D13,18 +3126,MVEDA-482d,MVEDA,MVEDA,0xCBe7142F5c16755D8683BA329EFA1ABF7b54482d,8 +3127,MT-37CC,MT,MT,0x9b4e2B4B13d125238Aa0480dD42B4f6fC71b37CC,18 +3128,DFT-Fb6A,DFT,DFT,0xA2A54f1Ec1f09316eF12c1770D32ed8F21B1Fb6A,8 +3129,PLUMS-B104,PLUMS,PLUMS,0x666CBfaA3baa2FAccFAC8854fea1E5Db140FB104,18 +3130,SCURVE-917F,SCURVE,SCURVE,0xC25a3A3b969415c80451098fa907EC722572917F,18 +3131,ZIN-7d06,ZIN,ZIN,0x033e223870f766644f7f7a4B7dc2E91573707d06,18 +3132,MLT-521d,MLT,MLT,0x9506d37f70eB4C3d79C398d326C871aBBf10521d,18 +3133,STMATIC-8599,STMATIC,STMATIC,0x9ee91F9f426fA633d227f7a9b000E28b9dfd8599,18 +3134,NFTX-f776,NFTX,NFTX,0x87d73E916D7057945c9BcD8cdd94e42A6F47f776,18 +3135,SUKI-18d5,SUKI,SUKI,0xD212046F89680aC9F106B9c63f314cc9808e18d5,18 +3136,IXT-f094,IXT,IXT,0xfcA47962D45ADFdfd1Ab2D972315dB4ce7CCf094,8 +3137,MILK2-c1de,MILK2,MILK2,0x80c8C3dCfB854f9542567c8Dac3f44D709eBc1de,18 +3138,APEX-42B8,APEX,APEX,0x52A8845DF664D76C69d2EEa607CD793565aF42B8,18 +3139,CPRX-978f,CPRX,CPRX,0xc6e145421FD494B26dCF2BFeB1b02b7c5721978f,18 +3140,SHAKE-6189,SHAKE,SHAKE,0x6006FC2a849fEdABa8330ce36F5133DE01F96189,18 +3141,UNB-d922,UNB,UNB,0x8dB253a1943DdDf1AF9bcF8706ac9A0Ce939d922,18 +3142,MIST-b7aB,MIST,MIST,0x88ACDd2a6425c3FaAE4Bc9650Fd7E27e0Bebb7aB,18 +3143,NEWO-7D96,NEWO,NEWO,0x98585dFc8d9e7D48F0b1aE47ce33332CF4237D96,18 +3144,PAID-D787,PAID,PAID,0x1614F18Fc94f47967A3Fbe5FfcD46d4e7Da3D787,18 +3145,TETHER-2F16,TETHER,TETHER,0x4D9B0B7a6dB042CB990D36A0df5aA2960e552F16,9 +3146,DIE-4aC7,DIE,DIE,0x6Ef6610d24593805144d73b13d4405E00A4E4aC7,18 +3147,NFTL-F2DD,NFTL,NFTL,0xe7F72Bc0252cA7B16dBb72eEee1AfcDb2429F2DD,18 +3148,DINERO-Be79,DINERO,DINERO,0xa3ad8c7AB6b731045b5b16E3fDf77975c71ABe79,18 +3149,NFD-5346,NFD,NFD,0xDFDb7f72c1F195C5951a234e8DB9806EB0635346,18 +3150,GUM-0f24,GUM,GUM,0x4f5fa8f2d12e5eB780f6082Dd656C565C48E0f24,18 +3151,FCL-0EB3,FCL,FCL,0xF4d861575ecC9493420A3f5a14F85B13f0b50EB3,18 +3152,DUBBZ-Da17,DUBBZ,DUBBZ,0x38029C62DfA30D9FD3CaDf4C64e9b2ab21DbDa17,18 +3153,LQW-2B00,LQW,LQW,0x66580f80a00deAfab4519dC33C35BF44d8A12B00,18 +3154,FT-FBd0,FT,FT,0xEe9E7Bb7E55bBc86414047B61D65c9C0d91fFBd0,18 +3155,BIST-093F,BIST,BIST,0x6e8908cfa881C9f6f2C64d3436E7b80b1bf0093F,18 +3156,DBUY-5782,DBUY,DBUY,0x4EcE5C5CfB9B960A49aAe739E15cDB6cfDcc5782,9 +3157,GHST-1550,GHST,GHST,0x3F382DbD960E3a9bbCeaE22651E88158d2791550,18 +3158,GF-E238,GF,GF,0xAaEf88cEa01475125522e117BFe45cF32044E238,18 +3159,MESA-319F,MESA,MESA,0x5AFFF9876C1F98b7d2b53bCB69EB57e92408319F,18 +3160,DZOO-ca83,DZOO,DZOO,0xc97d6C52F3ADD91Fa1c5287a453d7444aECBca83,18 +3161,JSM-EC2d,JSM,JSM,0x04C618CDbc1D59142dFEB4B9864835A06983EC2d,18 +3162,SYC-Dc94,SYC,SYC,0x0A41E6d4D4897E8Cec819ce7D10B2D7cDa61Dc94,18 +3163,SONIC-37C8,SONIC,SONIC,0x6D56cdDd23a693ED3851fA0A5d8c67A8739537C8,9 +3164,IDLEUSDCSAFE-0D35,IDLEUSDCSAFE,IDLEUSDCSAFE,0x3391bc034f2935eF0E1e41619445F998b2680D35,18 +3165,DAI-1d0F,DAI,DAI,0x6B175474E89094C44Da98b954EedeAC495271d0F,18 +3166,LWD-Ca83,LWD,LWD,0x786e995A975C2ab7C1dd252A9019fB0c91c9Ca83,18 +3167,STRIDR-F22C,STRIDR,STRIDR,0x5CEAa82FFd3b1c0193ff65Fc93510846dD56F22C,9 +3168,DVP-9812,DVP,DVP,0x8E30ea2329D95802Fd804f4291220b0e2F579812,18 +3169,MYB-e0BC,MYB,MYB,0x5d60d8d7eF6d37E16EBABc324de3bE57f135e0BC,18 +3170,PPT-8e3a,PPT,PPT,0xd4fa1460F537bb9085d22C7bcCB5DD450Ef28e3a,8 +3171,EMOTI-b988,EMOTI,EMOTI,0x9b0E1C344141fB361B842d397dF07174E1CDb988,9 +3172,GFX-58fC,GFX,GFX,0x65ad6A2288b2Dd23E466226397c8F5D1794e58fC,18 +3173,IYKYK-a2bA,IYKYK,IYKYK,0x7cB683151A83c2B10A30cBB003CDA9996228a2bA,18 +3174,PUNDIX-0C38,PUNDIX,PUNDIX,0x0FD10b9899882a6f2fcb5c371E17e70FdEe00C38,18 +3175,MONGOOSE-f156,MONGOOSE,MONGOOSE,0xa1817B6d8D890F3943b61648992730373B71f156,9 +3176,TALK-a7A7,TALK,TALK,0xCAabCaA4ca42e1d86dE1a201c818639def0ba7A7,18 +3177,HUSL-26be,HUSL,HUSL,0xa2881F7F441267042f9778fFA0d4F834693426be,18 +3178,GEO-6750,GEO,GEO,0x147faF8De9d8D8DAAE129B187F0D02D819126750,18 +3179,MM-1a63,MM,MM,0xC3c221fE28c33814c28c822b631fd76047eF1a63,18 +3180,RBX-309e,RBX,RBX,0x3Ba925fdeAe6B46d0BB4d424D829982Cb2F7309e,18 +3181,ZCN-3B78,ZCN,ZCN,0xb9EF770B6A5e12E45983C5D80545258aA38F3B78,10 +3182,HAUS-f687,HAUS,HAUS,0xf2051511B9b121394FA75B8F7d4E7424337af687,18 +3183,XYZ-2883,XYZ,XYZ,0x618679dF9EfCd19694BB1daa8D00718Eacfa2883,18 +3184,OCT-c6DC,OCT,OCT,0xF5cFBC74057C610c8EF151A439252680AC68c6DC,18 +3185,DPI-3C2b,DPI,DPI,0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b,18 +3186,PEPEAI-e88D,PEPEAI,PEPEAI,0x8d008CAC1a5CB08aC962b1e34E977B79ABEee88D,18 +3187,CIX-57ca,CIX,CIX,0x6d60A8dFb16D09F67D46fcd36A0Cd310078257ca,18 +3188,DDD-7342,DDD,DDD,0x9F5F3CFD7a32700C93F971637407ff17b91c7342,18 +3189,LEOX-7ad5,LEOX,LEOX,0xa444EC96Ee01bB219A44B285De47bf33C3447ad5,18 +3190,CND-95fa,CND,CND,0xd4c435F5B09F855C3317c8524Cb1F586E42795fa,18 +3191,EYE-1c65,EYE,EYE,0x155ff1A85F440EE0A382eA949f24CE4E0b751c65,18 +3192,PHNX-F2f7,PHNX,PHNX,0x38A2fDc11f526Ddd5a607C1F251C065f40fBF2f7,18 +3193,FRAX-b99e,FRAX,FRAX,0x853d955aCEf822Db058eb8505911ED77F175b99e,18 +3194,MEMEME-1EbE,MEMEME,MEMEME,0x1A963Df363D01EEBB2816b366d61C917F20e1EbE,18 +3195,SWISE-2FA2,SWISE,SWISE,0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2,18 +3196,BAM-4AaB,BAM,BAM,0x9DB0FB0Aebe6A925B7838D16e3993A3976A64AaB,18 +3197,SETH-31cb,SETH,SETH,0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb,18 +3198,HVE2-73f5,HVE2,HVE2,0xD487892BB4C57edBe7aB401d9fe801c8FE6473f5,18 +3199,WOM-Cf76,WOM,WOM,0xBd356a39BFf2cAda8E9248532DD879147221Cf76,18 +3200,SUSD-5f51,SUSD,SUSD,0x57Ab1ec28D129707052df4dF418D58a2D46d5f51,18 +3201,CHAD-55e4,CHAD,CHAD,0x6B89B97169a797d94F057F4a0B01E2cA303155e4,18 +3202,HAKI-6697,HAKI,HAKI,0xF90c7f66eAc7E2130bF677D69a250b2136Cf6697,18 +3203,BACON-38e7,BACON,BACON,0x34f797e7190C131cF630524655A618b5BD8738e7,18 +3204,PEAK-Ad78,PEAK,PEAK,0x630d98424eFe0Ea27fB1b3Ab7741907DFFEaAd78,8 +3205,LEVER-9f1f,LEVER,LEVER,0x4B5f49487ea7B3609b1aD05459BE420548789f1f,18 +3206,0XS-1373,0XS,0XS,0x456815812B3129A4389EA4D73e9706697cc91373,18 +3207,ROKO-FF98,ROKO,ROKO,0x6f222E04F6c53Cc688FfB0Abe7206aAc66A8FF98,18 +3208,COPE-7656,COPE,COPE,0xD8E163967FED76806Df0097B704bA721B9b37656,18 +3209,PEPEG-cD63,PEPEG,PEPEG,0x8BCbef61ACd66537362f38167F11875134FfcD63,18 +3210,WOZX-b79F,WOZX,WOZX,0x34950Ff2b487d9E5282c5aB342d08A2f712eb79F,18 +3211,CVX-9D2B,CVX,CVX,0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B,18 +3212,MRPOTATO-81c8,MRPOTATO,MRPOTATO,0x17Bb9F3572d0C69E017dcd048eC7304EEcC981c8,18 +3213,SNET-c71C,SNET,SNET,0xFf19138b039D938db46bDDA0067DC4BA132ec71C,8 +3214,BAZED-8F4a,BAZED,BAZED,0x3eE4B152824b657644c7A9B50694787e80EB8F4a,18 +3215,WTC-8F74,WTC,WTC,0xb7cB1C96dB6B22b0D3d9536E0108d062BD488F74,18 +3216,ICSA-69ed,ICSA,ICSA,0xfc4913214444aF5c715cc9F7b52655e788A569ed,9 +3217,ELF-100e,ELF,ELF,0xbf2179859fc6D5BEE9Bf9158632Dc51678a4100e,18 +3218,TRVL-1F3d,TRVL,TRVL,0xd47bDF574B4F76210ed503e0EFe81B58Aa061F3d,18 +3219,VOICE-C6A9,VOICE,VOICE,0x2e2364966267B5D7D2cE6CD9A9B5bD19d9C7C6A9,18 +3220,BOX-463A,BOX,BOX,0x045414e728067Ab3da4bCeafC0D992D59183463A,18 +3221,DOGEP-80b9,DOGEP,DOGEP,0xE7eaec9Bca79d537539C00C58Ae93117fB7280b9,18 +3222,DOE-d7eF,DOE,DOE,0xf8E9F10c22840b613cdA05A0c5Fdb59A4d6cd7eF,18 +3223,SWAG-42e6,SWAG,SWAG,0x87eDfFDe3E14c7a66c9b9724747a1C5696b742e6,18 +3224,MOFI-7544,MOFI,MOFI,0xB2dbF14D0b47ED3Ba02bDb7C954e05A72deB7544,18 +3225,NGL-66aE,NGL,NGL,0x2653891204F463fb2a2F4f412564b19e955166aE,18 +3226,AAC-d864,AAC,AAC,0xe75ad3aAB14E4B0dF8c5da4286608DaBb21Bd864,5 +3227,IC-6457,IC,IC,0xA876f27F13A9eB6E621202cEFDD5AFc4a90E6457,9 +3228,MNY-586f,MNY,MNY,0xA6F7645ed967FAF708A614a2fcA8D4790138586f,18 +3229,GAS-8469,GAS,GAS,0x6Bba316c48b49BD1eAc44573c5c871ff02958469,18 +3230,FB-1429,FB,FB,0xFB19075D77a0F111796FB259819830F4780f1429,6 +3231,APED-7fF0,APED,APED,0xE0151763455A8a021e64880C238ba1cff3787fF0,18 +3232,BOR-c1A9,BOR,BOR,0x3c9d6c1C73b31c837832c72E04D3152f051fc1A9,18 +3233,POOF-f57A,POOF,POOF,0x888ceA2BBDD5D47a4032cf63668D7525C74af57A,18 +3234,JUSTICE-90B5,JUSTICE,JUSTICE,0x59d1e836F7b7210A978b25a855085cc46fd090B5,18 +3235,DOJO-e43C,DOJO,DOJO,0x8260328d0C405D9Ca061D80199102DdC9089e43C,9 +3236,ETHEREUM-9959,ETHEREUM,ETHEREUM,0xDC5E9445169C73Cf21e1da0B270e8433caC69959,9 +3237,SFG-90dd,SFG,SFG,0xA71DCaaf5ba390B1B2012323A8810fAc121F90dd,18 +3238,SUPERBID-10D6,SUPERBID,SUPERBID,0x0563DCe613D559a47877fFD1593549fb9d3510D6,18 +3239,JAI-a3BB,JAI,JAI,0x5f3b3c37F47d8532836c800f75e7f262623Aa3BB,18 +3240,IHT-F31E,IHT,IHT,0xEda8B016efA8b1161208Cf041cD86972eeE0F31E,18 +3241,SPUME-5283,SPUME,SPUME,0xa16a609fF4e1A15b6cCb469E7a5dD14E89305283,18 +3242,CBETH-9704,CBETH,CBETH,0xBe9895146f7AF43049ca1c1AE358B0541Ea49704,18 +3243,SODO-C24d,SODO,SODO,0x0038e74ff4DAd34404E74B0cB96dB8Ca26EFC24d,18 +3244,KEK-E357,KEK,KEK,0x1353575D76444A11730D2f286e6303990EB1E357,18 +3245,BLU-1FfD,BLU,BLU,0xe5D2e173B120341face9e9970889C9FE64081FfD,18 +3246,MP3-e7a0,MP3,MP3,0x018fb5Af9d015Af25592a014C4266a84143De7a0,18 +3247,AMON-07b6,AMON,AMON,0x00059AE69c1622A7542EdC15E8d17b060fE307b6,18 +3248,MQL-7A3E,MQL,MQL,0x428dc22668E6F3468273634067e5545ED5417A3E,18 +3249,XLM-a551,XLM,XLM,0x3ffDDe70f128de8A5c8b116142d79889d6d5a551,9 +3250,INNBC-8c42,INNBC,INNBC,0xB67718b98d52318240c52E71A898335da4A28c42,6 +3251,CNB-19DB,CNB,CNB,0xC538143202f3b11382D8606aae90a96b042a19DB,18 +3252,CADC-2Eef,CADC,CADC,0xcaDC0acd4B445166f12d2C07EAc6E2544FbE2Eef,18 +3253,JEFF-76ab,JEFF,JEFF,0xF831938CaF837cd505dE196BBb408D81A06376ab,18 +3254,CTC-0419,CTC,CTC,0xa3EE21C306A700E682AbCdfe9BaA6A08F3820419,18 +3255,HMQ-b908,HMQ,HMQ,0xcbCC0F036ED4788F63FC0fEE32873d6A7487b908,8 +3256,OPENAIERC-5041,OPENAIERC,OPENAIERC,0x6A6AA13393B7d1100c00a57c76c39e8B6C835041,9 +3257,TWOPAW-47e8,TWOPAW,TWOPAW,0xf7de6DEf3D319811418d69Bf56c532A815FC47e8,18 +3258,DCO-e095,DCO,DCO,0x2a304FDa5a85182dCA1D03741bB2F07881b9e095,8 +3259,MSHIB-9f62,MSHIB,MSHIB,0xb4039240E71535100BE947116c778d5D98bd9f62,18 +3260,NFTY-B17B,NFTY,NFTY,0x3085154623F51b00Dedfc6Ceeb5197277A66B17B,18 +3261,SPORK-1469,SPORK,SPORK,0xb624FdE1a972B1C89eC1dAD691442d5E8E891469,18 +3262,COV-0Ea7,COV,COV,0xADA86b1b313D1D5267E3FC0bB303f0A2b66D0Ea7,18 +3263,BRCP-f480,BRCP,BRCP,0x73484A262730d1d422610729e828346F9B2ff480,18 +3264,TOTORO-2F12,TOTORO,TOTORO,0xfc09c7cFD9c175DD9423ca02aE1249579AB12F12,9 +3265,DPR-07a1,DPR,DPR,0xf3AE5d769e153Ef72b4e3591aC004E89F48107a1,18 +3266,BULL-2541,BULL,BULL,0x9Be776559fED779cAbd67042a7B8987AAe592541,18 +3267,RAZOR-d2cd,RAZOR,RAZOR,0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd,18 +3268,WNCG-9817,WNCG,WNCG,0xf203Ca1769ca8e9e8FE1DA9D147DB68B6c919817,18 +3269,EURS-7ad8,EURS,EURS,0xdB25f211AB05b1c97D595516F45794528a807ad8,2 +3270,PIKA-3578,PIKA,PIKA,0x60F5672A271C7E39E787427A18353ba59A4A3578,18 +3271,MONO-fa5D,MONO,MONO,0x2920f7d6134f4669343e70122cA9b8f19Ef8fa5D,18 +3272,DBD-e722,DBD,DBD,0xA5f1DbB0e55bc31f32c6d032BeE330288490e722,18 +3273,PORTX-66aC,PORTX,PORTX,0x104F3152D8ebFC3f679392977356962Ff36566aC,18 +3274,R34P-81F6,R34P,R34P,0xCAEaf8381D4B20b43AFA42061D6f80319A8881F6,8 +3275,PBR-d695,PBR,PBR,0x298d492e8c1d909D3F63Bc4A36C66c64ACB3d695,18 +3276,ALFA-B592,ALFA,ALFA,0x128ad1ad707c3B36e6F2ac9739f9dF7516FdB592,18 +3277,CTC-ADA3,CTC,CTC,0x00B7db6B4431e345eee5cc23D21E8dbC1d5cADA3,18 +3278,TGT-0325,TGT,TGT,0x108a850856Db3f85d0269a2693D896B394C80325,18 +3279,IDLEUSDCYIELD-797C,IDLEUSDCYIELD,IDLEUSDCYIELD,0x5274891bEC421B39D23760c04A6755eCB444797C,18 +3280,PAW-1B01,PAW,PAW,0xDc63269eA166b70d4780b3A11F5C825C2b761B01,18 +3281,JET-f768,JET,JET,0x8727c112C712c4a03371AC87a74dD6aB104Af768,18 +3282,SUMMER-CA5c,SUMMER,SUMMER,0x4D4f3715050571A447FfFa2Cd4Cf091C7014CA5c,18 +3283,NYM-90e1,NYM,NYM,0x525A8F6F3Ba4752868cde25164382BfbaE3990e1,6 +3284,DOBO-D0B0,DOBO,DOBO,0x73C6A7491d0dB90Bdb0060308CDE0F49dfD1D0B0,18 +3285,M87-e888,M87,M87,0x80122c6a83C8202Ea365233363d3f4837D13e888,18 +3286,FDUSD-6409,FDUSD,FDUSD,0xc5f0f7b66764F6ec8C8Dff7BA683102295E16409,18 +3287,NOIA-b6ca,NOIA,NOIA,0xa8c8CfB141A3bB59FEA1E2ea6B79b5ECBCD7b6ca,18 +3288,COCO-41Eb,COCO,COCO,0xcB50350aB555Ed5d56265E096288536E8Cac41Eb,18 +3289,PAD-468A,PAD,PAD,0xea7Cc765eBC94C4805e3BFf28D7E4aE48D06468A,18 +3290,SHROOMS-465B,SHROOMS,SHROOMS,0x10D07423FDe4747542E76B7199B98a0d03Cf465B,18 +3291,NYAN-3a0C,NYAN,NYAN,0x0ebE30595a44E5288C24161dDfC1E9fa08E33a0C,18 +3292,BZRX-f4b3,BZRX,BZRX,0x56d811088235F11C8920698a204A5010a788f4b3,18 +3293,SHIELD-16AC,SHIELD,SHIELD,0xcf4C68Db4C2FA0bf58dF07B14f45cE7709a716AC,18 +3294,BDP-2B8c,BDP,BDP,0x593114f03A0A575aece9ED675e52Ed68D2172B8c,18 +3295,STON-8C07,STON,STON,0xdC47f2Ba852669B178699449E50682D6CEAF8C07,18 +3296,LAYER-366b,LAYER,LAYER,0x0fF6ffcFDa92c53F615a4A75D982f399C989366b,18 +3297,PLEB-5c87,PLEB,PLEB,0xe19f85c920B572cA48942315B06D6cAc86585c87,18 +3298,OSQTH-E86B,OSQTH,OSQTH,0xf1B99e3E573A1a9C5E6B2Ce818b617F0E664E86B,18 +3299,ZCX-8804,ZCX,ZCX,0xC52C326331E9Ce41F04484d3B5E5648158028804,18 +3300,CUBE-39f4,CUBE,CUBE,0xDf801468a808a32656D2eD2D2d80B72A129739f4,8 +3301,HMT-2867,HMT,HMT,0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867,18 +3302,MLN-1892,MLN,MLN,0xec67005c4E498Ec7f55E092bd1d35cbC47C91892,18 +3303,SIMPSON-9AE1,SIMPSON,SIMPSON,0x44aAd22aFbB2606d7828Ca1f8f9E5af00e779AE1,9 +3304,CX-1a2C,CX,CX,0x5Ad02305Ba9a4985390170337582986E419f1a2C,9 +3305,ULU-2aD4,ULU,ULU,0x035bfe6057E15Ea692c0DfdcaB3BB41a64Dd2aD4,18 +3306,MPT-D30e,MPT,MPT,0x47481c1b44F2A1c0135c45AA402CE4F4dDE4D30e,18 +3307,FLUX-B1d9,FLUX,FLUX,0x469eDA64aEd3A3Ad6f868c44564291aA415cB1d9,18 +3308,OXT-3Deb,OXT,OXT,0x4575f41308EC1483f3d399aa9a2826d74Da13Deb,18 +3309,SMBSWAP-1FDf,SMBSWAP,SMBSWAP,0x53Bd789F2cDb846b227d8ffc7B46eD4263231FDf,18 +3310,BLZN-995E,BLZN,BLZN,0x70eFDc485a10210B056eF8e0A32993Bc6529995E,18 +3311,BBOT-DDBb,BBOT,BBOT,0x70bE04312f5f66D03708F0A1D6353b3E0F80DDBb,9 +3312,BCP-DBa9,BCP,BCP,0x72e203a17adD19A3099137c9d7015fD3e2b7DBa9,18 +3313,AGI-cE85,AGI,AGI,0x5F18ea482ad5cc6BC65803817C99f477043DcE85,18 +3314,NUM-3079,NUM,NUM,0x3496B523e5C00a4b4150D6721320CdDb234c3079,18 +3315,SSV-7f54,SSV,SSV,0x9D65fF81a3c488d585bBfb0Bfe3c7707c7917f54,18 +3316,OPUL-6444,OPUL,OPUL,0x80D55c03180349Fff4a229102F62328220A96444,18 +3317,AMANA-6F6f,AMANA,AMANA,0x6FCE4A401B6B80ACe52baAefE4421Bd188e76F6f,18 +3318,CLNY-13b2,CLNY,CLNY,0x3E828ac5C480069D4765654Fb4b8733b910b13b2,18 +3319,LEND-ab03,LEND,LEND,0x80fB784B7eD66730e8b1DBd9820aFD29931aab03,18 +3320,REDDIT-8AA7,REDDIT,REDDIT,0x86Eab36585EDDb7a949a0B4771BA733D942A8AA7,9 +3321,VALUE-8E5c,VALUE,VALUE,0x49E833337ECe7aFE375e44F4E3e8481029218E5c,18 +3322,GR-575c,GR,GR,0xcE593a29905951E8Fc579bC092ecA72577dA575c,6 +3323,WMINIMA-A4AF,WMINIMA,WMINIMA,0x669c01CAF0eDcaD7c2b8Dc771474aD937A7CA4AF,18 +3324,BRMV-C894,BRMV,BRMV,0x501e8726d06Cdef66f3e0cb67f54924CcA1cC894,18 +3325,CRV-cd52,CRV,CRV,0xD533a949740bb3306d119CC777fa900bA034cd52,18 +3326,LGOLD-088A,LGOLD,LGOLD,0x27778E14Ce36d3B85e1efFeB43816a17bBB7088A,18 +3327,X7R-ca54,X7R,X7R,0x70008F18Fc58928dcE982b0A69C2c21ff80Dca54,18 +3328,DAIN-4461,DAIN,DAIN,0xd7d706ED3598a354A4aDFce5D8C5383dF99a4461,18 +3329,RBC-3333,RBC,RBC,0x3330BFb7332cA23cd071631837dC289B09C33333,18 +3330,GOKU-ED79,GOKU,GOKU,0xA64dFe8D86963151E6496BEe513E366F6e42ED79,9 +3331,ABUSD-30a8,ABUSD,ABUSD,0x6Ee0f7BB50a54AB5253dA0667B0Dc2ee526C30a8,18 +3332,ANKRETH-c3cb,ANKRETH,ANKRETH,0xE95A203B1a91a908F9B9CE46459d101078c2c3cb,18 +3333,HGET-5148,HGET,HGET,0x7968bc6a03017eA2de509AAA816F163Db0f35148,6 +3334,FAKEAI-c62c,FAKEAI,FAKEAI,0x5AEf5bba19e6a1644805Bd4F5C93C8557b87c62c,18 +3335,DFL-95AB,DFL,DFL,0x09ce2B746C32528B7d864A1e3979Bd97d2f095AB,18 +3336,VSP-8421,VSP,VSP,0x1b40183EFB4Dd766f11bDa7A7c3AD8982e998421,18 +3337,SHARES-e404,SHARES,SHARES,0xebB82c932759B515B2efc1CfBB6BF2F6dbaCe404,18 +3338,ARCONA-52B3,ARCONA,ARCONA,0x0f71B8De197A1C84d31de0F1fA7926c365F052B3,18 +3339,ADF-FC42,ADF,ADF,0x7220e92D418E2EB59D0C25d195FA004bfD3aFC42,18 +3340,FOLD-5921,FOLD,FOLD,0xd084944d3c05CD115C09d072B9F44bA3E0E45921,18 +3341,XOY-9e52,XOY,XOY,0xe9F1d62c671EFe99896492766c0B416bD3FB9e52,8 +3342,ASD-00C2,ASD,ASD,0xff742d05420B6Aca4481F635aD8341F81A6300C2,18 +3343,TSL-6294,TSL,TSL,0x03806Ce5ef69Bd9780EDFb04c29da1F23Db96294,18 +3344,LADYS-46bf,LADYS,LADYS,0x12970E6868f88f6557B76120662c1B3E50A646bf,18 +3345,MUSK-6795,MUSK,MUSK,0x719e7f0daDFdeA25B78595da944F44d15d7E6795,18 +3346,LQTY-c54D,LQTY,LQTY,0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D,18 +3347,SNGLS-D009,SNGLS,SNGLS,0xaeC2E87E0A235266D9C5ADc9DEb4b2E29b54D009,0 +3348,TLM-3F72,TLM,TLM,0x888888848B652B3E3a0f34c96E00EEC0F3a23F72,4 +3349,TRACE-094b,TRACE,TRACE,0x9F7fC686CfD64aA5Ae15b351d03071e91533094b,18 +3350,USDSC-2eBe,USDSC,USDSC,0xA4Bdb11dc0a2bEC88d24A3aa1E6Bb17201112eBe,6 +3351,C2H6-cd64,C2H6,C2H6,0x6aD9a31f02F1E790fF85584EA3c3D0001E45cd64,9 +3352,XIDR-aa52,XIDR,XIDR,0xebF2096E01455108bAdCbAF86cE30b6e5A72aa52,6 +3353,NEX-DeEA,NEX,NEX,0x2C623D3cC9a2Cc158951b8093cB94e80cf56DeEA,18 +3354,STRK-d7B1,STRK,STRK,0x74232704659ef37c08995e386A2E26cc27a8d7B1,18 +3355,HND-7ED3,HND,HND,0x10010078a54396F62c96dF8532dc2B4847d47ED3,18 +3356,XLON-9D58,XLON,XLON,0x36ff4DaE0E88113D68B1209e245B0e3Af92E9D58,18 +3357,BABYDOGE-eBd5,BABYDOGE,BABYDOGE,0xAC8E13ecC30Da7Ff04b842f21A62a1fb0f10eBd5,9 +3358,HYPC-37E4,HYPC,HYPC,0xeA7B7DC089c9a4A916B5a7a37617f59fD54e37E4,6 +3359,JACK-251a,JACK,JACK,0x575B57CA64d2De54fe78fAe6d952251bBb6d251a,18 +3360,SWASH-2F80,SWASH,SWASH,0xA130E3a33a4d84b04c3918c4E5762223Ae252F80,18 +3361,ORE-782A,ORE,ORE,0x4f640F2529ee0cF119A2881485845FA8e61A782A,18 +3362,CRU-3c41,CRU,CRU,0x32a7C02e79c4ea1008dD6564b35F131428673c41,18 +3363,ORAI-c1b5,ORAI,ORAI,0x4c11249814f11b9346808179Cf06e71ac328c1b5,18 +3364,COW-97aB,COW,COW,0xDEf1CA1fb7FBcDC777520aa7f396b4E015F497aB,18 +3365,TRYB-D0EB,TRYB,TRYB,0x2C537E5624e4af88A7ae4060C022609376C8D0EB,6 +3366,ORION-46e4,ORION,ORION,0x727f064A78DC734D33eEc18d5370aef32Ffd46e4,18 +3367,ACRIA-c58A,ACRIA,ACRIA,0x44F5909E97E1CBf5FBbDF0FC92FD83cde5d5c58A,18 +3368,DEXTF-89f0,DEXTF,DEXTF,0x5F64Ab1544D28732F0A24F4713c2C8ec0dA089f0,18 +3369,EUSD-A371,EUSD,EUSD,0x97de57eC338AB5d51557DA3434828C5DbFaDA371,18 +3370,YVYFI-e5F0,YVYFI,YVYFI,0xdb25cA703181E7484a155DD612b06f57E12Be5F0,18 +3371,IETHV2-Be78,IETHV2,IETHV2,0xA0D3707c569ff8C87FA923d3823eC5D81c98Be78,18 +3372,DNXC-f03a,DNXC,DNXC,0x20a8CEC5fffea65Be7122BCaB2FFe32ED4Ebf03a,18 +3373,SILV2-b068,SILV2,SILV2,0x7E77dCb127F99ECe88230a64Db8d595F31F1b068,18 +3374,EROWAN-DcbE,EROWAN,EROWAN,0x07baC35846e5eD502aA91AdF6A9e7aA210F2DcbE,18 +3375,REALM-CFB8,REALM,REALM,0x464FdB8AFFC9bac185A7393fd4298137866DCFB8,18 +3376,CLS-de37,CLS,CLS,0x675BBC7514013E2073DB7a919F6e4cbeF576de37,18 +3377,ETO-1e79,ETO,ETO,0x1c11325EC05500DD587FFe0Eeb2d4499b5B91e79,18 +3378,HOP-a3CC,HOP,HOP,0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC,18 +3379,SNX-2a6F,SNX,SNX,0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F,18 +3380,BORA-3d3B,BORA,BORA,0x26fb86579e371c7AEdc461b2DdEF0A8628c93d3B,18 +3381,SHIBAKEN-Ab6B,SHIBAKEN,SHIBAKEN,0xa4Cf2aFD3B165975afFFBf7e487CDd40C894Ab6B,0 +3382,BLID-56A5,BLID,BLID,0x8A7aDc1B690E81c758F1BD0F72DFe27Ae6eC56A5,18 +3383,BMEX-5277,BMEX,BMEX,0xB113c6CF239F60D380359b762E95C13817275277,6 +3384,FIRE-3eDf,FIRE,FIRE,0x9B81686140e85d28C2236c307Dd49b422A663eDf,18 +3385,DS-771b,DS,DS,0xB67bEB26eBeb0DCEec354aE0942256d03c01771b,18 +3386,SHROOM-f183,SHROOM,SHROOM,0xEd0439EACf4c4965AE4613D77a5C2Efe10e5f183,18 +3387,TIA-Ea26,TIA,TIA,0x824E35f7A75324f99300aFAC75ECF7354E17Ea26,9 +3388,DOGPAD-9C1c,DOGPAD,DOGPAD,0x6f3277ad0782a7DA3eb676b85a8346A100BF9C1c,18 +3389,MOOV-56a7,MOOV,MOOV,0x24EC2Ca132abf8F6f8a6E24A1B97943e31f256a7,18 +3390,GHX-387d,GHX,GHX,0x728f30fa2f100742C7949D1961804FA8E0B1387d,18 +3391,FSN-df00,FSN,FSN,0x979aCA85bA37c675e78322ed5d97fa980B9Bdf00,18 +3392,WEWE-450d,WEWE,WEWE,0x1e917e764BC34d3BC313fe8159a6bD9d9FFD450d,18 +3393,ALLIN-3Ebe,ALLIN,ALLIN,0x9B2b931d6AB97B6A887b2C5d8529537E6FE73Ebe,9 +3394,AKITA-23E6,AKITA,AKITA,0x3301Ee63Fb29F863f2333Bd4466acb46CD8323E6,18 +3395,EGRN-558F,EGRN,EGRN,0xDB8d6D3AC21e4efE3675BBB18514010AC9C5558F,18 +3396,DRGN-A05E,DRGN,DRGN,0x419c4dB4B9e25d6Db2AD9691ccb832C8D9fDA05E,18 +3397,GEL-EA05,GEL,GEL,0x15b7c0c907e4C6b9AdaAaabC300C08991D6CEA05,18 +3398,RARI-41CF,RARI,RARI,0xFca59Cd816aB1eaD66534D82bc21E7515cE441CF,18 +3399,THREADS-657c,THREADS,THREADS,0x581DAFEBA7bf8fA69e4387efF5eAe9eb6401657c,18 +3400,Z3-61a6,Z3,Z3,0x50Eec6D765792dCfB0913C8403ef2A12e1B861a6,18 +3401,KITTY-0b12,KITTY,KITTY,0x61a35258107563f6B6f102aE25490901C8760b12,18 +3402,ZKP-a173,ZKP,ZKP,0x909E34d3f6124C324ac83DccA84b74398a6fa173,18 +3403,TECH-5698,TECH,TECH,0x6286A9e6f7e745A6D884561D88F94542d6715698,18 +3404,SAMA-0113,SAMA,SAMA,0xE04F47FF45576249bc5083DFDf987e03d0550113,18 +3405,GENI-FCc8,GENI,GENI,0x444444444444C1a66F394025Ac839A535246FCc8,9 +3406,LDO-1B32,LDO,LDO,0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32,18 +3407,MARSH-cF37,MARSH,MARSH,0x5a666c7d92E5fA7Edcb6390E4efD6d0CDd69cF37,18 +3408,ZEE-d4c5,ZEE,ZEE,0x2eDf094dB69d6Dcd487f1B3dB9febE2eeC0dd4c5,18 +3409,GMFAM-Fd81,GMFAM,GMFAM,0xe9Da5E227e3Fa4Fc933b5f540BE021e7EcC3Fd81,18 +3410,JGN-e041,JGN,JGN,0x73374Ea518De7adDD4c2B624C0e8B113955ee041,18 +3411,LOKA-8406,LOKA,LOKA,0x61E90A50137E1F645c9eF4a0d3A4f01477738406,18 +3412,UMB-83B2,UMB,UMB,0x6fC13EACE26590B80cCCAB1ba5d51890577D83B2,18 +3413,RPL-A51f,RPL,RPL,0xD33526068D116cE69F19A9ee46F0bd304F21A51f,18 +3414,PLANET-Ab0b,PLANET,PLANET,0x2aD9adDD0d97EC3cDBA27F92bF6077893b76Ab0b,18 +3415,HBTC-d380,HBTC,HBTC,0x0316EB71485b0Ab14103307bf65a021042c6d380,18 +3416,SETH2-043A,SETH2,SETH2,0xFe2e637202056d30016725477c5da089Ab0A043A,18 +3417,PSWAP-21BB,PSWAP,PSWAP,0x519C1001D550C0a1DaE7d1fC220f7d14c2A521BB,18 +3418,ACH-143d,ACH,ACH,0xEd04915c23f00A313a544955524EB7DBD823143d,8 +3419,SHPING-1BEC,SHPING,SHPING,0x7C84e62859D0715eb77d1b1C4154Ecd6aBB21BEC,18 +3420,FORTH-0ce0,FORTH,FORTH,0x77FbA179C79De5B7653F68b5039Af940AdA60ce0,18 +3421,PHTK-Ae7b,PHTK,PHTK,0x1FEE5588cb1De19c70B6aD5399152D8C643FAe7b,18 +3422,ARKM-b050,ARKM,ARKM,0x6E2a43be0B1d33b726f0CA3b8de60b3482b8b050,18 +3423,KIBA-af3c,KIBA,KIBA,0x005D1123878Fc55fbd56b54C73963b234a64af3c,18 +3424,AIEPK-5dDc,AIEPK,AIEPK,0xac5B038058bcD0424C9c252c6487C25F032E5dDc,18 +3425,SHI-AD5a,SHI,SHI,0x243cACb4D5fF6814AD668C3e225246efA886AD5a,18 +3426,BOND-750f,BOND,BOND,0x0391D2021f89DC339F60Fff84546EA23E337750f,18 +3427,FORT-Ec29,FORT,FORT,0x41545f8b9472D758bB669ed8EaEEEcD7a9C4Ec29,18 +3428,CHO-3099,CHO,CHO,0xBBa39Fd2935d5769116ce38d46a71bde9cf03099,18 +3429,PMON-D0b2,PMON,PMON,0x1796ae0b0fa4862485106a0de9b654eFE301D0b2,18 +3430,SKL-a7A7,SKL,SKL,0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7,18 +3431,HEART-897C,HEART,HEART,0x8FAc8031e079F409135766C7d5De29cf22EF897C,18 +3432,TUP-FE6A,TUP,TUP,0x7714f320Adca62B149df2579361AfEC729c5FE6A,18 +3433,COVAL-76Df,COVAL,COVAL,0x3D658390460295FB963f54dC0899cfb1c30776Df,8 +3434,AST-A75a,AST,AST,0x27054b13b1B798B345b591a4d22e6562d47eA75a,4 +3435,FARM-A14D,FARM,FARM,0xa0246c9032bC3A600820415aE600c6388619A14D,18 +3436,MIMO-f9Bc,MIMO,MIMO,0x90B831fa3Bebf58E9744A14D638E25B4eE06f9Bc,18 +3437,MOG-1C7a,MOG,MOG,0xaaeE1A9723aaDB7afA2810263653A34bA2C21C7a,18 +3438,GRUMPYCAT-c5bF,GRUMPYCAT,GRUMPYCAT,0xd8E2D95C8614F28169757cD6445a71c291dEc5bF,18 +3439,DOV-79b1,DOV,DOV,0xac3211a5025414Af2866FF09c23FC18bc97e79b1,18 +3440,NOISEGPT-A562,NOISEGPT,NOISEGPT,0xf23a2BF7619Ad93300499c3fC7d7145A06CcA562,18 +3441,RNBW-D75C,RNBW,RNBW,0xE94B97b6b43639E238c851A7e693F50033EfD75C,18 +3442,GENIE-9BD8,GENIE,GENIE,0x56978E609F2cab06F77c5C8Fd75166FcD8f09BD8,18 +3443,VENT-5624,VENT,VENT,0x5F0bc16D50F72d10b719dBF6845DE2E599eb5624,18 +3444,SOUL-f07F,SOUL,SOUL,0x75858677e27C930FB622759FeafFeE2b754Af07F,8 +3445,JIM-DB86,JIM,JIM,0xD807f7e2818dB8edA0d28B5bE74866338eaEDB86,18 +3446,ERSDL-D3A6,ERSDL,ERSDL,0x5218E472cFCFE0b64A064F055B43b4cdC9EfD3A6,18 +3447,BRIDGE-74B3,BRIDGE,BRIDGE,0x50D1c8e131dCA8B9226c0A0f78947557497374B3,9 +3448,LCX-fe41,LCX,LCX,0x037A54AaB062628C9Bbae1FDB1583c195585fe41,18 +3449,EVERMOON-0f6f,EVERMOON,EVERMOON,0x4ad434b8CDC3AA5AC97932D6BD18b5d313aB0f6f,18 +3450,DGX-57bF,DGX,DGX,0x4f3AfEC4E5a3F2A6a1A411DEF7D7dFe50eE057bF,9 +3451,BIDS-CD2F,BIDS,BIDS,0xA53e968b8d8a5Be52d66e5BB35d9b6B6B5A5CD2F,18 +3452,ISP-9014,ISP,ISP,0xC8807f0f5BA3fa45FfBdc66928d71c5289249014,18 +3453,HYVE-f7d4,HYVE,HYVE,0xd794DD1CAda4cf79C9EebaAb8327a1B0507ef7d4,18 +3454,PSYOP-53D3,PSYOP,PSYOP,0x3007083EAA95497cD6B2b809fB97B6A30bdF53D3,18 +3455,LMWR-bc88,LMWR,LMWR,0x628A3b2E302C7e896AcC432D2d0dD22B6cb9bc88,18 +3456,PC-2016,PC,PC,0x4F311C430540db1d64e635EB55f969F1660B2016,9 +3457,SHOPX-D848,SHOPX,SHOPX,0x7BEF710a5759d197EC0Bf621c3Df802C2D60D848,18 +3458,GENE-D67E,GENE,GENE,0x21413c119b0C11C5d96aE1bD328917bC5C8ED67E,18 +3459,LOOT-2541,LOOT,LOOT,0xb478c6245e3D85D6EC3486B62ea872128d562541,18 +3460,STPT-2aDb,STPT,STPT,0xDe7D85157d9714EADf595045CC12Ca4A5f3E2aDb,18 +3461,BAX-c135,BAX,BAX,0xf920e4F3FBEF5B3aD0A25017514B769bDc4Ac135,18 +3462,USH-EC48,USH,USH,0xE60779CC1b2c1d0580611c526a8DF0E3f870EC48,18 +3463,CTI-BE87,CTI,CTI,0xcB8fb2438A805664cD8c3e640b85AC473DA5BE87,18 +3464,TRB-78a0,TRB,TRB,0x88dF592F8eb5D7Bd38bFeF7dEb0fBc02cf3778a0,18 +3465,RMRK-06e4,RMRK,RMRK,0x471Ea49dd8E60E697f4cac262b5fafCc307506e4,10 +3466,DUNG-8A42,DUNG,DUNG,0x84412819AE69b10250D0D54d58f454018F1c8A42,18 +3467,RFR-149c,RFR,RFR,0xd0929d411954c47438dc1d871dd6081F5C5e149c,4 +3468,DFX-4c60,DFX,DFX,0x888888435FDe8e7d4c54cAb67f206e4199454c60,18 +3469,PICKLE-1Ca5,PICKLE,PICKLE,0x429881672B9AE42b8EbA0E26cD9C73711b891Ca5,18 +3470,ORN-434a,ORN,ORN,0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a,8 +3471,WLD-8753,WLD,WLD,0x163f8C2467924be0ae7B5347228CABF260318753,18 +3472,PEPINU-1106,PEPINU,PEPINU,0x0981d9774a59a703dB85f5EaA23672283EA31106,18 +3473,FUMO-5aa6,FUMO,FUMO,0x2890dF158D76E584877a1D17A85FEA3aeeB85aa6,18 +3474,HXRO-38f3,HXRO,HXRO,0x4bD70556ae3F8a6eC6C4080A0C327B24325438f3,18 +3475,DUST-c0Cc,DUST,DUST,0xB5b1b659dA79A2507C27AaD509f15B4874EDc0Cc,9 +3476,ATA-1225,ATA,ATA,0xA2120b9e674d3fC3875f415A7DF52e382F141225,18 +3477,LUNC-1ea9,LUNC,LUNC,0xd2877702675e6cEb975b4A1dFf9fb7BAF4C91ea9,18 +3478,JDB-273e,JDB,JDB,0xBaD96Ea5D43156a99A94Cd1Fd36a330aA7E2273e,18 +3479,HTB-A941,HTB,HTB,0x6be61833FC4381990e82D7D4a9F4c9B3F67eA941,18 +3480,SD-D10f,SD,SD,0x30D20208d987713f46DFD34EF128Bb16C404D10f,18 +3481,WALLET-94Ae,WALLET,WALLET,0x88800092fF476844f74dC2FC427974BBee2794Ae,18 +3482,ALUSD-60E9,ALUSD,ALUSD,0xBC6DA0FE9aD5f3b0d58160288917AA56653660E9,18 +3483,ABR-8C7C,ABR,ABR,0xa11bD36801d8fa4448F0ac4ea7A62e3634cE8C7C,18 +3484,SKRIMP-0296,SKRIMP,SKRIMP,0xec6d73557937974077911a0B6fDc436b0ff70296,18 +3485,CDAI-3643,CDAI,CDAI,0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643,8 +3486,FINALE-C374,FINALE,FINALE,0xC7a2572fA8FDB0f7E81d6D3c4e3CCF78FB0DC374,18 +3487,CRE-478e,CRE,CRE,0x115eC79F1de567eC68B7AE7eDA501b406626478e,18 +3488,FRM-A68C,FRM,FRM,0xE5CAeF4Af8780E59Df925470b050Fb23C43CA68C,6 +3489,XDOGE-4941,XDOGE,XDOGE,0xd2b274CfBf9534f56b59aD0FB7e645e0354f4941,8 +3490,CCV2-8F11,CCV2,CCV2,0x612E1726435fE38dD49A0B35b4065B56f49c8F11,18 +3491,PERP-3447,PERP,PERP,0xbC396689893D065F41bc2C6EcbeE5e0085233447,18 +3492,BORING-92CA,BORING,BORING,0xBC19712FEB3a26080eBf6f2F7849b417FdD792CA,18 +3493,NTX-7935,NTX,NTX,0xF0d33BeDa4d734C72684b5f9abBEbf715D0a7935,6 +3494,FBX-42Cf,FBX,FBX,0x60BB16c4A931b1a0B8A7D945C651DD90f41D42Cf,18 +3495,XELS-1280,XELS,XELS,0x397Deb686C72384FAd502A81f4d7fDb89e1f1280,8 +3496,ODOGE-4026,ODOGE,ODOGE,0x68b429161Ec09a6c1D65ba70727AB1faa5Bc4026,18 +3497,HIDOODLES-eCAB,HIDOODLES,HIDOODLES,0x3700Adfd26d5bC062cB8b8a77e68fbd43F58eCAB,18 +3498,MARBLE-53E4,MARBLE,MARBLE,0x8EA9bEDb8Bb7E99643844Ec79543F4faa78453E4,18 +3499,SEND-3e4A,SEND,SEND,0x3f14920c99BEB920Afa163031c4e47a3e03B3e4A,0 +3500,BAND-7f55,BAND,BAND,0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55,18 +3501,FUND-7f75,FUND,FUND,0xe9B076B476D8865cDF79D1Cf7DF420EE397a7f75,9 +3502,UNIDX-AfF6,UNIDX,UNIDX,0xf0655DcEE37E5C0b70Fffd70D85f88F8eDf0AfF6,18 +3503,ARPA-b71a,ARPA,ARPA,0xBA50933C268F567BDC86E1aC131BE072C6B0b71a,18 +3504,WALLET-E8AB,WALLET,WALLET,0x9Bf601dA3ABA6d4401ca2B9Af85A8BD63B98E8AB,9 +3505,PRIME-28CF,PRIME,PRIME,0xb23d80f5FefcDDaa212212F028021B41DEd428CF,18 +3506,GRAI-efe4,GRAI,GRAI,0x15f74458aE0bFdAA1a96CA1aa779D715Cc1Eefe4,18 +3507,DORKL-aCf3,DORKL,DORKL,0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3,18 +3508,HOKK-21E8,HOKK,HOKK,0xe87e15B9c7d989474Cb6d8c56b3DB4eFAD5b21E8,18 +3509,BONE-18d9,BONE,BONE,0x9813037ee2218799597d83D4a5B6F3b6778218d9,18 +3510,BLUESPARROW-6FdE,BLUESPARROW,BLUESPARROW,0x24cCeDEBF841544C9e6a62Af4E8c2fA6e5a46FdE,9 +3511,POLC-6B37,POLC,POLC,0xaA8330FB2B4D5D07ABFE7A72262752a8505C6B37,18 +3512,LOYAL-5ae3,LOYAL,LOYAL,0x511686014F39F487E5CDd5C37B4b37606B795ae3,18 +3513,SWFTC-fC1e,SWFTC,SWFTC,0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e,8 +3514,CNV-0A04,CNV,CNV,0x000000007a58f5f58E697e51Ab0357BC9e260A04,18 +3515,QLINDO-b46E,QLINDO,QLINDO,0xC18c07a18198A6340cf4d94855fE5eb6DD33b46E,0 +3516,TSUKA-69eD,TSUKA,TSUKA,0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD,9 +3517,SUKU-E4d7,SUKU,SUKU,0x0763fdCCF1aE541A5961815C0872A8c5Bc6DE4d7,18 +3518,URUS-260b,URUS,URUS,0xc6DdDB5bc6E61e0841C54f3e723Ae1f3A807260b,18 +3519,SDL-6871,SDL,SDL,0xf1Dc500FdE233A4055e25e5BbF516372BC4F6871,18 +3520,RBN-fA6B,RBN,RBN,0x6123B0049F904d730dB3C36a31167D9d4121fA6B,18 +3521,ELG-Dc99,ELG,ELG,0xA2085073878152aC3090eA13D1e41bD69e60Dc99,18 +3522,KAT-509C,KAT,KAT,0x14da230d6726C50F759Bc1838717F8CE6373509C,18 +3523,KEEP-aFEC,KEEP,KEEP,0x85Eee30c52B0b379b046Fb0F85F4f3Dc3009aFEC,18 +3524,CLEV-1Bbf,CLEV,CLEV,0x72953a5C32413614d24C29c84a66AE4B59581Bbf,18 +3525,ARCH-1011,ARCH,ARCH,0x73C69d24ad28e2d43D03CBf35F79fE26EBDE1011,18 +3526,RED-A326,RED,RED,0xC744df3419A8c9Bd4D6b9852A503eb1C5308A326,18 +3527,MX-7f36,MX,MX,0x11eeF04c884E24d9B7B4760e7476D06ddF797f36,18 +3528,WNK-8Eba,WNK,WNK,0xE1BDA0c3Bfa2bE7f740f0119B6a34F057BD58Eba,18 +3529,CEEK-55e1,CEEK,CEEK,0xb056c38f6b7Dc4064367403E26424CD2c60655e1,18 +3530,PRO-E220,PRO,PRO,0x226bb599a12C826476e3A771454697EA52E9E220,8 +3531,ECOX-736a,ECOX,ECOX,0xcccD1Ba9f7acD6117834E0D28F25645dECb1736a,18 +3532,PNT-AAeD,PNT,PNT,0x89Ab32156e46F46D02ade3FEcbe5Fc4243B9AAeD,18 +3533,CPOOL-FaC5,CPOOL,CPOOL,0x66761Fa41377003622aEE3c7675Fc7b5c1C2FaC5,18 +3534,FGHT-d40D,FGHT,FGHT,0xe0ffDdF8fd7d63Cf907e433c9293069704D4d40D,18 +3535,ALI-4181,ALI,ALI,0x6B0b3a982b4634aC68dD83a4DBF02311cE324181,18 +3536,DHV-4b2A,DHV,DHV,0x62Dc4817588d53a056cBbD18231d91ffCcd34b2A,18 +3537,LOOMOLD-3DB0,LOOMOLD,LOOMOLD,0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0,18 +3538,LIT-C341,LIT,LIT,0xfd0205066521550D7d7AB19DA8F72bb004b4C341,18 +3539,VITA-A321,VITA,VITA,0x81f8f0bb1cB2A06649E51913A151F0E7Ef6FA321,18 +3540,DG-78a0,DG,DG,0xEE06A81a695750E71a662B51066F2c74CF4478a0,18 +3541,CRAMER-8ee0,CRAMER,CRAMER,0x64Df3aAB3b21cC275bB76c4A581Cf8B726478ee0,18 +3542,SHIH-1465,SHIH,SHIH,0x841FB148863454A3b3570f515414759BE9091465,18 +3543,3D3D-D3BB,3D3D,3D3D,0xFE60FbA03048EfFB4aCf3f0088Ec2f53d779D3BB,18 +3544,FNC-CACE,FNC,FNC,0x7f280daC515121DcdA3EaC69eB4C13a52392CACE,18 +3545,PAL-f4BF,PAL,PAL,0xAB846Fb6C81370327e784Ae7CbB6d6a6af6Ff4BF,18 +3546,CYBA-522A,CYBA,CYBA,0x1063181dc986F76F7eA2Dd109e16fc596d0f522A,9 +3547,INV-FB68,INV,INV,0x41D5D79431A913C4aE7d69a668ecdfE5fF9DFB68,18 +3548,SMARTCREDIT-DA13,SMARTCREDIT,SMARTCREDIT,0x72e9D9038cE484EE986FEa183f8d8Df93f9aDA13,18 +3549,SFI-902c,SFI,SFI,0xb753428af26E81097e7fD17f40c88aaA3E04902c,18 +3550,BIRD-7Ce0,BIRD,BIRD,0x70401dFD142A16dC7031c56E862Fc88Cb9537Ce0,18 +3551,SOP-7e2B,SOP,SOP,0xa8388b8334BEB4840D65eD80F858B080dFFD7e2B,18 +3552,YDF-E66a,YDF,YDF,0x30dcBa0405004cF124045793E1933C798Af9E66a,18 +3553,ASAP-0D45,ASAP,ASAP,0xC36AD98E62598Ae24d4487d8012209f687c30D45,18 +3554,LOOM-F75D,LOOM,LOOM,0x42476F744292107e34519F9c357927074Ea3F75D,18 +3555,KP3R-5A44,KP3R,KP3R,0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44,18 +3556,VAL-d1E4,VAL,VAL,0xe88f8313e61A97cEc1871EE37fBbe2a8bf3ed1E4,18 +3557,BRIGHT-0DfE,BRIGHT,BRIGHT,0x5dD57Da40e6866C9FcC34F4b6DDC89F1BA740DfE,18 +3558,PUSH-EEEE,PUSH,PUSH,0xf418588522d5dd018b425E472991E52EBBeEEEEE,18 +3559,DUSK-A551,DUSK,DUSK,0x940a2dB1B7008B6C776d4faaCa729d6d4A4AA551,18 +3560,SUDO-B7F9,SUDO,SUDO,0x3446Dd70B2D52A6Bf4a5a192D9b0A161295aB7F9,18 +3561,INST-03eb,INST,INST,0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb,18 +3562,BFT-326f,BFT,BFT,0x01fF50f8b7f74E4f00580d9596cd3D0d6d6E326f,18 +3563,GUISE-AFb8,GUISE,GUISE,0x7721A4cb6190EDB11d47f51C20968436ECcDAFb8,18 +3564,HEX-eb39,HEX,HEX,0x2b591e99afE9f32eAA6214f7B7629768c40Eeb39,8 +3565,AVA-ceB9,AVA,AVA,0xa6C0c097741D55ECd9a3A7DeF3A8253fD022ceB9,18 +3566,DEXT-C75a,DEXT,DEXT,0xfB7B4564402E5500dB5bB6d63Ae671302777C75a,18 +3567,NAS-318D,NAS,NAS,0x5d65D971895Edc438f465c17DB6992698a52318D,18 +3568,GTC-163F,GTC,GTC,0xDe30da39c46104798bB5aA3fe8B9e0e1F348163F,18 +3569,SHIBDOGE-928F,SHIBDOGE,SHIBDOGE,0x6ADb2E268de2aA1aBF6578E4a8119b960E02928F,9 +3570,META-387C,META,META,0xDE2F7766C8BF14CA67193128535E5c7454f8387C,18 +3571,BET-a7b7,BET,BET,0x72BaB498fA50a33A03362d0024BB27EFbC50a7b7,18 +3572,ERN-3505,ERN,ERN,0xBBc2AE13b23d715c30720F079fcd9B4a74093505,18 +3573,XCM-8e25,XCM,XCM,0x36ac219f90f5A6A3C77f2a7B660E3cC701f68e25,18 +3574,STA-eED1,STA,STA,0xa7DE087329BFcda5639247F96140f9DAbe3DeED1,18 +3575,VITE-3e70,VITE,VITE,0xadd5E881984783dD432F80381Fb52F45B53f3e70,18 +3576,WTAO-0A44,WTAO,WTAO,0x77E06c9eCCf2E797fd462A92B6D7642EF85b0A44,9 +3577,XSUSHI-4272,XSUSHI,XSUSHI,0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272,18 +3578,NEOBOT-4dEb,NEOBOT,NEOBOT,0x3f2D4708F75DE6Fb60B687fEd326697634774dEb,18 +3579,LYXE-be6D,LYXE,LYXE,0xA8b919680258d369114910511cc87595aec0be6D,18 +3580,BONDLY-68c9,BONDLY,BONDLY,0x91dFbEE3965baAEE32784c2d546B7a0C62F268c9,18 +3581,DORA-c81d,DORA,DORA,0xbc4171f45EF0EF66E76F979dF021a34B46DCc81d,18 +3582,ALPHA-0975,ALPHA,ALPHA,0xa1faa113cbE53436Df28FF0aEe54275c13B40975,18 +3583,0X0-1AD5,0X0,0X0,0x5a3e6A77ba2f983eC0d371ea3B475F8Bc0811AD5,9 +3584,EGT-3170,EGT,EGT,0x450E7F6e3a2f247A51b98C39297a9a5BfbDb3170,9 +3585,CUNI-D550,CUNI,CUNI,0x35A18000230DA775CAc24873d00Ff85BccdeD550,8 +3586,ELMO-B2F0,ELMO,ELMO,0x335F4e66B9B61CEE5CeaDE4e727FCEC20156B2F0,18 +3587,BASE-5fDC,BASE,BASE,0x07150e919B4De5fD6a63DE1F9384828396f25fDC,9 +3588,COLLIE-Bb8A,COLLIE,COLLIE,0xB8A768Cd332e4461FCcFbdb1d0292cEFFbB2Bb8A,18 +3589,TRUTH-dA6A,TRUTH,TRUTH,0x6293bBe52C3682057163172850002F18f993dA6A,18 +3590,CQT-6240,CQT,CQT,0xD417144312DbF50465b1C641d016962017Ef6240,18 +3591,LSHARE-18e9,LSHARE,LSHARE,0x8E01397163b21F64ceC1f06cA6cC7d9aA8F718e9,18 +3592,MYC-F5Ba,MYC,MYC,0x4b13006980aCB09645131b91D259eaA111eaF5Ba,18 +3593,GMT-1989,GMT,GMT,0x7Ddc52c4De30e94Be3A6A0A2b259b2850f421989,18 +3594,NMR-6671,NMR,NMR,0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671,18 +3595,WSTA-27a0,WSTA,WSTA,0xeDEec5691f23E4914cF0183A4196bBEb30d027a0,18 +3596,BOSON-0de9,BOSON,BOSON,0xC477D038d5420C6A9e0b031712f61c5120090de9,18 +3597,UZD-9f1c,UZD,UZD,0xb40b6608B2743E691C9B54DdBDEe7bf03cd79f1c,18 +3598,OMG-0C07,OMG,OMG,0xd26114cd6EE289AccF82350c8d8487fedB8A0C07,18 +3599,QKC-b664,QKC,QKC,0xEA26c4aC16D4a5A106820BC8AEE85fd0b7b2b664,18 +3600,T-beE5,T,T,0xCdF7028ceAB81fA0C6971208e83fa7872994beE5,18 +3601,BEPRO-d36A,BEPRO,BEPRO,0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A,18 +3602,TURBO-20D3,TURBO,TURBO,0xA35923162C49cF95e6BF26623385eb431ad920D3,18 +3603,AE-0D1d,AE,AE,0x5CA9a71B1d01849C0a95490Cc00559717fCF0D1d,18 +3604,MONG-FD9C,MONG,MONG,0x1ce270557C1f68Cfb577b856766310Bf8B47FD9C,18 +3605,DINO-c68F,DINO,DINO,0x49642110B712C1FD7261Bc074105E9E44676c68F,18 +3606,0XA-0EE1,0XA,0XA,0x37268C4F56Ebb13DFAE9c16d57D17579312d0EE1,18 +3607,MONKEYS-6c92,MONKEYS,MONKEYS,0x20CDECBF5d56870b4068a255580a58D068446c92,9 +3608,PHA-2f4E,PHA,PHA,0x6c5bA91642F10282b576d91922Ae6448C9d52f4E,18 +3609,XED-fd86,XED,XED,0xee573a945B01B788B9287CE062A0CFC15bE9fd86,18 +3610,CHAIN-81c4,CHAIN,CHAIN,0xC4C2614E694cF534D407Ee49F8E44D125E4681c4,18 +3611,HAMS-7410,HAMS,HAMS,0x48c87cDacb6Bb6BF6E5Cd85D8ee5C847084c7410,18 +3612,XTP-50fc,XTP,XTP,0x6368e1E18c4C419DDFC608A0BEd1ccb87b9250fc,18 +3613,FEAR-1E83,FEAR,FEAR,0x88A9A52F944315D5B4e917b9689e65445C401E83,18 +3614,DAFI-6439,DAFI,DAFI,0xFc979087305A826c2B2a0056cFAbA50aad3E6439,18 +3615,MONKEYS-6aAC,MONKEYS,MONKEYS,0xf2A22B900dde3ba18Ec2AeF67D4c8C1a0DAB6aAC,9 +3616,BIT-a4C5,BIT,BIT,0x1A4b46696b2bB4794Eb3D4c26f1c55F9170fa4C5,18 +3617,STBU-50eD,STBU,STBU,0xa6422E3E219ee6d4C1B18895275FE43556fd50eD,18 +3618,SPC-Ad20,SPC,SPC,0x86ed939B500E121C0C5f493F399084Db596dAd20,18 +3619,RIO-4097,RIO,RIO,0xf21661D0D1d76d3ECb8e1B9F1c923DBfffAe4097,18 +3620,BOTX-9Fa1,BOTX,BOTX,0xEF19F4E48830093Ce5bC8b3Ff7f903A0AE3E9Fa1,18 +3621,VIB-F724,VIB,VIB,0x2C974B2d0BA1716E644c1FC59982a89DDD2fF724,18 +3622,HT-a161,HT,HT,0x6f259637dcD74C767781E37Bc6133cd6A68aa161,18 +3623,FRXETH-Aa1f,FRXETH,FRXETH,0x5E8422345238F34275888049021821E8E08CAa1f,18 +3624,WTK-68A6,WTK,WTK,0x4cfF49d0A19ed6Ff845a9122fa912AbcFB1F68A6,18 +3625,TKX-0a88,TKX,TKX,0x667102BD3413bFEaa3Dffb48fa8288819E480a88,8 +3626,CC-36C1,CC,CC,0x597981EaC8A293054A1826c7b60cBF92972A36C1,9 +3627,MDI-66Ea,MDI,MDI,0x848896470d989F30503d8f883c331f63b73b66Ea,18 +3628,BTRFLY-e5Da,BTRFLY,BTRFLY,0xc55126051B22eBb829D00368f4B12Bde432de5Da,18 +3629,VOLT-9b25,VOLT,VOLT,0xfFbF315f70E458e49229654DeA4cE192d26f9b25,18 +3630,MITX-1Db6,MITX,MITX,0x4a527d8fc13C5203AB24BA0944F4Cb14658D1Db6,18 +3631,THOR-8044,THOR,THOR,0xa5f2211B9b8170F694421f2046281775E8468044,18 +3632,PAAL-0e16,PAAL,PAAL,0x14feE680690900BA0ccCfC76AD70Fd1b95D10e16,9 +3633,PROS-4B56,PROS,PROS,0x8642A849D0dcb7a15a974794668ADcfbe4794B56,18 +3634,PAXG-Af78,PAXG,PAXG,0x45804880De22913dAFE09f4980848ECE6EcbAf78,18 +3635,BETA-9D28,BETA,BETA,0xBe1a001FE942f96Eea22bA08783140B9Dcc09D28,18 +3636,NEXO-5206,NEXO,NEXO,0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206,18 +3637,WINTER-845f,WINTER,WINTER,0xCcbA0b2bc4BAbe4cbFb6bD2f1Edc2A9e86b7845f,18 +3638,NXM-Cf3B,NXM,NXM,0xd7c49CEE7E9188cCa6AD8FF264C1DA2e69D4Cf3B,18 +3639,ELFI-16f4,ELFI,ELFI,0x4dA34f8264CB33A5c9F17081B9EF5Ff6091116f4,18 +3640,SNAIL-Adc0,SNAIL,SNAIL,0x6Bc40d4099f9057b23aF309C08d935b890d7Adc0,18 +3641,CAI-a48D,CAI,CAI,0xf36C5f04127F7470834ed6f98bDDC1BE62aba48D,18 +3642,STBT-b44a,STBT,STBT,0x530824DA86689C9C17CdC2871Ff29B058345b44a,18 +3643,INSUR-7429,INSUR,INSUR,0x544c42fBB96B39B21DF61cf322b5EDC285EE7429,18 +3644,PLU-264E,PLU,PLU,0xD8912C10681D8B21Fd3742244f44658dBA12264E,18 +3645,RAD-64A3,RAD,RAD,0x31c8EAcBFFdD875c74b94b077895Bd78CF1E64A3,18 +3646,YVLUSD-19dC,YVLUSD,YVLUSD,0x378cb52b00F9D0921cb46dFc099CFf73b42419dC,18 +3647,ALETH-7Ee6,ALETH,ALETH,0x0100546F2cD4C9D97f798fFC9755E47865FF7Ee6,18 +3648,WOJAK-9aaB,WOJAK,WOJAK,0x5026F006B85729a8b14553FAE6af249aD16c9aaB,18 +3649,GST-ETH-1404,GST-ETH,GST-ETH,0x473037de59cf9484632f4A27B509CFE8d4a31404,8 +3650,CLINK-B0c7,CLINK,CLINK,0xFAce851a4921ce59e912d19329929CE6da6EB0c7,8 +3651,ST-YCRV-349D,ST-YCRV,ST-YCRV,0x27B5739e22ad9033bcBf192059122d163b60349D,18 +3652,ZAP-b104,ZAP,ZAP,0x6781a0F84c7E9e846DCb84A9a5bd49333067b104,18 +3653,ASTETH-2428,ASTETH,ASTETH,0x1982b2F5814301d4e9a8b0201555376e62F82428,18 +3654,BBANK-f267,BBANK,BBANK,0xF4b5470523cCD314C6B9dA041076e7D79E0Df267,18 +3655,SFRXETH-e38F,SFRXETH,SFRXETH,0xac3E018457B222d93114458476f3E3416Abbe38F,18 +3656,DG-588D,DG,DG,0x4b520c812E8430659FC9f12f6d0c39026C83588D,18 +3657,GUSD-d5Cd,GUSD,GUSD,0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd,2 +3658,AURABAL-608d,AURABAL,AURABAL,0x616e8BfA43F920657B3497DBf40D6b1A02D4608d,18 +3659,BOBA-Efbc,BOBA,BOBA,0x42bBFa2e77757C645eeaAd1655E0911a7553Efbc,18 +3660,PROME-69E4,PROME,PROME,0x75459A499a79ccD7C5Fae3201738F9E4677D69E4,18 +3661,ALICE-63E8,ALICE,ALICE,0xAC51066d7bEC65Dc4589368da368b212745d63E8,6 +3662,ECO-5727,ECO,ECO,0x8dBF9A4c99580fC7Fd4024ee08f3994420035727,18 +3663,DOG-8899,DOG,DOG,0xBAac2B4491727D78D2b78815144570b9f2Fe8899,18 +3664,KARATE-E684,KARATE,KARATE,0x80008BCD713c38AF90a9930288D446bc3bD2E684,18 +3665,CHANGE-2754,CHANGE,CHANGE,0x7051faED0775f664a0286Af4F75ef5ed74e02754,18 +3666,AVT-824F,AVT,AVT,0x0d88eD6E74bbFD96B831231638b66C05571e824F,18 +3667,BRKL-9ff8,BRKL,BRKL,0x4674a4F24C5f63D53F22490Fb3A08eAAAD739ff8,18 +3668,EMAID-a303,EMAID,EMAID,0x329c6E459FFa7475718838145e5e85802Db2a303,18 +3669,QOM-4974,QOM,QOM,0xa71d0588EAf47f12B13cF8eC750430d21DF04974,18 +3670,BFC-Ab9c,BFC,BFC,0x0c7D5ae016f806603CB1782bEa29AC69471CAb9c,18 +3671,ONDO-9BE3,ONDO,ONDO,0xfAbA6f8e4a5E8Ab82F62fe7C39859FA577269BE3,18 +3672,TBTC-3a88,TBTC,TBTC,0x18084fbA666a33d37592fA2633fD49a74DD93a88,18 +3673,GODS-FD97,GODS,GODS,0xccC8cb5229B0ac8069C51fd58367Fd1e622aFD97,18 +3674,BEZOGE-f695,BEZOGE,BEZOGE,0xDC349913d53b446485E98b76800b6254f43Df695,9 +3675,HELLO-311C,HELLO,HELLO,0x411099C0b413f4fedDb10Edf6a8be63BD321311C,18 +3676,HUSD-87e1,HUSD,HUSD,0xdF574c24545E5FfEcb9a659c229253D4111d87e1,8 +3677,BAD-F015,BAD,BAD,0x32b86b99441480a7E5BD3A26c124ec2373e3F015,18 +3678,SIDUS-1102,SIDUS,SIDUS,0x549020a9Cb845220D66d3E9c6D9F9eF61C981102,18 +3679,PARA-518c,PARA,PARA,0x3a8d5BC8A8948b68DfC0Ce9C14aC4150e083518c,18 +3680,XRT-1cb7,XRT,XRT,0x7dE91B204C1C737bcEe6F000AAA6569Cf7061cb7,9 +3681,BOB-8729,BOB,BOB,0x7D8146cf21e8D7cbe46054e01588207b51198729,18 +3682,CREAM-B200,CREAM,CREAM,0x2ba592F78dB6436527729929AAf6c908497cB200,18 +3683,TKB-b7Fc,TKB,TKB,0x16594930D16f3970e1a4317c6016555cb2e7b7Fc,18 +3684,MS-908F,MS,MS,0x6d6554939D646f274d0FC3cEcB7dab5d76bc908F,18 +3685,LAELAPS-44CA,LAELAPS,LAELAPS,0x6C059413686565D5aD6cce6EED7742c42DbC44CA,18 +3686,PNP-8715,PNP,PNP,0x7DEdBce5a2E31E4c75f87FeA60bF796C17718715,18 +3687,AGLD-9A20,AGLD,AGLD,0x32353A6C91143bfd6C7d363B546e62a9A2489A20,18 +3688,MONA-412A,MONA,MONA,0x275f5Ad03be0Fa221B4C6649B8AeE09a42D9412A,18 +3689,GETH-3De9,GETH,GETH,0xdD69DB25F6D620A7baD3023c5d32761D353D3De9,18 +3690,XDAO-Ad28,XDAO,XDAO,0x71eebA415A523F5C952Cc2f06361D5443545Ad28,18 +3691,XAUT-2F38,XAUT,XAUT,0x68749665FF8D2d112Fa859AA293F07A622782F38,6 +3692,REP-C9bB,REP,REP,0x221657776846890989a759BA2973e427DfF5C9bB,18 +3693,GET-6A1B,GET,GET,0x8a854288a5976036A725879164Ca3e91d30c6A1B,18 +3694,ANKR-EDD4,ANKR,ANKR,0x8290333ceF9e6D528dD5618Fb97a76f268f3EDD4,18 +3695,AIDEV-de8d,AIDEV,AIDEV,0x3a2348DbB9250a43226a27e21EDB94882Bb7de8d,8 +3696,SAITAMA-27B2,SAITAMA,SAITAMA,0xCE3f08e664693ca792caCE4af1364D5e220827B2,9 +3697,BCB-eb7e,BCB,BCB,0x2d886570A0dA04885bfD6eb48eD8b8ff01A0eb7e,9 +3698,CAT-7dB3,CAT,CAT,0x56015BBE3C01fE05bc30A8a9a9Fd9A88917e7dB3,18 +3699,RFOX-8262,RFOX,RFOX,0xa1d6Df714F91DeBF4e0802A542E13067f31b8262,18 +3700,STC-7e7E,STC,STC,0x15B543e986b8c34074DFc9901136d9355a537e7E,18 +3701,WSBC-4Beb,WSBC,WSBC,0xE46091dCE9c67691bCf22768bBEe0BC9E20d4Beb,9 +3702,BST-7F4a,BST,BST,0x509A38b7a1cC0dcd83Aa9d06214663D9eC7c7F4a,18 +3703,OMNIA-c8EE,OMNIA,OMNIA,0x4E58EA38F4915850Fbe1577cd818A09ba673c8EE,18 +3704,KROM-d789,KROM,KROM,0x3af33bEF05C2dCb3C7288b77fe1C8d2AeBA4d789,18 +3705,SERP-5Eec,SERP,SERP,0xFd414e39155F91E94443a9Fe97E856569d0F5Eec,9 +3706,NARUTO-6214,NARUTO,NARUTO,0xAD8D0de33C43eEFe104A279cDB6Ae250C12e6214,9 +3707,BEN-702E,BEN,BEN,0x9bf1D7D63dD7a4ce167CF4866388226EEefa702E,18 +3708,MCADE-22aF,MCADE,MCADE,0xed328E9C1179a30ddC1E7595E036AEd8760C22aF,18 +3709,PROPC-138E,PROPC,PROPC,0x9ff58067Bd8D239000010c154C6983A325Df138E,18 +3710,FKPEPE-d999,FKPEPE,FKPEPE,0x082646B22A3960DA69eF7A778c16dd6fb85Dd999,18 +3711,GHO-6C2f,GHO,GHO,0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f,18 +3712,PPIZZA-8446,PPIZZA,PPIZZA,0xab306326bC72c2335Bd08F42cbec383691eF8446,18 +3713,ASC-1ea1,ASC,ASC,0x17F8e6694080C07D7414C918dd9B9C32a2981ea1,18 +3714,STARL-6B24,STARL,STARL,0x8E6cd950Ad6ba651F6DD608Dc70e5886B1AA6B24,18 +3715,HAHA-c8DA,HAHA,HAHA,0xd87D72248093597df8D56d2a53C1ab7c1A0Cc8DA,18 +3716,GIGA-9cea,GIGA,GIGA,0x83249c6794BCa5a77Eb8c0AF9F1A86E055459cea,9 +3717,SHIK-5572,SHIK,SHIK,0x24dA31e7BB182cb2cABfEF1d88db19C2AE1f5572,18 +3718,GLQ-4D24,GLQ,GLQ,0x9F9c8ec3534c3cE16F928381372BfbFBFb9F4D24,18 +3719,PEPEDOGE-fb67,PEPEDOGE,PEPEDOGE,0xB8C55c80a1cb7394088a36C6b634dC2Bf3C6fb67,18 +3720,UCO-21fa,UCO,UCO,0x8a3d77e9d6968b780564936d15B09805827C21fa,18 +3721,WOO-5D4B,WOO,WOO,0x4691937a7508860F876c9c0a2a617E7d9E945D4B,18 +3722,NU-A4Cc,NU,NU,0x4fE83213D56308330EC302a8BD641f1d0113A4Cc,18 +3723,DEDE-80aA,DEDE,DEDE,0x9D7b68970d2be6dc93124477b4E2e1C9A6b180aA,9 +3724,GENSLR-D936,GENSLR,GENSLR,0xAd1A5B8538a866eCD56dDd328b50ed57cEd5D936,18 +3725,WAS-0E1b,WAS,WAS,0x0c572544a4Ee47904d54aaA6A970AF96B6f00E1b,18 +3726,OKEN-d8D5,OKEN,OKEN,0xD971a3f840359ac4A23a9e75038934855E5Ed8D5,9 +3727,PSTAKE-7006,PSTAKE,PSTAKE,0xfB5c6815cA3AC72Ce9F5006869AE67f18bF77006,18 +3728,RSS3-D57F,RSS3,RSS3,0xc98D64DA73a6616c42117b582e832812e7B8D57F,18 +3729,MEMAG-7AF6,MEMAG,MEMAG,0x6E39A587691b8c9D4341cE0A960998ED6F537AF6,18 +3730,GRP-Fac6,GRP,GRP,0xEc70fF4A5B09110E4D20aDa4F2DB4A86ec61Fac6,18 +3731,TEL-790F,TEL,TEL,0x467Bccd9d29f223BcE8043b84E8C8B282827790F,2 +3732,BUSD-7C53,BUSD,BUSD,0x4Fabb145d64652a948d72533023f6E7A623C7C53,18 +3733,TRU-3784,TRU,TRU,0x4C19596f5aAfF459fA38B0f7eD92F11AE6543784,8 +3734,BAG-5726,BAG,BAG,0x235C8EE913d93c68D2902a8e0b5a643755705726,18 +3735,HISAND33-1340,HISAND33,HISAND33,0x12AEf5C60C2C86c8ECD3079f22F285f326371340,18 +3736,TRIBE-212B,TRIBE,TRIBE,0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B,18 +3737,WAIT-EDd7,WAIT,WAIT,0x2559813BBb508C4C79e9CCCE4703Bcb1f149EDd7,9 +3738,FLASH-F2F8,FLASH,FLASH,0xB1f1F47061A7Be15C69f378CB3f69423bD58F2F8,18 +3739,SALD-636f,SALD,SALD,0x5582a479f0c403E207D2578963CceF5D03BA636f,18 +3740,KENNY-8e72,KENNY,KENNY,0xF5f38B0aD4163A1981C7B960bCD8c242E0038e72,18 +3741,BKN-a36d,BKN,BKN,0x0A638F07ACc6969abF392bB009f216D22aDEa36d,18 +3742,SIRIUS-0D9A,SIRIUS,SIRIUS,0x8dE2B2104B6AC8F9dCE7755fF70f0fa452680D9A,9 +3743,SDAO-875F,SDAO,SDAO,0x993864E43Caa7F7F12953AD6fEb1d1Ca635B875F,18 +3744,VGX-3E3d,VGX,VGX,0x3C4B6E6e1eA3D4863700D7F76b36B7f3D3f13E3d,8 +3745,FRIEND-5a84,FRIEND,FRIEND,0xbde4c4a9057595FA16D38e0BD7871EF119045a84,18 +3746,DVF-1918,DVF,DVF,0xDDdddd4301A082e62E84e43F474f044423921918,18 +3747,MTV-B77f,MTV,MTV,0x6226e00bCAc68b0Fe55583B90A1d727C14fAB77f,18 +3748,ONIT-DBf0,ONIT,ONIT,0x410e731c2970Dce3AdD351064AcF5cE9E33FDBf0,18 +3749,POWR-1269,POWR,POWR,0x595832F8FC6BF59c85C527fEC3740A1b7a361269,6 +3750,BTR-Aaa5,BTR,BTR,0xd433138d12beB9929FF6fd583DC83663eea6Aaa5,18 +3751,XCN-fb18,XCN,XCN,0xA2cd3D43c775978A96BdBf12d733D5A1ED94fb18,18 +3752,HABIBI-f9e2,HABIBI,HABIBI,0x8526Be2379E853d5Cf02f9823BB9690e1a6Ff9e2,18 +3753,TETRIS-E802,TETRIS,TETRIS,0xCb8a95e76A16b58C30B01e39Dd6AAD5949E5E802,9 +3754,KEY-96E7,KEY,KEY,0x4CC19356f2D37338b9802aa8E8fc58B0373296E7,18 +3755,ASTRA-351e,ASTRA,ASTRA,0x201332Bd45c8628D814F870bFb584B385A7C351e,18 +3756,TVK-3988,TVK,TVK,0xd084B83C305daFD76AE3E1b4E1F1fe2eCcCb3988,18 +3757,MWS-9B76,MWS,MWS,0x9B355FEe784768a7b9AC388C19E818E1c0A19B76,18 +3758,POND-D26C,POND,POND,0x57B946008913B82E4dF85f501cbAeD910e58D26C,18 +3759,PREMIA-0E70,PREMIA,PREMIA,0x6399C842dD2bE3dE30BF99Bc7D1bBF6Fa3650E70,18 +3760,HOPR-81dA,HOPR,HOPR,0xF5581dFeFD8Fb0e4aeC526bE659CFaB1f8c781dA,18 +3761,AMPL-A161,AMPL,AMPL,0xD46bA6D942050d489DBd938a2C909A5d5039A161,9 +3762,HEGIC-8430,HEGIC,HEGIC,0x584bC13c7D411c00c01A62e8019472dE68768430,18 +3763,WSTETH-2Ca0,WSTETH,WSTETH,0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0,18 +3764,BICO-c6C2,BICO,BICO,0xF17e65822b568B3903685a7c9F496CF7656Cc6C2,18 +3765,ACE-B1ab,ACE,ACE,0xeC5483804e637D45cDe22Fa0869656B64b5AB1ab,18 +3766,BS-d185,BS,BS,0x5ECa7B975E34567d9460FA613013A7A6993ad185,18 +3767,CAW-e452,CAW,CAW,0xf3b9569F82B18aEf890De263B84189bd33EBe452,18 +3768,STRONG-017c,STRONG,STRONG,0x990f341946A3fdB507aE7e52d17851B87168017c,18 +3769,GT-4759,GT,GT,0xE66747a101bFF2dBA3697199DCcE5b743b454759,18 +3770,UBT-ee5e,UBT,UBT,0x8400D94A5cb0fa0D041a3788e395285d61c9ee5e,8 +3771,SUSHI-0fE2,SUSHI,SUSHI,0x6B3595068778DD592e39A122f4f5a5cF09C90fE2,18 +3772,CEL-D42d,CEL,CEL,0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d,4 +3773,RAT-AbCc,RAT,RAT,0x0B9570a0194FfB8bF9E60a95e8d905Bf2358AbCc,18 +3774,BOBO-5295,BOBO,BOBO,0xB90B2A35C65dBC466b04240097Ca756ad2005295,18 +3775,SUPER-0A55,SUPER,SUPER,0xe53EC727dbDEB9E2d5456c3be40cFF031AB40A55,18 +3776,OAX-Fe1D,OAX,OAX,0x701C244b988a513c945973dEFA05de933b23Fe1D,18 +3777,RAI-4919,RAI,RAI,0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919,18 +3778,EXRD-9414,EXRD,EXRD,0x6468e79A80C0eaB0F9A2B574c8d5bC374Af59414,18 +3779,MAX-0de4,MAX,MAX,0x63f7B1b538a78cB699E5399621B3d2e047C40de4,18 +3780,X-9A77,X,X,0xaFe53EEa0cfE20198328890B69107D5Fd8159A77,9 +3781,PEAR-1f90,PEAR,PEAR,0x5dCD6272C3cbb250823F0b7e6C618bce11B21f90,18 +3782,0X1-aa70,0X1,0X1,0xfcdB9e987f9159dAb2f507007D5E3D10C510aa70,18 +3783,NBOT-549A,NBOT,NBOT,0xe387140d52eBB0Dd729683dC062AEFbC5F7f549A,18 +3784,AAMMWBTC-21FA,AAMMWBTC,AAMMWBTC,0x13B2f6928D7204328b0E8E4BCd0379aA06EA21FA,8 +3785,AJNA-5079,AJNA,AJNA,0x9a96ec9B57Fb64FbC60B423d1f4da7691Bd35079,18 +3786,BNSD-0188,BNSD,BNSD,0x668DbF100635f593A3847c0bDaF21f0a09380188,18 +3787,CVXCRV-0Aa7,CVXCRV,CVXCRV,0x62B9c7356A2Dc64a1969e19C23e4f579F9810Aa7,18 +3788,NOLO-C84C,NOLO,NOLO,0x9754d5e5ea788C62F11d34a818aeAE927AeAC84C,18 +3789,AGEUR-Bce8,AGEUR,AGEUR,0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8,18 +3790,AUTUMN-3a99,AUTUMN,AUTUMN,0x4c3bAe16c79c30eEB1004Fb03C878d89695e3a99,18 +3791,AYFI-8f37,AYFI,AYFI,0x5165d24277cD063F5ac44Efd447B27025e888f37,18 +3792,KNCL-D200,KNCL,KNCL,0xdd974D5C2e2928deA5F71b9825b8b646686BD200,18 +3793,AAMMUSDT-4Cb7,AAMMUSDT,AAMMUSDT,0x17a79792Fe6fE5C95dFE95Fe3fCEE3CAf4fE4Cb7,6 +3794,CWEB-Bf04,CWEB,CWEB,0x505B5eDa5E25a67E1c24A2BF1a527Ed9eb88Bf04,18 +3795,TOWN-Ab7F,TOWN,TOWN,0x3Dd98C8A089dBCFF7e8FC8d4f532BD493501Ab7F,8 +3796,AXSUSHI-f47a,AXSUSHI,AXSUSHI,0xF256CC7847E919FAc9B808cC216cAc87CCF2f47a,18 +3797,AENJ-09Ef,AENJ,AENJ,0xaC6Df26a590F08dcC95D5a4705ae8abbc88509Ef,18 +3798,AREN-D77a,AREN,AREN,0xCC12AbE4ff81c9378D670De1b57F8e0Dd228D77a,18 +3799,AAMMWETH-730A,AAMMWETH,AAMMWETH,0xf9Fb4AD91812b704Ba883B11d2B576E890a6730A,18 +3800,AUNI-2BF1,AUNI,AUNI,0xB9D7CB55f463405CDfBe4E90a6D2Df01C2B92BF1,18 +3801,AMKR-6B88,AMKR,AMKR,0xc713e5E149D5D0715DcD1c156a020976e7E56B88,18 +3802,AUSDC-263C,AUSDC,AUSDC,0xBcca60bB61934080951369a648Fb03DF4F96263C,6 +3803,ABAT-1D00,ABAT,ABAT,0xE1BA0FB44CCb0D11b80F92f4f8Ed94CA3fF51D00,18 +3804,AMANA-873E,AMANA,AMANA,0xa685a61171bb30d4072B338c80Cb7b2c865c873E,18 +3805,ATUSD-e636,ATUSD,ATUSD,0x101cc05f4A51C0319f570d5E146a8C625198e636,18 +3806,AENJ-3F40,AENJ,AENJ,0x712DB54daA836B53Ef1EcBb9c6ba3b9Efb073F40,18 +3807,ASNX-E6c2,ASNX,ASNX,0x35f6B052C598d933D69A4EEC4D04c73A191fE6c2,18 +3808,IETH-d019,IETH,IETH,0xc383a3833A87009fD9597F8184979AF5eDFad019,18 +3809,WETH-6Cc2,WETH,WETH,0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2,18 +3810,AMKR-6998,AMKR,AMKR,0x7deB5e830be29F91E298ba5FF1356BB7f8146998,18 +3811,PEPECOIN-489A,PEPECOIN,PEPECOIN,0xA9E8aCf069C58aEc8825542845Fd754e41a9489A,18 +3812,POLS-D5Aa,POLS,POLS,0x83e6f1E41cdd28eAcEB20Cb649155049Fac3D5Aa,18 +3813,NAOS-4496,NAOS,NAOS,0x4a615bB7166210CCe20E6642a6f8Fb5d4D044496,18 +3814,LEASH-6634,LEASH,LEASH,0x27C70Cd1946795B66be9d954418546998b546634,18 +3815,SSHIP-B886,SSHIP,SSHIP,0xC1ECfaf43C53BEc9B9143Ab274f35603Fd10B886,18 +3816,BEAN-Efab,BEAN,BEAN,0xBEA0000029AD1c77D3d5D23Ba2D8893dB9d1Efab,6 +3817,ALINK-73E0,ALINK,ALINK,0xa06bC25B5805d5F8d82847D191Cb4Af5A3e873E0,18 +3818,SXP-b6A9,SXP,SXP,0x8CE9137d39326AD0cD6491fb5CC0CbA0e089b6A9,18 +3819,GMEE-2373,GMEE,GMEE,0xD9016A907Dc0ECfA3ca425ab20B6b785B42F2373,18 +3820,AURA-3DBF,AURA,AURA,0xC0c293ce456fF0ED870ADd98a0828Dd4d2903DBF,18 +3821,KISHU-817D,KISHU,KISHU,0xA2b4C0Af19cC16a6CfAcCe81F192B024d625817D,9 +3822,SONICBOT-DcDD,SONICBOT,SONICBOT,0xB167b290D172eb33e221309592Df0C042ab9DcDD,9 +3823,FOREX-259B,FOREX,FOREX,0xDb298285FE4C5410B05390cA80e8Fbe9DE1F259B,18 +3824,UFO-DC3B,UFO,UFO,0x249e38Ea4102D0cf8264d3701f1a0E39C4f2DC3B,18 +3825,IMBTC-8923,IMBTC,IMBTC,0x3212b29E33587A00FB1C83346f5dBFA69A458923,8 +3826,XBOT-613D,XBOT,XBOT,0x330528172778Cc5196d5f6742886c72505e0613D,18 +3827,3CRV-E490,3CRV,3CRV,0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490,18 +3828,CAPS-15e2,CAPS,CAPS,0x03Be5C903c727Ee2C8C4e9bc0AcC860Cca4715e2,18 +3829,SAFEEARTH-1CbA,SAFEEARTH,SAFEEARTH,0xE6F1966d04CfcB9cd1B1dC4E8256D8b501b11CbA,9 +3830,SILO-B1f8,SILO,SILO,0x6f80310CA7F2C654691D1383149Fa1A57d8AB1f8,18 +3831,VRN-4f23,VRN,VRN,0x72377f31e30a405282b522d588AEbbea202b4f23,18 +3832,TXA-A830,TXA,TXA,0x4463e6A3dEd0dBE3F6e15bC8420dFc55e5FeA830,18 +3833,STETH-fE84,STETH,STETH,0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84,18 +3834,TRAC-0A6F,TRAC,TRAC,0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F,18 +3835,VXV-bFCe,VXV,VXV,0x7D29A64504629172a429e64183D6673b9dAcbFCe,18 +3836,DCN-91e6,DCN,DCN,0x08d32b0da63e2C3bcF8019c9c5d849d7a9d791e6,0 +3837,FREE-e4Fd,FREE,FREE,0x2F141Ce366a2462f02cEA3D12CF93E4DCa49e4Fd,18 +3838,NKN-c9eb,NKN,NKN,0x5Cf04716BA20127F1E2297AdDCf4B5035000c9eb,18 +3839,FOX-e52d,FOX,FOX,0xc770EEfAd204B5180dF6a14Ee197D99d808ee52d,18 +3840,FLX-91F4,FLX,FLX,0x6243d8CEA23066d098a15582d81a598b4e8391F4,18 +3841,LINA-1937,LINA,LINA,0x3E9BC21C9b189C09dF3eF1B824798658d5011937,18 +3842,UFI-a0E3,UFI,UFI,0xcDa4e840411C00a614aD9205CAEC807c7458a0E3,18 +3843,TOMI-3449,TOMI,TOMI,0x4385328cc4D643Ca98DfEA734360C0F596C83449,18 +3844,AIPAD-8AAf,AIPAD,AIPAD,0xE55d97A97ae6A17706ee281486E98A84095d8AAf,18 +3845,UMA-F828,UMA,UMA,0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828,18 +3846,XPR-A2af,XPR,XPR,0xD7EFB00d12C2c13131FD319336Fdf952525dA2af,4 +3847,WACME-1170,WACME,WACME,0xDF4Ef6EE483953fE3B84ABd08C6A060445c01170,8 +3848,RUSHAI-c45B,RUSHAI,RUSHAI,0x69d47846bb7B884062FaBc08A4A7dEADCd98c45B,18 +3849,LAI-11Cc,LAI,LAI,0x168e209D7b2F58f1f24b8Ae7B7d35E662bBF11Cc,18 +3850,INFRA-9e3c,INFRA,INFRA,0x013062189dc3dcc99e9Cee714c513033b8d99e3c,18 +3851,POOH-E371,POOH,POOH,0xB69753c06BB5c366BE51E73bFc0cC2e3DC07E371,18 +3852,DXP-B745,DXP,DXP,0x88aa4a6C5050b9A1b2Aa7e34D0582025cA6AB745,18 +3853,IMGNAI-CBe0,IMGNAI,IMGNAI,0xA735A3AF76CC30791C61c10d585833829d36CBe0,9 +3854,UBXN-1065,UBXN,UBXN,0x7A73839bd0e5cdED853cB01aa9773F8989381065,18 +3855,NTVRK-157A,NTVRK,NTVRK,0xFc0d6Cf33e38bcE7CA7D89c0E292274031b7157A,18 +3856,VR-8cdD,VR,VR,0x7d5121505149065b562C789A0145eD750e6E8cdD,18 +3857,STOS-Bdcc,STOS,STOS,0x08c32b0726C5684024ea6e141C50aDe9690bBdcc,18 +3858,OCC-7207,OCC,OCC,0x2F109021aFe75B949429fe30523Ee7C0D5B27207,18 +3859,AQTIS-4429,AQTIS,AQTIS,0x6FF2241756549B5816A177659E766EAf14B34429,18 +3860,LYRA-05Bf,LYRA,LYRA,0x01BA67AAC7f75f647D94220Cc98FB30FCc5105Bf,18 +3861,STG-2Cd6,STG,STG,0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6,18 +3862,UMEE-dDaC,UMEE,UMEE,0xc0a4Df35568F116C370E6a6A6022Ceb908eedDaC,6 +3863,CGG-5e43,CGG,CGG,0x1fE24F25b1Cf609B9c4e7E12D802e3640dFA5e43,18 +3864,MC-E5d6,MC,MC,0x949D48EcA67b17269629c7194F4b727d4Ef9E5d6,18 +3865,AGUSD-b583,AGUSD,AGUSD,0xD37EE7e4f452C6638c96536e68090De8cBcdb583,2 +3866,OVR-3697,OVR,OVR,0x21BfBDa47A0B4B5b1248c767Ee49F7caA9B23697,18 +3867,EFI-3733,EFI,EFI,0x656C00e1BcD96f256F224AD9112FF426Ef053733,18 +3868,SCRATS-B973,SCRATS,SCRATS,0x30b47e13cCee15D6Fa7A80994c94Bb9B4a4BB973,18 +3869,XWG-4FEC,XWG,XWG,0x0a77eF9bf662D62Fbf9BA4cf861EaA83F9CC4FEC,18 +3870,SCAI-7512,SCAI,SCAI,0xE35009059cb55ded065027e9832A2c564AFF7512,18 +3871,TAROT-56E8,TAROT,TAROT,0xa10bf0aBa0C7953F279c4Cb8192d3B5dE5eA56E8,18 +3872,DSQ-44aa,DSQ,DSQ,0x54a02Eae26E56d108DdE3B836Db32431228b44aa,18 +3873,XST-c35e,XST,XST,0xC60D6662027F5797Cf873bFe80BcF048e30Fc35e,18 +3874,PIP-8707,PIP,PIP,0x37613D64258c0FE09d5E53EeCb091DA5b8fA8707,18 +3875,CHB-33A0,CHB,CHB,0xf68D4d917592f3a62417aCE42592F15296cc33A0,8 +3876,X-AI-3a77,X-AI,X-AI,0xbF628DfD72CF51752574A970C91F42591B173a77,18 +3877,DUSD-1298,DUSD,DUSD,0xa48F322F8b3edff967629Af79E027628b9Dd1298,18 +3878,DEO-cf8e,DEO,DEO,0x5E7F20e72C21f6D0Bf0A2814FD4164176401cf8e,18 +3879,USDV-3603,USDV,USDV,0x20b3B07E9C0e37815e2892Ab09496559F57C3603,18 +3880,BAN-A034,BAN,BAN,0xe20B9e246db5a0d21BF9209E4858Bc9A3ff7A034,18 +3881,HUNDRED-EA7E,HUNDRED,HUNDRED,0x6CB7D80bDeFEf3F820a3A77eE56F06aFCB20EA7E,18 +3882,SEILOR-1262,SEILOR,SEILOR,0x3e613d7F3CEb1f27Dd22a44F35343DD234c51262,18 +3883,KUJI-3fe7,KUJI,KUJI,0x96543ef8d2C75C26387c1a319ae69c0BEE6f3fe7,6 +3884,USK-10E9,USK,USK,0x1B3C515F58857E141A966b33182f2F3feECC10E9,6 +3885,MINTME-e8b3,MINTME,MINTME,0x772722B55cdC2A086aBd064267a17855Eb15e8b3,18 +3886,NFTE-0310,NFTE,NFTE,0x8c223a82E07feCB49D602150d7C2B3A4c9630310,18 +3887,TRIAS-e95d,TRIAS,TRIAS,0x3A856d4effa670C54585a5D523e96513e148e95d,18 +3888,WUSDR-A752,WUSDR,WUSDR,0xC03b43d492d904406db2d7D57e67C7e8234bA752,9 +3889,OATH-8b0B,OATH,OATH,0x6F9C26Fa731C7Ea4139Fa669962Cf8F1CE6C8b0B,18 +3890,ROVI-eC91,ROVI,ROVI,0xCc503242b574BC01145Da7E2A743b43fB395eC91,18 +3891,WHEE-3CF6,WHEE,WHEE,0x2512c545A0117353e4E9aCDdfF860342640d3CF6,18 +3892,VNDC-b5DE,VNDC,VNDC,0x1F3F677Ecc58F6A1F9e2CF410dF4776a8546b5DE,0 +3893,FUTURE-AI-aa15,FUTURE-AI,FUTURE-AI,0x0FF534801E98A4976246D1f418E441783fc9aa15,18 +3894,CATE-8DCb,CATE,CATE,0xf05897CfE3CE9BBBfE0751CBE6B1B2c686848DCb,9 +3895,RLB-3f3d,RLB,RLB,0x046EeE2cc3188071C02BfC1745A6b17c656e3f3d,18 +3896,VEXT-38c7,VEXT,VEXT,0xB2492E97a68a6E4B9E9a11B99F6C42E5aCCD38c7,18 +3897,BLAZEX-91c0,BLAZEX,BLAZEX,0xDD1b6B259986571A85dA82A84f461e1c212591c0,9 +3898,SOPH-d380,SOPH,SOPH,0x73fBD93bFDa83B111DdC092aa3a4ca77fD30d380,18 +3899,BRISE-3e3A,BRISE,BRISE,0xF2B2f7b47715256Ce4eA43363a867fdce9353e3A,9 +3900,NSFW-BF19,NSFW,NSFW,0x8f006D1e1D9dC6C98996F50a4c810F17a47fBF19,18 +3901,CGPT-39Aa,CGPT,CGPT,0x25931894a86D47441213199621F1F2994e1c39Aa,18 +3902,YOU-d8CA,YOU,YOU,0xb92ba0A6a843379499770dE82Aa936d6bA0fd8CA,18 +3903,HOS-E5Bd,HOS,HOS,0xbF27B3163c25113be5439D56F8ACf2209Ef3E5Bd,18 +3904,OK-4189,OK,OK,0xd3Ac016b1B8C80EeAdDe4D186A9138C9324e4189,18 +3905,PRIMAL-752C,PRIMAL,PRIMAL,0xDd13DEdeCEbDA566322195bc4451D672A148752C,18 +3906,MURATIAI-6bCf,MURATIAI,MURATIAI,0x69C2fcAe7e30b429166BD616A322e32BeC036bCf,18 +3907,MV-B95b,MV,MV,0xAE788F80F2756A86aa2F410C651F2aF83639B95b,18 +3908,IPISTR-348e,IPISTR,IPISTR,0x888888888888f195E27A2E0F98D712952aB9348e,18 +3909,NRG-2069,NRG,NRG,0x1416946162B1C2c871A73B07E932D2fB6C932069,18 +3910,PIRATE-7D7A,PIRATE,PIRATE,0xb990d93C308A31c737Aa91839E8bA8eAF4017D7A,8 +3911,ASAN-f435,ASAN,ASAN,0x5F1F11a3dD7a0C39Da1BaA3C7b8585b52a77f435,18 +3912,PING-8E47,PING,PING,0xC7B89491Bb148551547837ea6ccB4Bb5144d8E47,9 +3913,MEAN-3318,MEAN,MEAN,0x9b25889C493aE6Df34cEef1ecb10D77c1Ba73318,6 +3914,MAGIC-Ac9A,MAGIC,MAGIC,0xB0c7a3Ba49C7a6EaBa6cD4a96C55a1391070Ac9A,18 +3915,SHARBI-c9a9,SHARBI,SHARBI,0xF3A3023e6Dede84AD88a656A3269F2A36e83c9a9,9 +3916,MILKAI-4F39,MILKAI,MILKAI,0x9f826324bb9BdcF7E7Eb274BEDc417BD45D74F39,8 +3917,HMX-5140,HMX,HMX,0x83d6c8C06ac276465e4C92E7aC8C23740F435140,18 +3918,SLG-019a,SLG,SLG,0xFc0B60E0DF5Dc9d4B72D957cA2d251ceE308019a,18 +3919,ZENIQ-7233,ZENIQ,ZENIQ,0x5b52bfB8062Ce664D74bbCd4Cd6DC7Df53Fd7233,18 +3920,HMX-3a88,HMX,HMX,0xb012Be90957D70D9a070918027655F998C123a88,18 +3921,DMT-3A9C,DMT,DMT,0x0B7f0e51Cd1739D6C96982D55aD8fA634dd43A9C,18 +3922,CDT-85Cc,CDT,CDT,0xCdB37A4fBC2Da5b78aA4E41a432792f9533e85Cc,18 +3923,USX-DEc8,USX,USX,0x0a5E677a6A24b2F1A2Bf4F3bFfC443231d2fDEc8,18 +3924,SHIBELON-De6d,SHIBELON,SHIBELON,0x4c584CD339bdDE73B7F5210486dd8bbeEE3fDe6d,9 +3925,CINU-8c32,CINU,CINU,0xA64D5d1eB67748226d84812B45711453f1118c32,9 +3926,CATPAY-491d,CATPAY,CATPAY,0x075067A4b236f68F123FC0553F4560311937491d,9 +3927,JART-8948,JART,JART,0xf3E07812eBC8604fdDB0AA35ff79a03F48f48948,18 +3928,DOGS-ba21,DOGS,DOGS,0xBcCD27062ae1A2BeA5731c904b96EDfb163Aba21,9 +3929,EMPIRE-3665,EMPIRE,EMPIRE,0xf124eD9Ec309907808b1FBc6BEdB2a76927B3665,18 +3930,CIOTX-8FE1,CIOTX,CIOTX,0x9F90B457Dea25eF802E38D470ddA7343691D8FE1,18 +3931,KING-AE8f,KING,KING,0xE28027c99C7746fFb56B0113e5d9708aC86fAE8f,9 +3932,SHINU-C53F,SHINU,SHINU,0x0d229c3FF2d76E4b88Ca4F9d3D3353F4545EC53F,18 +3933,DIFI-808F,DIFI,DIFI,0xC4F521d163d593A759F526DaBf012Cc7581D808F,18 +3934,CP-CFCa,CP,CP,0x5BDC32663Ec75E85ff4abc2CAe7ae8B606A2CFCa,18 +3935,STUSDT-5e10,STUSDT,STUSDT,0x25eC98773D7b4ceD4cAFaB96A2A1c0945f145e10,18 +3936,OBX-4d25,OBX,OBX,0x188fb5f5Ae5BBE4154d5778F2bbb2Fb985c94d25,18 +3937,RJV-adaB,RJV,RJV,0x02c3296C6eb50249f290AE596F2bE9454bFfadaB,6 +3938,WMT-7296,WMT,WMT,0x263B6B028F3e4eD8C4329eB2b5f409Ee38D97296,6 +3939,WOM-0CFB,WOM,WOM,0xc0B314a8c08637685Fc3daFC477b92028c540CFB,18 +3940,DIMO-2E1B,DIMO,DIMO,0x5fab9761d60419C9eeEbe3915A8FA1ed7e8d2E1B,18 +3941,DCK-3A39,DCK,DCK,0x672f4fa517894496B8A958b4b3fcA068cE513A39,18 +3942,ID-6406,ID,ID,0x2dfF88A56767223A5529eA5960Da7A3F5f766406,18 +3943,MPWR-b579,MPWR,MPWR,0x6731827Cb6879a2091ce3ab3423f7bf20539b579,18 +3944,ARB-4ad1,ARB,ARB,0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1,18 +3945,FYT-8ca7,FYT,FYT,0x77F2BE773CA0887ba2b3Ef8344C8CF13C98d8ca7,18 +3946,AI-7D80,AI,AI,0xa89Bf95c5f15a847c8Eb8D348cd7feD719AD7D80,18 +3947,STSW-31a3,STSW,STSW,0x1C98B54d673C026C8286bADCa3E840aaf72931a3,6 +3948,BONK-67F6,BONK,BONK,0x1151CB3d861920e07a38e03eEAd12C32178567F6,5 +3949,GXE-bea6,GXE,GXE,0x510975edA48A97E0cA228dD04d1217292487bea6,18 +3950,ACRE-FC21,ACRE,ACRE,0xb2cABf797bc907B049e4cCB5b84d13be3a8CFC21,18 +3951,WFTM-7870,WFTM,WFTM,0x4E15361FD6b4BB609Fa63C81A2be19d873717870,18 +3952,CANTO-b220,CANTO,CANTO,0x56C03B8C4FA80Ba37F5A7b60CAAAEF749bB5b220,18 +3953,BRG-6DB1,BRG,BRG,0xC9C4fd7579133701FA2769b6955e7E56bb386DB1,18 +3954,AGOV-280c,AGOV,AGOV,0xd1420AF453Fd7bf940573431D416cAcE7fF8280c,18 +3955,SPA-9008,SPA,SPA,0xB4A3B0Faf0Ab53df58001804DdA5Bfc6a3D59008,18 +3956,LFG-Aa8F,LFG,LFG,0x969786c4A8884013d1c9fF18dCCA2aeDbbBfAa8F,18 +3957,CAKE-c898,CAKE,CAKE,0x152649eA73beAb28c5b49B26eb48f7EAD6d4c898,18 +3958,DUCKYAI-75a6,DUCKYAI,DUCKYAI,0xD38DE430D355a7a8337204c2A4C80392E61475a6,18 +3959,CREMAT-9cB2,CREMAT,CREMAT,0x8b9F7e9586633cA4ABffb1F746da8dAed7849cB2,18 +3960,JM-9771,JM,JM,0x388D819724dD6d71760A38F00dc01D310d879771,8 +3961,GMM-c279,GMM,GMM,0x4B19C70Da4c6fA4bAa0660825e889d2F7eaBc279,18 +3962,BREWLABS-77Ba,BREWLABS,BREWLABS,0xdAd33e12e61dC2f2692F2c12e6303B5Ade7277Ba,9 +3963,WBESC-0252,WBESC,WBESC,0xf89060c99853Bb52eaF5F2247D007d73de660252,18 +3964,MIND-f8aB,MIND,MIND,0x87dA7BBd398D6610dED42617E34069D0083ff8aB,18 +3965,ROO-A938,ROO,ROO,0x9d7107c8E30617CAdc11f9692A19C82ae8bbA938,18 +3966,TRAVA-00bf,TRAVA,TRAVA,0x186D0Ba3dfC3386C464eECd96A61fBB1E2dA00bf,18 +3967,MELD-0400,MELD,MELD,0x333000333b26eE30214B4af6419D9ab07a450400,18 +3968,CRO-450b,CRO,CRO,0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b,8 +3969,PRNT-15FD,PRNT,PRNT,0x7Cfea0DD176651E7B5a1CeD9c4fAf8Ee295315FD,18 +3970,GRV-290c,GRV,GRV,0xF33893DE6eB6aE9A67442E066aE9aBd228f5290c,8 +3971,MAZI-f5CB,MAZI,MAZI,0x5B8650Cd999B23cF39Ab12e3213fbC8709c7f5CB,18 +3972,REUNI-9456,REUNI,REUNI,0x9ed7E4B1BFF939ad473dA5E7a218C771D1569456,6 +3973,ERN-1846,ERN,ERN,0x91A69021b0BaeF3445E51726458a0CE601471846,18 +3974,PHX-77Fa,PHX,PHX,0x9776191F4ebBBa7f358C1663bF82C0a0906c77Fa,18 +3975,FUSDC-B36C,FUSDC,FUSDC,0x9d1089802eE608BA84C5c98211afE5f37F96B36C,6 +3976,PEL-6C5c,PEL,PEL,0xA75E7928d3de682e3F44dA60C26F33117c4E6C5c,18 +3977,POV-b2E8,POV,POV,0x15a3081B541e8daD25C4A5E0C4C4B4E8d105b2E8,18 +3978,ALT-FC9f,ALT,ALT,0x1BD55090B8878630E57FAE6eBd11FD61d16DFC9f,18 +3979,UNSHETH-09ef,UNSHETH,UNSHETH,0x0Ae38f7E10A43B5b2fB064B42a2f4514cbA909ef,18 +3980,TRR-253e,TRR,TRR,0x490e3f4af13e1616EC97A8C6600c1061a8D0253e,18 +3981,CGU-F8C9,CGU,CGU,0x849A226f327b89E3133D9930d927F9EB9346F8C9,8 +3982,KNS-Bd01,KNS,KNS,0xf1264873436A0771E440E2b28072FAfcC5EEBd01,18 +3983,ORB-95cd,ORB,ORB,0x3C917054e03485808137EB306eAFA8DA0Ab695cd,18 +3984,BNB-DD52,BNB,BNB,0xB8c77482e45F1F44dE1745F52C74426C631bDD52,18 +3985,SOMM-0FD1,SOMM,SOMM,0xa670d7237398238DE01267472C6f13e5B8010FD1,6 +3986,WSBC-4Beb,WSBC,WSBC,0xE46091dCE9c67691bCf22768bBEe0BC9E20d4Beb,9 +3987,WEFI-6a52,WEFI,WEFI,0xfFA188493C15DfAf2C206c97D8633377847b6a52,18 +3988,SQUIDGROW-557A,SQUIDGROW,SQUIDGROW,0xd8Fa690304D2B2824D918C0c7376e2823704557A,9 +3989,TFT-fB5b,TFT,TFT,0x395E925834996e558bdeC77CD648435d620AfB5b,7 +3990,4TOKEN-9940,4TOKEN,4TOKEN,0x8dB4beACcd1698892821a9a0Dc367792c0cB9940,18 +3991,EDU-9C99,EDU,EDU,0x26aAd156Ba8eFA501b32B42Ffcdc8413F90e9C99,18 +3992,SQUID-f6ED,SQUID,SQUID,0xf823FD9aC0abb8d779076A41DAa049844299f6ED,18 +3993,TAROT-CD6e,TAROT,TAROT,0x837d904A3799c0769079BE9ecbadDF1aBD4cCD6e,18 +3994,PACT-0899,PACT,PACT,0xDcfA8c46ec015D4bF13d6be492cb7a8Eb4580899,18 +3995,ONUS-8f92,ONUS,ONUS,0x4184Aa04215e5d716dD4C213FeD519aCADc68f92,18 +3996,1ART-f17E,1ART,1ART,0xD3c325848D7c6E29b574Cb0789998b2ff901f17E,18 +3997,DUA-68f8,DUA,DUA,0x6c249b6F6492864d914361308601A7aBb32E68f8,18 +3998,CGV-7866,CGV,CGV,0xaeF420fd77477d9Dc8B46D704D44dD09d6c27866,6 +3999,WTRX-7AB5,WTRX,WTRX,0x50327c6c5a14DCaDE707ABad2E27eB517df87AB5,6 +4000,WAR-1f34,WAR,WAR,0x983d8edB44Ca96c0595f3c456ebdD47855911f34,18 +4001,CHITCAT-48c4,CHITCAT,CHITCAT,0x7cF551258d6871b72EE1bD1624588a6245bF48c4,18 +4002,XETA-3550,XETA,XETA,0x967Fb0D760ED3ce53AfE2f0A071674cccAe73550,18 +4003,PLQ-BB7B,PLQ,PLQ,0xd23Ed8cA350CE2631F7EcDC5E6bf80D0A1DeBB7B,18 +4004,FLAG-36Df,FLAG,FLAG,0x9348E94A447bF8B2ec11f374D3F055FD47d936Df,18 +4005,HNY-0FcE,HNY,HNY,0xc3589F56B6869824804A5EA29F2c9886Af1B0FcE,18 +4006,NEXT-5Be7,NEXT,NEXT,0x377d552914E7A104bC22B4F3B6268dDC69615Be7,18 +4007,NEX-c845,NEX,NEX,0xE2dc070524A6e305ddB64d8513DC444B6a1ec845,8 +4008,ANC-Bc20,ANC,ANC,0x0F3ADC247E91c3c50bC08721355A41037E89Bc20,18 +4009,KRW-894b,KRW,KRW,0x499568c250Ab2a42292261d6121525d70691894b,18 +4010,8PAY-9042,8PAY,8PAY,0xFeea0bDd3D07eb6FE305938878C0caDBFa169042,18 +4011,WCHI-4605,WCHI,WCHI,0x6DC02164d75651758aC74435806093E421b64605,8 +4012,DPET-0d08,DPET,DPET,0xfb62AE373acA027177D1c18Ee0862817f9080d08,18 +4013,ORAO-d035,ORAO,ORAO,0xEE1CeA7665bA7aa97e982EdeaeCb26B59a04d035,18 +4014,HYDRO-6f01,HYDRO,HYDRO,0x946112efaB61C3636CBD52DE2E1392D7A75A6f01,18 +4015,DC-9180,DC,DC,0x7B4328c127B85369D9f82ca0503B000D09CF9180,18 +4016,HAI-9a63,HAI,HAI,0x05Fb86775Fd5c16290f1E838F5caaa7342bD9a63,8 +4017,HNS-d2Ac,HNS,HNS,0xA771b49064Da011DF051052848477f18DbA1d2Ac,6 +4018,USDS-4838,USDS,USDS,0x45fDb1b92a649fb6A64Ef1511D3Ba5Bf60044838,18 +4019,BLKC-7F6E,BLKC,BLKC,0x8BCd06492416a749C9369009b3429861b7F27F6E,8 +4020,C98-229f,C98,C98,0xAE12C5930881c53715B369ceC7606B70d8EB229f,18 +4021,BUY-3ed8,BUY,BUY,0x396eC402B42066864C406d1ac3bc86B575003ed8,2 +4022,DOJO-1DF8,DOJO,DOJO,0x180dAe91D6d56235453a892d2e56a3E40Ba81DF8,18 +4023,SWINGBY-b13A,SWINGBY,SWINGBY,0x8287C7b963b405b7B8D467DB9d79eEC40625b13A,18 +4024,START-22C1,START,START,0x1d7Ca62F6Af49ec66f6680b8606E634E55Ef22C1,18 +4025,ANGEL-d5A1,ANGEL,ANGEL,0x6C7B97c7e09E790D161769a52F155125FAc6d5A1,18 +4026,GBYTE-cc2a,GBYTE,GBYTE,0x31F69dE127C8A0fF10819C0955490a4Ae46fcc2a,18 +4027,CRFI-8C5b,CRFI,CRFI,0x8848812BD31AEEe33313C10A840FfC3169078C5b,18 +4028,AGS-991C,AGS,AGS,0x667Fd83E24Ca1D935d36717D305D54fA0CAC991C,18 +4029,DEC-E7F3,DEC,DEC,0x9393fdc77090F31c7db989390D43F454B1A6E7F3,3 +4030,BYTZ-1B78,BYTZ,BYTZ,0x2aaD9Dbc82611485a52325923e1187734e951B78,8 +4031,CYC-Ef9a,CYC,CYC,0x8861cfF2366C1128fd699B68304aD99a0764Ef9a,18 +4032,MEDIA-6941,MEDIA,MEDIA,0xdb726152680eCe3c9291f1016f1d36f3995f6941,6 +4033,COW-5Ea8,COW,COW,0x34965f73Cfa05Bf8d8aF37cB4af64Fa950605Ea8,18 +4034,MOCA-537e,MOCA,MOCA,0x9Ac07635DDBDE5db18648c360DEFb00F5f22537e,18 +4035,FLUX-1D14,FLUX,FLUX,0x7645DdfEecedA57e41f92679c4aCd83c56A81D14,18 +4036,ANY-b4D6,ANY,ANY,0xf99d58e463A2E07e5692127302C20A191861b4D6,18 +4037,GAJ-94d0,GAJ,GAJ,0x9Fda7cEeC4c18008096C2fE2B85F05dc300F94d0,18 +4038,CSWAP-e225,CSWAP,CSWAP,0xe0b0C16038845BEd3fCf70304D3e167Df81ce225,18 +4039,DAPP-1649,DAPP,DAPP,0x939B462ee3311f8926c047D2B576C389092b1649,4 +4040,FIS-cC8d,FIS,FIS,0xef3A930e1FfFFAcd2fc13434aC81bD278B0ecC8d,18 +4041,RAID-9cCB,RAID,RAID,0x154e35c2b0024B3e079c5c5e4fC31c979c189cCB,18 +4042,NSBT-cB93,NSBT,NSBT,0x9D79d5B61De59D882ce90125b18F74af650acB93,6 +4043,ADAPAD-0289,ADAPAD,ADAPAD,0xDB0170e2d0c1CC1b2E7a90313d9B9afA4f250289,18 +4044,CAP-3142,CAP,CAP,0x43044f861ec040DB59A7e324c40507adDb673142,18 +4045,EGG-d23a,EGG,EGG,0xC2708A3A4ba7F64bddc1A49F92f941Bc77Cad23a,18 +4046,APEIN-1698,APEIN,APEIN,0x8bbf1DcCBEdD5c70d8E793d432fB56b848DD1698,18 +4047,VLXPAD-28C0,VLXPAD,VLXPAD,0xb8e3bB633F7276cc17735D86154E0ad5ec9928C0,18 +4048,TBC-04A1,TBC,TBC,0x9798dF2f5d213a872c787bD03b2b91F54D0D04A1,18 +4049,WOW-6e45,WOW,WOW,0x3405A1bd46B85c5C029483FbECf2F3E611026e45,18 +4050,RACA-9040,RACA,RACA,0x12BB890508c125661E03b09EC06E404bc9289040,18 +4051,WJXN-f2e6,WJXN,WJXN,0xcA1262e77Fb25c0a4112CFc9bad3ff54F617f2e6,0 +4052,NWC-3fED,NWC,NWC,0x968F6f898a6Df937fC1859b323aC2F14643e3fED,18 +4053,ZEDXION-9341,ZEDXION,ZEDXION,0xFbC4f3f645C4003a2E4F4e9b51077d2DaA9a9341,18 +4054,ZANO-7d78,ZANO,ZANO,0xdb85f6685950E285b1E611037BEBe5B34e2B7d78,18 +4055,PGEN-16C9,PGEN,PGEN,0xf6719e1A8fcBB1B9c290019E37e004966A8916C9,18 +4056,CRB-149d,CRB,CRB,0x2fd8BC03D9e827F77faC20B5130eE98B7F80149d,8 +4057,BEXT-173D,BEXT,BEXT,0xE22c4E46C6f54e72315CA6eDA934e7b766b0173D,18 +4058,OH-3C30,OH,OH,0x16ba8Efe847EBDFef99d399902ec29397D403C30,18 +4059,ZAM-f4c6,ZAM,ZAM,0xd373576a9e738F37Dc6882328358Ff69c4cAf4c6,18 +4060,ECOP-FFaD,ECOP,ECOP,0x0106A1122FE94a9CF151097c1Fe17229Ec78FFaD,18 +4061,PIXEL-5BaD,PIXEL,PIXEL,0x65E6B60Ea01668634D68D0513Fe814679F925BaD,18 +4062,DAR-62a3,DAR,DAR,0x081131434f93063751813C619Ecca9C4dC7862a3,6 +4063,BABYDOGE-460B,BABYDOGE,BABYDOGE,0xAC57De9C1A09FeC648E93EB98875B212DB0d460B,9 +4064,BOO-Fa58,BOO,BOO,0x55aF5865807b196bD0197e0902746F31FBcCFa58,18 +4065,EYE-2E89,EYE,EYE,0x9A257C90Fa239fBA07771ef7da2d554D148c2E89,18 +4066,FEVR-2e8d,FEVR,FEVR,0x9fB83c0635De2E815fd1c21b3a292277540C2e8d,18 +4067,ZENITH-285C,ZENITH,ZENITH,0x0343131C0257aC21Ea5A8dc83841f071eFd9285C,18 +4068,DOGIRA-B3D7,DOGIRA,DOGIRA,0xD8C1232FcD219286E341271385bd70601503B3D7,9 +4069,FCP-1580,FCP,FCP,0xb6Dd77FD132dcAa10F1858734e838a0FA7431580,18 +4070,BTL-9986,BTL,BTL,0x93e32efaFd24973d45f363A76D73ccB9Edf59986,6 +4071,COPI-0d9d,COPI,COPI,0x42Baf1f659D765C65ADE5BB7E08eb2C680360d9d,18 +4072,WSB-2f64,WSB,WSB,0xe1590A6FA0CFf9C960181cb77d8a873601772f64,18 +4073,PKN-9503,PKN,PKN,0xdf09a216Fac5ADC3e640Db418C0b956076509503,18 +4074,DOMI-f83F,DOMI,DOMI,0x45C2F8c9B4c0bDC76200448cc26C48ab6ffef83F,18 +4075,LUNR-Aa5A,LUNR,LUNR,0xA87135285Ae208e22068AcDBFf64B11Ec73EAa5A,4 +4076,SFIL-32C0,SFIL,SFIL,0x965b85D4674F64422c4898C8F8083187f02B32C0,8 +4077,USTC-1acD,USTC,USTC,0xa47c8bf37f92aBed4A126BDA807A7b7498661acD,18 +4078,WOOP-C393,WOOP,WOOP,0xaAD483F97f13C6A20B9D05d07c397CE85c42C393,18 +4079,IDYP-e056,IDYP,IDYP,0xBD100d061E120b2c67A24453CF6368E63f1Be056,18 +4080,VST-e259,VST,VST,0x77A1f4E744d810239F465043E35d067Ca33De259,18 +4081,BTCBR-3695,BTCBR,BTCBR,0xE57425F1598f9b0d6219706b77f4b3DA573a3695,18 +4082,SOURCE-a79E,SOURCE,SOURCE,0x7118057ff0F4Fd0994fb9d2D94de8231d5cca79E,18 +4083,WWY-E322,WWY,WWY,0x9Ab70e92319f0b9127df78868Fd3655fB9f1E322,18 +4084,AXL-C0E0,AXL,AXL,0x25b24B3c47918b7962B3e49C4F468367F73CC0E0,18 +4085,UST-87a5,UST,UST,0xa693B19d2931d498c5B318dF961919BB4aee87a5,6 +4086,SATOZ-4f97,SATOZ,SATOZ,0x845e2e8B42DCED7DEDCDBa9BdE32C9e338224f97,8 +4087,EKTA-81C4,EKTA,EKTA,0x2f75113b13D136F861d212Fa9b572F2C79Ac81C4,18 +4088,BTT-7957,BTT,BTT,0xC669928185DbCE49d2230CC9B0979BE6DC797957,18 +4089,SLP-Aa25,SLP,SLP,0xCC8Fa225D80b9c7D42F96e9570156c65D6cAAa25,0 +4090,COC-fd46,COC,COC,0xc4BB7277A74678f053259CB1F96140347efbfd46,18 +4091,GEM-F806,GEM,GEM,0x9b17bAADf0f21F03e35249e0e59723F34994F806,18 +4092,O3-7d28,O3,O3,0xEe9801669C6138E84bD50dEB500827b776777d28,18 +4093,WTLOS-AC88,WTLOS,WTLOS,0x7825e833D495F3d1c28872415a4aee339D26AC88,18 +4094,QMALL-2198,QMALL,QMALL,0x2217e5921B7edfB4BB193a6228459974010D2198,18 +4095,MCONTENT-b3F4,MCONTENT,MCONTENT,0xD3c51de3E6DD9b53D7f37699AFB3EE3Bf9B9b3F4,6 +4096,VCG-F1E9,VCG,VCG,0x1F36FB2D91d9951Cf58aE4c1956C0b77e224F1E9,18 +4097,PAY-3ea3,PAY,PAY,0xe580074A10360404AF3ABfe2d524D5806D993ea3,18 +4098,PHL-cC1a,PHL,PHL,0x723bD1f87A327e94ceaBf68d8f022E0f54B9cC1a,18 +4099,WAL-8532,WAL,WAL,0x22c5543d1a35178cB03b33f929A959145E538532,18 +4100,PLY-003d,PLY,PLY,0x20d60c6eb195868d4643f2c9B0809e4De6Cc003d,6 +4101,MTD-75Bf,MTD,MTD,0x809E130E10e787139c54e1d12d3D1971b7A675Bf,18 +4102,PLY-f90b,PLY,PLY,0x1aB43204a195a0fD37EdeC621482AFd3792ef90b,18 +4103,IBEX-1dC6,IBEX,IBEX,0xF655C8567E0f213e6C634CD2A68d992152161dC6,18 +4104,NNT-aD56,NNT,NNT,0x19193F450086d0442157b852081976D41657aD56,18 +4105,RISE-0cA3,RISE,RISE,0xC17c30e98541188614dF99239cABD40280810cA3,18 +4106,DHN-A244,DHN,DHN,0x32462bA310E447eF34FF0D15BCE8613aa8C4A244,18 +4107,NFT-850a,NFT,NFT,0x198d14F2Ad9CE69E76ea330B374DE4957C3F850a,6 +4108,SMBR-62Dd,SMBR,SMBR,0x16B3E050e9e2f0Ac4f1BEA1b3E4fdc43d7f062Dd,9 +4109,NBT-824c,NBT,NBT,0x446F2A8A39Cc730ef378Be759A3c57f1a3fE824c,18 +4110,JMPT-c840,JMPT,JMPT,0x420a24c9c65bd44c48bfB1cC8D6cD1ea8B1Ac840,18 +4111,KZEN-100F,KZEN,KZEN,0x4550003152F12014558e5CE025707E4DD841100F,18 +4112,USDD-b5c6,USDD,USDD,0x0C10bF8FcB7Bf5412187A595ab97a3609160b5c6,18 +4113,PS1-512E,PS1,PS1,0xb5be7557fe8f69a2B5707D25fA0aeE80DfDA512E,18 +4114,MAIN-aa75,MAIN,MAIN,0xfcEB206E1a80527908521121358B5e26cAABaa75,18 +4115,BLAST-2Eda,BLAST,BLAST,0x614D7f40701132E25fe6fc17801Fbd34212d2Eda,9 +4116,DFI-358A,DFI,DFI,0x8Fc8f8269ebca376D046Ce292dC7eaC40c8D358A,8 +4117,CELT-6134,CELT,CELT,0xf6e06B54855eFf198a2d9A8686113665499a6134,18 +4118,A4-69f1,A4,A4,0x9767203e89dcD34851240B3919d4900d3E5069f1,6 +4119,QUA-88B7,QUA,QUA,0xd35c06a2781f648c75290976ecF71E71582188B7,18 +4120,RADIO-5636,RADIO,RADIO,0x7a5d3A9Dcd33cb8D527f7b5F96EB4Fef43d55636,18 +4121,ANKRMATIC-480C,ANKRMATIC,ANKRMATIC,0x26dcFbFa8Bc267b250432c01C982Eaf81cC5480C,18 +4122,VINU-52c9,VINU,VINU,0xAFCdd4f666c84Fed1d8BD825aA762e3714F652c9,18 +4123,ISHND-5dbf,ISHND,ISHND,0x9e6b19874e97fe8E8CAD77f2c0AB5E7a693E5dbf,18 +4124,ACRV-0884,ACRV,ACRV,0x2b95A1Dcc3D405535f9ed33c219ab38E8d7e0884,18 +4125,SHACK-7f0e,SHACK,SHACK,0x5f018e73C185aB23647c82bD039e762813877f0e,18 +4126,SHA-97FC,SHA,SHA,0x40fEd5691e547885cABd7A2990De719DCc8497FC,18 +4127,SPICE-429d,SPICE,SPICE,0x18a1Ea69A50A85752b7bC204a2c45A95Ce6E429d,18 +4128,BIP-8131,BIP,BIP,0xcafE34BAE6F1b23A6B575303EdCc0578d2188131,18 +4129,OPENX-b7E2,OPENX,OPENX,0x57d579F483854c62FEf850B8a5332B0d8424b7E2,18 +4130,SLEEPEE-12d9,SLEEPEE,SLEEPEE,0x80CD73baDb406eA36B9a7CDeb8df06AeFa7E12d9,18 +4131,EVMOS-eE7b,EVMOS,EVMOS,0x93581991f68DBaE1eA105233b67f7FA0D6BDeE7b,18 +4132,SOKU-6160,SOKU,SOKU,0x4C3A8ECeB656Ec63eaE80a4ebD565E4887DB6160,18 +4133,USV-4440,USV,USV,0x88536C9B2C4701b8dB824e6A16829D5B5Eb84440,9 +4134,ELK-eeeE,ELK,ELK,0xeEeEEb57642040bE42185f49C52F7E9B38f8eeeE,18 +4135,CERES-0aDA,CERES,CERES,0x2e7B0d4F9B2EaF782eD3D160e3a0a4b1a7930aDA,18 +4136,BANANA-c7f2,BANANA,BANANA,0x92DF60c51C710a1b1C20E42D85e221f3A1bFc7f2,18 +4137,OSEA-6E44,OSEA,OSEA,0xC72633F995e98Ac3BB8a89e6a9C4Af335C3D6E44,18 +4138,LBLOCK-D329,LBLOCK,LBLOCK,0x2b867efD2dE4Ad2B583Ca0CB3dF9C4040Ef4D329,9 +4139,GMT-f740,GMT,GMT,0xe3c408BD53c31C085a1746AF401A4042954ff740,8 +4140,MNTL-3295,MNTL,MNTL,0x2C4F1DF9c7DE0C59778936C9b145fF56813F3295,6 +4141,BUILD-9Eeb,BUILD,BUILD,0x57b59f981730c6257dF57cF6F0D98283749A9Eeb,18 +4142,MCRT-478D,MCRT,MCRT,0xde16Ce60804a881e9F8c4eBB3824646EDecd478D,9 +4143,VVS-DDE3,VVS,VVS,0x839e71613f9aA06E5701CF6de63E303616B0DDE3,18 +4144,FXUSD-cE3F,FXUSD,FXUSD,0x8616E8EA83f048ab9A5eC513c9412Dd2993bcE3F,18 +4145,WALV-D497,WALV,WALV,0x256D1fCE1b1221e8398f65F9B36033CE50B2D497,18 +4146,LFI-a0b2,LFI,LFI,0xb28f803A8772E6584A65Ab6dfC535aE6fEf8a0b2,18 +4147,CUSD-8246,CUSD,CUSD,0xC285B7E09A4584D027E5BC36571785B515898246,18 +4148,FER-0D19,FER,FER,0x2f32b39023dA7d6A6486A85d12B346EB9C2A0D19,18 +4149,FUNEX-57d0,FUNEX,FUNEX,0xD6e460F70e1CF60E55B770f66E568B44bf3657d0,18 +4150,MIMATIC-fAD6,MIMATIC,MIMATIC,0x8D6CeBD76f18E1558D4DB88138e2DeFB3909fAD6,18 +4151,ASTRAFER-6F17,ASTRAFER,ASTRAFER,0x97Bbbc5d96875fB78D2F14b7FF8d7a3a74106F17,18 +4152,BOB-1B0B,BOB,BOB,0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0B,18 +4153,SEAN-DE24,SEAN,SEAN,0xA719CB79Af39A9C10eDA2755E0938bCE35e9DE24,18 +4154,WMEMO-af57,WMEMO,WMEMO,0x3b79a28264fC52c7b4CEA90558AA0B162f7Faf57,18 +4155,TXPT-E33c,TXPT,TXPT,0x19b22DbADc298c359A1D1b59e35f352A2b40E33c,18 +4156,TXAU-53bF,TXAU,TXAU,0xe4A6f23Fb9e00Fca037Aa0EA0a6954dE0a6C53bF,18 +4157,TXAG-bfF3,TXAG,TXAG,0x34ABce75D2f8f33940c721dCA0f562617787bfF3,18 +4158,PIXL-dd64,PIXL,PIXL,0x427A03Fb96D9A94A6727fbcfbBA143444090dd64,18 +4159,RAD-06FB,RAD,RAD,0xdDc6625FEcA10438857DD8660C021Cd1088806FB,18 +4160,LBR-aCcA,LBR,LBR,0xC98835e792553e505AE46e73a6fD27a23985aCcA,18 +4161,UNIBOT-5040,UNIBOT,UNIBOT,0x25127685dC35d4dc96C7fEAC7370749d004C5040,18 +4162,BEE-307c,BEE,BEE,0x4C4F2B9DEB3c91006719Bb3232DD4eb39977307c,18 +4163,TUCKER-A84f,TUCKER,TUCKER,0x6f49694827d46A14Baf2a7b1eAC3e6eB3526A84f,9 +4164,OXO-09fc,OXO,OXO,0x47daC6BD80f024575a6d367aF5Ba8e89202A09fc,18 +4165,PEPE3.0-5398,PEPE3.0,PEPE3.0,0x0e92C90867bF82ebbE66ae0352a4C6D876Fb5398,18 +4166,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 +4167,FROGDOG-e16C,FROGDOG,FROGDOG,0x3cda61B56278842876e7fDD56123d83DBAFAe16C,18 +4168,SHIBIE-a98F,SHIBIE,SHIBIE,0x4965b3b90f3a63Fc72F74e53322f66b2a174a98F,18 +4169,RVT-2244,RVT,RVT,0x3d1BA9be9f66B8ee101911bC36D3fB562eaC2244,18 +4170,Homer Pepe-ea3c,Homer Pepe,Homer Pepe,0x86803e2012CBA1Ca09d87393f5C739FA9E58ea3c,9 +4171,HODL-FecE,HODL,HODL,0x7b5FD0BB4154292173807aE6ae05153787e3FecE,18 +4172,CAL-36E1,CAL,CAL,0x20561172f791f915323241E885b4f7D5187c36E1,18 +4173,USDB-f060,USDB,USDB,0x309627af60F0926daa6041B8279484312f2bf060,18 +4174,RUNE-49cb,RUNE,RUNE,0x3155BA85D5F96b2d030a4966AF206230e46849cb,18 +4175,PXLDY-F051,PXLDY,PXLDY,0xbC91A632E78db7c74508Ea26e91B266aa235F051,18 +4176,AURA-16bE,AURA,AURA,0x6047e101aaa9Ab9b02fe5Cbc1DD03c2C7C8516bE,18 +4177,REMIO-Fdbc,REMIO,REMIO,0xa35Bd2246978Dfbb1980DFf8Ff0f5834335dFdbc,18 diff --git a/fastlane_bot/events/managers/contracts.py b/fastlane_bot/events/managers/contracts.py index 79bb8c033..eafcf7f36 100644 --- a/fastlane_bot/events/managers/contracts.py +++ b/fastlane_bot/events/managers/contracts.py @@ -228,14 +228,25 @@ def get_token_info_from_contract( """ contract = self.get_or_create_token_contracts(web3, erc20_contracts, addr) tokens_filepath = 'fastlane_bot/data/tokens.csv' - token_data = pd.read_csv(tokens_filepath) + token_data = pd.read_csv(tokens_filepath, index_col=[0]) try: return self._get_and_save_token_info_from_contract( contract=contract, addr=addr, token_data=token_data, tokens_filepath=tokens_filepath ) - except Exception as e: - self.cfg.logger.debug(f"Failed to get symbol and decimals for {addr} {e}") + except self.FailedToGetTokenDetailsException as e: + self.cfg.logger.debug(f"{e}") + + class FailedToGetTokenDetailsException(Exception): + """ + Exception caused when token details are unable to be fetched by the contract + """ + def __init__(self, addr): + self.message = f"Failed to get token symbol and decimals for token address: {addr}" + + def __str__(self): + return self.message + def _get_and_save_token_info_from_contract(self, contract: Contract, addr: str, token_data: pd.DataFrame, tokens_filepath: str) -> Tuple[str, int]: @@ -260,8 +271,17 @@ def _get_and_save_token_info_from_contract(self, contract: Contract, addr: str, """ symbol = contract.functions.symbol().call() - decimals = contract.functions.decimals().call() key = self.get_tkn_key(symbol=symbol, addr=addr) + + if key in token_data['key'].unique(): + decimals = token_data.loc[token_data['key'] == key, 'decimals'].iloc[0] + return symbol, decimals + else: + decimals = contract.functions.decimals().call() + + if symbol is None or decimals is None: + raise self.FailedToGetTokenDetailsException(addr=addr) + new_data = { "key": key, "symbol": symbol, @@ -270,10 +290,14 @@ def _get_and_save_token_info_from_contract(self, contract: Contract, addr: str, "decimals": decimals } self.cfg.logger.info(f"Adding new token {key} to {tokens_filepath}") - row = pd.DataFrame(new_data, index=max(token_data.index) + 1, columns=token_data.columns) - token_data = pd.concat([token_data, row]) - token_data.to_csv(tokens_filepath) - + next_index = len(token_data.index) + try: + row = pd.DataFrame(new_data, columns=token_data.columns, index=[next_index]) + token_data = pd.concat([token_data, row]) + token_data.to_csv(tokens_filepath) + except Exception: + # If CSV fails to update, we still return the token symbol & decimals + pass return ( symbol, decimals ) From a034e09ea9a1dfad4e13a1518d4f71e505510fb7 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Thu, 28 Sep 2023 01:28:07 -0700 Subject: [PATCH 22/33] Fixes broken tokens.csv write --- fastlane_bot/data/tokens.csv | 4604 +++++++++++---------- fastlane_bot/events/managers/contracts.py | 17 +- 2 files changed, 2338 insertions(+), 2283 deletions(-) diff --git a/fastlane_bot/data/tokens.csv b/fastlane_bot/data/tokens.csv index ea09a6502..b51363994 100644 --- a/fastlane_bot/data/tokens.csv +++ b/fastlane_bot/data/tokens.csv @@ -1,2276 +1,2330 @@ id,key,symbol,name,address,decimals -1,OCTO-2BA3,OCTO,OCTO,0x7240aC91f01233BaAf8b064248E80feaA5912BA3,18 -2,USDC-eB48,USDC,USDC,0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48,6 -3,ECO-5727,ECO,ECO,0x8dBF9A4c99580fC7Fd4024ee08f3994420035727,18 -4,WBTC-C599,WBTC,WBTC,0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599,8 -5,DIGG-01C3,DIGG,DIGG,0x798D1bE841a82a273720CE31c822C61a67a601C3,9 -6,SPIRAL-1C3c,SPIRAL,SPIRAL,0x01792e1548Dc317bDE6123fe92da1Fe6d7311C3c,9 -7,DYP-ef17,DYP,DYP,0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17,18 -8,FTG-7659,FTG,FTG,0x3A4CaB3DcfaB144FE7eB2B5a3e288Cc03dC07659,18 -9,USDT-1ec7,USDT,USDT,0xdAC17F958D2ee523a2206206994597C13D831ec7,6 -10,ORE-782A,ORE,ORE,0x4f640F2529ee0cF119A2881485845FA8e61A782A,18 -11,CWEB-Bf04,CWEB,CWEB,0x505B5eDa5E25a67E1c24A2BF1a527Ed9eb88Bf04,18 -12,BigSB-b6F6,BigSB,BigSB,0x131157c6760f78f7dDF877C0019Eba175BA4b6F6,18 -13,FRAX-b99e,FRAX,FRAX,0x853d955aCEf822Db058eb8505911ED77F175b99e,18 -14,USDx-23E3,USDx,USDx,0x2F6081E3552b1c86cE4479B80062A1ddA8EF23E3,9 -15,RFOX-8262,RFOX,RFOX,0xa1d6Df714F91DeBF4e0802A542E13067f31b8262,18 -16,DAI-1d0F,DAI,DAI,0x6B175474E89094C44Da98b954EedeAC495271d0F,18 -17,IDLE-D39e,IDLE,IDLE,0x875773784Af8135eA0ef43b5a374AaD105c5D39e,18 -18,HAI-9a63,HAI,HAI,0x05Fb86775Fd5c16290f1E838F5caaa7342bD9a63,8 -19,PULSE-97cE,PULSE,PULSE,0x52A047Ee205701895Ee06A375492490EC9C597cE,18 -20,GUILD-475A,GUILD,GUILD,0x83E9F223e1edb3486F876EE888d76bFba26c475A,18 -21,SPDR-0Fdd,SPDR,SPDR,0xbcD4b7dE6fde81025f74426D43165a5b0D790Fdd,18 -22,SNP-FA9d,SNP,SNP,0x6911F552842236bd9E8ea8DDBB3fb414e2C5FA9d,18 -23,OCC-7207,OCC,OCC,0x2F109021aFe75B949429fe30523Ee7C0D5B27207,18 -24,DAWN-9aFa,DAWN,DAWN,0x580c8520dEDA0a441522AEAe0f9F7A5f29629aFa,18 -25,Shird-695f,Shird,Shird,0x8916187112fd6e3624a80C42FA354Cd9756E695f,9 -26,PEAK-Ad78,PEAK,PEAK,0x630d98424eFe0Ea27fB1b3Ab7741907DFFEaAd78,8 -27,HGET-5148,HGET,HGET,0x7968bc6a03017eA2de509AAA816F163Db0f35148,6 -28,bluSGD-db22,bluSGD,bluSGD,0x92830ef7c8d651Ed3A708053c602E807bAd7db22,18 -29,ZRX-F498,ZRX,ZRX,0xE41d2489571d322189246DaFA5ebDe1F4699F498,18 -30,NineFi-2f1d,NineFi,NineFi,0xe78BFF28D3c5195C752E734E95421bb4bd742f1d,18 -31,RBIS-9D7D,RBIS,RBIS,0xf34B1Db61ACa1a371fE97BAd2606c9f534fb9D7D,18 -32,WFAIR-8972,WFAIR,WFAIR,0xC6065B9fc8171Ad3D29bad510709249681758972,18 -33,SST-9868,SST,SST,0x2863916C6ebDBBf0c6f02F87b7eB478509299868,18 -34,UNI-F984,UNI,UNI,0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984,18 -35,DSD-66e3,DSD,DSD,0xBD2F0Cd039E0BFcf88901C98c0bFAc5ab27566e3,18 -36,NKN-c9eb,NKN,NKN,0x5Cf04716BA20127F1E2297AdDCf4B5035000c9eb,18 -37,PLR-9C17,PLR,PLR,0xe3818504c1B32bF1557b16C238B2E01Fd3149C17,18 -38,UNKAI-B73D,UNKAI,UNKAI,0x8a34D707189fBFa46930ABFDe3D22abDC48AB73D,9 -39,DPR-07a1,DPR,DPR,0xf3AE5d769e153Ef72b4e3591aC004E89F48107a1,18 -40,DOGZ-33eF,DOGZ,DOGZ,0x82A77710495A35549D2aDD797412b4a4497D33eF,18 -41,ALD-2a8D,ALD,ALD,0xb26C4B3Ca601136Daf98593feAeff9E0CA702a8D,18 -42,ONIGIRI-30D0,ONIGIRI,ONIGIRI,0xcf9c692F7e62Af3c571D4173fd4ABf9A3E5330D0,18 -43,EYE-1c65,EYE,EYE,0x155ff1A85F440EE0A382eA949f24CE4E0b751c65,18 -44,XPR-A2af,XPR,XPR,0xD7EFB00d12C2c13131FD319336Fdf952525dA2af,4 -45,MARK-4253,MARK,MARK,0x67c597624B17b16fb77959217360B7cD18284253,9 -46,TANGO-3Bef,TANGO,TANGO,0x182F4c4C97cd1c24E1Df8FC4c053E5C47bf53Bef,18 -47,GENI-6a39,GENI,GENI,0xAAC1abdb4fB7a91a0e2E036dFacC45F708ed6a39,18 -48,GMEE-2373,GMEE,GMEE,0xD9016A907Dc0ECfA3ca425ab20B6b785B42F2373,18 -49,MFI-355B,MFI,MFI,0xAa4e3edb11AFa93c41db59842b29de64b72E355B,18 -50,KOL-d414,KOL,KOL,0x1CC30e2EAc975416060Ec6FE682041408420d414,18 -51,CE-EecE,CE,CE,0x8F12Dfc7981DE79A8A34070a732471f2D335EecE,18 -52,ACR-E3CF,ACR,ACR,0x76306F029f8F99EFFE509534037Ba7030999E3CF,18 -53,DLTA-D823,DLTA,DLTA,0x0000000DE40dfa9B17854cBC7869D80f9F98D823,18 -54,HEX-eb39,HEX,HEX,0x2b591e99afE9f32eAA6214f7B7629768c40Eeb39,8 -55,VPAD-4EDc,VPAD,VPAD,0x51FE2E572e97BFEB1D719809d743Ec2675924EDc,18 -56,BASv2-5287,BASv2,BASv2,0x106538CC16F938776c7c180186975BCA23875287,18 -57,FLy-1472,FLy,FLy,0x85f6eB2BD5a062f5F8560BE93FB7147e16c81472,4 -58,XIO-5704,XIO,XIO,0x0f7F961648aE6Db43C75663aC7E5414Eb79b5704,18 -59,PLUG-976a,PLUG,PLUG,0x47DA5456bC2e1ce391b645Ce80F2E97192e4976a,18 -60,NOW-693b,NOW,NOW,0xE9A95d175a5f4C9369f3b74222402eB1b837693b,8 -61,RCN-75A6,RCN,RCN,0xF970b8E36e23F7fC3FD752EeA86f8Be8D83375A6,18 -62,VIS-E863,VIS,VIS,0x469084939d1c20Fae3C73704FE963941C51bE863,18 -63,KAP-8569,KAP,KAP,0x9625cE7753ace1fa1865A47aAe2c5C2Ce4418569,18 -64,SLICE-16D1,SLICE,SLICE,0x0AeE8703D34DD9aE107386d3eFF22AE75Dd616D1,18 -65,CSM-8861,CSM,CSM,0x2620638EDA99F9e7E902Ea24a285456EE9438861,18 -66,GRO-74D7,GRO,GRO,0x3Ec8798B81485A254928B70CDA1cf0A2BB0B74D7,18 -67,FORTH-0ce0,FORTH,FORTH,0x77FbA179C79De5B7653F68b5039Af940AdA60ce0,18 -68,DORA-c81d,DORA,DORA,0xbc4171f45EF0EF66E76F979dF021a34B46DCc81d,18 -69,DENA-a1DA,DENA,DENA,0x15F0EEDF9Ce24fc4b6826E590A8292CE5524a1DA,18 -70,ZEUM-8190,ZEUM,ZEUM,0x436dA116249044E8B4464F0Cf21Dd93311d88190,18 -71,WOZX-b79F,WOZX,WOZX,0x34950Ff2b487d9E5282c5aB342d08A2f712eb79F,18 -72,TGL-4e92,TGL,TGL,0xCc4450EDEfbBEb450E2f205f4ECEfF7232D54e92,18 -73,CORN-ea5E,CORN,CORN,0xa456b515303B2Ce344E9d2601f91270f8c2Fea5E,18 -74,JGN-e041,JGN,JGN,0x73374Ea518De7adDD4c2B624C0e8B113955ee041,18 -75,CP-CFCa,CP,CP,0x5BDC32663Ec75E85ff4abc2CAe7ae8B606A2CFCa,18 -76,FARM-A14D,FARM,FARM,0xa0246c9032bC3A600820415aE600c6388619A14D,18 -77,JOY-1FB5,JOY,JOY,0x4E114d405b9Ba2F59524941733e505Ae03Fb1FB5,18 -78,PEPE-E35F,PEPE,PEPE,0x4A27e9aAb8F8bA9de06766C8476eD1D16494E35F,18 -79,WETH-6Cc2,WETH,WETH,0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2,18 -80,X2Y2-EBC9,X2Y2,X2Y2,0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9,18 -81,FANC-c045,FANC,FANC,0xbB126042235E6bD38B17744cb31a8bF4A206c045,18 -82,ANB-9692,ANB,ANB,0x2c9acEb63181cd08a093d052ec041e191f229692,18 -83,REVV-A8Ca,REVV,REVV,0x557B933a7C2c45672B610F8954A3deB39a51A8Ca,18 -84,Mars-70B7,Mars,Mars,0x66C0DDEd8433c9EA86C8cf91237B14e10b4d70B7,18 -85,REL-05ec,REL,REL,0xb6c4267C4877BB0D6b1685Cfd85b0FBe82F105ec,18 -86,MTL-355e,MTL,MTL,0xF433089366899D83a9f26A773D59ec7eCF30355e,8 -87,DOG-868D,DOG,DOG,0x47D920a911cB9a0Ad4618698bA3feF800aBC868D,18 -88,WAVES-f29a,WAVES,WAVES,0x1cF4592ebfFd730c7dc92c1bdFFDfc3B9EfCf29a,18 -89,BUSD-7C53,BUSD,BUSD,0x4Fabb145d64652a948d72533023f6E7A623C7C53,18 -90,NGL-66aE,NGL,NGL,0x2653891204F463fb2a2F4f412564b19e955166aE,18 -91,ELON-60F3,ELON,ELON,0x761D38e5ddf6ccf6Cf7c55759d5210750B5D60F3,18 -92,GAME-1d1c,GAME,GAME,0xD567B5F02b9073aD3a982a099a23Bf019FF11d1c,5 -93,SRK-74E6,SRK,SRK,0x0488401c3F535193Fa8Df029d9fFe615A06E74E6,18 -94,$LSVR-c09B,$LSVR,$LSVR,0x79A06aCb8bdd138BEEECcE0f1605971f3AC7c09B,18 -95,MGG-8740,MGG,MGG,0x7237C0B30B1355f1B76355582f182F6f04B08740,18 -96,wOXEN-bcc5,wOXEN,wOXEN,0xd1e2d5085b39B80C9948AeB1b9aA83AF6756bcc5,9 -97,GEM-efcC,GEM,GEM,0x9008064E6cf73e27a3Aba4B10E69f855A4F8efcC,18 -98,UBI-E9a4,UBI,UBI,0xDd1Ad9A21Ce722C151A836373baBe42c868cE9a4,18 -99,LINK-86CA,LINK,LINK,0x514910771AF9Ca656af840dff83E8264EcF986CA,18 -100,DEXG-436D,DEXG,DEXG,0xB81D70802a816B5DacBA06D708B5acF19DcD436D,18 -101,XEN-6Fb8,XEN,XEN,0x06450dEe7FD2Fb8E39061434BAbCFC05599a6Fb8,18 -102,PEPES-7E12,PEPES,PEPES,0x6BF765C43030387a983f429c1438e9D2025B7E12,18 -103,SPWN-1126,SPWN,SPWN,0xe516D78d784C77D479977BE58905B3f2b1111126,18 -104,GYEN-D911,GYEN,GYEN,0xC08512927D12348F6620a698105e1BAac6EcD911,6 -105,TOAD-eD1e,TOAD,TOAD,0xBfB2b6870501a6Ff17121D676A0A45a38c9eeD1e,9 -106,ARPA-b71a,ARPA,ARPA,0xBA50933C268F567BDC86E1aC131BE072C6B0b71a,18 -107,EVA-8707,EVA,EVA,0xd6cAF5Bd23CF057f5FcCCE295Dcc50C01C198707,18 -108,BAG-14b0,BAG,BAG,0x28A06c02287e657ec3F8e151A13C36A1D43814b0,18 -109,ABR-8C7C,ABR,ABR,0xa11bD36801d8fa4448F0ac4ea7A62e3634cE8C7C,18 -110,OXAI-Fe9d,OXAI,OXAI,0x428dca9537116148616a5A3E44035Af17238Fe9d,18 -111,UBXN-1065,UBXN,UBXN,0x7A73839bd0e5cdED853cB01aa9773F8989381065,18 -112,OIL-88a5,OIL,OIL,0x0275E1001e293C46CFe158B3702AADe0B99f88a5,18 -113,ESD-d723,ESD,ESD,0x36F3FD68E7325a35EB768F1AedaAe9EA0689d723,18 -114,LXF-772A,LXF,LXF,0xA799C4ADcf62E025cE4D8aBE6A77CebC487d772A,18 -115,ERP-2267,ERP,ERP,0x0a0e3bfD5a8cE610E735D4469Bc1b3b130402267,18 -116,IOEN-893A,IOEN,IOEN,0x1e4E46b7BF03ECE908c88FF7cC4975560010893A,18 -117,VNDC-b5DE,VNDC,VNDC,0x1F3F677Ecc58F6A1F9e2CF410dF4776a8546b5DE,0 -118,BACON-38e7,BACON,BACON,0x34f797e7190C131cF630524655A618b5BD8738e7,18 -119,DTX-3F75,DTX,DTX,0x765f0C16D1Ddc279295c1a7C24B0883F62d33F75,18 -120,LINA-1937,LINA,LINA,0x3E9BC21C9b189C09dF3eF1B824798658d5011937,18 -121,PINA-780D,PINA,PINA,0x02814F435dD04e254Be7ae69F61FCa19881a780D,18 -122,PEPEBET-0350,PEPEBET,PEPEBET,0x33Cf519030235F75A13F29aFcFF5D6ff4Fd10350,18 -123,ARMOR-E46a,ARMOR,ARMOR,0x1337DEF16F9B486fAEd0293eb623Dc8395dFE46a,18 -124,MATIC-eBB0,MATIC,MATIC,0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0,18 -125,SOTU-9162,SOTU,SOTU,0xa91c82B6933105C23298E631A0C1Be751D239162,18 -126,HEZ-8dEE,HEZ,HEZ,0xEEF9f339514298C6A857EfCfC1A762aF84438dEE,18 -127,STRONG-017c,STRONG,STRONG,0x990f341946A3fdB507aE7e52d17851B87168017c,18 -128,PPAY-3Bb2,PPAY,PPAY,0x054D64b73d3D8A21Af3D764eFd76bCaA774f3Bb2,18 -129,GST-1404,GST,GST,0x473037de59cf9484632f4A27B509CFE8d4a31404,8 -130,FNK-48Ad,FNK,FNK,0xB5FE099475d3030DDe498c3BB6F3854F762A48Ad,18 -131,ICE-7DF9,ICE,ICE,0xf16e81dce15B08F326220742020379B855B87DF9,18 -132,REEF-5ACf,REEF,REEF,0xFE3E6a25e6b192A42a44ecDDCd13796471735ACf,18 -133,FRONT-793f,FRONT,FRONT,0xf8C3527CC04340b208C854E985240c02F7B7793f,18 -134,FMTA-9AB4,FMTA,FMTA,0xAa9D866666C2A3748d6B23Ff69E63E52f08d9AB4,18 -135,ZERO-a574,ZERO,ZERO,0xF0939011a9bb95c3B791f0cb546377Ed2693a574,18 -136,SHROOM-f183,SHROOM,SHROOM,0xEd0439EACf4c4965AE4613D77a5C2Efe10e5f183,18 -137,FLASH-F2F8,FLASH,FLASH,0xB1f1F47061A7Be15C69f378CB3f69423bD58F2F8,18 -138,NAO-53dc,NAO,NAO,0xd049206fB408a611E543791F2d8F102a8bC253dc,18 -139,MPL-35e6,MPL,MPL,0x33349B282065b0284d756F0577FB39c158F935e6,18 -140,DOE-d7eF,DOE,DOE,0xf8E9F10c22840b613cdA05A0c5Fdb59A4d6cd7eF,18 -141,DERC-a9aE,DERC,DERC,0x9fa69536d1cda4A04cFB50688294de75B505a9aE,18 -142,BLU-1FfD,BLU,BLU,0xe5D2e173B120341face9e9970889C9FE64081FfD,18 -143,PRE-2A0F,PRE,PRE,0xEC213F83defB583af3A000B1c0ada660b1902A0F,18 -144,DBI-0EcE,DBI,DBI,0x2dE509bf0014ddF697b220bE628213034d320EcE,18 -145,XFIT-7441,XFIT,XFIT,0x4aa41bC1649C9C3177eD16CaaA11482295fC7441,18 -146,ELFI-16f4,ELFI,ELFI,0x4dA34f8264CB33A5c9F17081B9EF5Ff6091116f4,18 -147,ASW-2a11,ASW,ASW,0x56694577564FdD577a0ABB20FE95C1E2756C2a11,18 -148,BEL-7e14,BEL,BEL,0xA91ac63D040dEB1b7A5E4d4134aD23eb0ba07e14,18 -149,HORD-3448,HORD,HORD,0x43A96962254855F16b925556f9e97BE436A43448,18 -150,DIGITS-404F,DIGITS,DIGITS,0xBE56ab825fD35678A32dc35bc4EB17e238e1404F,18 -151,FWT-a295,FWT,FWT,0x20e7125677311Fca903A8897042b9983f22Ea295,18 -152,CLS-de37,CLS,CLS,0x675BBC7514013E2073DB7a919F6e4cbeF576de37,18 -153,SAKURA-FeD6,SAKURA,SAKURA,0xb208b1a5664574F72d22E9e9981837310cACFeD6,9 -154,REQ-938a,REQ,REQ,0x8f8221aFbB33998d8584A2B05749bA73c37a938a,18 -155,BOND-750f,BOND,BOND,0x0391D2021f89DC339F60Fff84546EA23E337750f,18 -156,ZKS-58c6,ZKS,ZKS,0xe4815AE53B124e7263F08dcDBBB757d41Ed658c6,18 -157,ROUTE-3dB4,ROUTE,ROUTE,0x16ECCfDbb4eE1A85A33f3A9B21175Cd7Ae753dB4,18 -158,CRU-3c41,CRU,CRU,0x32a7C02e79c4ea1008dD6564b35F131428673c41,18 -159,CIRUS-8756,CIRUS,CIRUS,0xA01199c61841Fce3b3daFB83FeFC1899715c8756,18 -160,SYNR-490a,SYNR,SYNR,0xbc6E06778708177a18210181b073DA747C88490a,18 -161,GLM-6429,GLM,GLM,0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429,18 -162,DEC-E7F3,DEC,DEC,0x9393fdc77090F31c7db989390D43F454B1A6E7F3,3 -163,SD-D10f,SD,SD,0x30D20208d987713f46DFD34EF128Bb16C404D10f,18 -164,BLZ-D668,BLZ,BLZ,0x5732046A883704404F284Ce41FfADd5b007FD668,18 -165,MTLX-1d14,MTLX,MTLX,0x2e1E15C44Ffe4Df6a0cb7371CD00d5028e571d14,18 -166,NFTY-3208,NFTY,NFTY,0xE1D7C7a4596B038CEd2A84bF65B8647271C53208,18 -167,DXP-B745,DXP,DXP,0x88aa4a6C5050b9A1b2Aa7e34D0582025cA6AB745,18 -168,OCT-c6DC,OCT,OCT,0xF5cFBC74057C610c8EF151A439252680AC68c6DC,18 -169,DG-dEDE,DG,DG,0x53C8395465A84955c95159814461466053DedEDE,18 -170,iAI-2122,iAI,iAI,0x6dDe4fFD6dB302Bc9a46850f61399e082f6c2122,18 -171,SPOOL-0976,SPOOL,SPOOL,0x40803cEA2b2A32BdA1bE61d3604af6a814E70976,18 -172,MASK-3074,MASK,MASK,0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074,18 -173,ASTO-4689,ASTO,ASTO,0x823556202e86763853b40e9cDE725f412e294689,18 -174,XCAD-6Aa0,XCAD,XCAD,0x7659CE147D0e714454073a5dd7003544234b6Aa0,18 -175,STABLZ-F7cd,STABLZ,STABLZ,0xA4Eb9C64eC359D093eAc7B65F51Ef933D6e5F7cd,18 -176,SNP-E873,SNP,SNP,0x795dBF627484F8248D3d6c09c309825c1563E873,18 -177,RACA-9040,RACA,RACA,0x12BB890508c125661E03b09EC06E404bc9289040,18 -178,ARCH-1011,ARCH,ARCH,0x73C69d24ad28e2d43D03CBf35F79fE26EBDE1011,18 -179,VOW-46Fb,VOW,VOW,0x1BBf25e71EC48B84d773809B4bA55B6F4bE946Fb,18 -180,TSUKA-69eD,TSUKA,TSUKA,0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD,9 -181,eXRD-9414,eXRD,eXRD,0x6468e79A80C0eaB0F9A2B574c8d5bC374Af59414,18 -182,RAD-64A3,RAD,RAD,0x31c8EAcBFFdD875c74b94b077895Bd78CF1E64A3,18 -183,BDT-d5Cf,BDT,BDT,0x4Efe8665e564bF454cCF5C90Ee16817F7485d5Cf,18 -184,PROS-4B56,PROS,PROS,0x8642A849D0dcb7a15a974794668ADcfbe4794B56,18 -185,OPUL-6444,OPUL,OPUL,0x80D55c03180349Fff4a229102F62328220A96444,18 -186,FLX-0770,FLX,FLX,0x3Ea8ea4237344C9931214796d9417Af1A1180770,18 -187,POLAR-075E,POLAR,POLAR,0x58fcAa970339a9b1f8c0a5b4F3Fcd7af2bA3075E,18 -188,Z3-61a6,Z3,Z3,0x50Eec6D765792dCfB0913C8403ef2A12e1B861a6,18 -189,Okinami-4121,Okinami,Okinami,0x1C4853Ec0d55e420002c5eFaBc7Ed8e0bA7A4121,9 -190,HDRN-5e06,HDRN,HDRN,0x3819f64f282bf135d62168C1e513280dAF905e06,9 -191,FLEX-bc0A,FLEX,FLEX,0xFcF8eda095e37A41e002E266DaAD7efC1579bc0A,18 -192,DAO-09Ad,DAO,DAO,0x0f51bb10119727a7e5eA3538074fb341F56B09Ad,18 -193,WOO-5D4B,WOO,WOO,0x4691937a7508860F876c9c0a2a617E7d9E945D4B,18 -194,O-c40f,O,O,0xb53ecF1345caBeE6eA1a65100Ebb153cEbcac40f,18 -195,POND-D26C,POND,POND,0x57B946008913B82E4dF85f501cbAeD910e58D26C,18 -196,ALI-4181,ALI,ALI,0x6B0b3a982b4634aC68dD83a4DBF02311cE324181,18 -197,NRFX-94a4,NRFX,NRFX,0x01b443495834D667b42f54d2b77eEd6951eD94a4,18 -198,XDEX-6c83,XDEX,XDEX,0x000000000000d0151E748d25b766e77efe2A6c83,18 -199,OTHR-C334,OTHR,OTHR,0x407a3E019c655B779ccD098Ff50377E4C5F1C334,9 -200,UNIX-7aC8,UNIX,UNIX,0xDDD6A0ECc3c6F6C102E5eA3d8Af7B801d1a77aC8,18 -201,INSUR-7429,INSUR,INSUR,0x544c42fBB96B39B21DF61cf322b5EDC285EE7429,18 -202,GR-575c,GR,GR,0xcE593a29905951E8Fc579bC092ecA72577dA575c,6 -203,FLUT-1870,FLUT,FLUT,0x4F08705FB8F33AffC231ed66e626B40E84A71870,11 -204,SYLO-dcd4,SYLO,SYLO,0xf293d23BF2CDc05411Ca0edDD588eb1977e8dcd4,18 -205,BAC-A69a,BAC,BAC,0x3449FC1Cd036255BA1EB19d65fF4BA2b8903A69a,18 -206,MYTH-2003,MYTH,MYTH,0xBA41Ddf06B7fFD89D1267b5A93BFeF2424eb2003,18 -207,HDAO-fF2D,HDAO,HDAO,0xdaC657ffD44a3B9d8aba8749830Bf14BEB66fF2D,18 -208,BNT-FF1C,BNT,BNT,0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C,18 -209,DNXC-f03a,DNXC,DNXC,0x20a8CEC5fffea65Be7122BCaB2FFe32ED4Ebf03a,18 -210,BRKL-9ff8,BRKL,BRKL,0x4674a4F24C5f63D53F22490Fb3A08eAAAD739ff8,18 -211,FEAR-1E83,FEAR,FEAR,0x88A9A52F944315D5B4e917b9689e65445C401E83,18 -212,UDO-dC06,UDO,UDO,0xea3983Fc6D0fbbC41fb6F6091f68F3e08894dC06,18 -213,MUSK-2Cd8,MUSK,MUSK,0x6069c9223e8a5DA1ec49ac5525d4BB757Af72Cd8,18 -214,SALT-0581,SALT,SALT,0x4156D3342D5c385a87D264F90653733592000581,8 -215,RPG-e251,RPG,RPG,0x0E5C8C387C5EBa2eCbc137aD012aeD5Fe729e251,18 -216,OBOT-0c32,OBOT,OBOT,0xeDADeB5fAa413e6c8623461849DFD0B7C3790c32,18 -217,DUCK-305F,DUCK,DUCK,0xC0bA369c8Db6eB3924965e5c4FD0b4C1B91e305F,18 -218,BAMBOO-2e89,BAMBOO,BAMBOO,0xf56842Af3B56Fd72d17cB103f92d027bBa912e89,18 -219,O3-7d28,O3,O3,0xEe9801669C6138E84bD50dEB500827b776777d28,18 -220,KYOKO-BaC2,KYOKO,KYOKO,0x14a32f050FACF226Ec60882398A9BF36d91DBaC2,18 -221,CHANGE-2754,CHANGE,CHANGE,0x7051faED0775f664a0286Af4F75ef5ed74e02754,18 -222,MDF-B411,MDF,MDF,0x1a57367C6194199e5D9aEa1cE027431682dfB411,18 -223,TIDAL-33B7,TIDAL,TIDAL,0x29CbD0510EEc0327992CD6006e63F9Fa8E7f33B7,18 -224,Daruma-f704,Daruma,Daruma,0xA888D9616C2222788fa19f05F77221A290eEf704,9 -225,SDAO-875F,SDAO,SDAO,0x993864E43Caa7F7F12953AD6fEb1d1Ca635B875F,18 -226,NFTD-B379,NFTD,NFTD,0x8E0fE2947752BE0d5ACF73aaE77362Daf79cB379,18 -227,PNL-B459,PNL,PNL,0x9FC8f0ca1668E87294941b7f627e9C15eA06B459,18 -228,DDX-Ed3A,DDX,DDX,0x3A880652F47bFaa771908C07Dd8673A787dAEd3A,18 -229,RPL-Bd93,RPL,RPL,0xB4EFd85c19999D84251304bDA99E90B92300Bd93,18 -230,BADGER-E53d,BADGER,BADGER,0x3472A5A71965499acd81997a54BBA8D852C6E53d,18 -231,SENT-556F,SENT,SENT,0x97AbEe33Cd075c58BFdd174e0885e08E8f03556F,18 -232,ALBT-0Eb0,ALBT,ALBT,0x00a8b738E453fFd858a7edf03bcCfe20412f0Eb0,18 -233,AKRO-53d7,AKRO,AKRO,0x8Ab7404063Ec4DBcfd4598215992DC3F8EC853d7,18 -234,ERC20-EPK-40c4,ERC20-EPK,ERC20-EPK,0xDaF88906aC1DE12bA2b1D2f7bfC94E9638Ac40c4,18 -235,BTTY-3D0A,BTTY,BTTY,0x9cc83D580180f0d37d00e5d86ce868f73b6E3D0A,18 -236,icc-a177,icc,icc,0x70E67ec0939ec87c3a77b089CA08E0443ea4a177,18 -237,DON-c88a,DON,DON,0x217ddEad61a42369A266F1Fb754EB5d3EBadc88a,18 -238,MPS-D47D,MPS,MPS,0x96c645D3D3706f793Ef52C19bBACe441900eD47D,0 -239,Umoon-C5da,Umoon,Umoon,0x71de2285ec83BB6517D2B3eC8DEb2A6c44D8C5da,18 -240,IOI-1d81,IOI,IOI,0x8B3870Df408fF4D7C3A26DF852D41034eDa11d81,6 -241,BUMP-2168,BUMP,BUMP,0x785c34312dfA6B74F6f1829f79ADe39042222168,18 -242,CRF-219d,CRF,CRF,0x508df5aa4746bE37b5b6A69684DfD8BDC322219d,18 -243,WDOGE-98E7,WDOGE,WDOGE,0x35a532d376FFd9a705d0Bb319532837337A398E7,18 -244,HILO-5ff6,HILO,HILO,0xbb9FD9Fa4863C03c574007fF3370787B9cE65ff6,18 -245,VR-8cdD,VR,VR,0x7d5121505149065b562C789A0145eD750e6E8cdD,18 -246,NUM-3079,NUM,NUM,0x3496B523e5C00a4b4150D6721320CdDb234c3079,18 -247,BTBS-4356,BTBS,BTBS,0x32E6C34Cd57087aBBD59B5A4AECC4cB495924356,18 -248,CPRX-978f,CPRX,CPRX,0xc6e145421FD494B26dCF2BFeB1b02b7c5721978f,18 -249,FORM-FA2a,FORM,FORM,0x21381e026Ad6d8266244f2A583b35F9E4413FA2a,18 -250,EAG8-EeE4,EAG8,EAG8,0x0A8b16b27D5219c8C6b57D5442CE31D81573EeE4,8 -251,HAN-511F,HAN,HAN,0x0c90C57aaf95A3A87eadda6ec3974c99D786511F,18 -252,AGIX-b542,AGIX,AGIX,0x5B7533812759B45C2B44C19e320ba2cD2681b542,8 -253,VENDETTA-53c3,VENDETTA,VENDETTA,0x3A529A8d4f2ea64D206339fA12A3aF4D431F53c3,18 -254,DFI-358A,DFI,DFI,0x8Fc8f8269ebca376D046Ce292dC7eaC40c8D358A,8 -255,Dejitaru Shirudo-16AC,Dejitaru Shirudo,Dejitaru Shirudo,0xcf4C68Db4C2FA0bf58dF07B14f45cE7709a716AC,18 -256,SHIB-C4cE,SHIB,SHIB,0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE,18 -257,CHSB-35Ba,CHSB,CHSB,0xba9d4199faB4f26eFE3551D490E3821486f135Ba,8 -258,XETA-3550,XETA,XETA,0x967Fb0D760ED3ce53AfE2f0A071674cccAe73550,18 -259,XMT-721e,XMT,XMT,0x3E5D9D8a63CC8a88748f229999CF59487e90721e,18 -260,ZAM-f4c6,ZAM,ZAM,0xd373576a9e738F37Dc6882328358Ff69c4cAf4c6,18 -261,MAXI-e84b,MAXI,MAXI,0x0d86EB9f43C57f6FF3BC9E23D8F9d82503f0e84b,8 -262,NRFB-f9E8,NRFB,NRFB,0x00281dFCe4cfD72c0b6FDA2AAaF077258743f9E8,0 -263,BLID-56A5,BLID,BLID,0x8A7aDc1B690E81c758F1BD0F72DFe27Ae6eC56A5,18 -264,ARW-34E4,ARW,ARW,0x351cAa9045D65107b9d311D922D15887cfd634E4,18 -265,FEI-87CA,FEI,FEI,0x956F47F50A910163D8BF957Cf5846D573E7f87CA,18 -266,ZENIQ-7233,ZENIQ,ZENIQ,0x5b52bfB8062Ce664D74bbCd4Cd6DC7Df53Fd7233,18 -267,cDAI-3643,cDAI,cDAI,0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643,8 -268,CMT-Dc18,CMT,CMT,0xE910c2a090516Fb7a7Be07f96a464785f2D5Dc18,18 -269,DEGENS-8B71,DEGENS,DEGENS,0xDd039990Bd551Ce7437d3bF54d155220B7988B71,18 -270,LBlock-D329,LBlock,LBlock,0x2b867efD2dE4Ad2B583Ca0CB3dF9C4040Ef4D329,9 -271,ID-6406,ID,ID,0x2dfF88A56767223A5529eA5960Da7A3F5f766406,18 -272,SCOIN-0EB4,SCOIN,SCOIN,0x3f5DF2F90DF67E10974fBcB1729c00D3f87c0EB4,6 -273,SPC-Ad20,SPC,SPC,0x86ed939B500E121C0C5f493F399084Db596dAd20,18 -274,TEAM-dE02,TEAM,TEAM,0xB7c9E99Da8A857cE576A830A9c19312114d9dE02,8 -275,NCR-ed9c,NCR,NCR,0xDB5C3C46E28B53a39C255AA39A411dD64e5fed9c,18 -276,STFX-Db2d,STFX,STFX,0x9343e24716659A3551eB10Aff9472A2dcAD5Db2d,18 -277,GRT-44a7,GRT,GRT,0xc944E90C64B2c07662A292be6244BDf05Cda44a7,18 -278,TONCOIN-def1,TONCOIN,TONCOIN,0x582d872A1B094FC48F5DE31D3B73F2D9bE47def1,9 -279,BEAR-A26a,BEAR,BEAR,0x17837004eA685690b32dbEaD02a274Ec4333A26a,18 -280,LDO-1B32,LDO,LDO,0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32,18 -281,CRV-cd52,CRV,CRV,0xD533a949740bb3306d119CC777fa900bA034cd52,18 -282,MKR-79A2,MKR,MKR,0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2,18 -283,RNDR-eb24,RNDR,RNDR,0x6De037ef9aD2725EB40118Bb1702EBb27e4Aeb24,18 -284,ICHI-A881,ICHI,ICHI,0x903bEF1736CDdf2A537176cf3C64579C3867A881,9 -285,FXS-64D0,FXS,FXS,0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0,18 -286,RAINI-d5eD,RAINI,RAINI,0xeB953eDA0DC65e3246f43DC8fa13f35623bDd5eD,18 -287,IPT-FC3d,IPT,IPT,0xd909C5862Cdb164aDB949D92622082f0092eFC3d,18 -288,XDAO-Ad28,XDAO,XDAO,0x71eebA415A523F5C952Cc2f06361D5443545Ad28,18 -289,ICHI-C4d6,ICHI,ICHI,0x111111517e4929D3dcbdfa7CCe55d30d4B6BC4d6,18 -290,TR3-5F98,TR3,TR3,0xF61BF4d1A948487d61b8fa63808AAC06bda55F98,18 -291,LOOKS-421E,LOOKS,LOOKS,0xf4d2888d29D722226FafA5d9B24F9164c092421E,18 -292,BONE-18d9,BONE,BONE,0x9813037ee2218799597d83D4a5B6F3b6778218d9,18 -293,SWASH-2F80,SWASH,SWASH,0xA130E3a33a4d84b04c3918c4E5762223Ae252F80,18 -294,CELL-e099,CELL,CELL,0x26c8AFBBFE1EBaca03C2bB082E69D0476Bffe099,18 -295,CLB-3c84,CLB,CLB,0x0AD896863ce4Cd84f10a9D30D4f509cefFd53c84,18 -296,PP-CfD0,PP,PP,0x9565c2036963697786705120Fc59310F747bCfD0,18 -297,SMTX-419b,SMTX,SMTX,0x102203517ce35AC5Cab9a2cda80DF03f26c7419b,18 -298,WMLX-1AAd,WMLX,WMLX,0x77D0cb0ab54F9E74b9405a5B3f60DA06A78F1AAd,0 -299,TRB-78a0,TRB,TRB,0x88dF592F8eb5D7Bd38bFeF7dEb0fBc02cf3778a0,18 -300,MM-c611,MM,MM,0x6B4c7A5e3f0B99FCD83e9c089BDDD6c7FCe5c611,18 -301,HOME-1F62,HOME,HOME,0xb8919522331C59f5C16bDfAA6A121a6E03A91F62,6 -302,XYO-E758,XYO,XYO,0x55296f69f40Ea6d20E478533C15A6B08B654E758,18 -303,oneICHI-1e07,oneICHI,oneICHI,0x4db2c02831c9ac305FF9311Eb661f80f1dF61e07,18 -304,HYVE-f7d4,HYVE,HYVE,0xd794DD1CAda4cf79C9EebaAb8327a1B0507ef7d4,18 -305,B2M-0a1f,B2M,B2M,0xd7c302fc3ac829C7E896a32c4Bd126f3e8Bd0a1f,18 -306,rETH-6393,rETH,rETH,0xae78736Cd615f374D3085123A210448E74Fc6393,18 -307,XTP-50fc,XTP,XTP,0x6368e1E18c4C419DDFC608A0BEd1ccb87b9250fc,18 -308,AVINOC-A3EF,AVINOC,AVINOC,0xF1cA9cb74685755965c7458528A36934Df52A3EF,18 -309,DOLA-9ce4,DOLA,DOLA,0x865377367054516e17014CcdED1e7d814EDC9ce4,18 -310,OHM-f1D5,OHM,OHM,0x64aa3364F17a4D01c6f1751Fd97C2BD3D7e7f1D5,9 -311,UCOIL-9a13,UCOIL,UCOIL,0x549044000a94870ab7c5017cd8fB0AEfa9239a13,18 -312,SPH-a406,SPH,SPH,0xA0CF46eb152656C7090e769916eb44a138aaa406,18 -313,ASH-0b92,ASH,ASH,0x64D91f12Ece7362F91A6f8E7940Cd55F05060b92,18 -314,LUSD-8bA0,LUSD,LUSD,0x5f98805A4E8be255a32880FDeC7F6728C6568bA0,18 -315,PINE-3a51,PINE,PINE,0x569424c5EE13884A193773fDC5d1c5f79C443a51,18 -316,eLunr-Aa5A,eLunr,eLunr,0xA87135285Ae208e22068AcDBFf64B11Ec73EAa5A,4 -317,SWAP-4EFe,SWAP,SWAP,0xCC4304A31d09258b0029eA7FE63d032f52e44EFe,18 -318,RELAY-841c,RELAY,RELAY,0x5D843Fa9495d23dE997C394296ac7B4D721E841c,18 -319,CHEQ-4de7,CHEQ,CHEQ,0x70EDF1c215D0ce69E7F16FD4E6276ba0d99d4de7,9 -320,CPD-5355,CPD,CPD,0x9b31bb425D8263fA1b8B9d090b83CF0C31665355,18 -321,CGG-5e43,CGG,CGG,0x1fE24F25b1Cf609B9c4e7E12D802e3640dFA5e43,18 -322,Y2B-0650,Y2B,Y2B,0xF9C12B27cE5058ab98ce11BD53900f84E18C0650,18 -323,cbETH-9704,cbETH,cbETH,0xBe9895146f7AF43049ca1c1AE358B0541Ea49704,18 -324,DSU-7109,DSU,DSU,0x605D26FBd5be761089281d5cec2Ce86eeA667109,18 -325,CRPT-6d8B,CRPT,CRPT,0x08389495D7456E1951ddF7c3a1314A4bfb646d8B,18 -326,LEXE-6833,LEXE,LEXE,0x53011E93F21EC7A74cdfBB7E6548F1ABCE306833,18 -327,POLA-2CED,POLA,POLA,0xc691bc298a304d591Ad9b352c7A8D216dE9f2CED,18 -328,MANA-C942,MANA,MANA,0x0F5D2fB29fb7d3CFeE444a200298f468908cC942,18 -329,one1INCH-3857,one1INCH,one1INCH,0x853Bb55c1f469902F088A629db8C8803A9BE3857,18 -330,GENI-FCc8,GENI,GENI,0x444444444444C1a66F394025Ac839A535246FCc8,9 -331,IDV-8840,IDV,IDV,0x45448E05020576929fcDEabC228E35b420098840,18 -332,L2-4D24,L2,L2,0xBbff34E47E559ef680067a6B1c980639EEb64D24,18 -333,ARTH-8a71,ARTH,ARTH,0x8CC0F052fff7eaD7f2EdCCcaC895502E884a8a71,18 -334,DRGN-A05E,DRGN,DRGN,0x419c4dB4B9e25d6Db2AD9691ccb832C8D9fDA05E,18 -335,BTRST-2824,BTRST,BTRST,0x799ebfABE77a6E34311eeEe9825190B9ECe32824,18 -336,FAKT-dC48,FAKT,FAKT,0xC3FFbE26E9446aC52008FfC8C1191d60A12bdC48,18 -337,GNO-6b96,GNO,GNO,0x6810e776880C02933D47DB1b9fc05908e5386b96,18 -338,DIA-9419,DIA,DIA,0x84cA8bc7997272c7CfB4D0Cd3D55cd942B3c9419,18 -339,SWIV-6f2d,SWIV,SWIV,0xbf30461210b37012783957D90dC26B95Ce3b6f2d,18 -340,USDC-1130,USDC,USDC,0x566957eF80F9fd5526CD2BEF8BE67035C0b81130,6 -341,wPPC-2958,wPPC,wPPC,0x044d078F1c86508e13328842Cc75AC021B272958,6 -342,TOL-2cFA,TOL,TOL,0xd07D9Fe2d2cc067015E2b4917D24933804f42cFA,18 -343,ALEPH-F628,ALEPH,ALEPH,0x27702a26126e0B3702af63Ee09aC4d1A084EF628,18 -344,GF-E238,GF,GF,0xAaEf88cEa01475125522e117BFe45cF32044E238,18 -345,CND-95fa,CND,CND,0xd4c435F5B09F855C3317c8524Cb1F586E42795fa,18 -346,ECOx-736a,ECOx,ECOx,0xcccD1Ba9f7acD6117834E0D28F25645dECb1736a,18 -347,SNX-2a6F,SNX,SNX,0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F,18 -348,RAIL-A33D,RAIL,RAIL,0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D,18 -349,OK-4189,OK,OK,0xd3Ac016b1B8C80EeAdDe4D186A9138C9324e4189,18 -350,ALCX-c8DF,ALCX,ALCX,0xdBdb4d16EdA451D0503b854CF79D55697F90c8DF,18 -351,ROYA-48DB,ROYA,ROYA,0x7eaF9C89037e4814DC0d9952Ac7F888C784548DB,18 -352,HOP-a3CC,HOP,HOP,0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC,18 -353,CVX-9D2B,CVX,CVX,0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B,18 -354,DAMM-16b8,DAMM,DAMM,0xb3207935FF56120f3499e8aD08461Dd403bF16b8,18 -355,BPLC-21b4,BPLC,BPLC,0x426FC8BE95573230f6e6bc4af91873F0c67b21b4,18 -356,GTC-163F,GTC,GTC,0xDe30da39c46104798bB5aA3fe8B9e0e1F348163F,18 -357,GPO-3aCE,GPO,GPO,0x4ad7a056191F4c9519fAcd6D75FA94CA26003aCE,18 -358,QLT-c87c,QLT,QLT,0x0173661769325565d4f011b2e5Cda688689Cc87c,9 -359,IOTX-4d69,IOTX,IOTX,0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69,18 -360,APE-4381,APE,APE,0x4d224452801ACEd8B2F0aebE155379bb5D594381,18 -361,AGV-382B,AGV,AGV,0xf4F618Eff5eF36Cde2FCa4FBD86554c62Fb1382B,18 -362,DREP-b4c2,DREP,DREP,0x3Ab6Ed69Ef663bd986Ee59205CCaD8A20F98b4c2,18 -363,QNT-4675,QNT,QNT,0x4a220E6096B25EADb88358cb44068A3248254675,18 -364,BLOCKIFY-3C21,BLOCKIFY,BLOCKIFY,0x7D608CfAa805a752788847e5C46Ce9C03Fb43C21,18 -365,UNV-A673,UNV,UNV,0xf009f5531dE69067435e32c4b9D36077F4C4A673,18 -366,HBTC-d380,HBTC,HBTC,0x0316EB71485b0Ab14103307bf65a021042c6d380,18 -367,SLD-a084,SLD,SLD,0x1ef6A7e2c966fb7C5403EFEFdE38338b1a95a084,18 -368,SYL-eb9C,SYL,SYL,0x92925Acf2771Bc59143228499f9610FE5176eb9C,18 -369,JASMY-03EC,JASMY,JASMY,0x7420B4b9a0110cdC71fB720908340C03F9Bc03EC,18 -370,NBT-824c,NBT,NBT,0x446F2A8A39Cc730ef378Be759A3c57f1a3fE824c,18 -371,BRD-9aD6,BRD,BRD,0x558EC3152e2eb2174905cd19AeA4e34A23DE9aD6,18 -372,ULX-636F,ULX,ULX,0x5Aa158404fEd6b4730C13F49d3a7F820e14A636F,18 -373,AMPL-A161,AMPL,AMPL,0xD46bA6D942050d489DBd938a2C909A5d5039A161,9 -374,XMON-Bf74,XMON,XMON,0x3aaDA3e213aBf8529606924d8D1c55CbDc70Bf74,18 -375,REN-2a38,REN,REN,0x408e41876cCCDC0F92210600ef50372656052a38,18 -376,UFO-DC3B,UFO,UFO,0x249e38Ea4102D0cf8264d3701f1a0E39C4f2DC3B,18 -377,TAMA-88c8,TAMA,TAMA,0x12b6893cE26Ea6341919FE289212ef77e51688c8,18 -378,HOT-26E2,HOT,HOT,0x6c6EE5e31d828De241282B9606C8e98Ea48526E2,18 -379,EGG-6a0c,EGG,EGG,0x65cCD72c0813CE6f2703593B633202a0F3Ca6a0c,18 -380,PHA-2f4E,PHA,PHA,0x6c5bA91642F10282b576d91922Ae6448C9d52f4E,18 -381,agEUR-Bce8,agEUR,agEUR,0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8,18 -382,FIEF-a02D,FIEF,FIEF,0xeA068Fba19CE95f12d252aD8Cb2939225C4Ea02D,18 -383,ETHO-7096,ETHO,ETHO,0x0b5326Da634f9270FB84481DD6F94d3dC2cA7096,18 -384,SPANK-6a18,SPANK,SPANK,0x42d6622deCe394b54999Fbd73D108123806f6a18,18 -385,ATC-5c9e,ATC,ATC,0x0fAD86Cc1b412b330494E350Bf1dC1994AC55c9e,6 -386,SUM-40b1,SUM,SUM,0x043C308BB8a5aE96D0093444be7f56459F1340b1,18 -387,CPI-ec53,CPI,CPI,0x2b67D1a87A8D8B280A23e97bC55095215eE0ec53,18 -388,PAPER-0e8C,PAPER,PAPER,0x7aE1D57b58fA6411F32948314BadD83583eE0e8C,18 -389,EURT-E491,EURT,EURT,0xC581b735A1688071A1746c968e0798D642EDE491,6 -390,GOB-8A80,GOB,GOB,0xd6929179D752d5D25c5efe2d9729eb77D7138A80,18 -391,oSQTH-E86B,oSQTH,oSQTH,0xf1B99e3E573A1a9C5E6B2Ce818b617F0E664E86B,18 -392,SDEX-BEeF,SDEX,SDEX,0x5DE8ab7E27f6E7A1fFf3E5B337584Aa43961BEeF,18 -393,XCM-8e25,XCM,XCM,0x36ac219f90f5A6A3C77f2a7B660E3cC701f68e25,18 -394,BRZ-2e2B,BRZ,BRZ,0x420412E765BFa6d85aaaC94b4f7b708C89be2e2B,4 -395,0xBTC-5B31,0xBTC,0xBTC,0xB6eD7644C69416d67B522e20bC294A9a9B405B31,8 -396,XAUt-2F38,XAUt,XAUt,0x68749665FF8D2d112Fa859AA293F07A622782F38,6 -397,ETHV-aC76,ETHV,ETHV,0xC53342fd7575f572b0fF4569e31941A5B821aC76,18 -398,FET-Ad85,FET,FET,0xaea46A60368A7bD060eec7DF8CBa43b7EF41Ad85,18 -399,RAI-4919,RAI,RAI,0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919,18 -400,USDP-89E1,USDP,USDP,0x8E870D67F660D95d5be530380D0eC0bd388289E1,18 -401,stETH-fE84,stETH,stETH,0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84,18 -402,CHZ-b4AF,CHZ,CHZ,0x3506424F91fD33084466F402d5D97f05F8e3b4AF,18 -403,TXA-A830,TXA,TXA,0x4463e6A3dEd0dBE3F6e15bC8420dFc55e5FeA830,18 -404,DENT-A258,DENT,DENT,0x3597bfD533a99c9aa083587B074434E61Eb0A258,8 -405,SUDO-B7F9,SUDO,SUDO,0x3446Dd70B2D52A6Bf4a5a192D9b0A161295aB7F9,18 -406,sUSD-5f51,sUSD,sUSD,0x57Ab1ec28D129707052df4dF418D58a2D46d5f51,18 -407,ELT-1B02,ELT,ELT,0xc0AE17Eb994fa828540FFa53776B3830233A1B02,18 -408,ELAN-28B5,ELAN,ELAN,0x1b5036bEc1B82D44d52Fa953A370b3c6Cd9328B5,18 -409,INNBC-8c42,INNBC,INNBC,0xB67718b98d52318240c52E71A898335da4A28c42,6 -410,MLP-1152,MLP,MLP,0xE22020F47B7378dfedcedd2C81d4137c22fE1152,18 -411,DYDX-Eff5,DYDX,DYDX,0x92D6C1e31e14520e676a687F0a93788B716BEff5,18 -412,ACX-F82F,ACX,ACX,0x44108f0223A3C3028F5Fe7AEC7f9bb2E66beF82F,18 -413,BAT-87EF,BAT,BAT,0x0D8775F648430679A709E98d2b0Cb6250d2887EF,18 -414,CTX-f98D,CTX,CTX,0x321C2fE4446C7c963dc41Dd58879AF648838f98D,18 -415,STC-7e7E,STC,STC,0x15B543e986b8c34074DFc9901136d9355a537e7E,18 -416,RDX-9ecD,RDX,RDX,0xd8C4ef2D99c9F962180008418a5665Fcc4b99ecD,18 -417,OLY-Fb1f,OLY,OLY,0x6595b8fD9C920C81500dCa94e53Cdc712513Fb1f,18 -418,APM-BA6c,APM,APM,0xC8C424B91D8ce0137bAB4B832B7F7D154156BA6c,18 -419,CRAB-b735,CRAB,CRAB,0x24BCeC1AFda63E622a97F17cFf9a61FFCfd9b735,18 -420,CTO-6C47,CTO,CTO,0xa5e48a6E56e164907263e901B98D9b11CCB46C47,18 -421,AAVE-DaE9,AAVE,AAVE,0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9,18 -422,LYXe-be6D,LYXe,LYXe,0xA8b919680258d369114910511cc87595aec0be6D,18 -423,CXO-7143,CXO,CXO,0xb6EE9668771a79be7967ee29a63D4184F8097143,18 -424,AXL-E5f3,AXL,AXL,0x467719aD09025FcC6cF6F8311755809d45a5E5f3,6 -425,GUSD-d5Cd,GUSD,GUSD,0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd,2 -426,THEO-eac2,THEO,THEO,0xfAc0403a24229d7e2Edd994D50F5940624CBeac2,9 -427,FUN-711b,FUN,FUN,0x419D0d8BdD9aF5e606Ae2232ed285Aff190E711b,8 -428,ZZ-55ad,ZZ,ZZ,0xC91a71A1fFA3d8B22ba615BA1B9c01b2BBBf55ad,18 -429,ADS-d22A,ADS,ADS,0xcfcEcFe2bD2FED07A9145222E8a7ad9Cf1Ccd22A,11 -430,RBN-fA6B,RBN,RBN,0x6123B0049F904d730dB3C36a31167D9d4121fA6B,18 -431,wTAO-0A44,wTAO,wTAO,0x77E06c9eCCf2E797fd462A92B6D7642EF85b0A44,9 -432,HUNT-6fa5,HUNT,HUNT,0x9AAb071B4129B083B01cB5A0Cb513Ce7ecA26fa5,18 -433,gOHM-a52f,gOHM,gOHM,0x0ab87046fBb341D058F17CBC4c1133F25a20a52f,18 -434,BBTC-2541,BBTC,BBTC,0x9BE89D2a4cd102D8Fecc6BF9dA793be995C22541,8 -435,XSGD-cA96,XSGD,XSGD,0x70e8dE73cE538DA2bEEd35d14187F6959a8ecA96,6 -436,ASIC-3047,ASIC,ASIC,0x347a96a5BD06D2E15199b032F46fB724d6c73047,12 -437,ICSA-69ed,ICSA,ICSA,0xfc4913214444aF5c715cc9F7b52655e788A569ed,9 -438,wstETH-2Ca0,wstETH,wstETH,0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0,18 -439,PLSD-36A7,PLSD,PLSD,0x34F0915a5f15a66Eba86F6a58bE1A471FB7836A7,12 -440,EUROe-2974,EUROe,EUROe,0x820802Fa8a99901F52e39acD21177b0BE6EE2974,6 -441,BLUR-8b44,BLUR,BLUR,0x5283D291DBCF85356A21bA090E6db59121208b44,18 -442,PAR-4703,PAR,PAR,0x68037790A0229e9Ce6EaA8A99ea92964106C4703,18 -443,SAITO-B57B,SAITO,SAITO,0xFa14Fa6958401314851A17d6C5360cA29f74B57B,18 -444,DUSK-A551,DUSK,DUSK,0x940a2dB1B7008B6C776d4faaCa729d6d4A4AA551,18 -445,ISK-a75C,ISK,ISK,0x17d2628D30F8e9E966c9Ba831c9B9b01ea8Ea75C,18 -446,WFLOW-3B2b,WFLOW,WFLOW,0x5c147e74D63B1D31AA3Fd78Eb229B65161983B2b,18 -447,MIM-17F3,MIM,MIM,0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3,18 -448,CoreDAO-Dd58,CoreDAO,CoreDAO,0xf66Cd2f8755a21d3c8683a10269F795c0532Dd58,18 -449,SEURO-9A00,SEURO,SEURO,0xb399511642FE1666c6a07f83483e6E4feAed9A00,18 -450,TEXAN-88d7,TEXAN,TEXAN,0xcFCFfE432A48dB53F59c301422d2EdD77B2A88d7,18 -451,DEXE-Cbd6,DEXE,DEXE,0xde4EE8057785A7e8e800Db58F9784845A5C2Cbd6,18 -452,COMP-6888,COMP,COMP,0xc00e94Cb662C3520282E6f5717214004A7f26888,18 -453,COT-9ff8,COT,COT,0x5c872500c00565505F3624AB435c222E558E9ff8,18 -454,DAPP-1649,DAPP,DAPP,0x939B462ee3311f8926c047D2B576C389092b1649,4 -455,BORING-92CA,BORING,BORING,0xBC19712FEB3a26080eBf6f2F7849b417FdD792CA,18 -456,eRSDL-D3A6,eRSDL,eRSDL,0x5218E472cFCFE0b64A064F055B43b4cdC9EfD3A6,18 -457,DIP-cD83,DIP,DIP,0xc719d010B63E5bbF2C0551872CD5316ED26AcD83,18 -458,DRC-e606,DRC,DRC,0xa150Db9b1Fa65b44799d4dD949D922c0a33Ee606,0 -459,DXD-5521,DXD,DXD,0xa1d65E8fB6e87b60FECCBc582F7f97804B725521,18 -460,EDEN-1559,EDEN,EDEN,0x1559FA1b8F28238FD5D76D9f434ad86FD20D1559,18 -461,ENJ-3B9c,ENJ,ENJ,0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c,18 -462,BBS-B430,BBS,BBS,0xFe459828c90c0BA4bC8b42F5C5D44F316700B430,18 -463,BMI-E688,BMI,BMI,0x725C263e32c72dDC3A19bEa12C5a0479a81eE688,18 -464,ANKR-EDD4,ANKR,ANKR,0x8290333ceF9e6D528dD5618Fb97a76f268f3EDD4,18 -465,bBADGER-fC28,bBADGER,bBADGER,0x19D97D8fA813EE2f51aD4B4e04EA08bAf4DFfC28,18 -466,FRM-A68C,FRM,FRM,0xE5CAeF4Af8780E59Df925470b050Fb23C43CA68C,6 -467,ETH-EEeE,ETH,ETH,0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE,18 -468,1INCH-C302,1INCH,1INCH,0x111111111117dC0aa78b770fA6A738034120C302,18 -469,ALPHA-0975,ALPHA,ALPHA,0xa1faa113cbE53436Df28FF0aEe54275c13B40975,18 -470,AMP-95C2,AMP,AMP,0xfF20817765cB7f73d4bde2e66e067E58D11095C2,18 -471,ANT-88C0,ANT,ANT,0x960b236A07cf122663c4303350609A66A7B288C0,18 -472,APW-60c8,APW,APW,0x4104b135DBC9609Fc1A9490E61369036497660c8,18 -473,ARCONA-52B3,ARCONA,ARCONA,0x0f71B8De197A1C84d31de0F1fA7926c365F052B3,18 -474,AUC-5663,AUC,AUC,0xc12d099be31567add4e4e4d0D45691C3F58f5663,18 -475,FODL-b9C3,FODL,FODL,0x4C2e59D098DF7b6cBaE0848d66DE2f8A4889b9C3,18 -476,PHTR-22dA,PHTR,PHTR,0xE1Fc4455f62a6E89476f1072530C20CF1A0622dA,18 -477,RLC-7375,RLC,RLC,0x607F4C5BB672230e8672085532f7e901544a7375,9 -478,ROOK-3d4a,ROOK,ROOK,0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a,18 -479,RPL-A51f,RPL,RPL,0xD33526068D116cE69F19A9ee46F0bd304F21A51f,18 -480,RUNE-49cb,RUNE,RUNE,0x3155BA85D5F96b2d030a4966AF206230e46849cb,18 -481,SFI-902c,SFI,SFI,0xb753428af26E81097e7fD17f40c88aaA3E04902c,18 -482,SHEESHA-E768,SHEESHA,SHEESHA,0x232FB065D9d24c34708eeDbF03724f2e95ABE768,18 -483,TEMP-1aB9,TEMP,TEMP,0xA36FDBBAE3c9d55a1d67EE5821d53B50B63A1aB9,18 -484,TRAC-0A6F,TRAC,TRAC,0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F,18 -485,UOS-5C8c,UOS,UOS,0xD13c7342e1ef687C5ad21b27c2b65D772cAb5C8c,4 -486,vBNT-7f94,vBNT,vBNT,0x48Fb253446873234F2fEBbF9BdeAA72d9d387f94,18 -487,VITA-A321,VITA,VITA,0x81f8f0bb1cB2A06649E51913A151F0E7Ef6FA321,18 -488,VLX-Edb9,VLX,VLX,0x8C543AED163909142695f2d2aCd0D55791a9Edb9,18 -489,wNXM-2bDE,wNXM,wNXM,0x0d438F3b5175Bebc262bF23753C1E53d03432bDE,18 -490,WXT-E915,WXT,WXT,0xa02120696c7B8fE16C09C749E4598819b2B0E915,18 -491,YFI-d93e,YFI,YFI,0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e,18 -492,ZCN-3B78,ZCN,ZCN,0xb9EF770B6A5e12E45983C5D80545258aA38F3B78,10 -493,LYRA-05Bf,LYRA,LYRA,0x01BA67AAC7f75f647D94220Cc98FB30FCc5105Bf,18 -494,OCEAN-9F48,OCEAN,OCEAN,0x967da4048cD07aB37855c090aAF366e4ce1b9F48,18 -495,renBTC-B27D,renBTC,renBTC,0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D,8 -496,HEGIC-8430,HEGIC,HEGIC,0x584bC13c7D411c00c01A62e8019472dE68768430,18 -497,INDEX-4cab,INDEX,INDEX,0x0954906da0Bf32d5479e25f46056d22f08464cab,18 -498,KNC-D200,KNC,KNC,0xdd974D5C2e2928deA5F71b9825b8b646686BD200,18 -499,KTN-FC1C,KTN,KTN,0x491E136FF7FF03E6aB097E54734697Bb5802FC1C,18 -500,LPL-75B8,LPL,LPL,0x99295f1141d58A99e939F7bE6BBe734916a875B8,18 -501,LRC-EafD,LRC,LRC,0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD,18 -502,RARI-41CF,RARI,RARI,0xFca59Cd816aB1eaD66534D82bc21E7515cE441CF,18 -503,MLN-1892,MLN,MLN,0xec67005c4E498Ec7f55E092bd1d35cbC47C91892,18 -504,MONA-412A,MONA,MONA,0x275f5Ad03be0Fa221B4C6649B8AeE09a42D9412A,18 -505,MPH-35C5,MPH,MPH,0x8888801aF4d980682e47f1A9036e589479e835C5,18 -506,NDX-5F83,NDX,NDX,0x86772b1409b61c639EaAc9Ba0AcfBb6E238e5F83,18 -507,NEXO-5206,NEXO,NEXO,0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206,18 -508,NMR-6671,NMR,NMR,0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671,18 -509,NOIA-b6ca,NOIA,NOIA,0xa8c8CfB141A3bB59FEA1E2ea6B79b5ECBCD7b6ca,18 -510,OPIUM-eC11,OPIUM,OPIUM,0x888888888889C00c67689029D7856AAC1065eC11,18 -511,POWR-1269,POWR,POWR,0x595832F8FC6BF59c85C527fEC3740A1b7a361269,6 -512,PSP-3dE5,PSP,PSP,0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5,18 -513,DATA-8b76,DATA,DATA,0x8f693ca8D21b157107184d29D398A8D082b38b76,18 -514,xSUSHI-4272,xSUSHI,xSUSHI,0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272,18 -515,ENS-9D72,ENS,ENS,0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72,18 -516,UMA-F828,UMA,UMA,0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828,18 -517,RNB-e743,RNB,RNB,0x2A039B1D9bBDccBb91be28691b730ca893e5e743,18 -518,SATA-bEe1,SATA,SATA,0x3ebb4A4e91Ad83BE51F8d596533818b246F4bEe1,18 -519,ACRE-FC21,ACRE,ACRE,0xb2cABf797bc907B049e4cCB5b84d13be3a8CFC21,18 -520,CROWN-E0fa,CROWN,CROWN,0x444d6088B0F625f8C20192623B3C43001135E0fa,18 -521,SHIBGF-65d6,SHIBGF,SHIBGF,0x505a84a03e382331A1Be487b632Cf357748b65d6,18 -522,MFG-0312,MFG,MFG,0x6710c63432A2De02954fc0f851db07146a6c0312,18 -523,EWTB-6054,EWTB,EWTB,0x178c820f862B14f316509ec36b13123DA19A6054,18 -524,FTX Token-a4c9,FTX Token,FTX Token,0x50D1c9771902476076eCFc8B2A83Ad6b9355a4c9,18 -525,1ONE-f9D3,1ONE,1ONE,0xD5cd84D6f044AbE314Ee7E414d37cae8773ef9D3,18 -526,BZRX-f4b3,BZRX,BZRX,0x56d811088235F11C8920698a204A5010a788f4b3,18 -527,bDIGG-8e1a,bDIGG,bDIGG,0x7e7E112A68d8D2E221E11047a72fFC1065c38e1a,18 -528,SUSHI-0fE2,SUSHI,SUSHI,0x6B3595068778DD592e39A122f4f5a5cF09C90fE2,18 -529,PEPE-1933,PEPE,PEPE,0x6982508145454Ce325dDbE47a25d4ec3d2311933,18 -530,XCHF-fc08,XCHF,XCHF,0xB4272071eCAdd69d933AdcD19cA99fe80664fc08,18 -531,ARB-4ad1,ARB,ARB,0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1,18 -532,LBR-aCcA,LBR,LBR,0xC98835e792553e505AE46e73a6fD27a23985aCcA,18 -533,HRP-12Bf,HRP,HRP,0xbd15Ad921e1B480209AF549874a2fCb80DC312Bf,18 -534,Silo-B1f8,Silo,Silo,0x6f80310CA7F2C654691D1383149Fa1A57d8AB1f8,18 -535,0x0-1AD5,0x0,0x0,0x5a3e6A77ba2f983eC0d371ea3B475F8Bc0811AD5,9 -536,SMT-7173,SMT,SMT,0xB17548c7B510427baAc4e267BEa62e800b247173,18 -537,pepecoin-489A,pepecoin,pepecoin,0xA9E8aCf069C58aEc8825542845Fd754e41a9489A,18 -538,JAY-CA6E,JAY,JAY,0xDA7C0810cE6F8329786160bb3d1734cf6661CA6E,18 -539,WYD-8991,WYD,WutYuDoin?,0xbae9992488AE7f7c1EDB34Ed74c213B28d928991,18 -540,WSB-0c49,WSB,WSB Coin,0x0414D8C87b271266a5864329fb4932bBE19c0c49,18 -541,TRU-3784,TRU,TrueFi,0x4C19596f5aAfF459fA38B0f7eD92F11AE6543784,8 -542,BAL-4e3D,BAL,Balancer,0xba100000625a3754423978a60c9317c58a424e3D,18 -543,MTA-AcD2,MTA,Meta,0xa3BeD4E1c75D00fa6f4E5E6922DB7261B5E9AcD2,18 -544,QUICK-6F2f,QUICK,Quickswap,0x6c28AeF8977c9B773996d0e8376d2EE379446F2f,18 -545,BOR-c1A9,BOR,BoringDAO,0x3c9d6c1C73b31c837832c72E04D3152f051fc1A9,18 -546,STAKE-95e6,STAKE,STAKE,0x0Ae055097C6d159879521C384F1D2123D1f195e6,18 -547,CRO-450b,CRO,CRO,0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b,8 -548,BNB-DD52,BNB,BNB,0xB8c77482e45F1F44dE1745F52C74426C631bDD52,18 -549,PATH-7588,PATH,PathDao,0x2a2550e0A75aCec6D811AE3930732F7f3ad67588,18 -550,PERP-3447,PERP,Perpetual,0xbC396689893D065F41bc2C6EcbeE5e0085233447,18 -551,POOL-844e,POOL,PoolTogether,0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e,18 -552,SMARTCREDIT-DA13,SMARTCREDIT,SMARTCREDIT Token,0x72e9D9038cE484EE986FEa183f8d8Df93f9aDA13,18 -553,CEL-D42d,CEL,Celsius,0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d,4 -554,renZEC-37C2,renZEC,renZEC,0x1C5db575E2Ff833E46a2E9864C22F4B22E0B37C2,8 -555,OMG-0C07,OMG,OMGToken,0xd26114cd6EE289AccF82350c8d8487fedB8A0C07,18 -556,INSAI-4674,INSAI,Insight,0xceec4aE5CF5300aC9A49a816961Af9393b214674,6 -557,$DGTV-966D,$DGTV,Doge-TV,0xFEb6d5238Ed8F1d59DCaB2db381AA948e625966D,18 -558,MATRIX-1C36,MATRIX,MatrixSwapToken,0xc8D3DCb63C38607Cb0c9d3F55E8eccE628A01C36,18 -559,CREAM-B200,CREAM,Cream,0x2ba592F78dB6436527729929AAf6c908497cB200,18 -560,INU-Bda5,INU,Inu.,0x050D94685c6B0477E1Fc555888AF6e2bB8dFBda5,18 -561,CHEW-7Cb3,CHEW,CHEW,0xf5d126077096e5b01BC30FFa5d9324D7202d7Cb3,18 -562,N1-C16D,N1,NFTify,0xaCbd826394189Cf2623C6DF98a18b41fC8fFC16D,18 -563,FLX-91F4,FLX,Flex Ungovernance Token,0x6243d8CEA23066d098a15582d81a598b4e8391F4,18 -564,MUSE-fc81,MUSE,Muse,0xB6Ca7399B4F9CA56FC27cBfF44F4d2e4Eef1fc81,18 -565,BST-7F4a,BST,BlocksquareToken,0x509A38b7a1cC0dcd83Aa9d06214663D9eC7c7F4a,18 -566,SAND-a5d0,SAND,SAND,0x3845badAde8e6dFF049820680d1F14bD3903a5d0,18 -567,PLAY-45bC,PLAY,InfinityGaming,0x95b4e47025372Ded4B73F9b5F0671B94a81445bC,9 -568,WG0-C057,WG0,Wrapped Gen 0,0xa10740ff9FF6852eac84cdcfF9184e1D6d27C057,18 -569,HEAL-541a,HEAL,Heal The World,0x383B0b2ce2e1757b5e1D087D8f36013eA595541a,9 -570,CNTR-064B,CNTR,Centaur Token,0x03042482d64577A7bdb282260e2eA4c8a89C064B,18 -571,AMAS-4f52,AMAS,Amasa Token,0x65a8fbA02F641a13Bb7B01d5E1129b0521004f52,18 -572,ASIA-6011,ASIA,ASIA COIN,0xF519381791C03DD7666C142D4E49Fd94d3536011,18 -573,KoaCombat-544C,KoaCombat,KoaCombat,0x6769D86f9C430f5AC6d9c861a0173613F1C5544C,9 -574,DUCKER-01A7,DUCKER,Duckereum,0xa52bfFAD02B1FE3f86A543a4e81962d3B3bB01A7,18 -575,HKBY-d7D4,HKBY,Huckleberry Inu,0x645C52CF6c5C58AA4064494f5b5FFE9C7EC0d7D4,18 -576,LSD-d9fd,LSD,Liquid Staking Derivatives,0x97D4F49eEb0E2c96d5EbAA71AB8418e563ecd9fd,9 -577,SHIB0.5-dE1b,SHIB0.5,Half Shiba Inu,0x8Eb94A06b4716093DBfE335cbdb098DEb2dcdE1b,18 -578,XDB-9d27,XDB,digitalbits,0xB9EefC4b0d472A44be93970254Df4f4016569d27,7 -579,DC-9180,DC,Dogechain Token,0x7B4328c127B85369D9f82ca0503B000D09CF9180,18 -580,Shibmerican-5609,Shibmerican,Shibmerican | t.me/Shibmerican,0x440238CC07186aDEA6653a2E8cb9a24737615609,9 -581,HONR-79B8,HONR,DeltaFlare,0x39Ea10E507720783C27eDd5F96Bf2D6e199579B8,18 -582,NIIFI-BCb8,NIIFI,NiiFiToken,0x852e5427c86A3b46DD25e5FE027bb15f53c4BCb8,15 -583,LETSGO-BB95,LETSGO,Lets Go Brandon,0xA6586E19EF681b1AC0ED3D46413D199a555dBB95,18 -584,FEG-C945,FEG,FEGtoken,0x389999216860AB8E0175387A0c90E5c52522C945,9 -585,FEG-2A11,FEG,FEG Token,0xbededDf2eF49E87037c4fb2cA34d1FF3D3992A11,18 -586,DDOS-02C3,DDOS,Disbalancer,0x7FBEC0bb6A7152e77C30D005B5D49cbC08A602C3,18 -587,OVR-3697,OVR,OVR,0x21BfBDa47A0B4B5b1248c767Ee49F7caA9B23697,18 -588,DOGPAD-9C1c,DOGPAD,DogPad,0x6f3277ad0782a7DA3eb676b85a8346A100BF9C1c,18 -589,LTO-294D,LTO,LTO Network Token,0x3DB6Ba6ab6F95efed1a6E794caD492fAAabF294D,8 -590,IONX-4217,IONX,Charged Particles - IONX,0x02D3A27Ac3f55d5D91Fb0f52759842696a864217,18 -591,FOTO-C49F,FOTO,FOTO,0xF6eA0E60cee427B90aA36f327eE61d1d4CABC49F,18 -592,QMALL-2198,QMALL,Qmall Token,0x2217e5921B7edfB4BB193a6228459974010D2198,18 -593,WAGMIGAMES-00F0,WAGMIGAMES,WAGMI GAMES,0x3B604747ad1720C01ded0455728b62c0d2F100F0,18 -594,KINE-F05D,KINE,Kine Governance Token,0xCbfef8fdd706cde6F208460f2Bf39Aa9c785F05D,18 -595,FXF-0f12,FXF,Finxflo,0x8a40c222996f9F3431f63Bf80244C36822060f12,18 -596,SAN-f098,SAN,SANtiment network token,0x7C5A0CE9267ED19B22F8cae653F198e3E8daf098,18 -597,⚗️-b7aB,⚗️,Alchemist,0x88ACDd2a6425c3FaAE4Bc9650Fd7E27e0Bebb7aB,18 -598,SHIBDAO-b9A8,SHIBDAO,Shibarium DAO,0xB197a6Fdd8AB825332eDEbA1AB5C4D1Bf97fb9A8,18 -599,XP-b2Ac,XP,PolkaFantasy,0x948c70Dc6169Bfb10028FdBE96cbC72E9562b2Ac,18 -600,$WEAPON-762d,$WEAPON,Megaweapon,0x0b8057C3Cc676C329c25C1d0Cd27776efA73762d,9 -601,LAIKA-EC0b,LAIKA,LAIKA,0x77f9CF0bd8C500CfFdF420e72343893aeCC2EC0b,18 -602,IMX-4a00,IMX,Impermax,0x7b35Ce522CB72e4077BaeB96Cb923A5529764a00,18 -603,STREAMERINU-259a,STREAMERINU,Streamer Inu,0x0e8D2EB7D6bDF28393c25a1966385Ad32Ff0259a,18 -604,BFLY-c063,BFLY,Butterfly Protocol Governance Token,0xf680429328caaaCabee69b7A9FdB21a71419c063,18 -605,SUKU-E4d7,SUKU,SUKU,0x0763fdCCF1aE541A5961815C0872A8c5Bc6DE4d7,18 -606,CUDOS-dB35,CUDOS,CudosToken,0x817bbDbC3e8A1204f3691d14bB44992841e3dB35,18 -607,SASHIMI-64c2,SASHIMI,SashimiToken,0xC28E27870558cF22ADD83540d2126da2e4b464c2,18 -608,AAG-8F97,AAG,AAG,0x5ba19d656B65f1684cFea4Af428C23B9f3628F97,18 -609,dogep-80b9,dogep,Doge Protocol,0xE7eaec9Bca79d537539C00C58Ae93117fB7280b9,18 -610,STRP-ADc9,STRP,Strips Token,0x97872EAfd79940C7b24f7BCc1EADb1457347ADc9,18 -611,STA-eED1,STA,Statera,0xa7DE087329BFcda5639247F96140f9DAbe3DeED1,18 -612,KIBSHI-2361,KIBSHI,KiboShib,0x02e7F808990638E9e67E1f00313037EDe2362361,18 -613,Ichigo-78B5,Ichigo,Ichigo Inu,0x8254C1C134436F74047F79eaAeA97E3324eF78B5,9 -614,PACK-1Ab2,PACK,Pack,0xb186035490C8602EaD853EC98bE05E3461521Ab2,18 -615,SWFTC-fC1e,SWFTC,SwftCoin,0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e,8 -616,BZN-35d4,BZN,Benzene,0x6524B87960c2d573AE514fd4181777E7842435d4,18 -617,LOOT-8335,LOOT,LOOT Token,0x721A1B990699eE9D90b6327FaaD0A3E840aE8335,18 -618,kitty-52a2,kitty,Kitty Inu,0x044727e50ff30DB57fad06Ff4F5846eAb5eA52a2,9 -619,CVC-4E45,CVC,Civic,0x41e5560054824eA6B0732E656E3Ad64E20e94E45,8 -620,TOON-EF02,TOON,PontoonToken,0xaeE433ADeBe0FBB88dAa47eF0C1A513CaA52EF02,18 -621,FLONA-524A,FLONA,FLONA,0xEf27252B567F6B3fe35b34A85bE322917abE524A,18 -622,BOTZ-2F80,BOTZ,Beep,0x3475fC1D0d2e03761C19D5C7601fe476f0E02F80,18 -623,TRXC-7d8e,TRXC,TRONCLASSIC,0xaD5Fe5B0B8eC8fF4565204990E4405B2Da117d8e,0 -624,PPDEX-0cf7,PPDEX,Pepedex,0xf1F508c7C9f0d1b15a76fbA564eEf2d956220cf7,18 -625,DEPAY-55eb,DEPAY,DePay,0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb,18 -626,FABRIC-e523,FABRIC,MetaFabric,0x8c6Fa66c21aE3fC435790E451946a9Ea82E6e523,18 -627,LUNA-1ea9,LUNA,Wrapped LUNA Token,0xd2877702675e6cEb975b4A1dFf9fb7BAF4C91ea9,18 -628,GHST-1550,GHST,Aavegotchi GHST Token,0x3F382DbD960E3a9bbCeaE22651E88158d2791550,18 -629,CAPS-15e2,CAPS,Capsule Coin,0x03Be5C903c727Ee2C8C4e9bc0AcC860Cca4715e2,18 -630,MCONTENT-b3F4,MCONTENT,MContent,0xD3c51de3E6DD9b53D7f37699AFB3EE3Bf9B9b3F4,6 -631,QUID-B6D4,QUID,Quid Ika,0x9d38F670D15C14716BE1F109a4F453E966A2B6D4,9 -632,SPELLFIRE-7C91,SPELLFIRE,SPELLFIRE Token,0x3A0b022f32b3191D44E5847da12dc0B63fb07C91,18 -633,GEO-6750,GEO,GeoDB Coin,0x147faF8De9d8D8DAAE129B187F0D02D819126750,18 -634,BPRO-5f61,BPRO,B.Protocol,0xbbBBBBB5AA847A2003fbC6b5C16DF0Bd1E725f61,18 -635,RBIF-5ceB,RBIF,ROBO INU,0x7B32e70e8D73ac87c1B342e063528B2930b15ceB,9 -636,BITE-43BA,BITE,Bite,0x34103e1190b824a44C6a638438d425cbA21143BA,18 -637,QOM-4974,QOM,Shiba Predator,0xa71d0588EAf47f12B13cF8eC750430d21DF04974,18 -638,SMTY-3283,SMTY,SMTYToken,0xbF776e4FCa664D791C4Ee3A71e2722990E003283,18 -639,PIKA-3578,PIKA,PIKA,0x60F5672A271C7E39E787427A18353ba59A4A3578,18 -640,PUSH-EEEE,PUSH,Ethereum Push Notification Service,0xf418588522d5dd018b425E472991E52EBBeEEEEE,18 -641,$FLUFFY-4c31,$FLUFFY,FLUFFY TOKEN,0xc2a2E9B87b37938D934Fd51CfEC0C5Fd5cB14c31,18 -642,ibETH-9c7A,ibETH,Interest Bearing ETH,0x67B66C99D3Eb37Fa76Aa3Ed1ff33E8e39F0b9c7A,18 -643,GEN-Addf,GEN,DAOstack,0x543Ff227F64Aa17eA132Bf9886cAb5DB55DCAddf,18 -644,$VXON-67b3,$VXON,VoxNET,0x048Aa6E69D5117BD665aF4128383a6982B8367b3,4 -645,ETHM-3794,ETHM,Ethereum Meta,0xFD957F21bd95E723645C07C48a2d8ACB8Ffb3794,18 -646,ITGR-Bc98,ITGR,Integral,0xD502F487e1841Fdc805130e13eae80c61186Bc98,18 -647,MUNCH-a301,MUNCH,MUNCH Token,0x944eeE930933BE5E23b690c8589021Ec8619a301,9 -648,BabyFloki-f956,BabyFloki,BabyFloki,0xdF35988d795d90711e785B488Bb2127692e6f956,9 -649,RBX-3299,RBX,RBX,0x8254e26e453EB5aBd29B3c37AC9E8Da32E5d3299,18 -650,ZEON-0532,ZEON,ZEON,0xE5B826Ca2Ca02F09c1725e9bd98d9a8874C30532,18 -651,ALPHA-940B,ALPHA,Alpha,0x138C2F1123cF3f82E4596d097c118eAc6684940B,18 -652,RAC-a3e9,RAC,RAC,0xc22B30E4cce6b78aaaADae91E44E73593929a3e9,18 -653,SPROUT-219E,SPROUT,SPROUT,0x9b8e9d523D1D6bC8EB209301c82C7D64D10b219E,18 -654,PNT-AAeD,PNT,pNetwork Token,0x89Ab32156e46F46D02ade3FEcbe5Fc4243B9AAeD,18 -655,DGMV-960c,DGMV,DigiMetaverse,0x8EEdEFe828A0f16C8fc80e46a87Bc0f1De2d960c,18 -656,OXT-3Deb,OXT,Orchid,0x4575f41308EC1483f3d399aa9a2826d74Da13Deb,18 -657,WISE-5bd6,WISE,Wise Token,0x66a0f676479Cee1d7373f3DC2e2952778BfF5bd6,18 -658,KFT-b207,KFT,Knit Finance,0xEF53462838000184F35f7D991452e5f25110b207,18 -659,2CRZ-F3fA,2CRZ,2CrazyToken,0x2C9C19cE3b15ae77C6d80aEc3C1194Cfd6F7F3fA,18 -660,METADOGE-62eD,METADOGE,Meta Doge,0x8530b66ca3DDf50E0447eae8aD7eA7d5e62762eD,18 -661,YIELD-db9B,YIELD,Yield Protocol,0xa8B61CfF52564758A204F841E636265bEBC8db9B,18 -662,٨-91e6,٨,Dentacoin,0x08d32b0da63e2C3bcF8019c9c5d849d7a9d791e6,0 -663,UMX-bC15,UMX,https://unimex.network/,0x10Be9a8dAe441d276a5027936c3aADEd2d82bC15,18 -664,PINU-9670,PINU,Piccolo Inu,0x3a1311B8C404629E38f61D566cefEFed083B9670,9 -665,FYT-8ca7,FYT,Flora Yield Token,0x77F2BE773CA0887ba2b3Ef8344C8CF13C98d8ca7,18 -666,AWC-13f4,AWC,Atomic Wallet Token,0xaD22f63404f7305e4713CcBd4F296f34770513f4,8 -667,K9-C3Fc,K9,K9,0x2bD0FB740e403B505A3146F9aC02df883Fd5C3Fc,18 -668,SHIK-5572,SHIK,SHIKOKU INU,0x24dA31e7BB182cb2cABfEF1d88db19C2AE1f5572,18 -669,TX-5Fdf,TX,Tradix,0x8954D907520532c1f0d89d42569232Fd0f995Fdf,8 -670,DNT-04ea,DNT,district0x Network Token,0x0AbdAce70D3790235af448C88547603b945604ea,18 -671,ELONONE-0aa2,ELONONE,ASTROELON,0x97b65710D03E12775189F0D113202cc1443b0aa2,9 -672,DNS-d73D,DNS,Dot Names,0x6C5Aa4244113E77414386630B7F963dbE1B4d73D,18 -673,ZOGI-2A0C,ZOGI,Zogi,0x7e80e4d7d5725499791CF8b17A4586F1f0672A0C,18 -674,ePING-8E47,ePING,ePING,0xC7B89491Bb148551547837ea6ccB4Bb5144d8E47,9 -675,PERI-8492,PERI,Peri Finance Token,0x5d30aD9C6374Bf925D0A75454fa327AACf778492,18 -676,EJS-79C2,EJS,Enjinstarter,0x96610186F3ab8d73EBEe1CF950C750f3B1Fb79C2,18 -677,KOYO-c9d4,KOYO,Yofune Nushi,0x9dAeF41E08Bc88183572b03796C96a7ace1Ec9d4,18 -678,REP-E862,REP,Reputation,0x1985365e9f78359a9B6AD760e32412f4a445E862,18 -679,F9-CC1F,F9,Falcon 9,0x38A94e92A19E970c144DEd0B2DD47278CA11CC1F,9 -680,CHR-bAA2,CHR,Chroma,0x8A2279d4A90B6fe1C4B30fa660cC9f926797bAA2,6 -681,YLD-6F48,YLD,Yield,0xF94b5C5651c888d928439aB6514B93944eEE6F48,18 -682,ANGEL-d5A1,ANGEL,Angel,0x6C7B97c7e09E790D161769a52F155125FAc6d5A1,18 -683,CPTINU-6971,CPTINU,Captain Inu,0x7Cca2e1c9B0519f52029467914A15E782BF66971,18 -684,PSWAP-21BB,PSWAP,Polkaswap,0x519C1001D550C0a1DaE7d1fC220f7d14c2A521BB,18 -685,BOXA-0110,BOXA,BOXA,0x7662c015D845EF487fDe32cb884653bE9c9E0110,9 -686,MINER-f016,MINER,Meta Miner,0x2B645A57e82123796c3EA7d78DE27c3e3ff7f016,18 -687,Rhllor-7238,Rhllor,Token of Fire,0x90E2Fa98DfC518317600Dd3DC571DE8D071a7238,9 -688,FVT-5e32,FVT,Finance.Vote Token,0x45080a6531d671DDFf20DB42f93792a489685e32,18 -689,DRC-5Ef8,DRC,Dracula Token,0xb78B3320493a4EFaa1028130C5Ba26f0B6085Ef8,18 -690,BTSG-54A9,BTSG,BitSong,0x05079687D35b93538cbd59fe5596380cae9054A9,18 -691,ZOOT-926c,ZOOT,Zoo Token,0x1341A2257fa7b770420Ef70616f888056f90926c,9 -692,CORX-CF97,CORX,CorionX utility token,0x26a604DFFE3ddaB3BEE816097F81d3C4a2A4CF97,8 -693,CRE-478e,CRE,CarryToken,0x115eC79F1de567eC68B7AE7eDA501b406626478e,18 -694,VLT-4d11,VLT,Bankroll Vault,0x6b785a0322126826d8226d77e173d75DAfb84d11,18 -695,STND-999d,STND,Standard,0x9040e237C3bF18347bb00957Dc22167D0f2b999d,18 -696,FLOKI-6a2E,FLOKI,FLOKI,0xcf0C122c6b73ff809C693DB761e7BaeBe62b6a2E,9 -697,UBX-09f3,UBX,UBX,0xF5B5eFc906513b4344EbAbCF47A04901f99F09f3,0 -698,LIT-46B2,LIT,LITION,0x763Fa6806e1acf68130D2D0f0df754C93cC546B2,18 -699,DODI-7665,DODI,DoubleDice Token,0x4E08F03079c5CD3083eA331Ec61bCC87538B7665,18 -700,CWS-33e0,CWS,Crowns,0xaC0104Cca91D167873B8601d2e71EB3D4D8c33e0,18 -701,XTK-AdEB,XTK,xToken,0x7F3EDcdD180Dbe4819Bd98FeE8929b5cEdB3AdEB,18 -702,NOONE-f0cf,NOONE,No one,0x296233E84c1D7bfF11121BF6D60f0FFA39C3f0cf,9 -703,PROXY-fF29,PROXY,PROXY,0x82089a9c7c4a07352F7433fBce1D4Ee9a722fF29,9 -704,ORD-E4Ec,ORD,ordinex,0xBe00734799A67a62Af2819825580318aC1B1E4Ec,18 -705,ARES-d523,ARES,Ares Protocol,0x358AA737e033F34df7c54306960a38d09AaBd523,18 -706,MNY-586f,MNY,MoonieNFT Token,0xA6F7645ed967FAF708A614a2fcA8D4790138586f,18 -707,UPP-f652,UPP,SENTINEL PROTOCOL,0xC86D054809623432210c107af2e3F619DcFbf652,18 -708,VIDYA-2C30,VIDYA,Vidya,0x3D3D35bb9bEC23b06Ca00fe472b50E7A4c692C30,18 -709,DXY-E9dB,DXY,DXY.FINANCE,0x39Fa206c1648944f92E8F7B626e1CBdf78d7E9dB,18 -710,:ZKT:-3966,:ZKT:,ZkTsunami,0x76fcA1adb104770B38581B64d55e67fA5A0f3966,9 -711,MONGOOSE-f156,MONGOOSE,Mongoose,0xa1817B6d8D890F3943b61648992730373B71f156,9 -712,PAN-7c44,PAN,Panvala pan,0xD56daC73A4d6766464b38ec6D91eB45Ce7457c44,18 -713,MCB-Ce42,MCB,MCDEX Token,0x4e352cF164E64ADCBad318C3a1e222E9EBa4Ce42,18 -714,AGFI-451f,AGFI,Aggregated Finance,0x4D0F56d728c5232ab07fAA0BdcbA23670A35451f,9 -715,DOKE-A128,DOKE,Doke Inu,0x517ABf1fCDBD76BC75B532683ada9113E313A128,9 -716,COC-3caf,COC,CocktailBar,0x22B6C31c2bEB8f2d0d5373146Eed41Ab9eDe3caf,8 -717,RESTAURANTS-D491,RESTAURANTS,Devour Token,0xDffC63f92c939deB112D88735ade3B4D21B6D491,18 -718,cUSDC-7563,cUSDC,Compound USD Coin,0x39AA39c021dfbaE8faC545936693aC917d5E7563,8 -719,FAI-87F5,FAI,Fairum Community,0xCda2f16C6Aa895D533506B426AFF827b709c87F5,18 -720,Skey-D442,Skey,SmartKey,0x06A01a4d579479Dd5D884EBf61A31727A3d8D442,8 -721,UTK-F99c,UTK,Utrust Token,0xdc9Ac3C20D1ed0B540dF9b1feDC10039Df13F99c,18 -722,GN-d044,GN,GN,0xc5019E129b75D380d3d837B8e609dEc6c8f5d044,9 -723,TUSD-b376,TUSD,TrueUSD,0x0000000000085d4780B73119b644AE5ecd22b376,18 -724,SVX-a13C,SVX,Savix,0xc434b27736A6882D33094d34792999702860a13C,9 -725,DRCT-07Ca,DRCT,Direct,0x9d561d63375672ABd02119b9Bc4FB90EB9E307Ca,18 -726,$Dwagon-294a,$Dwagon,Dwagon,0xdf1A2f85F3af80E85d14DdAAB2933C8caA09294a,18 -727,CUMINU-7536,CUMINU,Cum Inu,0xd6327ce1fb9D6020E8C2c0E124A1eC23DCAb7536,18 -728,COLLAR-5486,COLLAR,Collar,0x1a16B2B93B37A7EF5cB0A4F978CeD45FE14a5486,18 -729,LMY-851f,LMY,Lunch Money,0x66fD97a78d8854fEc445cd1C80a07896B0b4851f,18 -730,EVOAI-c696,EVOAI,EvolveAI,0x6Fbc20483b53CEa47839Bb8e171Abd6D67C3c696,9 -731,SNS-19DB,SNS,Shibarium Name Service,0xEa4a2327E75252517535fd013b7C6706609819DB,18 -732,XRT-1cb7,XRT,Robonomics,0x7dE91B204C1C737bcEe6F000AAA6569Cf7061cb7,9 -733,SUPER-0A55,SUPER,SuperFarm,0xe53EC727dbDEB9E2d5456c3be40cFF031AB40A55,18 -734,MATH-DD30,MATH,MATH Token,0x08d967bb0134F2d07f7cfb6E246680c53927DD30,18 -735,METR-03f0,METR,Metria,0x405CE8B2eAeeA7D4Ba5Fc160848cB2A6569e03f0,18 -736,PARA-EF1E,PARA,ParaWerx,0xD16fd95D949F996e3808EeEa0e3881C59E76EF1E,18 -737,INUINU-eB5f,INUINU,Inu Inu,0xC6bDb96E29c38DC43f014Eed44dE4106A6A8eB5f,18 -738,JPYC-cD53,JPYC,JPY Coin,0x2370f9d504c7a6E775bf6E14B3F12846b594cD53,18 -739,GS-3112,GS,Gen Shards,0xe0B9a2C3E9f40CF74B2C7F591B2b0CCa055c3112,18 -740,OHMI-533C,OHMI,One Hundred Million Inu,0x4159862bcF6B4393A80550b1ed03DFfa6f90533C,18 -741,WHALE-38e0,WHALE,WHALE,0x9355372396e3F6daF13359B7b607a3374cc638e0,4 -742,INJ-ca30,INJ,Injective Token,0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30,18 -743,CyOp-2f31,CyOp,CyOp | Protocol,0xddaC9C604BA6Bc4ACEc0FBB485B83f390ECF2f31,9 -744,ABYSS-8DA6,ABYSS,ABYSS,0x0E8d6b471e332F140e7d9dbB99E5E3822F728DA6,18 -745,$SHIBP-9235,$SHIBP,Shibarium Pad,0xC90906d45046059221e908de5Cc8fcfaCA859235,18 -746,$EVCoin-6E11,$EVCoin,EverestCoin,0x06fCe0DAB5b26e503E1C4Db48aa165DcaAAa6E11,9 -747,mUSD-35a5,mUSD,mStable USD,0xe2f2a5C287993345a840Db3B0845fbC70f5935a5,18 -748,BCDT-62a5,BCDT,Blockchain Certified Data Token,0xAcfa209Fb73bF3Dd5bBfb1101B9Bc999C49062a5,18 -749,BTE-80Ef,BTE,Betero,0x73B708E84837FFCcDE2933e3A1531fe61D5e80Ef,18 -750,WLEO-3998,WLEO,Wrapped LEO,0x73A9fb46e228628f8f9BB9004eCa4f4F529D3998,3 -751,ARTX-7710,ARTX,ARTX Token,0x741b0428Efdf4372A8DF6FB54B018dB5e5aB7710,18 -752,WOOL-e525,WOOL,WOOL,0x8355DBE8B0e275ABAd27eB843F3eaF3FC855e525,18 -753,DWEB-285F,DWEB,DecentraWeb,0xE7f58A92476056627f9FdB92286778aBd83b285F,18 -754,APEFI-278D,APEFI,Ape Finance,0x4332f8A38f14BD3D8D1553aF27D7c7Ac6C27278D,18 -755,RADAR-DEa8,RADAR,Radar,0xf9FBE825BFB2bF3E387af0Dc18caC8d87F29DEa8,18 -756,AIDI-d1b8,AIDI,Aidi Inu,0xdA1E53E088023Fe4D1DC5a418581748f52CBd1b8,9 -757,FROGEX-Def1,FROGEX,FrogeX,0x5fA54fdDF1870C344DbFaBb37dFab8700Ec0Def1,9 -758,PXT-B262,PXT,Populous XBRL token,0xc14830E53aA344E8c14603A91229A0b925b0B262,8 -759,BLAST-2Eda,BLAST,SafeBLAST,0x614D7f40701132E25fe6fc17801Fbd34212d2Eda,9 -760,ZIG-4f01,ZIG,ZigCoin,0xb2617246d0c6c0087f18703d576831899ca94f01,18 -761,VEMP-6eEC,VEMP,vEmpire Gamer Token,0xcFEB09C3c5F0f78aD72166D55f9e6E9A60e96eEC,18 -762,MC-E5d6,MC,Merit Circle,0x949D48EcA67b17269629c7194F4b727d4Ef9E5d6,18 -763,DDDD-48E0,DDDD,"People's Punk",0x8cA9a0fbd8DB501F013F2e9e33a1B9dC129A48E0,18 -764,DG-588D,DG,Decentral Games,0x4b520c812E8430659FC9f12f6d0c39026C83588D,18 -765,CULT-5A13,CULT,Cult DAO,0xf0f9D895aCa5c8678f706FB8216fa22957685A13,18 -766,SEFI-B8Ac,SEFI,Secret Finance,0x773258b03c730F84aF10dFcB1BfAa7487558B8Ac,6 -767,BIGCAP-6181,BIGCAP,BIGCAP,0xE29F1241E6015A4949cb7E3f07234BA794006181,18 -768,RYOSHI-618e,RYOSHI,Ryoshis Vision,0x777E2ae845272a2F540ebf6a3D03734A5a8f618e,18 -769,POS32-2aB0,POS32,PoS-32,0x8eb5bD8c9Ab0F8ad28e94693F3c889F490bE2aB0,18 -770,JIZZ-a352,JIZZ,JizzRocket,0x8b937AF714aC7E2129bD33D93641F52b665Ca352,18 -771,USHIBA-7c9A,USHIBA,American Shiba,0xB893A8049f250b57eFA8C62D51527a22404D7c9A,9 -772,PRQ-d7D2,PRQ,Parsiq Token,0x362bc847A3a9637d3af6624EeC853618a43ed7D2,18 -773,NBNG-8ea2,NBNG,NOBUNAGA,0x9275e8386A5BDdA160c0e621e9A6067b8fd88ea2,18 -774,LST-4405,LST,Lendroid Support Token,0x4de2573e27E648607B50e1Cfff921A33E4A34405,18 -775,LDN-a158,LDN,Ludena Protocol,0xb29663Aa4E2e81e425294193616c1B102B70a158,18 -776,PIE-e842,PIE,DeFiPIE Token,0x607C794cDa77efB21F8848B7910ecf27451Ae842,18 -777,INUS-8c00,INUS,MultiPlanetary Inus,0x39207D2E2fEEF178FBdA8083914554C59D9f8c00,18 -778,HVN-2D9D,HVN,Hive Project Token,0xC0Eb85285d83217CD7c891702bcbC0FC401E2D9D,8 -779,QUAI-5c89,QUAI,QUAI,0x40821CD074dfeCb1524286923bC69315075b5c89,18 -780,HUSD-87e1,HUSD,HUSD,0xdF574c24545E5FfEcb9a659c229253D4111d87e1,8 -781,MEVFree-498a,MEVFree,MEVFree,0x1936C91190E901B7dD55229A574AE22B58Ff498a,18 -782,CORE-23D7,CORE,cVault.finance,0x62359Ed7505Efc61FF1D56fEF82158CcaffA23D7,18 -783,MOONS-6A56,MOONS,MoonTools.io,0x260e63d91fCCC499606BAe3FE945c4ed1CF56A56,18 -784,DOMI-f83F,DOMI,Domi,0x45C2F8c9B4c0bDC76200448cc26C48ab6ffef83F,18 -785,UNDEAD-7947,UNDEAD,Undead Blocks,0x310C8F00b9dE3c31Ab95ea68feb6C877538f7947,18 -786,KIRO-b137,KIRO,Kirobo,0xB1191F691A355b43542Bea9B8847bc73e7Abb137,18 -787,KISHIMOTO-1dB5,KISHIMOTO,Kishimoto,0xAE36155a55F04a696b8362777620027882B31dB5,9 -788,GEEQ-1b78,GEEQ,Geeq,0x6B9f031D718dDed0d681c20cB754F97b3BB81b78,18 -789,DEV-5b26,DEV,Dev,0x5cAf454Ba92e6F2c929DF14667Ee360eD9fD5b26,18 -790,BASAN-b2bF,BASAN,BASAN,0x970cf867Ca0530a989f222bE01FdD67C1ab5b2bF,18 -791,BREED-702e,BREED,BreederDAO,0x94E9EB8b5Ab9fd6B9ea3169D55FFAde62a01702e,18 -792,MATTER-FEBe,MATTER,Antimatter.Finance Governance Token,0x9B99CcA871Be05119B2012fd4474731dd653FEBe,18 -793,M87-B462,M87,MESSIER,0x8AF5FedC0f263841C18F31D9DbCC97A47e1aB462,18 -794,MOETA-a55B,MOETA,Moeta,0x238A1FcC2F65ed50c1e1797cF5857CBA3E82a55B,9 -795,PRT-2892,PRT,Portion Token,0x6D0F5149c502faf215C89ab306ec3E50b15e2892,18 -796,UMAD-326f,UMAD,UMAD,0x31c2415c946928e9FD1Af83cdFA38d3eDBD4326f,8 -797,UNCX-B1D0,UNCX,UniCrypt,0xaDB2437e6F65682B85F814fBc12FeC0508A7B1D0,18 -798,CATE-136c,CATE,Cash Tech,0xa42F266684ac2aD6ecb00df95b1c76EFbb6f136c,18 -799,B20-EfD8,B20,B.20,0xc4De189Abf94c57f396bD4c52ab13b954FebEfD8,18 -800,OGN-Ae26,OGN,OriginToken,0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26,18 -801,BCMC-93F9,BCMC,Blockchain Monster Coin,0x2BA8349123de45E931a8C8264c332E6e9CF593F9,18 -802,LCS-dBA8,LCS,LocalCoinSwap Cryptoshare,0xAA19961b6B858D9F18a115f25aa1D98ABc1fdBA8,18 -803,TERRAFORM-f1E4,TERRAFORM,Terraform DAO,0x9C5673002d854de18e9F6Feb7f9825F88c5bf1E4,18 -804,Ly-99F2,Ly,Lilly Finance,0x8686525d6627A25C68De82c228448f43c97999F2,9 -805,UST-1acD,UST,Wrapped UST Token,0xa47c8bf37f92aBed4A126BDA807A7b7498661acD,18 -806,LIEN-557E,LIEN,lien,0xaB37e1358b639Fd877f015027Bb62d3ddAa7557E,8 -807,SHKOOBY-11fb,SHKOOBY,SHKOOBY INU,0x29A5c1Db7321C5c9EaE57F9366eE8eef00cA11fb,18 -808,LON-c952,LON,Tokenlon,0x0000000000095413afC295d19EDeb1Ad7B71c952,18 -809,OKB-a86c,OKB,OKB,0x75231F58b43240C9718Dd58B4967c5114342a86c,18 -810,APY-6611,APY,APY Governance Token,0x95a4492F028aa1fd432Ea71146b433E7B4446611,18 -811,CIV-361d,CIV,Civilization,0x37fE0f067FA808fFBDd12891C0858532CFE7361d,18 -812,0NE-f4C2,0NE,Stone,0x73A83269b9bbAFC427E76Be0A2C1a1db2a26f4C2,18 -813,YAXIS-FE73,YAXIS,yAxis V2,0x0adA190c81b814548ddC2F6AdC4a689ce7C1FE73,18 -814,TOMOE-FaBa,TOMOE,TomoChain,0x05D3606d5c81EB9b7B18530995eC9B29da05FaBa,18 -815,MANDOX-86B6,MANDOX,Mandox,0x33D203FA03bb30b133De0fE2d6533C268bA286B6,9 -816,Kabosu Inu-0E55,Kabosu Inu,Kabosu Inu,0xD34A2051aC17BDD44D76AA84EA7Fcf8419130E55,18 -817,PPBLZ-97b8,PPBLZ,Pepemon,0x4D2eE5DAe46C86DA2FF521F7657dad98834f97b8,18 -818,RBXSamurai-c647,RBXSamurai,RBXS,0xA9639160481b625ba43677bE753E0A70bf58c647,18 -819,QUIDD-7c07,QUIDD,QUIDD,0xDA9FDAb21bC4A5811134A6E0Ba6CA06624e67c07,18 -820,KRL-DAC0,KRL,Kryll,0x464eBE77c293E473B48cFe96dDCf88fcF7bFDAC0,18 -821,OJA-291A,OJA,Ojamu Token,0x0aA7eFE4945Db24d95cA6E117BBa65Ed326e291A,18 -822,BAO-61C1,BAO,BaoToken,0x374CB8C27130E2c9E04F44303f3c8351B9De61C1,18 -823,ISP-9014,ISP,Ispolink Token,0xC8807f0f5BA3fa45FfBdc66928d71c5289249014,18 -824,DHT-Fa84,DHT,dHedge DAO Token,0xca1207647Ff814039530D7d35df0e1Dd2e91Fa84,18 -825,MUST-288f,MUST,Must,0x9C78EE466D6Cb57A4d01Fd887D2b5dFb2D46288f,18 -826,Dione-D697,Dione,Dione,0x89B69F2d1adffA9A253d40840B6Baa7fC903D697,9 -827,CITADEL-C1BB,CITADEL,The Citadel,0x6caDf6ABBCeb53e631C288778DAAcF125481C1BB,18 -828,TWT-F5cF,TWT,TwitFi Token,0xd4Df22556e07148e591B4c7b4f555a17188CF5cF,9 -829,BANK-A198,BANK,Bankless Token,0x2d94AA3e47d9D5024503Ca8491fcE9A2fB4DA198,18 -830,SYNC-FD32,SYNC,SYNC,0xB6ff96B8A8d214544Ca0dBc9B33f7AD6503eFD32,18 -831,MOPS-D967,MOPS,Mops,0x602f65BB8B8098Ad804E99DB6760Fd36208cD967,18 -832,NPXS-e5B3,NPXS,Pundi X Token,0xA15C7Ebe1f07CaF6bFF097D8a589fb8AC49Ae5B3,18 -833,MOOV-56a7,MOOV,dotmoovs,0x24EC2Ca132abf8F6f8a6E24A1B97943e31f256a7,18 -834,DHV-4b2A,DHV,DeHive.finance,0x62Dc4817588d53a056cBbD18231d91ffCcd34b2A,18 -835,RGT-C623,RGT,Rari Governance Token,0xD291E7a03283640FDc51b121aC401383A46cC623,18 -836,SLP-Aa25,SLP,Smooth Love Potion,0xCC8Fa225D80b9c7D42F96e9570156c65D6cAAa25,0 -837,POOF-f57A,POOF,Poof Token,0x888ceA2BBDD5D47a4032cf63668D7525C74af57A,18 -838,ONG-4dAe,ONG,onG,0xd341d1680Eeee3255b8C4c75bCCE7EB57f144dAe,18 -839,ARNC-8EE4,ARNC,Arnoya classic,0x7495e5Cc8F27e0bd5bD4cb86d17F0D841cA58EE4,18 -840,TKP-AcaC,TKP,TOKPIE,0xd31695a1d35E489252CE57b129FD4b1B05E6AcaC,18 -841,PRARE-C796,PRARE,PolkaRareToken,0x2C2f7e7C5604D162d75641256b80F1Bf6f4dC796,18 -842,AUTH-bD80,AUTH,Authencity.,0x0107C4aAa31940eF88760aCb1F32424CA8d8bD80,8 -843,Shiryo-Inu-8F02,Shiryo-Inu,Shiryo-Inu,0x1E2F15302B90EddE696593607b6bD444B64e8F02,9 -844,CPU-6626,CPU,CPUcoin,0x6D52DfeFb16BB9Cdc78bfCA09061e44574886626,18 -845,ROKO-FF98,ROKO,ROKO,0x6f222E04F6c53Cc688FfB0Abe7206aAc66A8FF98,18 -846,LEND-ab03,LEND,EthLend Token,0x80fB784B7eD66730e8b1DBd9820aFD29931aab03,18 -847,POCHI-4d90,POCHI,Pochi Inu,0x8eB1779A32678452eB273A22d413207299904d90,18 -848,PP-010B,PP,Pension Plan,0xf14b9ADF84812bA463799357f4dc716b4384010B,8 -849,CCv2-8F11,CCv2,CryptoCart V2,0x612E1726435fE38dD49A0B35b4065B56f49c8F11,18 -850,CUT-Ab9e,CUT,Ctrl-X,0x135783B60cf5d71DAFF7a377f9eb7dB8D2dEAb9e,18 -851,CURRY-de77,CURRY,CURRYSWAP,0xc2D3AE29c8309c14994D02Ecd228cf86f3Efde77,18 -852,HAKA-2210,HAKA,TribeOne,0xD85AD783cc94bd04196a13DC042A3054a9B52210,18 -853,NRG-2069,NRG,Energi,0x1416946162B1C2c871A73B07E932D2fB6C932069,18 -854,XEND-4903,XEND,XEND,0xE4CFE9eAa8Cdb0942A80B7bC68fD8Ab0F6D44903,18 -855,UNO-1A77,UNO,UnoRe,0x474021845C4643113458ea4414bdb7fB74A01A77,18 -856,BAG-5726,BAG,tehBag,0x235C8EE913d93c68D2902a8e0b5a643755705726,18 -857,KUMA-3E02,KUMA,Kuma Inu,0x48C276e8d03813224bb1e55F953adB6d02FD3E02,18 -858,SAUDISHIB-e23d,SAUDISHIB,SAUDI SHIBA INU,0x34d31446a522252270b89b09016296ec4c98e23d,8 -859,DELREY-28dd,DELREY,Delrey Inu,0xfca89d55A768375Ab7cA04485A35a964BEA828dd,18 -860,SEEN-Fd33,SEEN,seen.haus,0xCa3FE04C7Ee111F0bbb02C328c699226aCf9Fd33,18 -861,SHOE-32c9,SHOE,ShoeFy,0x0fD67B4ceb9b607Ef206904eC73459c4880132c9,18 -862,HACHI-ccFe,HACHI,HACHI,0x2a7e415C169cE3a580c6F374Dc26f6Aaad1EccFe,18 -863,VOICE-C6A9,VOICE,Voice Token,0x2e2364966267B5D7D2cE6CD9A9B5bD19d9C7C6A9,18 -864,BFT-326f,BFT,BF Token,0x01fF50f8b7f74E4f00580d9596cd3D0d6d6E326f,18 -865,FUND-996b,FUND,Teh Fund,0x7d8d7c26179b7A6aebbF66A91C38ED92d5B4996b,18 -866,BONDLY-68c9,BONDLY,Bondly,0x91dFbEE3965baAEE32784c2d546B7a0C62F268c9,18 -867,SHIL-fCe1,SHIL,Shila Inu,0x20c3fa331A385b63EE39137e99d0cF2db142fCe1,18 -868,BLXM-1a08,BLXM,bloXmove Token,0x38d9eb07A7b8Df7D86F440A4A5c4a4c1a27E1a08,18 -869,COIN-a850,COIN,Coin Utility Token,0xE61fDAF474Fac07063f2234Fb9e60C1163Cfa850,18 -870,COLL-0eF3,COLL,Collateral,0x957891C11616D3E0B0A76a76fb42724C382E0eF3,18 -871,SHAKE-6189,SHAKE,SHAKE token by SpaceSwap v2,0x6006FC2a849fEdABa8330ce36F5133DE01F96189,18 -872,K21-04AF,K21,k21.kanon.art,0xB9d99C33eA2d86EC5eC6b8A4dD816EBBA64404AF,18 -873,KEANU-c952,KEANU,Keanu Inu,0x106552C11272420aAd5d7e94f8AcAb9095A6c952,9 -874,sETH-31cb,sETH,Synth sETH,0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb,18 -875,PHTK-Ae7b,PHTK,PhunToken,0x1FEE5588cb1De19c70B6aD5399152D8C643FAe7b,18 -876,LCX-fe41,LCX,LCX,0x037A54AaB062628C9Bbae1FDB1583c195585fe41,18 -877,SHIN-660b,SHIN,Shinsekai,0xa27A6FA698a63f82e559914c11C6Cd888060660b,18 -878,CMOS-2a8e,CMOS,CoinMerge OS,0x87869A9789291A6cEC99f3c3Ef2fF71fcEb12a8e,9 -879,DINGO-4614,DINGO,Dingo Token,0x1f961BCEAEF8eDF6fb2797C0293FfBDe3E994614,9 -880,IMP-6FE2,IMP,Imperial Obelisk,0x42A0D24Cb5c423EAAF926cE3984aAfF0C4ff6FE2,9 -881,LUFFY-EBd7,LUFFY,LUFFY,0x54012cDF4119DE84218F7EB90eEB87e25aE6EBd7,9 -882,BULK-9593,BULK,Bulk Token,0xa143ac515dCA260A46C742C7251eF3B268639593,18 -883,PAYT-e2E2,PAYT,PayAccept,0x8EF47555856f6Ce2E0cd7C36AeF4FAb317d2e2E2,18 -884,LOCK-9EE9,LOCK,LiquidLock,0xb48EE8F8FA3885Fc08831ff366ec8df608159EE9,18 -885,PIP-8707,PIP,Pi-Protocol,0x37613D64258c0FE09d5E53EeCb091DA5b8fA8707,18 -886,NUME-F1C3,NUME,NumisMe Token,0x34769D3e122C93547836AdDD3eb298035D68F1C3,18 -887,ZCX-8804,ZCX,ZEN Exchange Token,0xC52C326331E9Ce41F04484d3B5E5648158028804,18 -888,VISION-3996,VISION,Vision Token,0xF406F7A9046793267bc276908778B29563323996,18 -889,GenBlok-82A8,GenBlok,The Genesis Block,0x83C141Ee88c502cB9654DE93598e9F16555082A8,9 -890,wPE-881b,wPE,OPES Finance,0xd075e95423C5c4BA1E122CaE0f4CdFA19b82881b,18 -891,API3-B88a,API3,API3,0x0b38210ea11411557c13457D4dA7dC6ea731B88a,18 -892,GVT-2a0c,GVT,Gro Vault Token,0x3ADb04E127b9C0a5D36094125669d4603AC52a0c,18 -893,EXRN-6e75,EXRN,EXRP Network,0xe469c4473af82217B30CF17b10BcDb6C8c796e75,0 -894,FRY-bE69,FRY,Foundry Logistics Token,0x6c972b70c533E2E045F333Ee28b9fFb8D717bE69,18 -895,ETHY-08B5,ETHY,Ethereum Yield,0xd1AFBCCC9A2c2187ea544363B986EA0AB6EF08B5,18 -896,cBSN-B25B,cBSN,BSNcommunitynet,0x7d4B1d793239707445305D8d2456D2c735F6B25B,18 -897,NEKO-341F,NEKO,MANEKI-NEKO,0x1E9D0bB190Ac34492aa11B80D28c1C86487a341F,18 -898,VFY-e922,VFY,Venify,0x00DD5Ad8F5d9c5118BcEeb526c55eA6b2C07e922,18 -899,EGT-3170,EGT,ElonGoat,0x450E7F6e3a2f247A51b98C39297a9a5BfbDb3170,9 -900,VERA-e468,VERA,Vera,0xd7f0cC50AD69408aE58be033F4f85D2367C2e468,18 -901,BFC-Ab9c,BFC,Bifrost,0x0c7D5ae016f806603CB1782bEa29AC69471CAb9c,18 -902,YFII-aB83,YFII,YFII.finance,0xa1d0E215a23d7030842FC67cE582a6aFa3CCaB83,18 -903,TEL-790F,TEL,Telcoin,0x467Bccd9d29f223BcE8043b84E8C8B282827790F,2 -904,SFG-90dd,SFG,SafeGrow,0xA71DCaaf5ba390B1B2012323A8810fAc121F90dd,18 -905,KDOE-82C5,KDOE,Kudoe,0x5f190F9082878cA141F858c1c90B4C59fe2782C5,18 -906,PIXIA-69Ae,PIXIA,PixiaAI,0x67675239Fa58c84e75f947c14f566842Dccb69Ae,18 -907,POLI-6Db9,POLI,Polinate,0xa1a36D3537bBe375Cc9694795F663DDC8D516Db9,18 -908,SOMEE-1447,SOMEE,SoMee.Social,0x65F9A292f1AEED5D755Aa2fD2Fb17AB2E9431447,18 -909,BSL-53Ac,BSL,BankSocial,0x0AF55d5fF28A3269d69B98680Fd034f115dd53Ac,8 -910,SpillWays-7b47,SpillWays,SpillWays,0x8790f2fc7Ca2e7Db841307FB3f4e72a03Baf7b47,18 -911,DGCL-B851,DGCL,DigiCol Token,0x63B8b7d4A3EFD0735c4BFFBD95B332a55e4eB851,18 -912,IMPACTXP-49aE,IMPACTXP,ImpactXP,0xb12494C8824fc069757F47d177E666c571Cd49aE,9 -913,NFTI-7F4C,NFTI,NFT INDEX,0xe5feeaC09D36B18b3FA757E5Cf3F8dA6B8e27F4C,18 -914,BUSY-3f4a,BUSY,Busy,0x5CB3ce6D081fB00d5f6677d196f2d70010EA3f4a,18 -915,COTI-55c5,COTI,COTI Token,0xDDB3422497E61e13543BeA06989C0789117555c5,18 -916,pBTC-733b,pBTC,pTokens BTC,0x5228a22e72ccC52d415EcFd199F99D0665E7733b,18 -917,DSD-8658,DSD,DeFi Nation Signals DAO,0x1e3a2446C729D34373B87FD2C9CBb39A93198658,18 -918,AURA-3DBF,AURA,Aura,0xC0c293ce456fF0ED870ADd98a0828Dd4d2903DBF,18 -919,TRL-Ec41,TRL,Triall,0x58f9102bF53Cf186682Bd9a281d3Cd3c616eEc41,18 -920,TVK-3988,TVK,Terra Virtua Kolect,0xd084B83C305daFD76AE3E1b4E1F1fe2eCcCb3988,18 -921,X7105-D105,X7105,X7105,0x7105FAA4a26eD1c67B8B2b41BEc98F06Ee21D105,18 -922,LGB-1288,LGB,"Let's Go Brandon",0x21E783bcf445B515957A10E992aD3c8E9FF51288,18 -923,ETHV-24d6,ETHV,Ethverse Token,0xEeEeeeeEe2aF8D0e1940679860398308e0eF24d6,18 -924,SHUSKY-3a75,SHUSKY,Siberian Husky,0x236d53148F83706C3d670064809577385f923a75,9 -925,JRT-343A,JRT,Jarvis Reward Token,0x8A9C67fee641579dEbA04928c4BC45F66e26343A,18 -926,ADAPAD-0289,ADAPAD,ADAPAD.io,0xDB0170e2d0c1CC1b2E7a90313d9B9afA4f250289,18 -927,CIMO-667a,CIMO,Cinnamoon,0xC3f65b1c45B0D42a472CD0Fbd37dD6678AEf667a,9 -928,TROVE-E114,TROVE,Trove DAO,0x59c6900949aD1835f07a04321f4d9934a054E114,18 -929,PP-9483,PP,PP,0xeCe8531550Fc599ccB2c7734494FBc358d0a9483,18 -930,MAGE-2B15,MAGE,MetaBrands,0xd52AAE39a2b5CC7812F7B9450EBB61DfEf702B15,18 -931,BEPRO-d36A,BEPRO,BetProtocolToken,0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A,18 -932,ALN-5748,ALN,Aluna,0x8185Bc4757572Da2a610f887561c32298f1A5748,18 -933,MYOBU-Fb07,MYOBU,Myōbu,0xDfDd3459D4F87234751696840092ee20C970Fb07,9 -934,DDIM-8E20,DDIM,DuckDaoDime,0xFbEEa1C75E4c4465CB2FCCc9c6d6afe984558E20,18 -935,ZEE-d4c5,ZEE,ZeroSwapToken,0x2eDf094dB69d6Dcd487f1B3dB9febE2eeC0dd4c5,18 -936,eYe-2E89,eYe,eYe on Ethereum,0x9A257C90Fa239fBA07771ef7da2d554D148c2E89,18 -937,DOGEZ-8617,DOGEZ,Dogezilla,0x4D8046B2f7986FEB5a4b0781EbF5Fa2D7a808617,18 -938,ECC-Ac55,ECC,Empire Capital,0xC84D8d03aA41EF941721A4D77b24bB44D7C7Ac55,9 -939,CHEDDA-837D,CHEDDA,Chedda Token,0x16756EC1DEb89A2106C35E0B586a799D0A61837D,18 -940,Pacha-0d4E,Pacha,Kay Pacha,0x2Dd1B9410c73E16b60240E529e38E30425F00d4E,10 -941,CGT-EAA0,CGT,CACHE Gold,0xF5238462E7235c7B62811567E63Dd17d12C2EAA0,8 -942,VST-472C,VST,VentiSwap Token,0xb7C2fcD6d7922eddd2A7A9B0524074A60D5b472C,18 -943,GAINS-5Ce9,GAINS,Gains,0xd9b312D77Bc7BEd9B9CecB56636300bED4Fe5Ce9,18 -944,WHITE-0fe1,WHITE,White Ethereum,0xFe4BEb9217cdDf2422d4bd65449b76d807b30fe1,9 -945,AIPAD-8AAf,AIPAD,AIPAD.tech,0xE55d97A97ae6A17706ee281486E98A84095d8AAf,18 -946,YDF-E66a,YDF,Yieldification,0x30dcBa0405004cF124045793E1933C798Af9E66a,18 -947,CHADS-5c5E,CHADS,chads.vc,0x69692D3345010a207b759a7D1af6fc7F38b35c5E,18 -948,BXX-7898,BXX,Baanx,0x6b1a8f210Ec6b7B6643cea3583Fb0c079f367898,18 -949,BOMB-6714,BOMB,BOMB,0x1C95b093d6C236d3EF7c796fE33f9CC6b8606714,0 -950,SHAMAN-FA5a,SHAMAN,Shaman,0x5fCe9Fc9B5d62aF082A59D0823A062F7529eFA5a,18 -951,FOAM-C121,FOAM,FOAM Token,0x4946Fcea7C692606e8908002e55A582af44AC121,18 -952,DOGS-ba21,DOGS,Dogcoin,0xBcCD27062ae1A2BeA5731c904b96EDfb163Aba21,9 -953,UBT-ee5e,UBT,UniBright,0x8400D94A5cb0fa0D041a3788e395285d61c9ee5e,8 -954,ICNQ-390A,ICNQ,Iconiq Lab Token,0xB3e2Cb7CccfE139f8FF84013823Bf22dA6B6390A,18 -955,ADEL-A182,ADEL,Akropolis Delphi,0x94d863173EE77439E4292284fF13fAD54b3BA182,18 -956,CMS-4F82,CMS,CryptoMoonShots,0x1f22AD99C334e6689bAe751CC225bCC38fe54F82,18 -957,SDG-9a01,SDG,SyncDAO Governance,0xCF8829AE9384540c886A151fac3a865794cB9a01,18 -958,ORAO-d035,ORAO,ORAO Network,0xEE1CeA7665bA7aa97e982EdeaeCb26B59a04d035,18 -959,TORA-7670,TORA,Tora Inu,0x7a3f7F6675514D4d611b442A4B76752f6AB77670,18 -960,POWER-E509,POWER,UniPower,0xF2f9A7e93f845b3ce154EfbeB64fB9346FCCE509,18 -961,OFI-97dC,OFI,Ordinals Finance,0x419E35E3515c2fDB652C898bF7A0B21FB20497dC,9 -962,INSTAR-DAF3,INSTAR,INSTAR,0x8193711b2763Bc7DfD67Da0d6C8c26642eafDAF3,4 -963,MTAO-0f71,MTAO,MEME TAO,0x1E8E29CA51363D923725aB9DaC73Bd7e9C440f71,9 -964,OPTIG-F44b,OPTIG,Catgirl Optimus,0xD5DF655087d99B7B720A5bc8711F296180A4F44b,18 -965,POM-e7E4,POM,Pomeranian,0x24ffe459F51ea20C5d8ad49843529fc33654e7E4,9 -966,MIR-E608,MIR,Wrapped MIR Token,0x09a3EcAFa817268f77BE1283176B946C4ff2E608,18 -967,COLI-8437,COLI,Coliquidity Token,0xd49EFA7BC0D339D74f487959C573d518BA3F8437,18 -968,CRNO-ca8E,CRNO,Chronoly,0xE23311294467654E0CaB14cD32A169A41be5ca8E,18 -969,SANI-342F,SANI,Sanin Inu,0x4521C9aD6A3D4230803aB752Ed238BE11F8B342F,18 -970,Dogefather-8c06,Dogefather,Dogefather,0x73C61dD9E121dE834A4f3ed607263EE33b308c06,9 -971,METRIC-14AC,METRIC,Metric.exchange,0xEfc1C73A3D8728Dc4Cf2A18ac5705FE93E5914AC,18 -972,COMFI-F1e4,COMFI,CompliFi,0x752Efadc0a7E05ad1BCCcDA22c141D01a75EF1e4,18 -973,4SHIBA-984d,4SHIBA,FOREVER SHIBA,0xB04bf60E468743418E87291d7c9301a5299d984d,18 -974,TRDG-68b5,TRDG,Tardigrades.Finance,0x92a42Db88Ed0F02c71D439e55962Ca7CAB0168b5,9 -975,DVD-9582,DVD,DAOventuresDeFi,0x77dcE26c03a9B833fc2D7C31C22Da4f42e9d9582,18 -976,HAUS-f687,HAUS,DAOhaus Token,0xf2051511B9b121394FA75B8F7d4E7424337af687,18 -977,CAW-e452,CAW,A Hunters Dream,0xf3b9569F82B18aEf890De263B84189bd33EBe452,18 -978,MARSH-cF37,MARSH,UnmarshalToken,0x5a666c7d92E5fA7Edcb6390E4efD6d0CDd69cF37,18 -979,MX-7f36,MX,MX Token,0x11eeF04c884E24d9B7B4760e7476D06ddF797f36,18 -980,MARVIN-8C8a,MARVIN,Marvin Inu,0xcAa9Ed6D7502595B555113D4517668aE24038C8a,18 -981,FWB-99A8,FWB,Friends With Benefits Pro,0x35bD01FC9d6D5D81CA9E055Db88Dc49aa2c699A8,18 -982,TICKR-0d24,TICKR,Tickr,0xf0a163a26601D9dc8Aef26b388Eadb7B1c620d24,9 -983,FNT-9D59,FNT,Falcon,0xDc5864eDe28BD4405aa04d93E05A0531797D9D59,6 -984,MILK2-c1de,MILK2,MilkyWay Token by SpaceSwap v2,0x80c8C3dCfB854f9542567c8Dac3f44D709eBc1de,18 -985,H-d17a,H,H,0xc6956b78e036b87Ba2aB9810BF081eb76EEDd17a,18 -986,TIME-A260,TIME,ChronoTech Token,0x485d17A6f1B8780392d53D64751824253011A260,8 -987,SLM-686e,SLM,SolomonDefi,0x07a0AD7a9dfc3854466F8F29A173bf04bbA5686e,18 -988,CCX-8B59,CCX,ClearCryptos,0x1D6405138A335cE5FD7364086334EfB3E4F28B59,18 -989,USHI-ec55,USHI,Ushi,0x6Dca182ac5E3f99985bC4Ee0f726d6472aB1ec55,18 -990,BT-Ca3a,BT,BT.Finance,0x76c5449F4950f6338A393F53CdA8b53B0cd3Ca3a,18 -991,FOLO-122a,FOLO,Follow,0xB2a63A5Dd36C91eC2DA59B188ff047F66fac122a,18 -992,ROOT-570E,ROOT,RootKit,0xCb5f72d37685C3D5aD0bB5F982443BC8FcdF570E,18 -993,LPOOL-Df5B,LPOOL,Launchpool token,0x6149C26Cd2f7b5CCdb32029aF817123F6E37Df5B,18 -994,KIMCHI-eDa0,KIMCHI,KIMCHI.finance,0x1E18821E69B9FAA8e6e75DFFe54E7E25754beDa0,18 -995,HELLSING-6EAD,HELLSING,Hellsing Inu,0xB087C2180e3134Db396977065817aed91FEa6EAD,9 -996,CUBE-39f4,CUBE,Somnium Space Cubes,0xDf801468a808a32656D2eD2D2d80B72A129739f4,8 -997,YFL-c0be,YFL,YFLink,0x28cb7e841ee97947a86B06fA4090C8451f64c0be,18 -998,ETHIX-0D3e,ETHIX,Ethix,0xFd09911130e6930Bf87F2B0554c44F400bD80D3e,18 -999,CIA-817d,CIA,CIA,0x52F4D5EE6c91e01Be67CA1F64b11eD0EE370817d,9 -1000,NODE-0DA0,NODE,DAppNode DAO Token,0xDa007777D86AC6d989cC9f79A73261b3fC5e0DA0,18 -1001,REPv2-C9bB,REPv2,Reputation,0x221657776846890989a759BA2973e427DfF5C9bB,18 -1002,ODDZ-5Bf6,ODDZ,OddzToken,0xCd2828fc4D8E8a0eDe91bB38CF64B1a81De65Bf6,18 -1003,MCHC-ECC3,MCHC,MCHCoin,0xD69F306549e9d96f183B1AecA30B8f4353c2ECC3,18 -1004,HAKKA-3bcd,HAKKA,Hakka Finance,0x0E29e5AbbB5FD88e28b2d355774e73BD47dE3bcd,18 -1005,PLANB-499B,PLANB,PlanB DAO,0xe77f82f288A6a7EB4Ac295a86FccB1F6D240499B,18 -1006,CVR-e6c6,CVR,PolkaCover,0x3C03b4EC9477809072FF9CC9292C9B25d4A8e6c6,18 -1007,$DOSA-1b8a,$DOSA,Dosa,0xeE2B297408063E0967096bafDCfD1278d5BF1b8a,18 -1008,IDEX-cfAE,IDEX,IDEX Token,0xB705268213D593B8FD88d3FDEFF93AFF5CbDcfAE,18 -1009,PMON-D0b2,PMON,Polkamon,0x1796ae0b0fa4862485106a0de9b654eFE301D0b2,18 -1010,DINGER-fA68,DINGER,Dinger Token,0x9e5BD9D9fAd182ff0A93bA8085b664bcab00fA68,9 -1011,ISLA-702d,ISLA,Defiville Island Token,0x20a68F9e34076b2dc15ce726d7eEbB83b694702d,18 -1012,ZEUS-F867,ZEUS,ZEUS,0x6ef460EB3563CfCc73F8147B0A77DAFFeE71F867,18 -1013,FSW-26DB,FSW,FalconSwap Token,0xfffffffFf15AbF397dA76f1dcc1A1604F45126DB,18 -1014,RELAX-3001,RELAX,Relaxable,0x801dE502C493aa9d3F9F79A0348fbc00521b3001,18 -1015,UZUMAKI-9aa3,UZUMAKI,Uzumaki Inu,0xD4c64f0Fe38ecdaF0Baefd7859E18185a73b9aa3,9 -1016,BCB-eb7e,BCB,Blockchain Bets,0x2d886570A0dA04885bfD6eb48eD8b8ff01A0eb7e,9 -1017,FINU-Ca1C,FINU,Formula Inu,0x2c022e58C5E3Ee213F06f975fd8a0d3a6fE9Ca1C,18 -1018,ASKO-8603,ASKO,Askobar Network,0xeEEE2a622330E6d2036691e983DEe87330588603,18 -1019,HEEL-B366,HEEL,Good Dog,0xf941D3AAbf2EE0F5589E68Ba6047b8329592B366,9 -1020,INFI-848C,INFI,INFI,0x159751323A9E0415DD3d6D42a1212fe9F4a0848C,18 -1021,BLT-B82e,BLT,Bloom Token,0x107c4504cd79C5d2696Ea0030a8dD4e92601B82e,18 -1022,VOLT-C597,VOLT,Volt Inu,0x3F7Aff0EF20AA2E646290DfA4E67611B2220C597,9 -1023,RWS-7802,RWS,Robonomics Web Services :: V1,0x08AD83D779BDf2BBE1ad9cc0f78aa0D24AB97802,18 -1024,TORN-116C,TORN,TornadoCash,0x77777FeDdddFfC19Ff86DB637967013e6C6A116C,18 -1025,KAINET-FC8a,KAINET,KAINET,0xB097Dd6a23175C10eAA45A1F410d7eB4cFDAFC8a,9 -1026,CTR-d375,CTR,Creator Chain,0x923b83c26B3809d960fF80332Ed00aA46D7Ed375,18 -1027,BiFi-BA81,BiFi,BiFi,0x2791BfD60D232150Bff86b39B7146c0eaAA2BA81,18 -1028,Suki-18d5,Suki,Sukiyaki,0xD212046F89680aC9F106B9c63f314cc9808e18d5,18 -1029,Gorilla Inu-3908,Gorilla Inu,Gorilla Inu | Apes Together Strong,0x68257309fCdfE1e6eDb592DA97aC8215fe583908,9 -1030,GET-6A1B,GET,GET,0x8a854288a5976036A725879164Ca3e91d30c6A1B,18 -1031,ALERT-c1fB,ALERT,ALERT,0xaE377ed00DF9b9663B253bE93035EF1CfECBc1fB,9 -1032,SHIDO-a703,SHIDO,Shido Inu,0x173E552Bf97BBD50b455514ac52991Ef639ba703,9 -1033,VPP-5e6e,VPP,Virtue Player Points,0x5EeAA2DCb23056F4E8654a349E57eBE5e76b5e6e,18 -1034,EHIVE-6C75,EHIVE,Ethereum Hive,0x10B506Ae42b5466d548EdC4C02a4CE9828386C75,18 -1035,KEYFI-9052,KEYFI,KeyFi Token,0xB8647e90C0645152Fccf4d9AbB6B59Eb4AA99052,18 -1036,WGMI-6f75,WGMI,WGMI,0xE23FaEfcdAAe646527eb86b1C746A25Ae4a36f75,18 -1037,CRAMER-8ee0,CRAMER,Cramer Coin,0x64Df3aAB3b21cC275bB76c4A581Cf8B726478ee0,18 -1038,BITT-6D51,BITT,BITTOKEN,0x9F9913853f749b3fE6D6D4e16a1Cc3C1656B6D51,18 -1039,AZK-1A99,AZK,AnonZK,0x5408245a4D7c685F59cE6D3b8B35916dd6c11A99,18 -1040,POWER-F093,POWER,Kingmaker,0x0263994554Ec08cc60473dbf8ceE60f9EedbF093,18 -1041,BIST-093F,BIST,Bistroo Token,0x6e8908cfa881C9f6f2C64d3436E7b80b1bf0093F,18 -1042,KARMA-951C,KARMA,Karma,0xdfe691F37b6264a90Ff507EB359C45d55037951C,4 -1043,YETIC-6E6F,YETIC,YetiCoin,0xdF96bDE075d59e9143b325C75aF38e208c986E6F,9 -1044,PANTO-aA9d,PANTO,PANTOMIME,0x54B8D105aA09342FAD6b352D41a0bAd3E1a9aA9d,18 -1045,COGE-6806,COGE,Cogecoin,0xC382e04099A435439725BB40647e2B32dC136806,18 -1046,IMPACTX-2669,IMPACTX,ImpactX,0x5aF6ad286C8Ed6633284f2F135C4716057d52669,9 -1047,MYST-f361,MYST,Mysterium,0x4Cf89ca06ad997bC732Dc876ed2A7F26a9E7f361,18 -1048,MR-29Aa,MR,METARUFFY,0xa4Cb3ef5f41a4D89D6FCed22ea8a1C57957629Aa,18 -1049,X7101-E105,X7101,X7101,0x7101a9392EAc53B01e7c07ca3baCa945A56EE105,18 -1050,HID-9c9D,HID,Hypersign Identity Token,0xB14eBF566511B9e6002bB286016AB2497B9b9c9D,18 -1051,RIO-4097,RIO,Realio Network,0xf21661D0D1d76d3ECb8e1B9F1c923DBfffAe4097,18 -1052,TRIBE-212B,TRIBE,Tribe,0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B,18 -1053,NeRF-76c5,NeRF,Neural Radiance Field,0xaF8942831F3A096f708b8b31F191B8958Cf176c5,18 -1054,RDN-c8e6,RDN,Raiden Token,0x255Aa6DF07540Cb5d3d297f0D0D4D84cb52bc8e6,18 -1055,wOMI-A670,wOMI,Wrapped OMI Token,0x04969cD041C0cafB6AC462Bd65B536A5bDB3A670,18 -1056,xFUND-7881,xFUND,unification.com/xfund,0x892A6f9dF0147e5f079b0993F486F9acA3c87881,9 -1057,Z-e491,Z,ZINJA,0x1BE56412c9606E7285280F76A105EBa56996e491,9 -1058,meh-c981,meh,meh,0xBA98C0FbebC892F5b07a42B0FeBD606913EBc981,18 -1059,GRUMPY-021b,GRUMPY,Grumpy Cat,0x93B2FfF814FCaEFFB01406e80B4Ecd89Ca6A021b,9 -1060,LSD-31FF,LSD,LSD Coin,0xfAC77A24E52B463bA9857d6b758ba41aE20e31FF,18 -1061,PLA-b430,PLA,PlayDapp Token,0x3a4f40631a4f906c2BaD353Ed06De7A5D3fCb430,18 -1062,LINU-D581,LINU,Luna Inu,0x78132543D8E20D2417d8a07D9ae199D458A0D581,18 -1063,wMBX-432d,wMBX,wMBX Token,0x71ba91dC68C6a206Db0A6A92B4b1De3f9271432d,18 -1064,MANDOX-a4a4,MANDOX,MandoX,0xAFbF03181833aB4E8DEc24D708a2a24c2bAaa4a4,9 -1065,yDAI+yUSDC+yUSDT+yTUSD-06A8,yDAI+yUSDC+yUSDT+yTUSD,Curve.fi yDAI/yUSDC/yUSDT/yTUSD,0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8,18 -1066,MINDS-c068,MINDS,Minds,0xB26631c6dda06aD89B93C71400D25692de89c068,18 -1067,X7102-A105,X7102,X7102,0x7102DC82EF61bfB0410B1b1bF8EA74575bf0A105,18 -1068,X7104-C105,X7104,X7104,0x7104D1f179Cc9cc7fb5c79Be6Da846E3FBC4C105,18 -1069,TRU-276c,TRU,Truebit,0xf65B5C5104c4faFD4b709d9D60a185eAE063276c,18 -1070,IM-a936,IM,Internet Money,0x0A58153a0CD1cfaea94cE1f7FdC5D7E679eCa936,18 -1071,KTLYO-27c8,KTLYO,Katalyo Token,0x24E3794605C84E580EEA4972738D633E8a7127c8,18 -1072,FRIN-1D15,FRIN,Fringe,0xC9fE6E1C76210bE83DC1B5b20ec7FD010B0b1D15,18 -1073,KODACHI-fd16,KODACHI,Kodachi Token,0x57c411e9a358e2d2d0a6b058cEDb709175e8fd16,18 -1074,ziot-796a,ziot,ziot,0xfB22cED41B1267dA411F68c879f4Defd0bD4796a,18 -1075,XCUR-86bd,XCUR,Curate,0xE1c7E30C42C24582888C758984f6e382096786bd,8 -1076,TYRANT-ec27,TYRANT,Fable Of The Dragon,0x8EE325AE3E54e83956eF2d5952d3C8Bc1fa6ec27,9 -1077,NFT-7042,NFT,NFT Protocol,0xcB8d1260F9c92A3A545d409466280fFdD7AF7042,18 -1078,REM-6B6d,REM,REMME token,0x83984d6142934bb535793A82ADB0a46EF0F66B6d,4 -1079,SATS-Abf8,SATS,SATOSHIS VISION,0x6C22910c6F75F828B305e57c6a54855D8adeAbf8,9 -1080,Kusunoki-0308,Kusunoki,Kusunoki Samurai,0x36919a60a2B67B6d2329863093D180d23d5A0308,18 -1081,WBUY-3ed8,WBUY,Wrapped BUY Token,0x396eC402B42066864C406d1ac3bc86B575003ed8,2 -1082,RENA-9b76,RENA,Rena,0x56de8BC61346321D4F2211e3aC3c0A7F00dB9b76,18 -1083,DMOD-18d7,DMOD,Demodyfi Token,0x5f6c5C2fB289dB2228d159C69621215e354218d7,18 -1084,CAT-7dB3,CAT,Cat Token,0x56015BBE3C01fE05bc30A8a9a9Fd9A88917e7dB3,18 -1085,Nsure-2114,Nsure,Nsure Network Token,0x20945cA1df56D237fD40036d47E866C7DcCD2114,18 -1086,rUSD-C8F6,rUSD,Realio Network USD Stablecoin,0xF9A2D7E60a3297E513317AD1d7Ce101CC4C6C8F6,18 -1087,MFT-7428,MFT,Mainframe Token,0xDF2C7238198Ad8B389666574f2d8bc411A4b7428,18 -1088,EMPIRE-3665,EMPIRE,Empire Network,0xf124eD9Ec309907808b1FBc6BEdB2a76927B3665,18 -1089,BETA-dbE2,BETA,Beta Token,0x35F67c1D929E106FDfF8D1A55226AFe15c34dbE2,18 -1090,CTI-f244,CTI,ClinTex,0x8c18D6a985Ef69744b9d57248a45c0861874f244,18 -1091,RAID-97C9,RAID,Raider Inu - The AI Raid Leader,0x2022760aCDe82079cbEDa17D3afC67dC1F3D97C9,18 -1092,PYRO-Cd72,PYRO,PYROmatic,0x1e2D230C7A7F4C679Fb1378F1f51dEDeAe85Cd72,18 -1093,$NOWAI-7956,$NOWAI,NOWAI,0x987441856BA4f463544FC68ccBF6a80F434a7956,18 -1094,LIF-6465,LIF,Lif,0x9C38688E5ACB9eD6049c8502650db5Ac8Ef96465,18 -1095,$ANRX-09E0,$ANRX,AnRKey X,0xCae72A7A0Fd9046cf6b165CA54c9e3a3872109E0,18 -1096,HANU-BCC0,HANU,Hanu Yokia,0x72E5390EDb7727E3d4e3436451DADafF675dBCC0,12 -1097,GLCH-D564,GLCH,Glitch,0x038a68FF68c393373eC894015816e33Ad41BD564,18 -1098,APYS-3615,APYS,APYSwap,0xf7413489c474ca4399eeE604716c72879Eea3615,18 -1099,SERP-5Eec,SERP,SHIBARIUM PERPETUALS,0xFd414e39155F91E94443a9Fe97E856569d0F5Eec,9 -1100,TAIL-1e31,TAIL,Tail,0xFeeeef4D7b4Bf3cc8BD012D02D32Ba5fD3D51e31,18 -1101,ADD-7d56,ADD,ADD,0x635d081fD8F6670135D8a3640E2cF78220787d56,18 -1102,RAIN-4D57,RAIN,Rainmaker Games,0x71Fc1F555a39E0B698653AB0b475488EC3c34D57,18 -1103,ADVT-9b72,ADVT,Advantis Token,0x69e37422cB87d963367F73A119C8ce9a4D529b72,9 -1104,POLK-cfbF,POLK,Polkamarkets,0xD478161C952357F05f0292B56012Cd8457F1cfbF,18 -1105,CLAW-8cc3,CLAW,Claw,0xe115401B985306837B9f1495c8e9d7f8f8328cc3,18 -1106,DEC-b9b3,DEC,Decentr,0x30f271C9E86D2B7d00a6376Cd96A1cFBD5F0b9b3,18 -1107,JAM-5A72,JAM,Geojam,0x23894DC9da6c94ECb439911cAF7d337746575A72,18 -1108,SPICE-8193,SPICE,SPICE,0x9b6dB7597a74602a5A806E33408e7E2DAFa58193,18 -1109,Yf-DAI-9577,Yf-DAI,YfDAI.finance,0xf4CD3d3Fda8d7Fd6C5a500203e38640A70Bf9577,18 -1110,UFARM-af88,UFARM,UNIFARM Token,0x40986a85B4cFCDb054A6CBFB1210194fee51af88,18 -1111,GAI-78BF,GAI,GeneraitivAI,0x0d8ca4b20b115D4DA5c13DC45Dd582A5de3e78BF,18 -1112,TUF-c8f1,TUF,TUF Token,0x6f8b23296394d20eC048FbDec8eBc0CA90f5c8f1,18 -1113,SCIFI-2CB4,SCIFI,ScifiToken,0xfDC4a3FC36df16a78edCAf1B837d3ACAaeDB2CB4,18 -1114,BART-63Ba,BART,BarterTrade,0x54C9EA2E9C9E8eD865Db4A4ce6711C2a0d5063Ba,18 -1115,KEK-6a82,KEK,KeKChain,0x67954768E721FAD0f0f21E33e874497C73ED6a82,18 -1116,ORBS-B0FA,ORBS,Orbs,0xff56Cc6b1E6dEd347aA0B7676C85AB0B3D08B0FA,18 -1117,ZEFU-1229,ZEFU,Zenfuse Trading Platform Token,0xB1e9157c2Fdcc5a856C8DA8b2d89b6C32b3c1229,18 -1118,BKING-aF04,BKING,King Arthur,0x1cA02DD95f3F1e33DA7F5AfE15EA866dAb07aF04,9 -1119,WallStreetInu-eA26,WallStreetInu,Wall Street Inu,0xd68Cb7a643079311B8645ED90F2D5267CfA6eA26,9 -1120,BAKT-1C0B,BAKT,BACKED,0x8379f52d09b9998eCbA731288EE4fE532fD91C0B,18 -1121,ALCAZAR-9bFe,ALCAZAR,Alcazar,0x10f44a834097469AC340592d28c479c442E99bFe,18 -1122,THE-2861,THE,The Protocol,0x0cbA60Ca5eF4D42f92A5070A8fEDD13BE93E2861,18 -1123,wBIND-0115,wBIND,Wrapped BIND,0x15334DCb171e8b65D6650321581dcA83bE870115,8 -1124,STACK-0Ba4,STACK,StackOS,0x56A86d648c435DC707c8405B78e2Ae8eB4E60Ba4,18 -1125,VIBE-Dfba,VIBE,Vibe Coin,0xe8Ff5C9c75dEb346acAc493C463C8950Be03Dfba,18 -1126,FLOKI-827c,FLOKI,Floki Musk,0x67Cc621AB2d086a101Cff3340df0A065Ac75827c,18 -1127,BRO-8771,BRO,BRO Token,0x1C84656Cb4c286DaA16f27D8B305F1053B5a8771,18 -1128,α-69f5,α,.alpha,0x48AF7b1c9dac8871C064f62FcEC0d9d6F7c269f5,18 -1129,LUNCH-e7e0,LUNCH,LunchDao,0x71a28feAEe902966DC8D355e7B8Aa427D421e7e0,18 -1130,GOVI-6107,GOVI,GOVI,0xeEAA40B28A2d1b0B08f6f97bB1DD4B75316c6107,18 -1131,ACAP-6A41,ACAP,Alpha Capital,0xd5A98E77d1fEB091344096301Ea336a5C07a6A41,18 -1132,BNS-E07C,BNS,BNS Token,0x695106Ad73f506f9D0A9650a78019A93149AE07C,8 -1133,TOWER-7d0B,TOWER,TOWER,0x1C9922314ED1415c95b9FD453c3818fd41867d0B,18 -1134,JEJUDOGE-79B9,JEJUDOGE,Jejudoge,0x939A7A577D93ad29B64C1595B1284ce660A479B9,18 -1135,BDP-480e,BDP,BDPToken,0xf3dcbc6D72a4E1892f7917b7C43b74131Df8480e,18 -1136,ORAI-c1b5,ORAI,Oraichain Token,0x4c11249814f11b9346808179Cf06e71ac328c1b5,18 -1137,uDOO-2ffB,uDOO,uDOO,0x12f649A9E821F90BB143089a6e56846945892ffB,18 -1138,ATRI-FB62,ATRI,AtariToken,0xdacD69347dE42baBfAEcD09dC88958378780FB62,0 -1139,Coval-76Df,Coval,CircuitsOfValue,0x3D658390460295FB963f54dC0899cfb1c30776Df,8 -1140,SUZUME-7E43,SUZUME,Shita-Kiri Suzume,0x0B452278223D3954F4AC050949D7998e373e7E43,18 -1141,QRX-14D8,QRX,QuiverX,0x6e0daDE58D2d89eBBe7aFc384e3E4f15b70b14D8,18 -1142,WAIT-EDd7,WAIT,HOURGLASS,0x2559813BBb508C4C79e9CCCE4703Bcb1f149EDd7,9 -1143,HIGH-0282,HIGH,Highstreet token,0x71Ab77b7dbB4fa7e017BC15090b2163221420282,18 -1144,TOSHI-6BdC,TOSHI,Toshi Tools,0x77a90B04d64189d4D09508612C09219bC6816BdC,9 -1145,LOOM-3DB0,LOOM,LoomToken,0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0,18 -1146,UMB-83B2,UMB,Umbrella,0x6fC13EACE26590B80cCCAB1ba5d51890577D83B2,18 -1147,GEAR-F5a9,GEAR,Bitgear,0x1b980e05943dE3dB3a459C72325338d327B6F5a9,18 -1148,SUNC-C56F,SUNC,Sunrise Token,0x692aCCdD8b86692427E0aa4752AE917Df01CC56F,18 -1149,$EARN-D79c,$EARN,EARN,0xA87Ed75C257f1ec38393bEA0A83d55Ac2279D79c,9 -1150,PAXG-Af78,PAXG,Paxos Gold,0x45804880De22913dAFE09f4980848ECE6EcbAf78,18 -1151,EQZ-0Bb0,EQZ,Equalizer,0x1Da87b114f35E1DC91F72bF57fc07A768Ad40Bb0,18 -1152,TYC-658F,TYC,Tycoon Token,0x3A82D3111aB5faF39d847D46023d9090261A658F,18 -1153,SIG-6517,SIG,xSigma,0x7777777777697cFEECF846A76326dA79CC606517,18 -1154,$SHARBI-c9a9,$SHARBI,SHARBI,0xF3A3023e6Dede84AD88a656A3269F2A36e83c9a9,9 -1155,EBOX-15c5,EBOX,ethbox Token,0x33840024177A7DacA3468912363BeD8b425015c5,18 -1156,XTM-62Fe,XTM,Torum,0xCd1fAFf6e578Fa5cAC469d2418C95671bA1a62Fe,18 -1157,SKRT-77f6,SKRT,Sekuritance,0x887168120cb89Fb06F3E74Dc4AF20D67dF0977f6,18 -1158,XLON-9D58,XLON,Xenlon Mars,0x36ff4DaE0E88113D68B1209e245B0e3Af92E9D58,18 -1159,SHOPX-D848,SHOPX,SPLYT SHOPX,0x7BEF710a5759d197EC0Bf621c3Df802C2D60D848,18 -1160,WPSL-CC29,WPSL,Wrapped PSL,0xC775C0C30840Cb9F51e21061B054ebf1A00aCC29,5 -1161,FIS-cC8d,FIS,StaFi,0xef3A930e1FfFFAcd2fc13434aC81bD278B0ecC8d,18 -1162,DIVI-3a77,DIVI,Divi,0x246908BfF0b1ba6ECaDCF57fb94F6AE2FcD43a77,8 -1163,SHIBELON-De6d,SHIBELON,ShibElon,0x4c584CD339bdDE73B7F5210486dd8bbeEE3fDe6d,9 -1164,AAPX-0811,AAPX,AMPnet APX Token,0xbfD815347d024F449886c171f78Fa5B8E6790811,18 -1165,POLS-D5Aa,POLS,PolkastarterToken,0x83e6f1E41cdd28eAcEB20Cb649155049Fac3D5Aa,18 -1166,LGCY-8A0d,LGCY,LGCY Network,0xaE697F994Fc5eBC000F8e22EbFfeE04612f98A0d,18 -1167,COT-4CE8,COT,CosplayToken,0x5CAc718A3AE330d361e39244BF9e67AB17514CE8,18 -1168,InvectAI-2904,InvectAI,InvectAI,0xCAE7F3aa6D456463bEf0E5B508542b69D96f2904,8 -1169,SOCKS-91d5,SOCKS,Unisocks Edition 0,0x23B608675a2B2fB1890d3ABBd85c5775c51691d5,18 -1170,PAR-ee06,PAR,Parachute,0x1BeEF31946fbbb40B877a72E4ae04a8D1A5Cee06,18 -1171,ARNX-e283,ARNX,Aeron,0x0C37Bcf456bC661C14D596683325623076D7e283,18 -1172,SNC-0404,SNC,SunContract,0xF4134146AF2d511Dd5EA8cDB1C4AC88C57D60404,18 -1173,bALPHA-15A6,bALPHA,bAlpha,0x7a5ce6abD131EA6B148a022CB76fc180ae3315A6,18 -1174,RARE-c7C8,RARE,RARE.UNIQUE,0x93dfaf57D986B9cA77Df9376c50878E013D9c7C8,18 -1175,BEND-6218,BEND,Bend Token,0x0d02755a5700414B26FF040e1dE35D337DF56218,18 -1176,EVNY-8E60,EVNY,EVNY Token,0x9A24B8E8A6D4563c575A707b1275381119298E60,18 -1177,SKY-B0d4,SKY,The SkyToken,0x090FC4D5436D98E13473c4d6109De6A18BCfB0d4,18 -1178,VTX-A832,VTX,Vortex DeFi,0xceb286C9604c542d3cc08b41AA6C9675B078A832,18 -1179,HAY-33bb,HAY,HAYFEVER,0xF6269e2e0C271fb6AF35E7f8a539EbC7155E33bb,9 -1180,RISE-0cA3,RISE,EverRise,0xC17c30e98541188614dF99239cABD40280810cA3,18 -1181,STRIP-3C02,STRIP,StripCoin,0xE9cB6838902CCF711f16a9EA5A1170F8e9853C02,18 -1182,RSC-F571,RSC,ResearchCoin,0xD101dCC414F310268c37eEb4cD376CcFA507F571,18 -1183,renDOGE-71A7,renDOGE,renDOGE,0x3832d2F059E55934220881F831bE501D180671A7,8 -1184,M2-D15C,M2,M2,0x965d79F1A1016B574a62986e13Ca8Ab04DfdD15C,18 -1185,STMX-2803,STMX,StormX,0xbE9375C6a420D2eEB258962efB95551A5b722803,18 -1186,NFAi-7969,NFAi,Not Financial Advice,0x8eEcaad83a1Ea77bD88A818d4628fAfc4CaD7969,18 -1187,FEY-6072,FEY,Feyorra,0xe8E06a5613dC86D459bC8Fb989e173bB8b256072,18 -1188,TAILS-6360,TAILS,TAILS,0x3d79Abb948bc76794ff4a0bCd60170a741f26360,9 -1189,SOLVE-406F,SOLVE,Healthcare Administration Token,0x446C9033E7516D820cc9a2ce2d0B7328b579406F,8 -1190,CTASK-3934,CTASK,CTASK Token,0x196c81385Bc536467433014042788Eb707703934,18 -1191,SALE-B589,SALE,DxSale.Network,0xF063fE1aB7a291c5d06a86e14730b00BF24cB589,18 -1192,CFi-1eF4,CFi,CyberFi Token,0x63b4f3e3fa4e438698CE330e365E831F7cCD1eF4,18 -1193,HINA-6764,HINA,Hina Inu,0xbD0a4bf098261673d5E6e600Fd87ddcd756e6764,9 -1194,CHIP-18bE,CHIP,Ask Chip,0x5A5389bA78F04D783E9F30e5A8C45727c5E018bE,9 -1195,SOV-2c16,SOV,ShibOriginalVision,0x2C5BC2Ba3614fD27FCc7022eA71d9172E2632c16,18 -1196,ISLA-5947,ISLA,Insula,0x697eF32B4a3F5a4C39dE1cB7563f24CA7BfC5947,18 -1197,LIFE-8EE6,LIFE,Life Crypto,0x6c936D4AE98E6d2172dB18c16C4b601C99918EE6,18 -1198,TKN-E73a,TKN,Monolith TKN,0xaAAf91D9b90dF800Df4F55c205fd6989c977E73a,8 -1199,VID-C9E5,VID,VideoCoin,0x2C9023bBc572ff8dc1228c7858A280046Ea8C9E5,18 -1200,GETH-3De9,GETH,Goerli ETH,0xdD69DB25F6D620A7baD3023c5d32761D353D3De9,18 -1201,EWW-21a8,EWW,EndlessWebWorlds,0x3d38F87BeF0123f5764635C7E11048027E0721a8,9 -1202,SONIC-0ee5,SONIC,Sonic,0xd1cD47746B8e72359b28C1c84a4F6a19dc1A0ee5,18 -1203,ZINU-6caA,ZINU,Zombie Inu,0xc50EF449171a51FbeAFd7c562b064B6471C36caA,9 -1204,GNFT-6C2b,GNFT,GNFT,0xc502002aEB1b9309FcCb016adF50507987Fc6C2b,18 -1205,DPAY-Dd78,DPAY,Devour,0xE5A733681bbE6cd8c764Bb8078ef8E13a576Dd78,18 -1206,TOK-3C30,TOK,TOK,0x4Fb721eF3Bf99e0f2c193847afA296b9257d3C30,8 -1207,JUP-2Be8,JUP,Jupiter,0x4B1E80cAC91e2216EEb63e29B957eB91Ae9C2Be8,18 -1208,NMS-91a9,NMS,Nemesis,0x77252494C25444F8598A0c74Ffc90ADc535291a9,18 -1209,KEX-a4F8,KEX,KIRA Network,0x16980b3B4a3f9D89E33311B5aa8f80303E5ca4F8,6 -1210,SWAPP-c244,SWAPP,Swapp Token,0x8CB924583681cbFE487A62140a994A49F833c244,18 -1211,SHINU-C53F,SHINU,Sheikh Inu,0x0d229c3FF2d76E4b88Ca4F9d3D3353F4545EC53F,18 -1212,PAY-3ea3,PAY,PayBolt,0xe580074A10360404AF3ABfe2d524D5806D993ea3,18 -1213,SIMP-4C99,SIMP,SIMP,0x41C21693e60FC1a5dBb7c50e54E7A6016aA44C99,18 -1214,WAS-0E1b,WAS,Wasder Token,0x0c572544a4Ee47904d54aaA6A970AF96B6f00E1b,18 -1215,PCNT-0C3b,PCNT,Playcent,0x657B83A0336561C8f64389a6f5aDE675C04b0C3b,18 -1216,PTOY-CC06,PTOY,Patientory,0x8Ae4BF2C33a8e667de34B54938B0ccD03Eb8CC06,8 -1217,PKF-8AEb,PKF,PolkaFoundry,0x8B39B70E39Aa811b69365398e0aACe9bee238AEb,18 -1218,DSLA-ECBe,DSLA,DSLA,0x3aFfCCa64c2A6f4e3B6Bd9c64CD2C969EFd1ECBe,18 -1219,GATE-82E4,GATE,GATE,0x9d7630aDF7ab0b0CB00Af747Db76864df0EC82E4,18 -1220,HLD-8187,HLD,Hackerlabs DAO,0xCA1308E38340C69E848061aA2C3880daeB958187,9 -1221,NEBO-b455,NEBO,CSP DAO,0x7f0c8B125040f707441cad9e5eD8a8408673b455,18 -1222,DOGY-6839,DOGY,DogeYield,0x9c405acf8688AfB61B3197421cDeeC1A266c6839,18 -1223,PNODE-82D2,PNODE,Pinknode Token,0xAF691508BA57d416f895e32a1616dA1024e882D2,18 -1224,PTPA-9E6c,PTPA,Pumptopia,0xC0B182B2E06164568a3310Ca1086e9bf19209E6c,18 -1225,SNOV-d969,SNOV,Snovio,0xBDC5bAC39Dbe132B1E030e898aE3830017D7d969,18 -1226,MNTP-ECCc,MNTP,Goldmint MNT Prelaunch Token,0x83cee9e086A77e492eE0bB93C2B0437aD6fdECCc,18 -1227,ID-Eb83,ID,Everest ID,0xEBd9D99A3982d547C5Bb4DB7E3b1F9F14b67Eb83,18 -1228,iDYP-e056,iDYP,iDeFiYieldProtocol,0xBD100d061E120b2c67A24453CF6368E63f1Be056,18 -1229,PRIMATE-95ff,PRIMATE,PRIMATE,0x46e98FFE40E408bA6412bEb670507e083C8B95ff,18 -1230,EMON-974a,EMON,EthermonToken,0xd6A5aB46ead26f49b03bBB1F9EB1Ad5c1767974a,18 -1231,YUNA-62f9,YUNA,Yuna (YunaToken.io),0x2F6f397332B0F8b4536430bCC97980aA838f62f9,18 -1232,RHO-90Ec,RHO,Rho Token,0x3F3Cd642E81d030D7b514a2aB5e3a5536bEb90Ec,18 -1233,SANSHU-344D,SANSHU,Sanshu Inu,0xc73C167E7a4Ba109e4052f70D5466D0C312A344D,9 -1234,VRA-E41F,VRA,VERA,0xdF1D6405df92d981a2fB3ce68F6A03baC6C0E41F,18 -1235,ATOR-79ce,ATOR,AirTor Protocol,0x0F7B3F5a8FeD821c5eb60049538a548dB2D479ce,18 -1236,AUDIO-B998,AUDIO,Audius,0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998,18 -1237,QLINDO-b46E,QLINDO,Qlindo Realestate Investment Token,0xC18c07a18198A6340cf4d94855fE5eb6DD33b46E,0 -1238,COOK-6eF5,COOK,Cook Token,0xFF75CEd57419bcaEBe5F05254983b013B0646eF5,18 -1239,PDEX-Aaea,PDEX,Polkadex,0xF59ae934f6fe444afC309586cC60a84a0F89Aaea,18 -1240,CARD-D708,CARD,Cardstack,0x954b890704693af242613edEf1B603825afcD708,18 -1241,HTB-A941,HTB,Hotbit Token,0x6be61833FC4381990e82D7D4a9F4c9B3F67eA941,18 -1242,FOUR-F4D0,FOUR,The 4th Pillar Token,0x4730fB1463A6F1F44AEB45F6c5c422427f37F4D0,18 -1243,PAN-4c92,PAN,Pantos Token,0x536381a8628dBcC8C70aC9A30A7258442eAb4c92,8 -1244,HAKI-6697,HAKI,HAKI,0xF90c7f66eAc7E2130bF677D69a250b2136Cf6697,18 -1245,PAW-1B01,PAW,PAWSWAP,0xDc63269eA166b70d4780b3A11F5C825C2b761B01,18 -1246,SHIV-cB43,SHIV,ShibVinci,0xe9615071341c6F0392A5dFDE1645Ad01b810cB43,9 -1247,GNYerc20-51d4,GNYerc20,GNYerc20,0xb1f871Ae9462F1b2C6826E88A7827e76f86751d4,18 -1248,UMBR-d35C,UMBR,UmbriaToken,0xa4bBE66f151B22B167127c770016b15fF97Dd35C,18 -1249,LEO-2Ca3,LEO,Bitfinex LEO Token,0x2AF5D2aD76741191D15Dfe7bF6aC92d4Bd912Ca3,18 -1250,DEXTF-89f0,DEXTF,DEXTF Token,0x5F64Ab1544D28732F0A24F4713c2C8ec0dA089f0,18 -1251,Kitty Dinger-3BC6,Kitty Dinger,Schrodinger,0x2C33B28527A63Cdf13C0B24Ce4cf5BF9C9fB3BC6,9 -1252,G*-2fA3,G*,G*,0x97E19E2a5458294842036404E6A05571D8Bc2fA3,18 -1253,APOLLO-3CAb,APOLLO,Apollo Inu,0xADf86E75d8f0F57e0288D0970E7407eaA49b3CAb,9 -1254,DOGEFI-646D,DOGEFI,DOGEFI,0x9B9087756eCa997C5D595C840263001c9a26646D,18 -1255,TRVL-1F3d,TRVL,TRVL,0xd47bDF574B4F76210ed503e0EFe81B58Aa061F3d,18 -1256,ARV-429E,ARV,Artemis Vision,0x28fDA76721a8077A5dE802Ab0212849B8c38429E,18 -1257,RND-6b29,RND,random,0x1c7E83f8C581a967940DBfa7984744646AE46b29,18 -1258,UniFi-CEb5,UniFi,UniFi,0x9E78b8274e1D6a76a0dBbf90418894DF27cBCEb5,18 -1259,POLC-6B37,POLC,Polka City,0xaA8330FB2B4D5D07ABFE7A72262752a8505C6B37,18 -1260,SWFL-538A,SWFL,Swapfolio,0xBa21Ef4c9f433Ede00badEFcC2754B8E74bd538A,18 -1262,BOLT-a789,BOLT,Bolt Token,0xD5930C307d7395Ff807F2921F12C5EB82131a789,18 -1263,HAPI-Fb54,HAPI,HAPI,0xD9c2D319Cd7e6177336b0a9c93c21cb48d84Fb54,18 -1264,FREE-e4Fd,FREE,Free Coin,0x2F141Ce366a2462f02cEA3D12CF93E4DCa49e4Fd,18 -1265,KANGAL-d337,KANGAL,Kangal,0x6E765D26388A17A6e86c49A8E41DF3F58aBcd337,18 -1266,DBNB-d888,DBNB,DecentraBNB,0x833850BE8858722Cfc5E5e75f2Fe6275E055d888,9 -1267,STACK-3a0a,STACK,Stacker Ventures Token,0xe0955F26515d22E347B17669993FCeFcc73c3a0a,18 -1268,LOL-C032,LOL,LOL,0xf91AC30E9b517f6D57e99446ee44894e6C22C032,9 -1269,$AI-C2a1,$AI,Alpha Intelligence,0x5d259E3FbcAdef1abfeA5582e456Bc7F0aebC2a1,18 -1270,ARCH-f3aF,ARCH,Archer DAO Governance Token,0x1F3f9D3068568F8040775be2e8C03C103C61f3aF,18 -1271,DOS-9cB7,DOS,DOS Network Token,0x0A913beaD80F321E7Ac35285Ee10d9d922659cB7,18 -1272,MKONG-8065,MKONG,MEME KONG,0xeE6b9CF11D968E0bAc7BFfF547577B8AE35B8065,9 -1273,ACYC-e147,ACYC,AllCoinsYieldCapital,0xB56A1f3310578f23120182Fb2e58c087EFE6e147,18 -1274,LITx-7a91,LITx,LITH Token,0x4B48068864F77261838C7849A12853FB94c77a91,18 -1275,GFX-58fC,GFX,GamyFi,0x65ad6A2288b2Dd23E466226397c8F5D1794e58fC,18 -1276,WSCRT-68Be,WSCRT,Wrapped SCRT,0x2B89bF8ba858cd2FCee1faDa378D5cd6936968Be,6 -1277,BARK-ea60,BARK,Bark,0x53340a1EF3a0dDeBA1D94BBd1E2fF55936F0ea60,18 -1278,NTX-7935,NTX,NuNet Utility Token,0xF0d33BeDa4d734C72684b5f9abBEbf715D0a7935,6 -1279,WAXE-4DFD,WAXE,WAX Economic Token,0x7a2Bc711E19ba6aff6cE8246C546E8c4B4944DFD,8 -1280,ONX-1033,ONX,OnX.finance,0xE0aD1806Fd3E7edF6FF52Fdb822432e847411033,18 -1281,KATA-aE15,KATA,Katana Inu,0x2e85ae1C47602f7927bCabc2Ff99C40aA222aE15,18 -1282,rDPX-8D11,rDPX,Dopex Rebate Token,0x0ff5A8451A839f5F0BB3562689D9A44089738D11,18 -1283,XSTUSD-d356,XSTUSD,SORA Synthetic USD,0xc7D9c108D4E1dD1484D3e2568d7f74bfD763d356,18 -1284,LMT-c8AF,LMT,Lympo Market Token,0x327673aE6B33Bd3d90f0096870059994f30Dc8AF,18 -1285,UNQT-5d4C,UNQT,Unique Utility Token,0xa80f2C8f61c56546001f5FC2eb8D6E4e72c45d4C,18 -1286,PLU-264E,PLU,Pluton,0xD8912C10681D8B21Fd3742244f44658dBA12264E,18 -1287,X7DAO-2dA0,X7DAO,X7DAO,0x7105E64bF67ECA3Ae9b123F0e5Ca2b83b2eF2dA0,18 -1288,UFT-3AB1,UFT,UniLend Finance Token,0x0202Be363B8a4820f3F4DE7FaF5224fF05943AB1,18 -1289,RESET-EeD2,RESET,MetaReset,0x30df7D7EE52c1b03cd009e656F00AB875AdCEeD2,18 -1290,KISHUTAMA-7990,KISHUTAMA,KishuTama,0xDc0804eD9ABA9202E2b976C031d3144BB63a7990,9 -1291,YOP-4051,YOP,YOP,0xAE1eaAE3F627AAca434127644371b67B18444051,8 -1292,TENSHI-5292,TENSHI,TENSHI v2,0x52662717e448be36Cb54588499D5A8328BD95292,18 -1293,UNIQ-8025,UNIQ,Uniqly,0x3758e00b100876C854636eF8Db61988931BB8025,18 -1294,KNDX-EFC1,KNDX,Kondux,0x7CA5af5bA3472AF6049F63c1AbC324475D44EFC1,9 -1295,GT-4759,GT,GateChainToken,0xE66747a101bFF2dBA3697199DCcE5b743b454759,18 -1296,SIS-6dd9,SIS,Symbiosis,0xd38BB40815d2B0c2d2c866e0c72c5728ffC76dd9,18 -1297,COR-D835,COR,COR Token,0x9C2dc0c3CC2BADdE84B0025Cf4df1c5aF288D835,18 -1298,AZUKI-BaEd,AZUKI,DokiDokiAzuki,0x910524678C0B1B23FFB9285a81f99C29C11CBaEd,18 -1299,HEART-897C,HEART,HUMANS,0x8FAc8031e079F409135766C7d5De29cf22EF897C,18 -1300,FKX-6EBB,FKX,Knoxstertoken,0x16484d73Ac08d2355F466d448D2b79D2039F6EBB,18 -1301,YVS-f478,YVS,YVS.Finance,0xEC681F28f4561c2a9534799AA38E0d36A83Cf478,18 -1302,eMTRG-8A9F,eMTRG,Meter Governance mapped by Meter.io,0xBd2949F67DcdC549c6Ebe98696449Fa79D988A9F,18 -1303,BTSE-32Ef,BTSE,BTSE Token,0x666d875C600AA06AC1cf15641361dEC3b00432Ef,8 -1304,NFTT-9499,NFTT,NFT.TECH,0x5fA2E9Ba5757504B3d6e8f6da03cc40d4ce19499,18 -1305,LEASH-6634,LEASH,DOGE KILLER,0x27C70Cd1946795B66be9d954418546998b546634,18 -1306,ORION-46e4,ORION,Orion Money Token,0x727f064A78DC734D33eEc18d5370aef32Ffd46e4,18 -1307,GOKU-ED79,GOKU,Goku Inu,0xA64dFe8D86963151E6496BEe513E366F6e42ED79,9 -1308,HAPPY-26f4,HAPPY,HappyFans,0x3079F61704E9eFa2BcF1db412f735d8d4cFa26f4,18 -1309,HY-5715,HY,hybrix hydra,0x9b53E429B0baDd98ef7F01F03702986c516a5715,18 -1310,BANKETH-4cA1,BANKETH,BankEth,0xBE0C826f17680d8Da620855bE89DD6544C034cA1,18 -1311,DOSE-6515,DOSE,DOSE,0xb31eF9e52d94D4120eb44Fe1ddfDe5B4654A6515,18 -1312,STILT-bE4b,STILT,Stilton,0xB5F1457d6FBa1956Fb8d31B0B7CAcA14BDe0bE4b,9 -1313,cUSDT-dCC9,cUSDT,Compound USDT,0xf650C3d88D12dB855b8bf7D11Be6C55A4e07dCC9,8 -1314,HERO-884E,HERO,Challenge Coin,0x524Ebc93BeEf838F70b4Ae54b675d3e971D5884E,9 -1315,CRBN-24EE,CRBN,Carbon,0xCdeee767beD58c5325f68500115d4B722b3724EE,18 -1316,PWRC-4f83,PWRC,PWRCASH,0x6Aa40D02115090D40Dc33C7C5F3Cf05112fA4f83,18 -1317,GRV-290c,GRV,GroveC,0xF33893DE6eB6aE9A67442E066aE9aBd228f5290c,8 -1318,BID-02fa,BID,Bidao,0x25e1474170c4c0aA64fa98123bdc8dB49D7802fa,18 -1319,UFI-a0E3,UFI,PureFi Token,0xcDa4e840411C00a614aD9205CAEC807c7458a0E3,18 -1320,EDGE-7831,EDGE,Edge,0x4EC1b60B96193a64AcAe44778e51f7BfF2007831,18 -1321,BTT-7957,BTT,BitTorrent,0xC669928185DbCE49d2230CC9B0979BE6DC797957,18 -1322,ZONE-d53C,ZONE,GridZone.io,0xC1D9B5A0776d7C8B98b8A838e5a0DD1Bc5Fdd53C,18 -1323,RELIC-884F,RELIC,MasRelic,0x77132Bb08B02a7a87732ec289EFaB45edF49884F,18 -1324,DOGENS-2e3c,DOGENS,Dogens,0x1b4dD5eA240732dDAc8d74FD1Cd9026Addc02e3c,9 -1325,MASTERMIND-9b43,MASTERMIND,Mastermind,0x8b0FdE007458Ee153bd0F66CD448Af5FB3D99b43,18 -1326,GYSR-CCAb,GYSR,Geyser,0xbEa98c05eEAe2f3bC8c3565Db7551Eb738c8CCAb,18 -1327,SHIBAKEN-Ab6B,SHIBAKEN,ShibaKen.Finance,0xa4Cf2aFD3B165975afFFBf7e487CDd40C894Ab6B,0 -1328,DRT-D5Ab,DRT,DomRaiderToken,0x9AF4f26941677C706cfEcf6D3379FF01bB85D5Ab,8 -1329,FLOW-1BF9,FLOW,Flow Protocol,0xC6e64729931f60D2c8Bc70A27D66D9E0c28D1BF9,9 -1330,SRM-e0fF,SRM,Serum,0x476c5E26a75bd202a9683ffD34359C0CC15be0fF,6 -1331,EVED-91bd,EVED,Evedo Token,0x5aaEFe84E0fB3DD1f0fCfF6fA7468124986B91bd,18 -1332,WUKONG-D714,WUKONG,Monkey King,0xA3ec7DF93090f4DE46FaEA09F73cc40ebe7dD714,18 -1333,MORK-6F76,MORK,Mork,0xf552b656022c218C26dAd43ad88881Fc04116F76,4 -1334,tAI-3B7f,tAI,AITravis,0x2F4404C4012476929b6503E1397707480bf23B7f,9 -1335,CHART-E63E,CHART,ChartEx,0x1d37986F252d0e349522EA6C3B98Cb935495E63E,18 -1336,POLY-D1eC,POLY,Polymath,0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC,18 -1337,GATSBY-37b4,GATSBY,Gatsby Inu,0xE22910D04bDc9d55570f3BC52E786b49DddF37b4,18 -1338,GAS-8469,GAS,Gas DAO,0x6Bba316c48b49BD1eAc44573c5c871ff02958469,18 -1339,SHIWA-1cc4,SHIWA,SHIWA,0x5022Cb6D39001CDD6F996e8a66500c86128f1cc4,9 -1340,BAND-7f55,BAND,BandToken,0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55,18 -1341,BABYDOGE-eBd5,BABYDOGE,BabyDoge Coin,0xAC8E13ecC30Da7Ff04b842f21A62a1fb0f10eBd5,9 -1342,FUSE-f84d,FUSE,Fuse Token,0x970B9bB2C0444F5E81e9d0eFb84C8ccdcdcAf84d,18 -1343,MAGA-2228,MAGA,MAGA Coin ETH,0xc9b6A17EbB43491635F603A01f8Bb3e4B5D22228,9 -1344,DFP2-8E6D,DFP2,Defi Plaza governance,0x2F57430a6ceDA85a67121757785877b4a71b8E6D,18 -1345,EXP-2f77,EXP,Exp,0xd137561C20BE8e870D62e2aE92269f0950702f77,18 -1346,GTFO-3398,GTFO,DumpBuster,0xa0A9C16856C96D5E9d80a8696eEA5E02B2Dc3398,9 -1347,HUSKY-5091,HUSKY,HuskyToken,0xd5281BB2d1eE94866B03A0fcCDd4e900c8Cb5091,9 -1348,NII-bE52,NII,Nahmii,0x7c8155909cd385F120A56eF90728dD50F9CcbE52,15 -1349,FAMILY-61f4,FAMILY,The Bitcoin Family,0x833E4c02c47B7e38f5b9A80b26eb07D23d1961f4,4 -1350,UNCL-Dd49,UNCL,UNCL,0x2f4eb47A1b1F4488C71fc10e39a4aa56AF33Dd49,18 -1351,CAI-a48D,CAI,CryptoAI,0xf36C5f04127F7470834ed6f98bDDC1BE62aba48D,18 -1352,MCO2-cacD,MCO2,Moss Carbon Credit,0xfC98e825A2264D890F9a1e68ed50E1526abCcacD,18 -1353,BMDA-a95E,BMDA,Bermuda,0x4236f8aaF2B1f3A28420Eb15B8e0ddF63201a95E,18 -1354,MINT-a059,MINT,Public Mint,0x0CDF9acd87E940837ff21BB40c9fd55F68bba059,18 -1355,DINU-7732,DINU,Dogey-Inu,0xbb1EE07d6c7BAeB702949904080eb61f5D5e7732,18 -1356,FreqAI-f486,FreqAI,The Razors Edge,0xB685145D7F127b9093d7f9278BaE902EF59Ff486,18 -1357,NTVRK-157A,NTVRK,NETVRK,0xFc0d6Cf33e38bcE7CA7D89c0E292274031b7157A,18 -1358,OPCT-c400,OPCT,Opacity,0xDb05EA0877A2622883941b939f0bb11d1ac7c400,18 -1359,SI-93de,SI,SIREN,0xD23Ac27148aF6A2f339BD82D0e3CFF380b5093de,18 -1360,PAINT-4042,PAINT,Paint,0x4C6eC08CF3fc987c6C4BEB03184D335A2dFc4042,18 -1361,WXMR-B0f5,WXMR,Wrapped Monero,0x465e07d6028830124BE2E4aA551fBe12805dB0f5,18 -1362,EDDA-0aA9,EDDA,EDDA,0xFbbE9b1142C699512545f47937Ee6fae0e4B0aA9,18 -1363,JACY-4A62,JACY,JACY,0x916c5DE09cF63f6602d1e1793FB41F6437814A62,9 -1364,BCT-150a,BCT,BananaClubToken,0x350D3f0f41b5B21F0e252fe2645AE9D55562150a,9 -1365,MCAP-44f0,MCAP,Meta Capital,0xbCE0665b20164d6cd6D15E70feD1E094AD4A44f0,9 -1366,PLSPAD-C47A,PLSPAD,PULSEPAD.io,0x8a74BC8c372bC7f0E9cA3f6Ac0df51BE15aEC47A,18 -1367,DOKI-71f5,DOKI,Okidoki Social,0x869DBe51Dc214fcb663604b0F7B548592F8C71f5,9 -1368,SDOG-E0D4,SDOG,SDOG,0x537edD52ebcb9F48ff2f8a28c51FCdB9D6a6E0D4,18 -1369,DBOX-D973,DBOX,Decentra Box,0x56c9D5F1E727de03643af220B5cE52DE23D4D973,18 -1370,ARCHA-C7fD,ARCHA,archangel,0x36E43065e977bC72CB86Dbd8405fae7057CDC7fD,9 -1371,FMON-e96D,FMON,FMONEY TOKEN,0xD283EC9db7B3094ED5a2c87Eb48D54f5FA96e96D,9 -1372,IXS-d1b4,IXS,Ixs Token,0x73d7c860998CA3c01Ce8c808F5577d94d545d1b4,18 -1373,STARS-13Ca,STARS,Mogul Stars,0xc55c2175E90A46602fD42e931f62B3Acc1A013Ca,18 -1374,PAID-D787,PAID,PAID Network,0x1614F18Fc94f47967A3Fbe5FfcD46d4e7Da3D787,18 -1375,SNTVT-B7F8,SNTVT,Sentivate,0x7865af71cf0b288b4E7F654f4F7851EB46a2B7F8,18 -1376,MOMA-D55B,MOMA,MOchi MArket,0xbd1848e1491d4308Ad18287A745DD4DB2A4BD55B,18 -1377,GLDN-0CC2,GLDN,Gold Retriever,0xFeeB4D0f5463B1b04351823C246bdB84c4320CC2,18 -1378,VERI-2374,VERI,Veritaseum,0x8f3470A7388c05eE4e7AF3d01D8C722b0FF52374,18 -1379,IMP-4543,IMP,Imperial Obelisk,0x2D5C73f3597B07F23C2bB3F2422932E67eca4543,18 -1380,WPT-88eA,WPT,WPT Investing Corp,0x4FD51Cb87ffEFDF1711112b5Bd8aB682E54988eA,18 -1381,OJE-6409,OJE,OJE Token,0xC5ec4f1FC86DA45AE788EC98756BA70B57676409,18 -1382,PNK-c04d,PNK,Pinakion,0x93ED3FBe21207Ec2E8f2d3c3de6e058Cb73Bc04d,18 -1383,TOKR-6772,TOKR,Tokerr,0xA885B6d3C87535de688194Ec3645199ee76D6772,9 -1384,CLIFF-6669,CLIFF,CliffordInu,0x1B9BAF2A3EdeA91eE431f02d449a1044d5726669,18 -1385,R34P-81F6,R34P,R34P,0xCAEaf8381D4B20b43AFA42061D6f80319A8881F6,8 -1386,DCNT-8701,DCNT,Decanect,0x4Ce4C025692B3142dbdE1cd432ef55b9A8D18701,9 -1387,TRND-7CCb,TRND,Trendering,0xc3dD23A0a854b4f9aE80670f528094E9Eb607CCb,18 -1388,USF-b9ce,USF,Unslashed Finance Governance Token,0xE0e05c43c097B0982Db6c9d626c4eb9e95C3b9ce,18 -1389,SHIBU-91a4,SHIBU,SHIBAUNIVERSE.ORG,0x7bFDE33d790411A88D46E9e1be32Fc86228891a4,9 -1390,oBTC-B2AC,oBTC,Ordinal BTC ,0xfF770E4c68e35DB85c6e0E89a43750eC02bDB2AC,18 -1391,DEV-aEa0,DEV,Dev Doing Something,0x77E20FC7f2F4084b74284E1190810fCa3679aEa0,9 -1392,BabyTrump-08B6,BabyTrump,Baby Trump Token,0x99d36e97676A68313ffDc627fd6b56382a2a08B6,9 -1393,UPR-2385,UPR,Upfire,0xf720E38F678B29B243F7D53B56Acbf5dE98F2385,18 -1394,MCC-9e0C,MCC,MultiChainCapital,0xC146B7CdBaff065090077151d391f4c96Aa09e0C,9 -1395,ETHPAD-C442,ETHPAD,ETHPAD.network,0x8dB1D28Ee0d822367aF8d220C0dc7cB6fe9DC442,18 -1396,KLEE-de71,KLEE,KleeKai,0xA67E9F021B9d208F7e3365B2A155E3C55B27de71,9 -1397,CELR-C667,CELR,CelerToken,0x4F9254C83EB525f9FCf346490bbb3ed28a81C667,18 -1398,VetMe-4E1f,VetMe,VetMe,0xe7eF051C6EA1026A70967E8F04da143C67Fa4E1f,9 -1399,SPO-CC4E,SPO,Spores,0xcbE771323587EA16dACB6016e269D7F08A7ACC4E,18 -1400,ELF-100e,ELF,ELF Token,0xbf2179859fc6D5BEE9Bf9158632Dc51678a4100e,18 -1401,NUX-911c,NUX,NUX Peanut.trade,0x89bD2E7e388fAB44AE88BEf4e1AD12b4F1E0911c,18 -1402,BNV-d749,BNV,BunnyVerse,0x072987D5B36aD8d45552aEd98879a7101cCdd749,18 -1403,STATS-0caD,STATS,Stats,0x39142c18B6db2a8A41B7018f49E1478837560caD,9 -1404,DYT-1E14,DYT,DoYourTip,0x740623d2c797b7D8D1EcB98e9b4Afcf99Ec31E14,18 -1405,MINTYS-bE85,MINTYS,MintySwap,0xBbd900e05b4aF2124390D206F70bc4E583B1bE85,9 -1406,QR-B002,QR,Qrolli,0xCcDb064a41AFcD432BCEa6F6d0D1E7c371d0B002,9 -1407,JIG-49E9,JIG,Jigen,0xe2Fc859C838F31C1450448f4FeD92e3284aE49E9,18 -1408,UNISTAKE-4E5E,UNISTAKE,Unistake,0x9Ed8e7C9604790F7Ec589F99b94361d8AAB64E5E,18 -1409,UGT-0063,UGT,Unreal Governance Token,0x9cf98Eb8A8B28c83E8612046cf55701Ce3Eb0063,18 -1410,ZEUS-20b1,ZEUS,ZEUS10000,0xcbC1Aa6961B28cCcb11E1cdDd84Ad8B42Ec920b1,4 -1411,MONSTR-4660,MONSTR,MonstaVerse,0xba75fBC4C7a553081F7A137b6e652520Db444660,9 -1412,BlueSparrow-6FdE,BlueSparrow,BlueSparrowToken,0x24cCeDEBF841544C9e6a62Af4E8c2fA6e5a46FdE,9 -1413,REALM-CFB8,REALM,REALM,0x464FdB8AFFC9bac185A7393fd4298137866DCFB8,18 -1414,NITRO-87B8,NITRO,Nitro,0x0335A7610D817aeCA1bEBbEfbd392ecC2eD587B8,18 -1415,STARL-6B24,STARL,StarLink,0x8E6cd950Ad6ba651F6DD608Dc70e5886B1AA6B24,18 -1416,ShibDoge-928F,ShibDoge,ShibaDoge,0x6ADb2E268de2aA1aBF6578E4a8119b960E02928F,9 -1417,MARU-2b00,MARU,Marutaro,0xC2456D2118299a2efDFE6522Ff79aA48fC5d2b00,9 -1418,BleYd-94b9,BleYd,Black Eyed Dragon,0x59B44e9AC4AB8e29db6Faf7baCd726C6B7bC94b9,9 -1419,ANARCHY-Ce8c,ANARCHY,Anarchy,0x53fD2342B43eCD24AEf1535BC3797F509616Ce8c,9 -1420,STORJ-b8aC,STORJ,StorjToken,0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC,8 -1421,SWM-ca39,SWM,SWARM,0x3505F494c3f0fed0B594E01Fa41Dd3967645ca39,18 -1422,MOD-1D71,MOD,Modefi,0xEA1ea0972fa092dd463f2968F9bB51Cc4c981D71,18 -1423,TACO-2557,TACO,Tacos,0x00D1793D7C3aAE506257Ba985b34C76AaF642557,18 -1424,YASHA-D753,YASHA,YASHA,0xD75f1f81B69bDd4Df8EfbB70e9C6F4609009D753,18 -1425,REDPANDA-44b9,REDPANDA,RedPanda Earth,0x9ba4CBcBb920F67f54A8F8f0001D721E0B8944b9,9 -1426,PKN-9503,PKN,Poken,0xdf09a216Fac5ADC3e640Db418C0b956076509503,18 -1427,Totoro-2F12,Totoro,Totoro Inu,0xfc09c7cFD9c175DD9423ca02aE1249579AB12F12,9 -1428,FTRB-81D7,FTRB,Faith Tribe,0x2596825a84888E8f24b747DF29e11b5dd03C81D7,18 -1429,CAT+-fbd6,CAT+,Capital Aggregator Token,0x686c77609aFe6A2fac50421888530288B441fbd6,18 -1430,XCN-fb18,XCN,Chain,0xA2cd3D43c775978A96BdBf12d733D5A1ED94fb18,18 -1431,SHINJI-0afd,SHINJI,Shinji Inu,0x1F31DD60b84ea2a273cfC56876437E069aE80afd,9 -1432,SAITAMA-27B2,SAITAMA,SAITAMA,0xCE3f08e664693ca792caCE4af1364D5e220827B2,9 -1433,KTO-F8fC,KTO,Kounotori,0x616ef40D55C0D2c506f4d6873Bda8090b79BF8fC,9 -1434,GYOKUTO-612D,GYOKUTO,Tsuki no Usagi,0x166D45e55143ea15032672Ac9f591A4401CC612D,9 -1435,SHINTAMA-76dA,SHINTAMA,Shintama,0x7e794eD35788b698AE60cefC98eE48015C4876dA,9 -1436,$CWI-ba5D,$CWI,Crypto Wrestling Inu,0xE2d310CB8992b3Fa1051BA4710F41c43eB5Bba5D,18 -1437,GAMMA-e197,GAMMA,Gamma,0x6BeA7CFEF803D1e3d5f7C0103f7ded065644e197,18 -1438,GVC-58Bf,GVC,Galaxy Villains,0x8dc89F4716E027394Bba225b82328C1ea2Ea58Bf,18 -1439,SHIBN-B3B3,SHIBN,Shibnaut,0xd346E8ADA104093ADcf5f4186087E1AD309BB3B3,18 -1440,GHX-387d,GHX,GamerCoin,0x728f30fa2f100742C7949D1961804FA8E0B1387d,18 -1441,CONV-8B50,CONV,Convergence,0xc834Fa996fA3BeC7aAD3693af486ae53D8aA8B50,18 -1442,DAFI-6439,DAFI,DAFI Token,0xFc979087305A826c2B2a0056cFAbA50aad3E6439,18 -1443,yShori-d69b,yShori,Shori 勝利,0x25644eA5bE09d1266B5df3F96559Ecdc2D0ad69b,18 -1444,ELongD-4d1B,ELongD,Elongate Deluxe,0x348B7f3106B5Da47405332534d06069fF9CE4d1B,9 -1445,eMax-7FF6,eMax,EthereumMax,0x15874d65e649880c2614e7a480cb7c9A55787FF6,18 -1446,RBC-3333,RBC,RUBIC TOKEN,0x3330BFb7332cA23cd071631837dC289B09C33333,18 -1447,LAEEB-863d,LAEEB,Laeeb Inu,0x3B1a3C5d9D5C60651D4841C7814aA0FbB45A863d,18 -1448,$colR-4415,$colR,colR Coin,0x14b40AD2EBA6c1B31db2bA817b07578AFB414415,18 -1449,Happy-3378,Happy,HappyBear,0x651e44D0df89055c00513d0efb9E8d1A0C843378,18 -1450,WHL-a46A,WHL,WhaleRoom,0x2aF72850c504dDD3c1876C66a914cAee7Ff8a46A,18 -1451,SHUEY-5E5D,SHUEY,Shuey Rhon Inu,0xcDcA1B81DbB543BAA92c97b701396Cd3bA315E5D,18 -1452,iFUND-b0f0,iFUND,UNIFUND,0x04B5E13000C6e9A3255Dc057091F3e3Eeee7b0f0,18 -1453,TST-9B53,TST,Standard Token,0xa0b93B9e90aB887E53F9FB8728c009746e989B53,18 -1454,YPIE-CE31,YPIE,Yearn Ecosystem Pie,0x17525E4f4Af59fbc29551bC4eCe6AB60Ed49CE31,18 -1455,XED-fd86,XED,Exeedme,0xee573a945B01B788B9287CE062A0CFC15bE9fd86,18 -1456,PICKLE-1Ca5,PICKLE,PickleToken,0x429881672B9AE42b8EbA0E26cD9C73711b891Ca5,18 -1457,SHUNAV2-8dd1,SHUNAV2,Shuna Inuverse,0xDE72a052cBB212eFf11A4A33d61dF9C5A2De8dd1,9 -1458,NFP-0834,NFP,New Frontier Presents,0x299698B4B44BD6d023981A7317798dEe12860834,9 -1459,PAWTH-367F,PAWTH,Pawthereum,0xAEcc217a749c2405b5ebC9857a16d58Bdc1c367F,9 -1460,TRENDX-c936,TRENDX,Trend X,0xC89d9aa9D9E54bb196319c6195AEA1038d2bc936,18 -1461,POOLZ-4e23,POOLZ,$Poolz Finance,0x69A95185ee2a045CDC4bCd1b1Df10710395e4e23,18 -1462,HULK-f3aa,HULK,HULK INU,0x91a5de30e57831529a3c1aF636A78a7E4E83f3aa,18 -1463,RINIA-FD7D,RINIA,Rinia Inu,0x8f828a0644f12Fa352888E645a90333d30f6FD7D,9 -1464,KYL-b99C,KYL,Kylin Network,0x67B6D479c7bB412C54e03dCA8E1Bc6740ce6b99C,18 -1465,BabyShiba-1A1D,BabyShiba,Baby Shiba Coin,0x66A64a8A9cdc54EF97e45a051bA1c8f3D4b41A1D,18 -1467,DIS-cDC6,DIS,TosDis,0x220B71671b649c03714dA9c621285943f3cbcDC6,18 -1468,FETCH-c66b,FETCH,Fetch,0xcC779bbBD17b2E68ECdCCaeA3d8C791B1573c66b,18 -1469,TSANGNYON-C242,TSANGNYON,TSANGNYON HERUKA,0xd031edafac6a6ae5425e77F936022E506444C242,18 -1470,BIRD-7Ce0,BIRD,Bird.Money,0x70401dFD142A16dC7031c56E862Fc88Cb9537Ce0,18 -1471,MLT-521d,MLT,Media Licensing Token,0x9506d37f70eB4C3d79C398d326C871aBBf10521d,18 -1472,GTH-3674,GTH,Gather,0xeb986DA994E4a118d5956b02d8b7c3C7CE373674,18 -1473,DOGEGF-6Bc5,DOGEGF,DogeGF,0xfb130d93E49DcA13264344966A611dc79a456Bc5,18 -1474,HT-a161,HT,HuobiToken,0x6f259637dcD74C767781E37Bc6133cd6A68aa161,18 -1475,DGTX-eC09,DGTX,DigitexFutures,0xc666081073E8DfF8D3d1c2292A29aE1A2153eC09,18 -1476,AIR-cCeA,AIR,Ape In Records,0xF725f73CAEe250AE384ec38bB2C77C38ef2CcCeA,18 -1477,WCHI-4605,WCHI,Wrapped CHI,0x6DC02164d75651758aC74435806093E421b64605,8 -1478,SHIT-469F,SHIT,ShitCoin,0x4e4a47cAC6A28A62dcC20990ed2cdA9BC659469F,18 -1479,WAGIE-a3Ec,WAGIE,WAGIE,0x492baa7A6450712D4bbCCa01B87F029DEe3Ea3Ec,9 -1480,DMT-AE6c,DMT,Dark Matter Token,0x79126d32a86e6663F3aAac4527732d0701c1AE6c,18 -1481,SAITOKI-87Fa,SAITOKI,Saitoki Inu,0xa3c56427683a19F7574b9fc219CFD27d5d6e87Fa,9 -1482,FIRE-2D43,FIRE,Fire Protocol,0xF921ae2DAC5fa128DC0F6168Bf153ea0943d2D43,8 -1483,HEY-F7Ee,HEY,Hey,0xE61F6e39711cEc14f8D6c637c2f4568bAA9FF7Ee,18 -1484,KOMPETE-46E9,KOMPETE,KOMPETE Token,0x1E0b2992079B620AA13A7c2E7c88D2e1E18E46E9,10 -1485,RLY-E49b,RLY,Rally,0xf1f955016EcbCd7321c7266BccFB96c68ea5E49b,18 -1486,MDX-1788,MDX,MANDALA EXCHANGE TOKEN,0x947AEb02304391f8fbE5B25D7D98D649b57b1788,18 -1487,YFIII-2A45,YFIII,DiFy.Finance,0x4be40bc9681D0A7C24A99b4c92F85B9053Fc2A45,18 -1488,SIPHER-F511,SIPHER,Sipher Token,0x9F52c8ecbEe10e00D9faaAc5Ee9Ba0fF6550F511,18 -1489,$DG-78a0,$DG,decentral.games,0xEE06A81a695750E71a662B51066F2c74CF4478a0,18 -1490,CDS-6e5e,CDS,Capital DAO Starter Token,0x3c48Ca59bf2699E51d4974d4B6D284AE52076e5e,18 -1491,OPTIMUS-215d,OPTIMUS,Optimus,0x562E362876c8Aee4744FC2c6aaC8394C312d215d,9 -1492,Metis-ed8e,Metis,Metis Token,0x9E32b13ce7f2E80A01932B42553652E053D6ed8e,18 -1493,PEEP$-9892,PEEP$,The Peoples Coin,0x5919DeA604631016c15c805e3D948A0384879892,9 -1494,CLAW-1D1C,CLAW,Claw,0x41B25Ff6431074959532dB7435DAdacA65a21D1C,18 -1495,TheAD-6189,TheAD,The Akragas Decadrachm,0xCB056A2f3cA0B82aB69dcbd677875D68B74D6189,8 -1496,TAP-db5D,TAP,Tapmydata,0x7f1F2D3dFa99678675ECE1C243d3f7bC3746db5D,18 -1497,EPAN-Bafc,EPAN,Paypolitan Token,0x72630B1e3B42874bf335020Ba0249e3E9e47Bafc,18 -1498,AFY-6A21,AFY,Artify,0xa41161AF8D4Ee421ba5fED4328F2B12034796A21,18 -1499,ERA-01EB,ERA,ERA,0x67776f14E5E9e7845e33fB0c2a3C709d259D01EB,18 -1500,KOI-856C,KOI,The Dragon Gate,0x8AE340d333fFB274969f505A6520b91024BC856C,9 -1501,CoShi-B00A,CoShi,CoShi Inu,0x668C50B1c7f46EFFBE3f242687071d7908AAB00A,9 -1502,WVG0-b611,WVG0,Wrapped Virgin Gen 0,0x25C7b64A93Eb1261E130eC21a3e9918CaA38b611,18 -1503,AKITA-23E6,AKITA,Akita Inu,0x3301Ee63Fb29F863f2333Bd4466acb46CD8323E6,18 -1504,KEY-96E7,KEY,SelfKey,0x4CC19356f2D37338b9802aa8E8fc58B0373296E7,18 -1505,EPIK-dF75,EPIK,Epik Prime,0x4da0C48376C277cdBd7Fc6FdC6936DEE3e4AdF75,18 -1506,BLES-31Cd,BLES,Blind Boxes Token,0xE796d6ca1ceb1b022EcE5296226BF784110031Cd,18 -1507,NFY-42bC,NFY,Non-Fungible Yearn,0x1cBb83EbcD552D5EBf8131eF8c9CD9d9BAB342bC,18 -1508,HRD-3445,HRD,Hoard,0x461B71cff4d4334BbA09489acE4b5Dc1A1813445,9 -1509,SHPING-1BEC,SHPING,Shping Coin,0x7C84e62859D0715eb77d1b1C4154Ecd6aBB21BEC,18 -1510,VSP-8421,VSP,VesperToken,0x1b40183EFB4Dd766f11bDa7A7c3AD8982e998421,18 -1511,NFTP-2465,NFTP,NFT Platform Index,0x68bB81B3F67f7AAb5fd1390ECB0B8e1a806F2465,18 -1512,STAK-6D13,STAK,Jigstack,0x1F8A626883d7724DBd59eF51CBD4BF1Cf2016D13,18 -1513,SIGIL-40E4,SIGIL,Sigil Finance,0xF029Fd6b5ED35C825Dd02B7A02952C30002840E4,18 -1514,CAP-3142,CAP,Cap,0x43044f861ec040DB59A7e324c40507adDb673142,18 -1515,RIDGE-3165,RIDGE,Ridge,0x64609A845Ad463d07ee51e91a88D1461C3Dc3165,9 -1516,TAXHAVENINU-bD01,TAXHAVENINU,Tax Haven Inu,0x664C6E221c77313307467B121528ad563107bD01,9 -1517,VEE-13B7,VEE,BLOCKv Token,0x340D2bdE5Eb28c1eed91B2f790723E3B160613B7,18 -1518,WNK-8Eba,WNK,Winkies,0xE1BDA0c3Bfa2bE7f740f0119B6a34F057BD58Eba,18 -1519,NFTL-F2DD,NFTL,NFTLAUNCH.network,0xe7F72Bc0252cA7B16dBb72eEee1AfcDb2429F2DD,18 -1520,SWINGBY-b13A,SWINGBY,SWINGBY token,0x8287C7b963b405b7B8D467DB9d79eEC40625b13A,18 -1521,SXP-b6A9,SXP,Swipe,0x8CE9137d39326AD0cD6491fb5CC0CbA0e089b6A9,18 -1522,KISHU-817D,KISHU,Kishu Inu,0xA2b4C0Af19cC16a6CfAcCe81F192B024d625817D,9 -1523,GAME-2437,GAME,GAME Credits,0x63f88A2298a5c4AEE3c216Aa6D926B184a4b2437,18 -1524,1MIL-A016,1MIL,1MILNFT,0xa4eF4b0B23C1fc81d3f9ecF93510e64f58A4A016,18 -1525,DGMAN-d7C9,DGMAN,DogeMan,0x3cc1020aCDCd64b11Dd417d2C28388E71605d7C9,9 -1526,MatsuSwap-26C4,MatsuSwap,MatsuSwap,0x2F0F622a93c85C43Fd47f4Ab119360f5846026C4,9 -1527,LEAP-a134,LEAP,LEAP Token,0x53263d9EF74Db583b15fbC6D5D4e8B83833fa134,18 -1528,WHITE-6B44,WHITE,Whiteheart Token,0x5F0E628B693018f639D10e4A4F59BD4d8B2B6B44,18 -1529,imgnAI-CBe0,imgnAI,Image Generation AI | imgnAI.com,0xA735A3AF76CC30791C61c10d585833829d36CBe0,9 -1530,X7R-ca54,X7R,X7R,0x70008F18Fc58928dcE982b0A69C2c21ff80Dca54,18 -1531,FOX-e52d,FOX,FOX,0xc770EEfAd204B5180dF6a14Ee197D99d808ee52d,18 -1532,BOTTO-5BBA,BOTTO,Botto,0x9DFAD1b7102D46b1b197b90095B5c4E9f5845BBA,18 -1533,DACT-EBec,DACT,Dact Coin,0x343c6de13833bc7d9890eb6B1cd3FBeBC730EBec,9 -1534,MMAI-a90F,MMAI,MetamonkeyAi,0xaa0c5B3567fd1bac8a2a11EB16c3F81a49eea90F,7 -1535,CINO-6090,CINO,Cino Token,0x9b0B23b35AD8136E6181F22b346134cE5f426090,18 -1536,DOKI-7544,DOKI,DokiDokiFinance,0x9cEB84f92A0561fa3Cc4132aB9c0b76A59787544,18 -1537,TECH-5698,TECH,Cryptomeda,0x6286A9e6f7e745A6D884561D88F94542d6715698,18 -1538,CENT-35bc,CENT,Centaurify,0x08ba718F288c3b12B01146816bef9FA03cC635bc,18 -1539,MOON-4824,MOON,MoonToken,0x68a3637bA6E75c0f66B61A42639c4e9fCD3D4824,18 -1540,SWT-c29A,SWT,ShibWallet,0x1f05DeE43dF9fd0Cd7F4b011B20b04870a30c29A,18 -1541,TRADE-4fB1,TRADE,UniTrade,0x6F87D756DAf0503d08Eb8993686c7Fc01Dc44fB1,18 -1542,GENART-BaC8,GENART,GEN.ART,0x12E56851Ec22874520Dc4c7fa0A8a8d7DBa1BaC8,18 -1543,BASE-5fDC,BASE,Base Protocol,0x07150e919B4De5fD6a63DE1F9384828396f25fDC,9 -1544,SPHRI-b3Ec,SPHRI,Spherium Token,0x8A0cdfaB62eD35b836DC0633482798421C81b3Ec,18 -1545,LPT-B239,LPT,Livepeer Token,0x58b6A8A3302369DAEc383334672404Ee733aB239,18 -1546,MITx-1Db6,MITx,Morpheus Infrastructure Token,0x4a527d8fc13C5203AB24BA0944F4Cb14658D1Db6,18 -1547,CLIQ-6767,CLIQ,Cliq,0x0Def8d8addE14c9eF7c2a986dF3eA4Bd65826767,18 -1548,SHIBO-CDa2,SHIBO,Shibosu,0x38e3b07D607dEF629b4f3f46a0082006fdd6CDa2,18 -1549,ankrETH-c3cb,ankrETH,Ankr Staked ETH,0xE95A203B1a91a908F9B9CE46459d101078c2c3cb,18 -1550,STOS-Bdcc,STOS,Stratos Token,0x08c32b0726C5684024ea6e141C50aDe9690bBdcc,18 -1551,FCL-0EB3,FCL,Fractal Protocol Token,0xF4d861575ecC9493420A3f5a14F85B13f0b50EB3,18 -1552,SWAI-7eAe,SWAI,SchwiftAI,0x3540DFCaD7CF102a2E44AA0e2132FAb1c89d7eAe,18 -1553,TSX-9Bfd,TSX,TradeStars TSX,0x734C90044a0bA31B3F2e640c10dC5d3540499Bfd,18 -1554,RARE-6350,RARE,SuperRare,0xba5BDe662c17e2aDFF1075610382B9B691296350,18 -1555,A Birds Nest-873A,A Birds Nest,HOOT,0x12A7530D6f9e1a9B0351D78aB711f7C2c033873A,18 -1556,MoFi-7544,MoFi,MobiFi,0xB2dbF14D0b47ED3Ba02bDb7C954e05A72deB7544,18 -1557,$TRDL-188a,$TRDL,Strudel Finance,0x297D33e17e61C2Ddd812389C2105193f8348188a,18 -1558,DODO-4DDd,DODO,DODO bird,0x43Dfc4159D86F3A37A5A4B3D4580b888ad7d4DDd,18 -1559,Fortune-B015,Fortune,Fortune,0x9F009D03E1b7F02065017C90e8e0D5Cb378eB015,9 -1560,wLITI-5f93,wLITI,wLitiCapital,0x0b63128C40737B13647552e0C926bCFEccC35f93,18 -1561,GSWAP-f8B2,GSWAP,gameswap.org,0xaac41EC512808d64625576EDdd580e7Ea40ef8B2,18 -1562,HELIOS-01a1,HELIOS,Mission Helios,0xC6d1f1D5a46de07E73091f1c8793293B203f01a1,18 -1563,TEN-40E4,TEN,Tokenomy,0xDD16eC0F66E54d453e6756713E533355989040E4,18 -1564,LABRA-d600,LABRA,Labra,0x106d3C66d22D2DD0446df23D7F5960752994d600,9 -1565,SCAN-871b,SCAN,CoinScan,0x234D51eE02be808A0160b19b689660Fb7BFA871b,9 -1566,TXL-4b41,TXL,Tixl Token,0x8eEF5a82E6Aa222a60F009ac18c24EE12dBf4b41,18 -1567,ROGE-c80A,ROGE,Rogue Doge,0x45734927Fa2f616FbE19E65f42A0ef3d37d1c80A,9 -1568,SAITANOBI-F1C6,SAITANOBI,Saitanobi,0x5e9F35E8163c44cD7e606BdD716AbED32AD2F1C6,9 -1569,TONE-03c4,TONE,TE-FOOD/TustChain,0x2Ab6Bb8408ca3199B8Fa6C92d5b455F820Af03c4,18 -1570,GRC-53c6,GRC,GreenCoin,0x46D886887B6908183032c75dee1b731B26D653c6,18 -1571,HOKK-21E8,HOKK,Hokkaido Inu,0xe87e15B9c7d989474Cb6d8c56b3DB4eFAD5b21E8,18 -1572,HOICHI-d2b6,HOICHI,Hoichi 芳一,0xC4EE0aA2d993ca7C9263eCFa26c6f7e13009d2b6,18 -1573,BBANK-f267,BBANK,BlockBank,0xF4b5470523cCD314C6B9dA041076e7D79E0Df267,18 -1574,RIOT-2Eb4,RIOT,RIOT,0xf56408077487cB879c992909C5b5C66D68c02Eb4,18 -1575,PZ-38E0,PZ,Paradigm Zero,0x578Dc16c47327429fF1594fA3eB77A96F38438E0,9 -1576,WOLVERINU-5f14,WOLVERINU,WOLVERINU,0x7Cc97Bf17C5AdaBe25F9D19D15A1eC8A1ad65f14,18 -1577,EGGS-82e0,EGGS,Eggs,0x2e516BA5Bf3b7eE47fb99B09eaDb60BDE80a82e0,18 -1578,CARDS-52d9,CARDS,CARD.STARTER,0x3d6F0DEa3AC3C607B3998e6Ce14b6350721752d9,18 -1579,LFT-3F82,LFT,LendFlare DAO Token,0xB620Be8a1949AA9532e6a3510132864EF9Bc3F82,18 -1580,BUH-4427,BUH,BUHUND,0x66bcD0C22Bb15cD1bA7199C7a383DC89528f4427,18 -1581,$CHOO-F8A0,$CHOO,Chooky Inu,0x9c5476Af06590A9277C7706fe70c0a42A480F8A0,18 -1582,DFYN-9023,DFYN,DFYN Token,0x9695e0114e12C0d3A3636fAb5A18e6b737529023,18 -1583,ZINU-d508,ZINU,ZINU,0xC5FDf3569af74f3B3e97E46A187a626352D2d508,9 -1584,SHIBORG-a741,SHIBORG,Shibrobi,0x372C95CE229a7Af37D141F627d09f6Df1DbAa741,9 -1585,VALUE-8E5c,VALUE,Value Liquidity,0x49E833337ECe7aFE375e44F4E3e8481029218E5c,18 -1586,KEI-A842,KEI,keisukeinu.finance,0xc0114F14638a333A4D5C3b04F09b96372348A842,9 -1587,RDT-fCa3,RDT,Ridotto,0x4740735AA98Dc8aa232BD049f8F0210458E7fCa3,18 -1588,OIN-1259,OIN,oinfinance,0x9aeB50f542050172359A0e1a25a9933Bc8c01259,8 -1589,SWRV-D433,SWRV,Swerve DAO Token,0xB8BAa0e4287890a5F79863aB62b7F175ceCbD433,18 -1590,QSP-b80d,QSP,Quantstamp Token,0x99ea4dB9EE77ACD40B119BD1dC4E33e1C070b80d,18 -1591,RR-68eD,RR,Red Rabbit,0xfe98C2B85cAaFE841ca7Fa8b3B912a178A3f68eD,18 -1592,GDAO-86Bc,GDAO,Governor,0x515d7E9D75E2b76DB60F8a051Cd890eBa23286Bc,18 -1593,PTF-39F7,PTF,PowerTrade Fuel Token,0xC57d533c50bC22247d49a368880fb49a1caA39F7,18 -1594,HOGE-7607,HOGE,hoge.finance,0xfAd45E47083e4607302aa43c65fB3106F1cd7607,9 -1595,WWY-E322,WWY,WeWay Token,0x9Ab70e92319f0b9127df78868Fd3655fB9f1E322,18 -1596,WIZ-06B2,WIZ,WIZ,0x603778e5e07e180E300bD10df7fA626313a206B2,4 -1597,SHR-a964,SHR,ShareToken,0xd98F75b1A3261dab9eEd4956c93F33749027a964,2 -1598,KEEP-aFEC,KEEP,KEEP Token,0x85Eee30c52B0b379b046Fb0F85F4f3Dc3009aFEC,18 -1599,ARTEQ-c787,ARTEQ,arteQ NFT Investment Fund,0x805C2077f3ab224D889f9c3992B41B2F4722c787,0 -1600,NET-A71F,NET,DEFINET,0x77A9B858aA8417fd318ecEE01C1d6D9fEF31A71F,18 -1601,GME-5590,GME,GameStop.Finance,0x9eb6bE354d88fD88795a04DE899a57A77C545590,18 -1602,VADER-0983,VADER,Vader,0x2602278EE1882889B946eb11DC0E810075650983,18 -1603,BARD-14DF,BARD,Bard Protocol,0x9E7e87608A34Bc66396D53e69B9495Bd8f5414DF,9 -1604,THEOS-Da1d,THEOS,THEOS,0x9e10f61749c4952C320412A6B26901605Ff6Da1d,18 -1605,BLOCK-E-0a60,BLOCK-E,BLOCK-E,0xa9f9aCB92E4E2f16410511D56839A5Bd1d630a60,9 -1606,CINU-8c32,CINU,CheemsInu,0xA64D5d1eB67748226d84812B45711453f1118c32,9 -1607,VOLT-58Ac,VOLT,Volt Inu,0x7db5af2B9624e1b3B4Bb69D6DeBd9aD1016A58Ac,9 -1608,oDOGE-EaBC,oDOGE,Ordinal Doge,0x796a4503b444A71b331c9556bEF0815237ddEaBC,18 -1609,BC-2Ae9,BC,Bitcoin,0xe03B2642A5111aD0EFc0cbCe766498c2dd562Ae9,9 -1610,DANDY-9B82,DANDY,dandy.dego,0x9Dfc4B433D359024Eb3E810d77d60fbE8B0d9B82,18 -1611,SIDUS-1102,SIDUS,SIDUS,0x549020a9Cb845220D66d3E9c6D9F9eF61C981102,18 -1612,TheRadio-622C,TheRadio,Radioreum,0xAA2DEd323944b25C0B6f1F891Bc96F010b65622C,18 -1613,HXRO-38f3,HXRO,Hxro,0x4bD70556ae3F8a6eC6C4080A0C327B24325438f3,18 -1614,NORD-a0DE,NORD,Nord Token,0x6e9730EcFfBed43fD876A264C982e254ef05a0DE,18 -1615,PoA-B8cE,PoA,Proof Of Apes,0x1d2d542e6D9d85A712deB4D1a7D96a16CE00B8cE,18 -1616,LEAD-C4ce,LEAD,Lead Token,0x1dD80016e3d4ae146Ee2EBB484e8edD92dacC4ce,18 -1617,imBTC-8923,imBTC,The Tokenized Bitcoin,0x3212b29E33587A00FB1C83346f5dBFA69A458923,8 -1618,AXL-C0E0,AXL,AXL INU,0x25b24B3c47918b7962B3e49C4F468367F73CC0E0,18 -1619,BCUBE-0A93,BCUBE,b-cube.ai Token,0x93C9175E26F57d2888c7Df8B470C9eeA5C0b0A93,18 -1620,TOR-7056,TOR,Tor Wallet,0x35073CA7bAC0c2eDf58fb34A2CBC39Ea2fbB7056,18 -1621,SCX-bF21,SCX,Scarcity,0x1B8568FbB47708E9E9D31Ff303254f748805bF21,18 -1622,MAGIC-Ac9A,MAGIC,MAGIC,0xB0c7a3Ba49C7a6EaBa6cD4a96C55a1391070Ac9A,18 -1623,SARCO-F51A,SARCO,Sarcophagus,0x7697B462A7c4Ff5F8b55BDBC2F4076c2aF9cF51A,18 -1624,BRIGHT-af55,BRIGHT,Bright Union,0xBEaB712832112bd7664226db7CD025B153D3af55,18 -1625,wSIENNA-64f9,wSIENNA,Sienna (ERC20),0x9b00e6E8D787b13756eb919786c9745054DB64f9,18 -1626,BALTO-8dBC,BALTO,Balto Token,0x5955f7d312c5d84B004d259D55072C4F0A478dBC,18 -1627,SHIH-1465,SHIH,Shih Tzu,0x841FB148863454A3b3570f515414759BE9091465,18 -1628,SWIFY-f2fB,SWIFY,Swapify,0x9C7376b5060C47E555f5F53005aA3D5A7C66f2fB,9 -1629,EVN-A7ec,EVN,Evn Token,0x9aF15D7B8776fa296019979E70a5BE53c714A7ec,18 -1630,mefi-Ec07,mefi,The meme finance,0xe13879194578C6F1A591a96C45B65022c43CEc07,9 -1631,PLSB-8D06,PLSB,PulseBitcoin,0x5EE84583f67D5EcEa5420dBb42b462896E7f8D06,12 -1632,TOKU-BD82,TOKU,Toku,0x9eEC1A4814323a7396c938bc86aeC46b97F1BD82,18 -1633,MRI-c977,MRI,Marshall Rogan Inu,0x0913dDAE242839f8995c0375493f9a1A3Bddc977,18 -1634,ALPA-514A,ALPA,AlpaToken,0x7cA4408137eb639570F8E647d9bD7B7E8717514A,18 -1635,TOKE-8C94,TOKE,Tokemak,0x2e9d63788249371f1DFC918a52f8d799F4a38C94,18 -1636,TOS-7B48,TOS,TOSA INU,0x34748FEDAd669C788aaBe4fb325A4587941F7B48,18 -1637,DOWS-c559,DOWS,Shadows Network,0x661Ab0Ed68000491d98C796146bcF28c20d7c559,18 -1638,MIKAWA-6A26,MIKAWA,Mikawa Inu,0x0888Fd2960Ddf57Cfb561B59d73Dd2b9524F6A26,9 -1639,DOV-79b1,DOV,DOVU,0xac3211a5025414Af2866FF09c23FC18bc97e79b1,18 -1640,eQUAD-7DF2,eQUAD,QuadrantProtocol,0xC28e931814725BbEB9e670676FaBBCb694Fe7DF2,18 -1641,RVP-D48a,RVP,RevolutionPopuli ERC20 Token,0x17EF75AA22dD5f6C2763b8304Ab24f40eE54D48a,18 -1642,NAME-d842,NAME,Polkadomain Token,0xe1A4c5BBb704a92599FEdB191f451E0d3a1ed842,18 -1643,DGVC-7b30,DGVC,DegenVC,0x26E43759551333e57F073bb0772F50329A957b30,18 -1644,EQX-8B15,EQX,EQIFi Token,0xBd3de9a069648c84d27d74d701C9fa3253098B15,18 -1645,cETH-0ED5,cETH,Compound Ether,0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5,8 -1646,AXI-c39a,AXI,Axioms,0x73EE6D7e6b203125aDd89320E9F343d65ec7c39a,18 -1647,ZERO-9bf8,ZERO,ZERO,0x0eC78ED49C2D27b315D462d43B5BAB94d2C79bf8,18 -1648,BNF-1057,BNF,BonFi,0x1DE5e000C41C8d35b9f1f4985C23988f05831057,18 -1649,TIGER-337F,TIGER,TigerCoin,0xB83c27805aAcA5C7082eB45C868d955Cf04C337F,18 -1650,SHINJA-84ed,SHINJA,Shibnobi,0x7DAc25b1A665e1c70F25F1fC37d88C99274984ed,9 -1651,WOLFY-e36f,WOLFY,WOLFYCOIN,0x7DbbCaE15d4DB168e01673400D7844870cc1e36f,9 -1652,INV-FB68,INV,Inverse DAO,0x41D5D79431A913C4aE7d69a668ecdfE5fF9DFB68,18 -1653,REVO-1409,REVO,Revomon,0x155040625D7ae3e9caDA9a73E3E44f76D3Ed1409,18 -1654,( ͡° ͜ʖ ͡°)-1c4c,( ͡° ͜ʖ ͡°),Lenny Face,0xDadb4aE5B5D3099Dd1f586f990B845F2404A1c4c,18 -1655,DEGEN-c855,DEGEN,DEGEN Index,0x126c121f99e1E211dF2e5f8De2d96Fa36647c855,18 -1656,GFARM2-1e1B,GFARM2,Gains V2,0x831091dA075665168E01898c6DAC004A867f1e1B,18 -1657,GUM-0f24,GUM,GourmetGalaxy,0x4f5fa8f2d12e5eB780f6082Dd656C565C48E0f24,18 -1658,ROCKI-aa04,ROCKI,ROCKI,0xFf44b937788215ecA197BAaf9AF69dbdC214aa04,18 -1659,LOCG-27d0,LOCG,LOCGame,0x60Eb57d085C59932d5fAa6c6026268A4386927d0,18 -1660,ZRO-E5e0,ZRO,PROTOCOL ZERO,0xd79F43113B22D1eA9F29cfcC7BB287489F8EE5e0,18 -1661,PBR-d695,PBR,PolkaBridge,0x298d492e8c1d909D3F63Bc4A36C66c64ACB3d695,18 -1662,MVI-34D7,MVI,Metaverse Index,0x72e364F2ABdC788b7E918bc238B21f109Cd634D7,18 -1663,DOUGH-7b2D,DOUGH,PieDAO DOUGH v2,0xad32A8e6220741182940c5aBF610bDE99E737b2D,18 -1664,RFuel-36E5,RFuel,Rio Fuel Token,0xaf9f549774ecEDbD0966C52f250aCc548D3F36E5,18 -1665,CTCN-1FD8,CTCN,Contracoin,0xFD6C31bb6F05Fc8dB64F4b740Ab758605c271FD8,18 -1666,aDAI-f85d,aDAI,Aave Interest bearing DAI,0xfC1E690f61EFd961294b3e1Ce3313fBD8aa4f85d,18 -1667,LKT-BA69,LKT,Locker Token,0xd3E133a0A14Bb8B595e5Fbf9851c7c783685BA69,18 -1668,KIBA-af3c,KIBA,Kiba Inu,0x005D1123878Fc55fbd56b54C73963b234a64af3c,18 -1669,GIGA-9cea,GIGA,GigaSwap,0x83249c6794BCa5a77Eb8c0AF9F1A86E055459cea,9 -1670,ADX-B7c3,ADX,AdEx Network,0xADE00C28244d5CE17D72E40330B1c318cD12B7c3,18 -1671,DOBE-A3d5,DOBE,Dobermann,0xe7aB45162f5979F09B0bDa1CC7DfC97C270EA3d5,18 -1672,VAI-395c,VAI,VAIOT Token,0xD13cfD3133239a3c73a9E535A5c4DadEE36b395c,18 -1673,YMNT-C254,YMNT,Yamanote-Sen,0xe59A1fe295f940E5226DcF6411Ef2Bdf3089C254,9 -1674,DOGGER-5Cbe,DOGGER,Dogger Token,0xb3Cc3d7E656893F22d2372b0aE57106F6b155Cbe,18 -1675,rHEGIC2-eE5f,rHEGIC2,HEGICTokenIOU Phase II,0xAd7Ca17e23f13982796D27d1E6406366Def6eE5f,18 -1676,BITE-D88D,BITE,DragonBite,0x4eED0fa8dE12D5a86517f214C2f11586Ba2ED88D,18 -1677,SHINSHU-cC0A,SHINSHU,Shinshu Inu,0x2965395F71B7d97ede251E9B63e44dfA9647cC0A,18 -1678,TRIB-5Af0,TRIB,Contribute,0xe09216F1d343Dd39D6Aa732a08036fee48555Af0,18 -1679,ASTRAL-28a1,ASTRAL,Astral AI Project,0xC74B43cC61b627667a608c3F650c2558F88028a1,18 -1680,SMI-2214,SMI,SafeMoon Inu,0xCd7492db29E2ab436e819b249452EE1bbDf52214,8 -1681,DREAM-7d02,DREAM,DREAM,0xb44377B74Ef1773639B663d0754cB8410A847d02,18 -1682,SAT-1332,SAT,SoMee Advertising Token V2,0xc9F1016d336ef77AeE75Fc11Ad64C5Ecf9121332,18 -1683,JSHIBA-4c7c,JSHIBA,Jomon Shiba,0x1426cC6D52D1B14e2B3b1Cb04d57ea42B39c4c7c,9 -1684,DTH-c924,DTH,DeathWolf,0x0cf75471B0FbF76A315A75eBDa6600ab92Fdc924,18 -1685,KEL-5432,KEL,KelVpn Token,0x4ABB9cC67BD3da9Eb966d1159A71a0e68BD15432,18 -1686,BLANK-9666,BLANK,GoBlank Token,0x41A3Dba3D677E573636BA691a70ff2D606c29666,18 -1687,NAOS-4496,NAOS,NAOSToken,0x4a615bB7166210CCe20E6642a6f8Fb5d4D044496,18 -1688,MOAR-701a,MOAR,MOAR Finance,0x187Eff9690E1F1A61d578C7c492296eaAB82701a,18 -1689,VAL-d1E4,VAL,Sora Validator Token,0xe88f8313e61A97cEc1871EE37fBbe2a8bf3ed1E4,18 -1690,LKR-CDcf,LKR,Polkalokr,0x80CE3027a70e0A928d9268994e9B85d03Bd4CDcf,18 -1691,ARCHIE-8f90,ARCHIE,Archie Neko,0xFE5F69dfa2d4501E78078266F6d430c079098f90,9 -1692,DZOO-ca83,DZOO,DegenZoo,0xc97d6C52F3ADD91Fa1c5287a453d7444aECBca83,18 -1693,ZAP-b104,ZAP,ZAP TOKEN,0x6781a0F84c7E9e846DCb84A9a5bd49333067b104,18 -1694,INSURE-393E,INSURE,InsureToken,0xd83AE04c9eD29d6D3E6Bf720C71bc7BeB424393E,18 -1695,TQUEEN-73fC,TQUEEN,TigerQueen,0x1C720999A4F8B2B0E9199039D353D2c9A77A73fC,18 -1696,DMTR-4fdB,DMTR,Dimitra Token,0x51cB253744189f11241becb29BeDd3F1b5384fdB,18 -1697,BABYSAITAMA-f045,BABYSAITAMA,Baby Saitama Inu,0xf79F9020560963422eCC9C0c04D3a21190BBf045,9 -1698,AllIn-3Ebe,AllIn,All In,0x9B2b931d6AB97B6A887b2C5d8529537E6FE73Ebe,9 -1699,DBUY-5782,DBUY,Doont Buy,0x4EcE5C5CfB9B960A49aAe739E15cDB6cfDcc5782,9 -1700,OKAGE-89eC,OKAGE,Okage Inu,0x8dfc8cc3201425669FaE803e1eB125cddd4189eC,18 -1701,NU-A4Cc,NU,NuCypher,0x4fE83213D56308330EC302a8BD641f1d0113A4Cc,18 -1702,LIT-9723,LIT,Litentry,0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723,18 -1703,ARC-e7c2,ARC,ARC,0xC82E3dB60A52CF7529253b4eC688f631aad9e7c2,18 -1704,KALLY-AD07,KALLY,Polkally,0xfd30C9BEA1A952FEeEd2eF2C6B2Ff8A8FC4aAD07,18 -1705,LSS-E320,LSS,Lossless Token,0x3B9BE07d622aCcAEd78f479BC0EDabFd6397E320,18 -1706,MFC-5820,MFC,Marshall Fighting Championship,0x337DD23d05c27bff099d3604938BFc23A9B25820,18 -1707,DIGI-d848,DIGI,Digi,0x3CbF23c081fAA5419810ce0F6BC1ECb73006d848,18 -1708,SNOW-79AE,SNOW,SnowSwap,0xfe9A29aB92522D14Fc65880d817214261D8479AE,18 -1709,RVF-96D2,RVF,Rocket Vault,0xdc8aF07A7861bedD104B8093Ae3e9376fc8596D2,18 -1710,BOWL-5794,BOWL,BOWL SHIBARIUM,0x760Ea31711aC14cb9Ba81aC25453C6f378fA5794,9 -1711,KENNEL-039a,KENNEL,Kennel,0x25d4e7fe624FcC6E7F0b52D142F40c9ACEcF039a,18 -1712,SYN-8BD9,SYN,SynLev,0x1695936d6a953df699C38CA21c2140d497C08BD9,18 -1713,TNGL-C1C2,TNGL,Tangle,0x5aF28EB9deC75e86CDFBD2e41a474b54B211C1C2,9 -1714,SHFT-6d19,SHFT,Shibcraft,0xF5a56bD9Ee4a3E2D493ab8e072658794B38b6d19,18 -1715,MEL-4892,MEL,Melalie,0xed0889F7E1c7C7267407222Be277e1f1Ef4d4892,18 -1716,AVG-311f,AVG,Avocado DAO Token,0xa41F142b6eb2b164f8164CAE0716892Ce02f311f,18 -1717,BTFA-C133,BTFA,Banana Task Force Ape,0xC631bE100F6Cf9A7012C23De5a6ccb990EAFC133,9 -1718,ROBO-3061,ROBO,Robo Token,0x6FC2f1044A3b9bB3e43A43EC8F840843Ed753061,18 -1719,URQA-3136,URQA,UREEQA Token,0x1735Db6AB5BAa19eA55d0AdcEeD7bcDc008B3136,18 -1720,BAO-9F3A,BAO,Bao Token V2,0xCe391315b414D4c7555956120461D21808A69F3A,18 -1721,X7103-c105,X7103,X7103,0x7103eBdbF1f89be2d53EFF9B3CF996C9E775c105,18 -1722,IAG-1Fc8,IAG,IAGON,0x40EB746DEE876aC1E78697b7Ca85142D178A1Fc8,18 -1723,HIKARI-4e39,HIKARI,HIKARI,0xd4126f195a8de772EeFfa61a4aB6dd43462F4e39,18 -1724,Shibgun-929c,Shibgun,Shibagun,0xa3BA969DD831D4eFf2bAF930e7F66D2eef5D929c,18 -1725,rushAI-c45B,rushAI,AlphaRushAI,0x69d47846bb7B884062FaBc08A4A7dEADCd98c45B,18 -1726,FND-f17e,FND,Foundation,0xB13d747d783BF1A9F1D65Df74C080C890045f17e,7 -1727,RAMP-Ed9f,RAMP,RAMP DEFI,0x33D0568941C0C64ff7e0FB4fbA0B11BD37deEd9f,18 -1728,ZORA-5ae6,ZORA,Zoracles,0xD8E3FB3b08eBA982F2754988d70D57eDc0055ae6,9 -1729,VXL-2b31,VXL,Voxel X Network,0x16CC8367055aE7e9157DBcB9d86Fd6CE82522b31,18 -1730,KEYS-86ff,KEYS,Keys,0xe0a189C975e4928222978A74517442239a0b86ff,9 -1731,SER-8fDC,SER,Serum,0xb19189Fb36c816f3e0f16065057B07B790998fDC,18 -1732,NEURONI-f332,NEURONI,Neuroni.AI,0x922e2708462c7a3d014D8344F7C4d92b27ECf332,18 -1733,TTX-4D9B,TTX,TTX NFT,0xeF2e239b21A81719abAabC6239e2e90859B44D9B,18 -1734,BabyDoge-460B,BabyDoge,Baby Doge Coin,0xAC57De9C1A09FeC648E93EB98875B212DB0d460B,9 -1735,wALV-D497,wALV,Alvey Chain,0x256D1fCE1b1221e8398f65F9B36033CE50B2D497,18 -1736,BNSD-0188,BNSD,bns.finance,0x668DbF100635f593A3847c0bDaF21f0a09380188,18 -1737,ODA-5d90,ODA,Eiichiro Oda,0x0C6Bf55F60143Fa1dA202AC8c9b8Ce484b5a5d90,18 -1738,CVP-DcA1,CVP,Concentrated Voting Power,0x38e4adB44ef08F22F5B5b76A8f0c2d0dCbE7DcA1,18 -1739,RABBIT-Fd35,RABBIT,Rabbit2023,0x706f280Cdb92260fe2D50EDA545F834ff1fbFd35,9 -1740,$XMU-D2cF,$XMU,Mushe,0x56123908ACA89bf60cE9659aE9F4589E46c8D2cF,9 -1741,KIT-B4F4,KIT,DexKit,0x7866E48C74CbFB8183cd1a929cd9b95a7a5CB4F4,18 -1742,RAZOR-d2cd,RAZOR,RAZOR,0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd,18 -1743,DOP-A2ef,DOP,Drops Ownership Power,0x6bB61215298F296C55b19Ad842D3Df69021DA2ef,18 -1744,GZLR-7632,GZLR,Guzzler,0x9f4909Cc95FB870BF48C128C1Fdbb5F482797632,18 -1745,DINERO-Be79,DINERO,DINERO,0xa3ad8c7AB6b731045b5b16E3fDf77975c71ABe79,18 -1746,IND-3705,IND,Indorse Token,0xf8e386EDa857484f5a12e4B5DAa9984E06E73705,18 -1747,AVS-b3b2,AVS,AlgoVest,0x94d916873B22C9C1b53695f1c002F78537B9b3b2,18 -1748,BFIGHT-d657,BFIGHT,BARFIGHT,0x6B5DDe2c94EcC10C93e8A44288bEFAD2a89bd657,9 -1749,XY-50DE,XY,XY Token,0x77777777772cf0455fB38eE0e75f38034dFa50DE,18 -1750,TON-520a,TON,TONToken,0x6a6c2adA3Ce053561C2FbC3eE211F23d9b8C520a,18 -1751,IC-6457,IC,Icy,0xA876f27F13A9eB6E621202cEFDD5AFc4a90E6457,9 -1752,HOBBES-4140,HOBBES,Hobbes,0x819c1A1568934Ee59d9F3C8B9640908556c44140,18 -1753,SMOL-030e,SMOL,smolting inu,0x553539d40AE81FD0d9C4b991B0b77bE6f6Bc030e,18 -1754,NFT-850a,NFT,APENFT,0x198d14F2Ad9CE69E76ea330B374DE4957C3F850a,6 -1755,BTCP-f5Ab,BTCP,BitcoinPro,0x723CbfC05e2cfcc71d3d89e770D32801A5eEf5Ab,8 -1756,UPI-B67c,UPI,Pawtocol Network UPI Token,0x70D2b7C19352bB76e4409858FF5746e500f2B67c,18 -1757,WIZ-edF2,WIZ,BlueWizard,0x33d20575f20C6A1881F8ab08E69F6fbAFfAEedF2,12 -1758,IPOR-9090,IPOR,IPOR Token,0x1e4746dC744503b53b4A082cB3607B169a289090,18 -1759,INUBIS-604c,INUBIS,Inubis,0x3667d6B1AEE4f96b608EE365FdA9fa5BA866604c,9 -1760,UCO-21fa,UCO,UnirisToken,0x8a3d77e9d6968b780564936d15B09805827C21fa,18 -1761,Dubbz-Da17,Dubbz,Dubbz,0x38029C62DfA30D9FD3CaDf4C64e9b2ab21DbDa17,18 -1762,FREN-583A,FREN,FrenChain,0x8e14c88aB0644eF41bd7138ab91C0160D8c1583A,18 -1763,BitANT-D1a6,BitANT,BitANT,0x15Ee120fD69BEc86C1d38502299af7366a41D1a6,18 -1764,KAWA-60Ec,KAWA,Kawakami,0x5552E5a89A70cB2eF5AdBbC45a6BE442fE7160Ec,9 -1765,ALOHA-FabE,ALOHA,ALOHA,0x455F7Ef6D8BCfc35f9337e85aEe1B0600a59FabE,18 -1766,HUSL-26be,HUSL,The HUSL,0xa2881F7F441267042f9778fFA0d4F834693426be,18 -1767,RVST-d4bA,RVST,Revest,0x120a3879da835A5aF037bB2d1456beBd6B54d4bA,18 -1768,DPX-dC81,DPX,Dopex Governance Token,0xEec2bE5c91ae7f8a338e1e5f3b5DE49d07AfdC81,18 -1769,$ADS-001f,$ADS,Alkimi Exchange,0x3106a0a076BeDAE847652F42ef07FD58589E001f,18 -1770,MXC-386e,MXC,MXCToken,0x5Ca381bBfb58f0092df149bD3D243b08B9a8386e,18 -1771,YORI-4661,YORI,The Path Of Light,0x1Ab052Db3216835182926A6d516762B0f1634661,9 -1772,ETH2.0-9fE8,ETH2.0,Proof of Memes,0x04A6b6DE116Fb8bF57e5eE8b05e0293EA3639fE8,18 -1773,CHAIN-81c4,CHAIN,Chain Games,0xC4C2614E694cF534D407Ee49F8E44D125E4681c4,18 -1774,CATAI-8d17,CATAI,Catgirl AI,0xBC1A4555745e9C5334eBF9DcfEC0B51285aF8d17,18 -1775,BPTL-62BF,BPTL,BPTL,0x3a1BC4014C4C493DB3dBfBDD8ee1417113b462BF,18 -1776,FMT-A54C,FMT,Finminity,0x99c6e435eC259A7E8d65E1955C9423DB624bA54C,18 -1777,PUBLX-33E8,PUBLX,PUBLX,0x1a6658F40e51b372E593B7d2144c1402d5cf33E8,18 -1778,STARS-180D,STARS,StarShip,0x7CCFeEF4F0Ff48B0E0abD19bBBebae90939f180D,18 -1779,WINRY-9F30,WINRY,Winry Inu,0x1a87077C4F834884691B8ba4fc808D2eC93A9F30,9 -1780,WILD-0e34,WILD,Wilder,0x2a3bFF78B79A009976EeA096a51A948a3dC00e34,18 -1781,SMBR-62Dd,SMBR,SOMBRA,0x16B3E050e9e2f0Ac4f1BEA1b3E4fdc43d7f062Dd,9 -1782,IDRT-b48A,IDRT,Rupiah Token,0x998FFE1E43fAcffb941dc337dD0468d52bA5b48A,2 -1783,SENATE-4470,SENATE,SENATE,0x34Be5b8C30eE4fDe069DC878989686aBE9884470,18 -1784,KONO-7Df4,KONO,Konomi,0x850aAB69f0e0171A9a49dB8BE3E71351c8247Df4,18 -1785,MP3-e7a0,MP3,mp3,0x018fb5Af9d015Af25592a014C4266a84143De7a0,18 -1786,TKINU-9F14,TKINU,Tsuki Inu,0xda23d301761E4e2bF474951f978f6DFB6F3C9F14,9 -1787,GINU-B306,GINU,GiveWell Inu,0x74bE64B45D394FA57816c1950E94dBB8d7A7B306,9 -1788,M-b2d5,M,M,0xC3E486F614e297d8E016aC2805e81707C627b2d5,18 -1789,EXRT-9925,EXRT,EXRT,0xb20043F149817bff5322F1b928e89aBFC65A9925,8 -1790,WAIF-4b20,WAIF,Waifu,0xB2279B6769CFBa691416F00609b16244c0cF4b20,18 -1791,RJV-adaB,RJV,Rejuve Token,0x02c3296C6eb50249f290AE596F2bE9454bFfadaB,6 -1792,LITH-4a42,LITH,Lithium,0x188E817B02e635D482AE4D81e25DdA98A97C4a42,18 -1793,HEROS-6f62,HEROS,Heros Token,0xb622400807765e73107B7196F444866D7EdF6f62,9 -1794,STRNGR-CF38,STRNGR,Stronger,0xDc0327D50E6C73db2F8117760592C8BBf1CDCF38,18 -1795,SHFT-2D85,SHFT,Shyft [ Wrapped ],0xb17C88bDA07D28B3838E0c1dE6a30eAfBCF52D85,18 -1796,BETTER-319A,BETTER,Better Money,0xA7925aA2A6e4575ab0C74D169f3BC3e03D4C319A,4 -1797,Mikaboshi-63f4,Mikaboshi,Amatsu-Mikaboshi,0xaE86f48c0B00F2a3eaeF4ba4c23d17368f0f63f4,18 -1798,SNT-5B9E,SNT,Status Network Token,0x744d70FDBE2Ba4CF95131626614a1763DF805B9E,18 -1799,FREE-f526,FREE,Ross Ulbricht Genesis Collection,0x4CD0c43B0D53bc318cc5342b77EB6f124E47f526,18 -1800,dKUMA-A3a8,dKUMA,KumaDex Token,0x3f5dd1A1538a4F9f82E543098f01F22480B0A3a8,18 -1801,ITS-21C4,ITS,IterationSyndicate,0xC32cC5b70BEe4bd54Aa62B9Aefb91346d18821C4,18 -1802,MOUSEWORM-5dA8,MOUSEWORM,MouseWorm,0xA848a1D33D8ef1633397A6acf617620fab8E5dA8,6 -1803,VERSE-dC0a,VERSE,Shibaverse,0x7aE0d42f23C33338dE15bFa89C7405c068d9dC0a,18 -1804,ALEX-5315,ALEX,AlexMasmej,0x8BA6DcC667d3FF64C1A2123cE72FF5F0199E5315,4 -1805,UMI-C69C,UMI,UmiToken,0x61107a409fFFe1965126aa456Af679719695C69C,18 -1806,milkAI-4F39,milkAI,milkAI,0x9f826324bb9BdcF7E7Eb274BEDc417BD45D74F39,8 -1807,JULIEN-332B,JULIEN,Julien,0xe6710e0CdA178f3D921f456902707B0d4C4A332B,4 -1808,STOP-f4Ee,STOP,SatoPay,0x8c3eE4F778E282B59D42d693A97b80b1ed80f4Ee,18 -1809,DRYP-b027,DRYP,Dripto,0xBE1fa1303e2979Ab4d4e5dF3D1c6e3656ACAb027,18 -1810,TLOS-AC88,TLOS,pTokens TLOS,0x7825e833D495F3d1c28872415a4aee339D26AC88,18 -1811,MUTE-400c,MUTE,Mute.io,0xA49d7499271aE71cd8aB9Ac515e6694C755d400c,18 -1812,LTX-d092,LTX,Lattice Token,0xa393473d64d2F9F026B60b6Df7859A689715d092,8 -1813,TWOPAW-47e8,TWOPAW,TWOPAW Token,0xf7de6DEf3D319811418d69Bf56c532A815FC47e8,18 -1814,BEZOGE-f695,BEZOGE,Bezoge Earth,0xDC349913d53b446485E98b76800b6254f43Df695,9 -1815,ESS-40f7,ESS,ESSENTIA,0xfc05987bd2be489ACCF0f509E44B0145d68240f7,18 -1816,KAI-C093,KAI,KardiaChain Token,0xD9Ec3ff1f8be459Bb9369b4E79e9Ebcf7141C093,18 -1817,VIDT-7Bb1,VIDT,VIDT Datalink,0xfeF4185594457050cC9c23980d301908FE057Bb1,18 -1818,CHIRO-775c,CHIRO,Chihiro Inu,0x35156b404C3f9bdaf45ab65Ba315419bcDe3775c,9 -1819,YAE-1EAF,YAE,Cryptonovae,0x4eE438be38F8682ABB089F2BFeA48851C5E71EAF,18 -1820,DEP-8163,DEP,DEAPCOIN,0x1A3496C18d558bd9C6C8f609E1B129f67AB08163,18 -1821,YAX-A289,YAX,yAxis,0xb1dC9124c395c1e97773ab855d66E879f053A289,18 -1822,REKT-362b,REKT,RektSkulls,0x8a7664E782860E856031D6c31EB3bde721Bc362b,18 -1823,YUP-BCC9,YUP,YUP,0x69bBC3F8787d573F1BBDd0a5f40C7bA0Aee9BCC9,18 -1824,wBAN-A034,wBAN,Wrapped Banano,0xe20B9e246db5a0d21BF9209E4858Bc9A3ff7A034,18 -1825,ZKP-c5B3,ZKP,zkProof,0x09637E374Ec5baB8C9e9654a97C9593e3038c5B3,9 -1826,ARCAI-b5E9,ARCAI,Archive AI,0x5c8190b76E90B4DD0702740cF6Eb0F7eE01Ab5E9,9 -1827,GETH-74B8,GETH,Guarded Ether,0x3802c218221390025BCEABBaD5D8C59F40eB74B8,18 -1828,BCUG-E9AF,BCUG,Blockchain Cuties Universe Governance Token,0x14Da7b27b2E0FedEfe0a664118b0c9bc68e2E9AF,18 -1829,VAB-9a04,VAB,Vabble,0xe7aE6D0C56CACaf007b7e4d312f9af686a9E9a04,18 -1830,T-Bba1,T,T,0x5b985B4F827072FebE33091b42729522B557Bba1,18 -1831,UNN-3a9D,UNN,UNION Protocol Governance Token,0x226f7b842E0F0120b7E194D05432b3fd14773a9D,18 -1832,DHP-920d,DHP,dHealth,0xc40F23A3E9613E012944f7957edCe97899Fa920d,18 -1833,PHNX-F2f7,PHNX,PhoenixDAO,0x38A2fDc11f526Ddd5a607C1F251C065f40fBF2f7,18 -1834,PERL-0318,PERL,Perlin,0xeca82185adCE47f39c684352B0439f030f860318,18 -1835,AST-A75a,AST,AirSwap Token,0x27054b13b1B798B345b591a4d22e6562d47eA75a,4 -1836,DONUT-54A9,DONUT,Donut,0xC0F9bD5Fa5698B6505F643900FFA515Ea5dF54A9,18 -1837,kSEED-0850,kSEED,KUSH.FINANCE,0x3F09400313e83d53366147e3ea0e4e2279D80850,18 -1838,MTHD-a169,MTHD,Method,0x84bA4aEcfDe39D69686a841BAb434C32d179a169,18 -1839,MIMIR-383C,MIMIR,Mimir Token,0x71dc40668682a124231301414167E4CF7f55383C,18 -1840,ESS-8b3e,ESS,Empty Set Share,0x24aE124c4CC33D6791F8E8B63520ed7107ac8b3e,18 -1841,FTM-7870,FTM,Fantom Token,0x4E15361FD6b4BB609Fa63C81A2be19d873717870,18 -1842,WQT-95bF,WQT,Work Quest Token,0x06677Dc4fE12d3ba3C7CCfD0dF8Cd45e4D4095bF,18 -1843,STREETH-DfA5,STREETH,STREETH,0xB840d10D840eF47c233FEC1fd040F5B145a6DfA5,18 -1844,ROCK-42BC,ROCK,MoonRock,0x1a6921F7B92113c79306f1A9E148D83445ac42BC,9 -1845,MEME-a8Db,MEME,MEME Inu.,0x74B988156925937bD4E082f0eD7429Da8eAea8Db,18 -1846,GWD-A56b,GWD,GreenWorld,0x674c964AC0E89d847d6B0aBd144b797bf78BA56b,6 -1847,NCT-246E,NCT,NameChangeToken,0x8A9c4dfe8b9D8962B31e4e16F8321C44d48e246E,18 -1848,BDS-1100,BDS,Black Dragon Society,0x1856BC58f5511269aFE2CA1e89Bf08CBDCD01100,18 -1849,buidl-63db,buidl,dfohub,0x7b123f53421b1bF8533339BFBdc7C98aA94163db,18 -1850,LAYER-366b,LAYER,Unilayer,0x0fF6ffcFDa92c53F615a4A75D982f399C989366b,18 -1851,HANDY-684c,HANDY,Handy Token,0x8bbe1a2961B41340468D0548c2cd5B7DFA9b684c,18 -1852,dART-dDBF,dART,dART Token,0x5a4623F305A8d7904ED68638AF3B4328678edDBF,18 -1853,FIFTY-c3aa,FIFTY,FIFTYONEFIFTY,0xf7DD746A613Fb6362D44eCEDEB743f62ade6c3aa,9 -1854,AI-7D80,AI,Chat AI,0xa89Bf95c5f15a847c8Eb8D348cd7feD719AD7D80,18 -1855,ORN-434a,ORN,Orion Protocol,0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a,8 -1856,FST-3606,FST,Futureswap Token,0x0E192d382a36De7011F795Acc4391Cd302003606,18 -1857,WELD-6dE0,WELD,Weld.Money,0xDD2a36AE937bc134ea694d77fC7e2E36f5d86dE0,18 -1858,ERN-3505,ERN,@EthernityChain $ERN Token,0xBBc2AE13b23d715c30720F079fcd9B4a74093505,18 -1859,Gold 1-E5B0,Gold 1,Teh Golden One,0x0Ec72CD6690db40B16be166858299F19D4f8E5B0,9 -1860,YourWallet-C429,YourWallet,YourWallet,0xDa70FBaC9e1C9Ac3475c24A3A847f85f1388C429,18 -1861,GTR-61c6,GTR,Ghost Trader,0x32DebF31D5ED90ca2e287D306fc23FaFAD9361c6,18 -1862,arNXM-b1dD,arNXM,Armor NXM,0x1337DEF18C680aF1f9f45cBcab6309562975b1dD,18 -1863,PIF-6513,PIF,Play It Forward DAO,0xB30F5d11b94efBBfDeaa4de38eDFFCeEc0bE6513,18 -1864,KMT-0f0f,KMT,FiveKM KMT,0x184b6f31aeAa6a19Eb207dFeA01F4289629e0f0f,18 -1865,NCT-33d1,NCT,Nectar,0x9E46A38F5DaaBe8683E10793b06749EEF7D733d1,18 -1866,DGRN-8115,DGRN,Degrain,0x71E368Ed06814Bf35d4E663eFf946400a5BC8115,18 -1867,STACY-B327,STACY,Stacy,0xf12EC0D3Dab64DdEfBdC96474bDe25af3FE1B327,18 -1868,eSOV-F7a5,eSOV,eSOV,0xbdab72602e9AD40FC6a6852CAf43258113B8F7a5,18 -1869,GALA-03dA,GALA,Gala,0x15D4c048F83bd7e37d49eA4C83a07267Ec4203dA,8 -1870,DPI-3C2b,DPI,DefiPulse Index,0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b,18 -1871,OPENAI-5041,OPENAI,OpenAI,0x6A6AA13393B7d1100c00a57c76c39e8B6C835041,9 -1872,VRX-B4e5,VRX,Verox,0x87DE305311D5788e8da38D19bb427645b09CB4e5,18 -1873,XI-Ec8c,XI,Xi Token,0x295B42684F90c77DA7ea46336001010F2791Ec8c,18 -1874,KOMBAT-C7fA,KOMBAT,Crypto Kombat Token,0x878CF148ccBb50426043a9AFFe54Ba408221C7fA,8 -1875,MSI-6fde,MSI,Martin Shkreli Inu,0xc4C75F2A0cB1a9ACc33929512dc9733EA1Fd6fde,18 -1876,METANO-1afb,METANO,METANO,0x9D9e399e5385e2b9A58d4F775A1E16441b571afb,18 -1877,BST-34FC,BST,BlockStar Token,0x4E4bFfAA8df6F0dC3e5600bBACf7DA55f37134FC,18 -1878,DEXT-C75a,DEXT,DEXTools,0xfB7B4564402E5500dB5bB6d63Ae671302777C75a,18 -1879,BURP-4A7c,BURP,Burp,0x33f391F4c4fE802b70B77AE37670037A92114A7c,18 -1880,INNIT-7c18,INNIT,InnitForTheTECH,0x62A8C2818BD7034DC24CD22368C3E53E8eB47c18,18 -1881,DEFX-8eDa,DEFX,DeFinity,0x5F474906637bdCDA05f29C74653F6962bb0f8eDa,18 -1882,RAGE-886F,RAGE,RageToken,0x94804dc4948184fFd7355f62Ccbb221c9765886F,18 -1883,WARP-Dd71,WARP,Warp Token,0xEd40834A13129509A89be39a9bE9C0E96A0DDd71,18 -1884,QUAD-77EE,QUAD,Quadency Token,0xAB2A7B5876D707e0126B3A75EF7781c77c8877EE,18 -1885,PUSSY-a1ad,PUSSY,PUSSY token,0x9196E18Bc349B1F64Bc08784eaE259525329a1ad,18 -1886,SKT-a8C1,SKT,Sukhavati Network Token,0x012E0e6342308b247F36Ee500ECb14dc77a7a8C1,8 -1887,ABI-77CD,ABI,Abachi,0xa31DFe74cDA04de990CafC6a0aB2BB6d6C9077CD,9 -1888,AiWallet-8B19,AiWallet,AiWallet Token,0xc5A927AD2d1a92Dc5f9662Ce03F7140a8B738B19,18 -1889,XOR-F677,XOR,Sora Token,0x40FD72257597aA14C7231A7B1aaa29Fce868F677,18 -1890,AISC-B9d9,AISC,Ai Smart Chain,0xB7Df0f42FAe30acf30C9A5BA147D6B792b5eB9d9,18 -1891,KAT-509C,KAT,Kambria Token,0x14da230d6726C50F759Bc1838717F8CE6373509C,18 -1892,MAD-d875,MAD,MADToken,0x5B09A0371C1DA44A8E24D36Bf5DEb1141a84d875,18 -1893,SKL-a7A7,SKL,SKALE,0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7,18 -1894,NCDT-3C1B,NCDT,NCDToken,0xE0C8b298db4cfFE05d1bEA0bb1BA414522B33C1B,18 -1895,VRA-7255,VRA,VERA,0xF411903cbC70a74d22900a5DE66A2dda66507255,18 -1896,KP3R-5A44,KP3R,Keep3rV1,0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44,18 -1897,DIE-4aC7,DIE,Die Protocol,0x6Ef6610d24593805144d73b13d4405E00A4E4aC7,18 -1898,ONIGI-1582,ONIGI,Onigiri Neko,0xb4615AAD766f6De3c55330099E907fF7F13f1582,9 -1899,STATE-8eB1,STATE,New World Order,0x00C2999c8B2AdF4ABC835cc63209533973718eB1,18 -1900,STG-2Cd6,STG,StargateToken,0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6,18 -1901,GAIN-F614,GAIN,GainDAO Token,0x874CB28A655e0Ef827d810E211aE4b9cBcbaF614,18 -1902,BBW-8F69,BBW,BabyWhale,0xd2287a52287dd64AE2c690D74322E2e345dC8F69,18 -1903,ECT-6783,ECT,Echain Token,0xda4Dd9586D27202A338843Dd6B9824d267006783,9 -1904,HBOT-e9CB,HBOT,Hummingbot Governance Token,0xE5097D9baeAFB89f9bcB78C9290d545dB5f9e9CB,18 -1905,IMX-79fF,IMX,Immutable X,0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF,18 -1906,YCO-0893,YCO,Y Coin,0x3D0293f06daF4311B482564330D57C8Db6C10893,8 -1907,HOODIE-FE75,HOODIE,CryptoPunk #7171,0xdffA3a7f5B40789C7A437DbE7B31b47F9B08FE75,18 -1908,eMAID-a303,eMAID,MaidSafeCoin,0x329c6E459FFa7475718838145e5e85802Db2a303,18 -1909,AGRS-bdDa,AGRS,Agoras Token,0x738865301A9b7Dd80Dc3666dD48cF034ec42bdDa,8 -1910,BOSON-0de9,BOSON,Boson Token,0xC477D038d5420C6A9e0b031712f61c5120090de9,18 -1911,IDEAS-cC02,IDEAS,IDEAS,0x443b29fc978058Abe3Fc2f4c3c6b76c57fdecC02,18 -1912,BIT-a4C5,BIT,BitDAO,0x1A4b46696b2bB4794Eb3D4c26f1c55F9170fa4C5,18 -1913,PRVG-8E3d,PRVG,Privilege,0x2Ec3275f7aCe4044e499823F511cd58250be8E3d,8 -1914,FLP-BcD3,FLP,FLIP Token,0x3a1Bda28AdB5B0a812a7CF10A1950c920F79BcD3,18 -1915,INST-03eb,INST,Instadapp,0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb,18 -1916,BOB-1B0B,BOB,BOB,0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0B,18 -1917,GGTK-EF76,GGTK,GGToken,0xFA99A87b14B02e2240C79240C5a20F945ca5EF76,18 -1918,SOL-b89c,SOL,Wrapped SOL,0xD31a59c85aE9D8edEFeC411D448f90841571b89c,9 -1919,arte-87b9,arte,ethart,0x34612903Db071e888a4dADcaA416d3EE263a87b9,18 -1920,LQTY-c54D,LQTY,LQTY,0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D,18 -1921,sifu-C313,sifu,Sifu,0x29127fE04ffa4c32AcAC0fFe17280ABD74eAC313,18 -1922,OGV-12D0,OGV,Origin Dollar Governance,0x9c354503C38481a7A7a51629142963F98eCC12D0,18 -1923,DINO-c68F,DINO,DinoLFG,0x49642110B712C1FD7261Bc074105E9E44676c68F,18 -1924,NYM-90e1,NYM,NYM,0x525A8F6F3Ba4752868cde25164382BfbaE3990e1,6 -1925,ITP-DE31,ITP,Interport Token,0x2b1D36f5B61AdDAf7DA7ebbd11B35FD8cfb0DE31,18 -1926,auraBAL-608d,auraBAL,Aura BAL,0x616e8BfA43F920657B3497DBf40D6b1A02D4608d,18 -1927,RAE-8756,RAE,RAE Token,0xE5a3229CCb22b6484594973A03a3851dCd948756,18 -1928,wCFG-34F0,wCFG,Wrapped Centrifuge,0xc221b7E65FfC80DE234bbB6667aBDd46593D34F0,18 -1929,cvxCRV-0Aa7,cvxCRV,Convex CRV,0x62B9c7356A2Dc64a1969e19C23e4f579F9810Aa7,18 -1930,T-beE5,T,Threshold Network Token,0xCdF7028ceAB81fA0C6971208e83fa7872994beE5,18 -1931,VINU-52c9,VINU,Vita Inu,0xAFCdd4f666c84Fed1d8BD825aA762e3714F652c9,18 -1932,NUTS-0bc0,NUTS,NutsDAO,0x981dc247745800bD2cA28a4bF147f0385Eaa0bc0,18 -1933,TPRO-4D15,TPRO,TPRO,0x3540abE4f288B280A0740ad5121aEc337c404D15,18 -1934,PUNK-232A,PUNK,CryptoPunks,0x269616D549D7e8Eaa82DFb17028d0B212D11232A,18 -1935,RADAR-4DbE,RADAR,DappRadar,0x44709a920fCcF795fbC57BAA433cc3dd53C44DbE,18 -1936,ACH-143d,ACH,Alchemy,0xEd04915c23f00A313a544955524EB7DBD823143d,8 -1937,MEME-b760,MEME,MEME,0x60c7AEa107EA3cDAb21455e187cFB7e54E09b760,18 -1938,VXV-bFCe,VXV,VectorspaceAI,0x7D29A64504629172a429e64183D6673b9dAcbFCe,18 -1939,MEZZ-4bC3,MEZZ,MEZZ Token,0xC4c346eDc55504574cCEB00AA1091d22404A4bC3,18 -1940,Pomi-77DA,Pomi,Pomi Coin,0x96ef7f9cF1B6eCC66E482A6598fc9F009E9277DA,8 -1941,TRIO-3308,TRIO,Maximus Trio,0xF55cD1e399e1cc3D95303048897a680be3313308,8 -1942,FPIS-1fdb,FPIS,Frax Price Index Share,0xc2544A32872A91F4A553b404C6950e89De901fdb,18 -1943,COW-5Ea8,COW,CoinWind Token,0x34965f73Cfa05Bf8d8aF37cB4af64Fa950605Ea8,18 -1944,WBNB-7605,WBNB,Wrapped BNB,0x418D75f65a02b3D53B2418FB8E1fe493759c7605,18 -1945,VOLT-9b25,VOLT,VOLTAGE,0xfFbF315f70E458e49229654DeA4cE192d26f9b25,18 -1946,FOREX-259B,FOREX,handleFOREX,0xDb298285FE4C5410B05390cA80e8Fbe9DE1F259B,18 -1947,frxETH-Aa1f,frxETH,Frax Ether,0x5E8422345238F34275888049021821E8E08CAa1f,18 -1948,🌐-3953,🌐,QAO,0x3402E15b3EA0f1aEC2679c4Be4c6d051ceF93953,18 -1949,DCHF-7A36,DCHF,Defi Franc,0x045da4bFe02B320f4403674B3b7d121737727A36,18 -1950,NSFW-BF19,NSFW,Pleasure Coin,0x8f006D1e1D9dC6C98996F50a4c810F17a47fBF19,18 -1951,FACTR-B9D5,FACTR,Defactor,0xe0bCEEF36F3a6eFDd5EEBFACD591423f8549B9D5,18 -1952,ZMT-62b2,ZMT,Zipmex Token,0xaa602dE53347579f86b996D2Add74bb6F79462b2,18 -1953,DECI-4eA6,DECI,Maximus Decimus,0x6b32022693210cD2Cfc466b9Ac0085DE8fC34eA6,8 -1954,ISHND-5dbf,ISHND,Stronghands Finance,0x9e6b19874e97fe8E8CAD77f2c0AB5E7a693E5dbf,18 -1955,gtcETH-065e,gtcETH,Gitcoin Staked ETH Index (gtcETH),0x36c833Eed0D376f75D1ff9dFDeE260191336065e,18 -1956,SDL-6871,SDL,Saddle DAO,0xf1Dc500FdE233A4055e25e5BbF516372BC4F6871,18 -1957,PRIME-28CF,PRIME,Prime,0xb23d80f5FefcDDaa212212F028021B41DEd428CF,18 -1958,BZR-BA8F,BZR,BAZAARS,0x8d96B4ab6C741a4C8679AE323a100d74f085BA8F,18 -1959,COM-34A8,COM,Communis,0x5A9780Bfe63f3ec57f01b087cD65BD656C9034A8,12 -1960,LUCKY-6140,LUCKY,Maximus Lucky,0x6B0956258fF7bd7645aa35369B55B61b8e6d6140,8 -1961,NXRA-EF9e,NXRA,AllianceBlock Nexera Token,0x644192291cc835A93d6330b24EA5f5FEdD0eEF9e,18 -1962,WAMPL-49Ef,WAMPL,Wrapped Ampleforth,0xEDB171C18cE90B633DB442f2A6F72874093b49Ef,18 -1963,sILV2-b068,sILV2,Escrowed Illuvium 2,0x7E77dCb127F99ECe88230a64Db8d595F31F1b068,18 -1964,BTRFLY-e5Da,BTRFLY,BTRFLY,0xc55126051B22eBb829D00368f4B12Bde432de5Da,18 -1965,HAIR-6f42,HAIR,HairDAO Token,0x9Ce115f0341ae5daBC8B477b74E83db2018A6f42,18 -1966,MS-908F,MS,Morphswap,0x6d6554939D646f274d0FC3cEcB7dab5d76bc908F,18 -1967,SGT-EcDD,SGT,Sharedstake.finance,0x24C19F7101c1731b85F1127EaA0407732E36EcDD,18 -1968,D2T-7A76,D2T,Dash 2 Trade,0x4Dd942bAa75810a3C1E876e79d5cD35E09C97A76,18 -1969,TGBP-00a5,TGBP,TrueGBP,0x00000000441378008EA67F4284A57932B1c000a5,18 -1970,FCC-e079,FCC,Freechat Coin,0x171b1DAefac13A0A3524Fcb6BEDdC7B31E58e079,18 -1971,ALICE-63E8,ALICE,ALICE,0xAC51066d7bEC65Dc4589368da368b212745d63E8,6 -1972,EFI-3733,EFI,Efinity Token,0x656C00e1BcD96f256F224AD9112FF426Ef053733,18 -1973,XDEFI-B777,XDEFI,XDEFI,0x72B886d09C117654aB7dA13A14d603001dE0B777,18 -1974,MNW-f6E4,MNW,Morpheus.Network,0xd3E4Ba569045546D09CF021ECC5dFe42b1d7f6E4,18 -1975,HOPR-81dA,HOPR,HOPR Token,0xF5581dFeFD8Fb0e4aeC526bE659CFaB1f8c781dA,18 -1976,SPUME-5283,SPUME,Spume,0xa16a609fF4e1A15b6cCb469E7a5dD14E89305283,18 -1977,GEAR-Ab5D,GEAR,Gearbox,0xBa3335588D9403515223F109EdC4eB7269a9Ab5D,18 -1978,OMI-749e,OMI,OMI Token,0xeD35af169aF46a02eE13b9d79Eb57d6D68C1749e,18 -1979,EURe-273f,EURe,Monerium EUR emoney,0x3231Cb76718CDeF2155FC47b5286d82e6eDA273f,18 -1980,MRPH-56c8,MRPH,Morpheus.Network,0x7B0C06043468469967DBA22d1AF33d77d44056c8,4 -1981,TKING-DAFA,TKING,Tiger King,0x24E89bDf2f65326b94E36978A7EDeAc63623DAFA,18 -1982,RSR-5d70,RSR,Reserve Rights,0x320623b8E4fF03373931769A31Fc52A4E78B5d70,18 -1983,DUST-c5F0,DUST,DUST Token,0xe2E109f1b4eaA8915655fE8fDEfC112a34ACc5F0,18 -1984,MAHA-49B0,MAHA,MahaDAO,0x745407c86DF8DB893011912d3aB28e68B62E49B0,18 -1985,ARIA20-4aF9,ARIA20,ARIANEE,0xeDF6568618A00C6F0908Bf7758A16F76B6E04aF9,18 -1986,CNG-44bf,CNG,Changer,0x5C1d9aA868a30795F92fAe903eDc9eFF269044bf,18 -1987,PRBLY-F7E7,PRBLY,Probably Nothing,0x6361F338Ab8DEf2AF3f2A1Be7BD8A7dB3156F7E7,18 -1988,XOY-9e52,XOY,XOYCoin,0xe9F1d62c671EFe99896492766c0B416bD3FB9e52,8 -1989,ccBCH-b789,ccBCH,Cross-Chain BCH,0xdB792B1D8869A7CFc34916d6c845Ff05A7C9b789,8 -1990,BANANA-F03a,BANANA,Banana,0x94e496474F1725f1c1824cB5BDb92d7691A4F03a,18 -1991,PUNKS-12EA,PUNKS,PUNKS,0x30c084890FC07D78F3499ffc818B3225bC8812EA,18 -1992,WEB3-e601,WEB3,Arch Ethereum Web3,0xe8e8486228753E01Dbc222dA262Aa706Bd67e601,18 -1993,XIDR-aa52,XIDR,XIDR,0xebF2096E01455108bAdCbAF86cE30b6e5A72aa52,6 -1994,₡ABIN-F830,₡ABIN,₡ABIN,0x1934E252f840aA98dfCe2b6205B3E45c41AeF830,18 -1995,STMX-D71C,STMX,StormX,0xa62cc35625B0C8dc1fAEA39d33625Bb4C15bD71C,18 -1996,AMKT-aE8D,AMKT,Alongside Crypto Market Index,0xF17A3fE536F8F7847F1385ec1bC967b2Ca9caE8D,18 -1997,FUND-7f75,FUND,Unification,0xe9B076B476D8865cDF79D1Cf7DF420EE397a7f75,9 -1998,NGC-f131,NGC,NAGA Coin,0x72dD4b6bd852A3AA172Be4d6C5a6dbEc588cf131,18 -1999,JPG-249c,JPG,JPG NFT Index,0x02e7Ac540409D32C90BfB51114003a9E1fF0249c,18 -2000,ZUSD-04fA,ZUSD,Z.com USD,0xc56c2b7e71B54d38Aab6d52E94a04Cbfa8F604fA,6 -2001,WRAB-C285,WRAB,White Rabbit,0x45D74446748fB432F05E7a85bD974aBB7af5C285,18 -2002,UTU-189B,UTU,UTU Coin,0xa58a4f5c4Bb043d2CC1E170613B74e767c94189B,18 -2003,GLQ-4D24,GLQ,GraphLinq,0x9F9c8ec3534c3cE16F928381372BfbFBFb9F4D24,18 -2004,KROM-d789,KROM,Kromatika,0x3af33bEF05C2dCb3C7288b77fe1C8d2AeBA4d789,18 -2005, SHOP-4B8b, SHOP,SHOP,0x64b78325d7495D6d4be92f234fa3f3B8d8964B8b,18 -2006,CERES-0aDA,CERES,Ceres,0x2e7B0d4F9B2EaF782eD3D160e3a0a4b1a7930aDA,18 -2007,ELA-1867,ELA,ELA on Ethereum,0xe6fd75ff38Adca4B97FBCD938c86b98772431867,18 -2008,PILOT-9525,PILOT,Unipilot,0x37C997B35C619C21323F3518B9357914E8B99525,18 -2009,UNBNK-442f,UNBNK,Unbanked,0x06B884e60794Ce02AafAb13791B59A2e6A07442f,18 -2010,KUJI-3fe7,KUJI,Kuji,0x96543ef8d2C75C26387c1a319ae69c0BEE6f3fe7,6 -2011,EUL-E07b,EUL,Euler,0xd9Fcd98c322942075A5C3860693e9f4f03AAE07b,18 -2012,UNT-fdFe,UNT,Unity Network,0x8d610E20481F4C4f3aCB87bBa9c46BeF7795fdFe,18 -2013,MIDAS-66A5,MIDAS,Midas,0x97e6e31aFb2d93d437301e006D9DA714616766A5,18 -2014,BCNT-2CD9,BCNT,Bincentive Token,0x9669890e48f330ACD88b78D63E1A6b3482652CD9,18 -2015,QRDO-2463,QRDO,Qredo Token,0x4123a133ae3c521FD134D7b13A2dEC35b56c2463,8 -2016,MVRS-f8c1,MVRS,Meta MVRS,0xBEDE1F59Fa4412556fEF69f1B9969F2003E3f8c1,18 -2017,XFT-45aE,XFT,Offshift,0x76BC677d444f1E9d57dAf5187ee2b7dC852745aE,18 -2018,UST-87a5,UST,UST,0xa693B19d2931d498c5B318dF961919BB4aee87a5,6 -2019,VEGA-bc6e,VEGA,VEGA,0xcB84d72e61e383767C4DFEb2d8ff7f4FB89abc6e,18 -2020,iZi-c200,iZi,izumi Token,0x9ad37205d608B8b219e6a2573f922094CEc5c200,18 -2021,TRG-4928,TRG,The Rug Game,0x93eEB426782BD88fCD4B48D7b0368CF061044928,18 -2022,WOMBAT-F9dd,WOMBAT,Wombat,0x0C9c7712C83B3C70e7c5E11100D33D9401BdF9dd,18 -2023,HARAMBE-38c6,HARAMBE,Harambe,0xADe6FDAba1643E4D1eeF68Da7170F234470938c6,18 -2024,THOL-0618,THOL,Tholos,0x207e14389183A94343942de7aFbC607F57460618,18 -2025,ACRIA-c58A,ACRIA,Acria Token,0x44F5909E97E1CBf5FBbDF0FC92FD83cde5d5c58A,18 -2026,POLY-fdad,POLY,Poly Maximus,0x9d93692E826A4bd9e903e2A27D7FbD1e116efdad,9 -2027,GRPFT-364A,GRPFT,GRAPEFRUIT,0x64B986211c0CC675143F895C437b79c3cadf364A,8 -2028,BTRFLY-eC3A,BTRFLY,BTRFLY,0xC0d4Ceb216B3BA9C3701B291766fDCbA977ceC3A,9 -2029,sETH2-043A,sETH2,StakeWise Staked ETH2,0xFe2e637202056d30016725477c5da089Ab0A043A,18 -2030,ZURR-e08D,ZURR,ZURRENCY,0x89509aA1D14a8E1E5364Ec4C3B041213bcDbe08D,18 -2031,AIN-0385,AIN,AI Network,0x3A810ff7211b40c4fA76205a14efe161615d0385,18 -2032,ALCA-8F8b,ALCA,AliceNet Staking Token,0xBb556b0eE2CBd89ed95DdEA881477723A3Aa8F8b,18 -2033,CADC-2Eef,CADC,CAD Coin,0xcaDC0acd4B445166f12d2C07EAc6E2544FbE2Eef,18 -2034,BYTES-8c95,BYTES,BYTES,0x7d647b1A0dcD5525e9C6B3D14BE58f27674f8c95,18 -2035,LOOMI-2451,LOOMI,LOOMI,0xEb57Bf569Ad976974C1F861a5923A59F40222451,18 -2036,AGLD-9A20,AGLD,Adventure Gold,0x32353A6C91143bfd6C7d363B546e62a9A2489A20,18 -2037,SPELL-e5F6,SPELL,Spell Token,0x090185f2135308BaD17527004364eBcC2D37e5F6,18 -2038,NFD-5346,NFD,Feisty Doge NFT,0xDFDb7f72c1F195C5951a234e8DB9806EB0635346,18 -2039,BANK-2921,BANK,Float Bank,0x24A6A37576377F63f194Caa5F518a60f45b42921,18 -2040,TERA2-3231,TERA2,Terareum,0x33909C9CE97Ce509daB3A038B3eC7ac3d1Be3231,4 -2041,BLOCKS-24eB,BLOCKS,BLOCKS,0x8a6D4C8735371EBAF8874fBd518b56Edd66024eB,18 -2042,ATH-C8F6,ATH,Athens,0x2F9411088cEF82Fd9fB904Eb8092f28eB485C8F6,18 -2043,LIT-C341,LIT,Liquidity Incentive Token,0xfd0205066521550D7d7AB19DA8F72bb004b4C341,18 -2044,H2O-1701,H2O,H2O,0x0642026E7f0B6cCaC5925b4E7Fa61384250e1701,18 -2045,CenX-cf79,CenX,Centralex Token,0x504cDe95dBC5d90d09B802F43B371971adbEcf79,18 -2046,SOON-B771,SOON,NONbeta,0x6100dd79fCAA88420750DceE3F735d168aBcB771,18 -2047,XIV-392C,XIV,INVERSE,0x44f262622248027f8E2a8Fb1090c4Cf85072392C,18 -2048,ETHMAXY-69E2,ETHMAXY,ETH Max Yield Index,0x0FE20E0Fa9C78278702B05c333Cc000034bb69E2,18 -2049,SWEAT-3A35,SWEAT,SWEAT,0xB4b9DC1C77bdbb135eA907fd5a08094d98883A35,18 -2050,PRNT-15FD,PRNT,PrimeNumbers,0x7Cfea0DD176651E7B5a1CeD9c4fAf8Ee295315FD,18 -2051,QANX-3AAA,QANX,QANX Token,0xAAA9214F675316182Eaa21C85f0Ca99160CC3AAA,18 -2052,PDI-8B48,PDI,Phuture DeFi Index,0x632806BF5c8f062932Dd121244c9fbe7becb8B48,18 -2053,SYN-9F29,SYN,Synapse,0x0f2D719407FdBeFF09D87557AbB7232601FD9F29,18 -2054,BETA-9D28,BETA,Beta Token,0xBe1a001FE942f96Eea22bA08783140B9Dcc09D28,18 -2055,FLUX-B1d9,FLUX,FLUX,0x469eDA64aEd3A3Ad6f868c44564291aA415cB1d9,18 -2056,DON-92c6,DON,Donkey,0x4576E6825B462b6916D2a41E187626E9090A92c6,18 -2057,DOG-8899,DOG,The Doge NFT,0xBAac2B4491727D78D2b78815144570b9f2Fe8899,18 -2058,MET-89aa,MET,Metronome2,0x2Ebd53d035150f328bd754D6DC66B99B0eDB89aa,18 -2059,IZE-327B,IZE,Galvan,0xf7e945FcE8F19302AaCc7E1418b0A0bdef89327B,8 -2060,MCRT-478D,MCRT,MagicCraft,0xde16Ce60804a881e9F8c4eBB3824646EDecd478D,9 -2061,LORDS-18b0,LORDS,Lords,0x686f2404e77Ab0d9070a46cdfb0B7feCDD2318b0,18 -2062,WOOF-d0a3,WOOF,WoofWork.io,0x6BC08509B36A98E829dFfAD49Fde5e412645d0a3,18 -2063,USDD-b5c6,USDD,Decentralized USD,0x0C10bF8FcB7Bf5412187A595ab97a3609160b5c6,18 -2064,WSTRAX-A51B,WSTRAX,WrappedStrax,0xa3C22370de5f9544f0c4De126b1e46cEadF0A51B,18 -2065,MON-fc17,MON,Moneta,0x1EA48B9965bb5086F3b468E50ED93888a661fc17,18 -2066,MORE-85D0,MORE,More,0xbEEf3bB9dA340EbdF0f5bae2E85368140d7D85D0,18 -2067,PXP-314f,PXP, PointPay Crypto Banking Token V2 ,0x95aA5d2DbD3c16ee3fdea82D5C6EC3E38CE3314f,18 -2068,JPYC-7BDB,JPYC,JPY Coin,0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB,18 -2069,LUNA-Fa3d,LUNA,LUNA,0xbd31EA8212119f94A611FA969881CBa3EA06Fa3d,6 -2070,PEBBLE-a4A8,PEBBLE,Etherrock #72,0xDC98c5543F3004DEBfaad8966ec403093D0aa4A8,18 -2071,RUSH-9eC7,RUSH,Rush coin,0x382A1667C9062F0621362F49076Ef6e4fE4C9eC7,18 -2072,IGG-caeA,IGG,IG Gold,0x8FfE40A3D0f80C0CE6b203D5cDC1A6a86d9AcaeA,6 -2073,ORC-2F51,ORC,Orbit Chain,0x662b67d00A13FAf93254714DD601F5Ed49Ef2F51,18 -2074,QDT-2Ef3,QDT,QuadransToken,0x9Adc7710E9d1b29d8a78c04d52D32532297C2Ef3,18 -2075,HMX-3a88,HMX,Hermes,0xb012Be90957D70D9a070918027655F998C123a88,18 -2076,$HACHI-AAFf,$HACHI,HACHI,0x967B0c95295ead8fAef70d26A7846AeCD349AAFf,18 -2077,MAP-28e4,MAP,MAP Protocol,0x9E976F211daea0D652912AB99b0Dc21a7fD728e4,18 -2078,GRAIN-e58e,GRAIN,GRAIN Token,0x6589fe1271A0F29346796C6bAf0cdF619e25e58e,18 -2079,HPO-1a84,HPO,Hippopotamus,0xa0ED3C520dC0632657AD2EaaF19E26C4fD431a84,18 -2080,MTO-324F,MTO,Merchant Token,0xE66b3AA360bB78468c00Bebe163630269DB3324F,18 -2081,SWISE-2FA2,SWISE,StakeWise,0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2,18 -2082,ANFD-211b,ANFD,Angry Doge,0x4F14cDBd815B79E9624121f564f24685c6B1211b,18 -2083,DVF-1918,DVF,DeversiFi Token,0xDDdddd4301A082e62E84e43F474f044423921918,18 -2084,TIA-Ea26,TIA,Tia Token,0x824E35f7A75324f99300aFAC75ECF7354E17Ea26,9 -2085,MEMAG-7AF6,MEMAG,Meta Masters Guild,0x6E39A587691b8c9D4341cE0A960998ED6F537AF6,18 -2086,BASE-04e0,BASE,Maximus Base,0xe9f84d418B008888A992Ff8c6D22389C2C3504e0,8 -2087,EUROC-C33c,EUROC,Euro Coin,0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c,6 -2088,WMATIC-2D43,WMATIC,Wrapped Matic,0x7c9f4C87d911613Fe9ca58b579f737911AAD2D43,18 -2089,BZZ-F8Cb,BZZ,BZZ,0x19062190B1925b5b6689D7073fDfC8c2976EF8Cb,16 -2090,UwU-5257,UwU,UwU Lend,0x55C08ca52497e2f1534B59E2917BF524D4765257,18 -2091,WAIT-19F7,WAIT,Wait,0xb5588C411ba0bb7D38865fdC51D082d004e519F7,0 -2092,TCAP-aFa4,TCAP,TCAP Token,0x16c52CeeCE2ed57dAd87319D91B5e3637d50aFa4,18 -2093,vETH-21Ab,vETH,Voucher Ethereum,0xc3D088842DcF02C13699F936BB83DFBBc6f721Ab,18 -2094,BOBA-Efbc,BOBA,Boba Token,0x42bBFa2e77757C645eeaAd1655E0911a7553Efbc,18 -2095,ankrMATIC-480C,ankrMATIC,Ankr Staked MATIC,0x26dcFbFa8Bc267b250432c01C982Eaf81cC5480C,18 -2096,PRINTS-cb95,PRINTS,Fingerprints,0x4dd28568D05f09b02220b09C2cb307bFd837cb95,18 -2097,PYR-9682,PYR,PYR Token,0x430EF9263E76DAE63c84292C3409D61c598E9682,18 -2098,$MECHA-9Ef5,$MECHA,Mechanium,0xC5bcc8BA3F33Ab0d64f3473e861BDC0685b19Ef5,18 -2099,WAVAX-Eda3,WAVAX,Wrapped AVAX,0x85f138bfEE4ef8e540890CFb48F620571d67Eda3,18 -2100,CRI-3E4d,CRI,Crypto International,0x12E951934246186F50146235d541D3bD1D463E4d,18 -2101,SKEB-C810,SKEB,Skeb Coin,0x6D614686550B9E1c1DF4b2cD8f91C9D4df66C810,18 -2102,SPOT-bafE,SPOT,SPOT,0xC1f33e0cf7e40a67375007104B929E49a581bafE,9 -2103,ELAND-3205,ELAND,Etherland,0x33E07f5055173cF8FeBedE8B21B12D1e2b523205,18 -2104,dsETH-B3BE,dsETH,Diversified Staked ETH Index (dsETH),0x341c05c0E9b33C0E38d64de76516b2Ce970bB3BE,18 -2105,MAI-f609,MAI,MindsyncAI,0x75387e1287Dd85482aB66102DA9f6577E027f609,18 -2106,ZERO-5eCC,ZERO,ZeroLiquid,0xB0Ed33f79D89541dfdCb04A8f04Bc2c6be025eCC,18 -2107,NFTL-9638,NFTL,Nifty League,0x3c8D2FCE49906e11e71cB16Fa0fFeB2B16C29638,18 -2108,CNC-5cFC,CNC,Conic Finance Token,0x9aE380F0272E2162340a5bB646c354271c0F5cFC,18 -2109,DVI-9770,DVI,Dvision,0x10633216E7E8281e33c86F02Bf8e565a635D9770,18 -2110,icETH-6A84,icETH,Interest Compounding ETH Index,0x7C07F7aBe10CE8e33DC6C5aD68FE033085256A84,18 -2111,THX-4B31,THX,THX Network,0xe632ea2eF2CFD8Fc4a2731C76F99078Aef6a4B31,18 -2112,cvxFPIS-7Df6,cvxFPIS,Convex FPIS,0xa2847348b58CEd0cA58d23c7e9106A49f1427Df6,18 -2113,GRG-C964,GRG,Rigo Token,0x4FbB350052Bca5417566f188eB2EBCE5b19BC964,18 -2114,Nvir-6804,Nvir,NvirWorld,0x9d71CE49ab8A0E6D2a1e7BFB89374C9392FD6804,18 -2115,GFI-8D2b,GFI,Goldfinch,0xdab396cCF3d84Cf2D07C4454e10C8A6F5b008D2b,18 -2116,EASE-c61c,EASE,Ease Token,0xEa5eDef1287AfDF9Eb8A46f9773AbFc10820c61c,18 -2117,ASTRA-3E23,ASTRA,Astra DAO,0x7E9c15C43f0D6C4a12E6bdfF7c7D55D0f80e3E23,18 -2118,CITIZEN-A8Ea,CITIZEN,KONG Land Alpha Citizenship,0x77F0cc420dEa0aE726Db6Bef1460A4B69176A8Ea,18 -2119,GODS-FD97,GODS,Gods Unchained,0xccC8cb5229B0ac8069C51fd58367Fd1e622aFD97,18 -2120,rETH2-86c5,rETH2,StakeWise Reward ETH2,0x20BC832ca081b91433ff6c17f85701B6e92486c5,18 -2121,GDC-aF31,GDC,Global Digital Content,0x301C755bA0fcA00B1923768Fffb3Df7f4E63aF31,18 -2122,LOVE-A27C,LOVE,UkraineDAO Flag NFT,0x5380442d3C4EC4f5777f551f5EDD2FA0F691A27C,18 -2123,LAKE-C400,LAKE,Data Lake Token,0xF9Ca9523E5b5A42C3018C62B084Db8543478C400,18 -2124,OUSD-5e86,OUSD,Origin Dollar,0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86,18 -2125,KXA-Cd89,KXA,Kryxivia Coin,0x2223bF1D7c19EF7C06DAB88938EC7B85952cCd89,18 -2126,FPI-E08E,FPI,Frax Price Index,0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E,18 -2127,MEGA-B10E,MEGA,MegaWorld $MEGA Token,0x1892F6ff5FBE11c31158F8c6f6F6e33106c5B10E,18 -2128,PENDLE-a827,PENDLE,Pendle,0x808507121B80c02388fAd14726482e061B8da827,18 -2129,FOLD-5921,FOLD,Manifold Finance,0xd084944d3c05CD115C09d072B9F44bA3E0E45921,18 -2130,WALLET-94Ae,WALLET,Ambire Wallet,0x88800092fF476844f74dC2FC427974BBee2794Ae,18 -2131,rETH-3593,rETH,StaFi,0x9559Aaa82d9649C7A7b220E7c461d2E74c9a3593,18 -2132,ALLUO-0B09,ALLUO,Alluo Token,0x1E5193ccC53f25638Aa22a940af899B692e10B09,18 -2133,BRIGHT-0DfE,BRIGHT,Bright,0x5dD57Da40e6866C9FcC34F4b6DDC89F1BA740DfE,18 -2134,GPOOL-A09d,GPOOL,Genesis Pool,0x797de1Dc0b9fAf5E25c1f7Efe8dF9599138fA09d,18 -2135,BOO-Fa58,BOO,SpookyToken,0x55aF5865807b196bD0197e0902746F31FBcCFa58,18 -2136,OHM-a899,OHM,Olympus,0x383518188C0C6d7730D91b2c03a03C837814a899,9 -2137,XAI-bEAc,XAI,XAI Stablecoin,0xd7C9F0e536dC865Ae858b0C0453Fe76D13c3bEAc,18 -2138,MTRM-7581,MTRM,Materium,0xcd17fA52528f37FACB3028688E62ec82d9417581,0 -2139,SUMMER-CA5c,SUMMER,Summer Token,0x4D4f3715050571A447FfFa2Cd4Cf091C7014CA5c,18 -2140,AUTUMN-3a99,AUTUMN,Autumn Token,0x4c3bAe16c79c30eEB1004Fb03C878d89695e3a99,18 -2141,JUSTICE-90B5,JUSTICE,AssangeDAO,0x59d1e836F7b7210A978b25a855085cc46fd090B5,18 -2142,RTH-8bC8,RTH,Rotharium,0x3FD8f39A962eFDA04956981C31AB89FAB5FB8bC8,18 -2143,DEO-cf8e,DEO,Demeter,0x5E7F20e72C21f6D0Bf0A2814FD4164176401cf8e,18 -2144,GIV-0DA0,GIV,Giveth,0x900dB999074d9277c5DA2A43F252D74366230DA0,18 -2145,OM-c95d,OM,MANTRA DAO,0x3593D125a4f7849a1B059E64F4517A86Dd60c95d,18 -2146,CTSI-6B5D,CTSI,Cartesi Token,0x491604c0FDF08347Dd1fa4Ee062a822A5DD06B5D,18 -2147,KCS-8811,KCS,KuCoin Token,0xf34960d9d60be18cC1D5Afc1A6F012A723a28811,6 -2148,PDT-9893,PDT,Paragons DAO Token,0x375aBB85C329753b1Ba849a601438AE77eEc9893,18 -2149,PAW-5136,PAW,PAWZONE,0x1AA51bc7eb181ce48CE626Bf62f8956Fa9555136,18 -2150,CQT-6240,CQT,Covalent Query Token,0xD417144312DbF50465b1C641d016962017Ef6240,18 -2151,COW-97aB,COW,CoW Protocol Token,0xDEf1CA1fb7FBcDC777520aa7f396b4E015F497aB,18 -2152,SOUL-f07F,SOUL,Phantasma Stake,0x75858677e27C930FB622759FeafFeE2b754Af07F,8 -2153,WSTR-12B1,WSTR,WrappedStar,0xF0dC76C22139ab22618dDFb498BE1283254612B1,18 -2154,X8X-fa4c,X8X,X8XToken,0x910Dfc18D6EA3D6a7124A6F8B5458F281060fa4c,18 -2155,PSTAKE-7006,PSTAKE,pSTAKE Finance,0xfB5c6815cA3AC72Ce9F5006869AE67f18bF77006,18 -2156,GEL-EA05,GEL,Gelato Network Token,0x15b7c0c907e4C6b9AdaAaabC300C08991D6CEA05,18 -2157,SHI-AD5a,SHI,Shina Inu,0x243cACb4D5fF6814AD668C3e225246efA886AD5a,18 -2158,NABOX-77Fb,NABOX,Nabox Token,0x03D1E72765545729A035e909eDd9371a405f77Fb,18 -2159,TOWN-Ab7F,TOWN,TownCoin,0x3Dd98C8A089dBCFF7e8FC8d4f532BD493501Ab7F,8 -2160,3Crv-E490,3Crv,Curve.fi DAI/USDC/USDT,0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490,18 -2161,SSV-7f54,SSV,SSV Token,0x9D65fF81a3c488d585bBfb0Bfe3c7707c7917f54,18 -2162,BKR-58Fd,BKR,Balkari Token,0x77271813bd9167e75B5DF9c230cf58d64f0A58Fd,18 -2163,FX-5057,FX,Function X,0x8c15Ef5b4B21951d50E53E4fbdA8298FFAD25057,18 -2164,KAPPA-BeF4,KAPPA,Kappa Token,0x5D2C6545d16e3f927a25b4567E39e2cf5076BeF4,18 -2165,FLOOR-455e,FLOOR,Floor,0xf59257E961883636290411c11ec5Ae622d19455e,9 -2166,GPT-47F8,GPT,CryptoGPT Token,0xD04E772BC0d591fBD288f2E2a86aFA3D3CB647F8,18 -2167,LSETH-d048,LSETH,Liquid Staked ETH,0x628eBC64A38269E031AFBDd3C5BA857483B5d048,18 -2168,LEAN-99F8,LEAN,Lean Management Token,0xFb83869f7EE52AEBadDEA254F647953AfB1F99F8,18 -2169,MYC-F5Ba,MYC,Mycelium,0x4b13006980aCB09645131b91D259eaA111eaF5Ba,18 -2170,TCR-F050,TCR,Tracer,0x9C4A4204B79dd291D6b6571C5BE8BbcD0622F050,18 -2171,SOLID-0990,SOLID,Solidly,0x777172D858dC1599914a1C4c6c9fC48c99a60990,18 -2172,AXS-B28b,AXS,Axie Infinity Shard,0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b,18 -2173,NFTI-4a81,NFTI,Scalara NFT Index,0x525eF76138Bf76118d786DbedeaE5F87aaBf4a81,18 -2174,CRETH2-dB64,CRETH2,Cream ETH Token,0x49D72e3973900A195A155a46441F0C08179FdB64,18 -2175,NATION-2069,NATION,Nation3,0x333A4823466879eeF910A04D473505da62142069,18 -2176,WINTER-845f,WINTER,Winter Token,0xCcbA0b2bc4BAbe4cbFb6bD2f1Edc2A9e86b7845f,18 -2177,wMEMO-af57,wMEMO,Wrapped MEMO,0x3b79a28264fC52c7b4CEA90558AA0B162f7Faf57,18 -2178,WGRLC-5BE9,WGRLC,Wrapped GRLC,0x58f7345b5295E43aA454911571f13be186655BE9,8 -2179,LM-bec9,LM,LeisureMeta,0x7BEC98609cB6378D6F995e8f8097Ee78376fbec9,18 -2180,GMT-1989,GMT,GoMining Token,0x7Ddc52c4De30e94Be3A6A0A2b259b2850f421989,18 -2181,UDT-1517,UDT,Unlock Discount Token,0x90DE74265a416e1393A450752175AED98fe11517,18 -2182,SOS-aEe0,SOS,SOS,0x3b484b82567a09e2588A13D54D032153f0c0aEe0,18 -2183,SBECOM-0A28,SBECOM,SheBollETH Commerce,0x888E88E71378133b7ADa5A90c08Bc97D772A0A28,18 -2184,GBPT-bA98,GBPT,poundtoken,0x86B4dBE5D203e634a12364C0e428fa242A3FbA98,18 -2185,TOS-8153,TOS,TONStarter,0x409c4D8cd5d2924b9bc5509230d16a61289c8153,18 -2186,POW-9258,POW,POW,0x43Ab765ee05075d78AD8aa79dcb1978CA3079258,18 -2187,CODE-8f11,CODE,Developer DAO,0xb24cd494faE4C180A89975F1328Eab2a7D5d8f11,18 -2188,SWTH-20bB,SWTH,Switcheo Token,0xB4371dA53140417CBb3362055374B10D97e420bB,8 -2189,NFTX-f776,NFTX,NFTX,0x87d73E916D7057945c9BcD8cdd94e42A6F47f776,18 -2190,WOOFY-57f1,WOOFY,Woofy,0xD0660cD418a64a1d44E9214ad8e459324D8157f1,12 -2191,UWL-8Df5,UWL,UniWhales.io,0xdbDD6F355A37b94e6C7D32fef548e98A280B8Df5,18 -2192,WPC-6746,WPC,WePiggy Coin,0x6F620EC89B8479e97A6985792d0c64F237566746,18 -2193,WAR-1543,WAR,Wrapped AR,0x4FaDC7A98f2Dc96510e42dD1A74141eEae0C1543,12 -2194,IPISTR-348e,IPISTR,IPI Shorter,0x888888888888f195E27A2E0F98D712952aB9348e,18 -2195,LED-BF6D,LED,LedgerScore,0x72De803b67B6AB05B61EFab2Efdcd414D16eBF6D,18 -2196,KRX-7922,KRX,KRYZA Exchange,0x93ad9b819C88D98B4c9641470A96E24769Ae7922,9 -2197,CNFI-2Ae9,CNFI,Connect Financial,0xEABB8996eA1662cAd2f7fB715127852cd3262Ae9,18 -2198,DAM-86Df,DAM,Datamine,0xF80D589b3Dbe130c270a69F1a69D050f268786Df,18 -2199,KCT-A27E,KCT,Konnect,0x4c601dc69AfFb0D4Fc8dE1Ac303705e432A4A27E,18 -2200,PAL-f4BF,PAL,Paladin Token,0xAB846Fb6C81370327e784Ae7CbB6d6a6af6Ff4BF,18 -2201,DAR-62a3,DAR,Dalarnia,0x081131434f93063751813C619Ecca9C4dC7862a3,6 -2202,GAL-9875,GAL,Project Galaxy,0x5fAa989Af96Af85384b8a938c2EdE4A7378D9875,18 -2203,GMM-c279,GMM,Gamium [via ChainPort.io],0x4B19C70Da4c6fA4bAa0660825e889d2F7eaBc279,18 -2204,FORT-Ec29,FORT,Forta,0x41545f8b9472D758bB669ed8EaEEEcD7a9C4Ec29,18 -2205,GOG-9c62,GOG,Guild of Guardians,0x9AB7bb7FdC60f4357ECFef43986818A2A3569c62,18 -2206,ALIS-4fAB,ALIS,AlisToken,0xEA610B1153477720748DC13ED378003941d84fAB,18 -2207,GBYTE-cc2a,GBYTE,Imported GBYTE,0x31F69dE127C8A0fF10819C0955490a4Ae46fcc2a,18 -2208,XOLO-B252,XOLO,Xoloitzcuintli,0x3252d4221f92b7Af3774Da8312F01600eC84B252,18 -2209,GEM-F806,GEM,NFTmall GEM Token,0x9b17bAADf0f21F03e35249e0e59723F34994F806,18 -2210,QUA-88B7,QUA,Quarashi,0xd35c06a2781f648c75290976ecF71E71582188B7,18 -2211,BXR-D695,BXR,Blockster,0x97A3BD8a445cC187c6A751F392e15C3B2134D695,18 -2212,$PAPER-9397,$PAPER,PaperToken,0x21018CBC9ad730542130bE180b577b74DB2a9397,18 -2213,KRAUSE-603b,KRAUSE,KRAUSE,0x9F6F91078A5072A8B54695DAfA2374Ab3cCd603b,18 -2214,PLOT-66Bb,PLOT,PLOT,0x72F020f8f3E8fd9382705723Cd26380f8D0c66Bb,18 -2215,INXT-16D4,INXT,Internxt,0x4A8f5F96D5436e43112c2fBC6a9f70DA9e4E16D4,8 -2216,WACME-1170,WACME,Wrapped ACME,0xDF4Ef6EE483953fE3B84ABd08C6A060445c01170,8 -2217,JPEG-45a3,JPEG,JPEG’d Governance Token,0xE80C0cd204D654CEbe8dd64A4857cAb6Be8345a3,18 -2218,PLQ-BB7B,PLQ,PlanQ,0xd23Ed8cA350CE2631F7EcDC5E6bf80D0A1DeBB7B,18 -2219,MDT-7d26,MDT,Measurable Data Token,0x814e0908b12A99FeCf5BC101bB5d0b8B5cDf7d26,18 -2220,ILV-ca0E,ILV,Illuvium,0x767FE9EDC9E0dF98E07454847909b5E959D7ca0E,18 -2221,KNIGHT-16bC,KNIGHT,CitaDAO,0x3541A5C1b04AdABA0B83F161747815cd7B1516bC,18 -2222,USDS-2eBe,USDS,StableUSD,0xA4Bdb11dc0a2bEC88d24A3aa1E6Bb17201112eBe,6 -2223,PET-5C5F,PET,Pet Token,0xB870679a7Fa65b924026F496De7f27c1DD0e5C5F,18 -2224,CSX-9C8c,CSX,Coinstox Token,0x3aadc3BCe49724ce299fD9F3850211211c399C8c,18 -2225,BOOP-3Ce1,BOOP,Boop,0x8013266cb5c9dd48bE3Ad7D1CE832874d64B3Ce1,18 -2226,MNTL-3295,MNTL,AssetMantle,0x2C4F1DF9c7DE0C59778936C9b145fF56813F3295,6 -2227,KCAL-79F9,KCAL,Phantasma Energy,0x47C1178F49140ECdBfbdF0aE2935cDB640D579F9,10 -2228,EXD-6560,EXD,Exorde Network Token,0x02dE007D412266a2e0Fa9287C103474170F06560,18 -2229,BENT-C375,BENT,Bent Token,0x01597E397605Bf280674Bf292623460b4204C375,18 -2230,LUCHOW-7C57,LUCHOW,LunaChow,0xA5Ef74068d04ba0809B7379dD76Af5Ce34Ab7C57,18 -2231,JBX-6f66,JBX,Juicebox,0x3abF2A4f8452cCC2CF7b4C1e4663147600646f66,18 -2232,anonUSD-1eFd,anonUSD,anonUSD,0x5a7E6C8204A1359DB9AAcab7bA5Fc309B7981eFd,18 -2233,AGOV-280c,AGOV,Answer Governance,0xd1420AF453Fd7bf940573431D416cAcE7fF8280c,18 -2234,MOVE-324C,MOVE,Mover,0x3FA729B4548beCBAd4EaB6EF18413470e6D5324C,18 -2235,BTC2x-FLI-1c2b,BTC2x-FLI,BTC 2x Flexible Leverage Index,0x0B498ff89709d3838a063f1dFA463091F9801c2b,18 -2236,LIT-783b,LIT,LIT,0xC5b3D3231001a776123194Cf1290068e8b0C783b,18 -2237,cV-5683,cV,cVToken,0x50bC2Ecc0bfDf5666640048038C1ABA7B7525683,18 -2238,SPRING-d4FE,SPRING,Spring Token,0xf04aF3f4E4929F7CD25A751E6149A3318373d4FE,18 -2239,MOONEY-1395,MOONEY,MOONEY,0x20d4DB1946859E2Adb0e5ACC2eac58047aD41395,18 -2240,SBLX-5F80,SBLX,SocialBlox,0xf6af18F94d55B8888B557cb3da0Ec623BA245F80,18 -2241,CHO-3099,CHO,choise.com Token,0xBBa39Fd2935d5769116ce38d46a71bde9cf03099,18 -2242,MNE-d0E0,MNE,Minereum,0x426CA1eA2406c07d75Db9585F22781c096e3d0E0,8 -2243,MILADY-EB48,MILADY,Milady Maker,0x227c7DF69D3ed1ae7574A1a7685fDEd90292EB48,18 -2244,bLUSD-79C3,bLUSD,bLUSD,0xB9D7DdDca9a4AC480991865EfEf82E01273F79C3,18 -2245,ARTIC-731e,ARTIC,ARTIC,0xE83D5FB2c60B3A2597452e248CF7b2f52a7E731e,18 -2246,PHONON-03Ec,PHONON,Phonon DAO,0x758B4684BE769E92eeFeA93f60DDA0181eA303Ec,18 -2247,NEC-7A5e,NEC,Ethfinex Nectar Token,0xCc80C051057B774cD75067Dc48f8987C4Eb97A5e,18 -2248,UNIDX-D96C,UNIDX,UniDex,0x95b3497bBcCcc46a8F45F5Cf54b0878b39f8D96C,18 -2249,SURE-416E,SURE,inSure,0xcb86c6A22CB56B6cf40CaFEDb06BA0DF188a416E,18 -2250,BOLLY-ea99,BOLLY,Bollycoin,0x6bd361e10c1afed0d95259e7C0115f3A60e4ea99,18 -2251,IMPT-1f85,IMPT,IMPT,0x04C17b9D3b29A78F7Bd062a57CF44FC633e71f85,18 -2252,AIOZ-BF18,AIOZ,AIOZ Network,0x626E8036dEB333b408Be468F951bdB42433cBF18,18 -2253,FF-94CD,FF,Forefront,0x7E9D8f07A64e363e97A648904a89fb4cd5fB94CD,18 -2254,TSCT-5035,TSCT,Transient,0x805EA9c07B49dd23cE11ec66dC6d8a2957385035,18 -2255,CPOOL-FaC5,CPOOL,Clearpool,0x66761Fa41377003622aEE3c7675Fc7b5c1C2FaC5,18 -2256,CDT-85Cc,CDT,CheckDot,0xCdB37A4fBC2Da5b78aA4E41a432792f9533e85Cc,18 -2257,$MNB-A366,$MNB,Mineable,0x42b91f1d05afeA671a2dA3c780eDa2aBf0A2A366,18 -2258,TAIL-77c4,TAIL,Tail Finance,0x4384b85FE228AE727B129230211194E4A50877c4,9 -2259,BED-7dc6,BED,Bankless BED Index,0x2aF1dF3AB0ab157e1E2Ad8F88A7D04fbea0c7dc6,18 -2260,HFT-cADC,HFT,Hashflow,0xb3999F658C0391d94A37f7FF328F3feC942BcADC,18 -2261,PUNDIX-0C38,PUNDIX,Pundi X Token,0x0FD10b9899882a6f2fcb5c371E17e70FdEe00C38,18 -2262,MVDG-9750,MVDG,Metaverse Dog,0x2eE543b8866F46cC3dC93224C6742a8911a59750,18 -2263,ANT-5A2e,ANT,Aragon Network Token,0xa117000000f279D81A1D3cc75430fAA017FA5A2e,18 -2264,BTU-cc9f,BTU,BTU Protocol,0xb683D83a532e2Cb7DFa5275eED3698436371cc9f,18 -2265,PANDA-00DC,PANDA,PandaDAO,0x3cBb7f5d7499Af626026E96a2f05df806F2200DC,18 -2266,BLOOD-B50c,BLOOD,Blood,0x95392f142Af1c12F6e39897Ff9B09c599666B50c,18 -2267,BAM-4AaB,BAM,Bambi,0x9DB0FB0Aebe6A925B7838D16e3993A3976A64AaB,18 -2268,ETH2x_FLI-65BD,ETH2x_FLI,ETH 2x Flexible Leverage Index,0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD,18 -2269,UNIBOT-5040,UNIBOT,Unibot,0x25127685dC35d4dc96C7fEAC7370749d004C5040,18 -2270,LHINU-038d,LHINU,Love Hate Inu,0xCeDefE438860D2789dA6419b3a19cEcE2A41038d,18 -2271,RIBBIT-5fFe,RIBBIT,Ribbit,0xb794Ad95317f75c44090f64955954C3849315fFe,18 -2272,TURBO-20D3,TURBO,Turbo,0xA35923162C49cF95e6BF26623385eb431ad920D3,18 -2273,SFOX-76d5,SFOX,StonedFox,0xdfba8e8fFCc348B006e893e78De233B8597076d5,18 -2274,wjAURA-Cd1F,wjAURA,Wrapped Jones AURA,0x198d7387Fa97A73F05b8578CdEFf8F2A1f34Cd1F,18 -2275,BEE-307c,BEE,Babylon Bee,0x4C4F2B9DEB3c91006719Bb3232DD4eb39977307c,18 -2276,BIAO-5D8a,BIAO,Biaocoin,0x00282FD551D03dC033256C4bf119532e8C735D8a,2 -2277,TUCKER-A84f,TUCKER,Tucker Carlson,0x6f49694827d46A14Baf2a7b1eAC3e6eB3526A84f,9 \ No newline at end of file +1.0,OCTO-2BA3,OCTO,OCTO,0x7240aC91f01233BaAf8b064248E80feaA5912BA3,18 +2.0,USDC-eB48,USDC,USDC,0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48,6 +3.0,ECO-5727,ECO,ECO,0x8dBF9A4c99580fC7Fd4024ee08f3994420035727,18 +4.0,WBTC-C599,WBTC,WBTC,0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599,8 +5.0,DIGG-01C3,DIGG,DIGG,0x798D1bE841a82a273720CE31c822C61a67a601C3,9 +6.0,SPIRAL-1C3c,SPIRAL,SPIRAL,0x01792e1548Dc317bDE6123fe92da1Fe6d7311C3c,9 +7.0,DYP-ef17,DYP,DYP,0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17,18 +8.0,FTG-7659,FTG,FTG,0x3A4CaB3DcfaB144FE7eB2B5a3e288Cc03dC07659,18 +9.0,USDT-1ec7,USDT,USDT,0xdAC17F958D2ee523a2206206994597C13D831ec7,6 +10.0,ORE-782A,ORE,ORE,0x4f640F2529ee0cF119A2881485845FA8e61A782A,18 +11.0,CWEB-Bf04,CWEB,CWEB,0x505B5eDa5E25a67E1c24A2BF1a527Ed9eb88Bf04,18 +12.0,BigSB-b6F6,BigSB,BigSB,0x131157c6760f78f7dDF877C0019Eba175BA4b6F6,18 +13.0,FRAX-b99e,FRAX,FRAX,0x853d955aCEf822Db058eb8505911ED77F175b99e,18 +14.0,USDx-23E3,USDx,USDx,0x2F6081E3552b1c86cE4479B80062A1ddA8EF23E3,9 +15.0,RFOX-8262,RFOX,RFOX,0xa1d6Df714F91DeBF4e0802A542E13067f31b8262,18 +16.0,DAI-1d0F,DAI,DAI,0x6B175474E89094C44Da98b954EedeAC495271d0F,18 +17.0,IDLE-D39e,IDLE,IDLE,0x875773784Af8135eA0ef43b5a374AaD105c5D39e,18 +18.0,HAI-9a63,HAI,HAI,0x05Fb86775Fd5c16290f1E838F5caaa7342bD9a63,8 +19.0,PULSE-97cE,PULSE,PULSE,0x52A047Ee205701895Ee06A375492490EC9C597cE,18 +20.0,GUILD-475A,GUILD,GUILD,0x83E9F223e1edb3486F876EE888d76bFba26c475A,18 +21.0,SPDR-0Fdd,SPDR,SPDR,0xbcD4b7dE6fde81025f74426D43165a5b0D790Fdd,18 +22.0,SNP-FA9d,SNP,SNP,0x6911F552842236bd9E8ea8DDBB3fb414e2C5FA9d,18 +23.0,OCC-7207,OCC,OCC,0x2F109021aFe75B949429fe30523Ee7C0D5B27207,18 +24.0,DAWN-9aFa,DAWN,DAWN,0x580c8520dEDA0a441522AEAe0f9F7A5f29629aFa,18 +25.0,Shird-695f,Shird,Shird,0x8916187112fd6e3624a80C42FA354Cd9756E695f,9 +26.0,PEAK-Ad78,PEAK,PEAK,0x630d98424eFe0Ea27fB1b3Ab7741907DFFEaAd78,8 +27.0,HGET-5148,HGET,HGET,0x7968bc6a03017eA2de509AAA816F163Db0f35148,6 +28.0,bluSGD-db22,bluSGD,bluSGD,0x92830ef7c8d651Ed3A708053c602E807bAd7db22,18 +29.0,ZRX-F498,ZRX,ZRX,0xE41d2489571d322189246DaFA5ebDe1F4699F498,18 +30.0,NineFi-2f1d,NineFi,NineFi,0xe78BFF28D3c5195C752E734E95421bb4bd742f1d,18 +31.0,RBIS-9D7D,RBIS,RBIS,0xf34B1Db61ACa1a371fE97BAd2606c9f534fb9D7D,18 +32.0,WFAIR-8972,WFAIR,WFAIR,0xC6065B9fc8171Ad3D29bad510709249681758972,18 +33.0,SST-9868,SST,SST,0x2863916C6ebDBBf0c6f02F87b7eB478509299868,18 +34.0,UNI-F984,UNI,UNI,0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984,18 +35.0,DSD-66e3,DSD,DSD,0xBD2F0Cd039E0BFcf88901C98c0bFAc5ab27566e3,18 +36.0,NKN-c9eb,NKN,NKN,0x5Cf04716BA20127F1E2297AdDCf4B5035000c9eb,18 +37.0,PLR-9C17,PLR,PLR,0xe3818504c1B32bF1557b16C238B2E01Fd3149C17,18 +38.0,UNKAI-B73D,UNKAI,UNKAI,0x8a34D707189fBFa46930ABFDe3D22abDC48AB73D,9 +39.0,DPR-07a1,DPR,DPR,0xf3AE5d769e153Ef72b4e3591aC004E89F48107a1,18 +40.0,DOGZ-33eF,DOGZ,DOGZ,0x82A77710495A35549D2aDD797412b4a4497D33eF,18 +41.0,ALD-2a8D,ALD,ALD,0xb26C4B3Ca601136Daf98593feAeff9E0CA702a8D,18 +42.0,ONIGIRI-30D0,ONIGIRI,ONIGIRI,0xcf9c692F7e62Af3c571D4173fd4ABf9A3E5330D0,18 +43.0,EYE-1c65,EYE,EYE,0x155ff1A85F440EE0A382eA949f24CE4E0b751c65,18 +44.0,XPR-A2af,XPR,XPR,0xD7EFB00d12C2c13131FD319336Fdf952525dA2af,4 +45.0,MARK-4253,MARK,MARK,0x67c597624B17b16fb77959217360B7cD18284253,9 +46.0,TANGO-3Bef,TANGO,TANGO,0x182F4c4C97cd1c24E1Df8FC4c053E5C47bf53Bef,18 +47.0,GENI-6a39,GENI,GENI,0xAAC1abdb4fB7a91a0e2E036dFacC45F708ed6a39,18 +48.0,GMEE-2373,GMEE,GMEE,0xD9016A907Dc0ECfA3ca425ab20B6b785B42F2373,18 +49.0,MFI-355B,MFI,MFI,0xAa4e3edb11AFa93c41db59842b29de64b72E355B,18 +50.0,KOL-d414,KOL,KOL,0x1CC30e2EAc975416060Ec6FE682041408420d414,18 +51.0,CE-EecE,CE,CE,0x8F12Dfc7981DE79A8A34070a732471f2D335EecE,18 +52.0,ACR-E3CF,ACR,ACR,0x76306F029f8F99EFFE509534037Ba7030999E3CF,18 +53.0,DLTA-D823,DLTA,DLTA,0x0000000DE40dfa9B17854cBC7869D80f9F98D823,18 +54.0,HEX-eb39,HEX,HEX,0x2b591e99afE9f32eAA6214f7B7629768c40Eeb39,8 +55.0,VPAD-4EDc,VPAD,VPAD,0x51FE2E572e97BFEB1D719809d743Ec2675924EDc,18 +56.0,BASv2-5287,BASv2,BASv2,0x106538CC16F938776c7c180186975BCA23875287,18 +57.0,FLy-1472,FLy,FLy,0x85f6eB2BD5a062f5F8560BE93FB7147e16c81472,4 +58.0,XIO-5704,XIO,XIO,0x0f7F961648aE6Db43C75663aC7E5414Eb79b5704,18 +59.0,PLUG-976a,PLUG,PLUG,0x47DA5456bC2e1ce391b645Ce80F2E97192e4976a,18 +60.0,NOW-693b,NOW,NOW,0xE9A95d175a5f4C9369f3b74222402eB1b837693b,8 +61.0,RCN-75A6,RCN,RCN,0xF970b8E36e23F7fC3FD752EeA86f8Be8D83375A6,18 +62.0,VIS-E863,VIS,VIS,0x469084939d1c20Fae3C73704FE963941C51bE863,18 +63.0,KAP-8569,KAP,KAP,0x9625cE7753ace1fa1865A47aAe2c5C2Ce4418569,18 +64.0,SLICE-16D1,SLICE,SLICE,0x0AeE8703D34DD9aE107386d3eFF22AE75Dd616D1,18 +65.0,CSM-8861,CSM,CSM,0x2620638EDA99F9e7E902Ea24a285456EE9438861,18 +66.0,GRO-74D7,GRO,GRO,0x3Ec8798B81485A254928B70CDA1cf0A2BB0B74D7,18 +67.0,FORTH-0ce0,FORTH,FORTH,0x77FbA179C79De5B7653F68b5039Af940AdA60ce0,18 +68.0,DORA-c81d,DORA,DORA,0xbc4171f45EF0EF66E76F979dF021a34B46DCc81d,18 +69.0,DENA-a1DA,DENA,DENA,0x15F0EEDF9Ce24fc4b6826E590A8292CE5524a1DA,18 +70.0,ZEUM-8190,ZEUM,ZEUM,0x436dA116249044E8B4464F0Cf21Dd93311d88190,18 +71.0,WOZX-b79F,WOZX,WOZX,0x34950Ff2b487d9E5282c5aB342d08A2f712eb79F,18 +72.0,TGL-4e92,TGL,TGL,0xCc4450EDEfbBEb450E2f205f4ECEfF7232D54e92,18 +73.0,CORN-ea5E,CORN,CORN,0xa456b515303B2Ce344E9d2601f91270f8c2Fea5E,18 +74.0,JGN-e041,JGN,JGN,0x73374Ea518De7adDD4c2B624C0e8B113955ee041,18 +75.0,CP-CFCa,CP,CP,0x5BDC32663Ec75E85ff4abc2CAe7ae8B606A2CFCa,18 +76.0,FARM-A14D,FARM,FARM,0xa0246c9032bC3A600820415aE600c6388619A14D,18 +77.0,JOY-1FB5,JOY,JOY,0x4E114d405b9Ba2F59524941733e505Ae03Fb1FB5,18 +78.0,PEPE-E35F,PEPE,PEPE,0x4A27e9aAb8F8bA9de06766C8476eD1D16494E35F,18 +79.0,WETH-6Cc2,WETH,WETH,0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2,18 +80.0,X2Y2-EBC9,X2Y2,X2Y2,0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9,18 +81.0,FANC-c045,FANC,FANC,0xbB126042235E6bD38B17744cb31a8bF4A206c045,18 +82.0,ANB-9692,ANB,ANB,0x2c9acEb63181cd08a093d052ec041e191f229692,18 +83.0,REVV-A8Ca,REVV,REVV,0x557B933a7C2c45672B610F8954A3deB39a51A8Ca,18 +84.0,Mars-70B7,Mars,Mars,0x66C0DDEd8433c9EA86C8cf91237B14e10b4d70B7,18 +85.0,REL-05ec,REL,REL,0xb6c4267C4877BB0D6b1685Cfd85b0FBe82F105ec,18 +86.0,MTL-355e,MTL,MTL,0xF433089366899D83a9f26A773D59ec7eCF30355e,8 +87.0,DOG-868D,DOG,DOG,0x47D920a911cB9a0Ad4618698bA3feF800aBC868D,18 +88.0,WAVES-f29a,WAVES,WAVES,0x1cF4592ebfFd730c7dc92c1bdFFDfc3B9EfCf29a,18 +89.0,BUSD-7C53,BUSD,BUSD,0x4Fabb145d64652a948d72533023f6E7A623C7C53,18 +90.0,NGL-66aE,NGL,NGL,0x2653891204F463fb2a2F4f412564b19e955166aE,18 +91.0,ELON-60F3,ELON,ELON,0x761D38e5ddf6ccf6Cf7c55759d5210750B5D60F3,18 +92.0,GAME-1d1c,GAME,GAME,0xD567B5F02b9073aD3a982a099a23Bf019FF11d1c,5 +93.0,SRK-74E6,SRK,SRK,0x0488401c3F535193Fa8Df029d9fFe615A06E74E6,18 +94.0,$LSVR-c09B,$LSVR,$LSVR,0x79A06aCb8bdd138BEEECcE0f1605971f3AC7c09B,18 +95.0,MGG-8740,MGG,MGG,0x7237C0B30B1355f1B76355582f182F6f04B08740,18 +96.0,wOXEN-bcc5,wOXEN,wOXEN,0xd1e2d5085b39B80C9948AeB1b9aA83AF6756bcc5,9 +97.0,GEM-efcC,GEM,GEM,0x9008064E6cf73e27a3Aba4B10E69f855A4F8efcC,18 +98.0,UBI-E9a4,UBI,UBI,0xDd1Ad9A21Ce722C151A836373baBe42c868cE9a4,18 +99.0,LINK-86CA,LINK,LINK,0x514910771AF9Ca656af840dff83E8264EcF986CA,18 +100.0,DEXG-436D,DEXG,DEXG,0xB81D70802a816B5DacBA06D708B5acF19DcD436D,18 +101.0,XEN-6Fb8,XEN,XEN,0x06450dEe7FD2Fb8E39061434BAbCFC05599a6Fb8,18 +102.0,PEPES-7E12,PEPES,PEPES,0x6BF765C43030387a983f429c1438e9D2025B7E12,18 +103.0,SPWN-1126,SPWN,SPWN,0xe516D78d784C77D479977BE58905B3f2b1111126,18 +104.0,GYEN-D911,GYEN,GYEN,0xC08512927D12348F6620a698105e1BAac6EcD911,6 +105.0,TOAD-eD1e,TOAD,TOAD,0xBfB2b6870501a6Ff17121D676A0A45a38c9eeD1e,9 +106.0,ARPA-b71a,ARPA,ARPA,0xBA50933C268F567BDC86E1aC131BE072C6B0b71a,18 +107.0,EVA-8707,EVA,EVA,0xd6cAF5Bd23CF057f5FcCCE295Dcc50C01C198707,18 +108.0,BAG-14b0,BAG,BAG,0x28A06c02287e657ec3F8e151A13C36A1D43814b0,18 +109.0,ABR-8C7C,ABR,ABR,0xa11bD36801d8fa4448F0ac4ea7A62e3634cE8C7C,18 +110.0,OXAI-Fe9d,OXAI,OXAI,0x428dca9537116148616a5A3E44035Af17238Fe9d,18 +111.0,UBXN-1065,UBXN,UBXN,0x7A73839bd0e5cdED853cB01aa9773F8989381065,18 +112.0,OIL-88a5,OIL,OIL,0x0275E1001e293C46CFe158B3702AADe0B99f88a5,18 +113.0,ESD-d723,ESD,ESD,0x36F3FD68E7325a35EB768F1AedaAe9EA0689d723,18 +114.0,LXF-772A,LXF,LXF,0xA799C4ADcf62E025cE4D8aBE6A77CebC487d772A,18 +115.0,ERP-2267,ERP,ERP,0x0a0e3bfD5a8cE610E735D4469Bc1b3b130402267,18 +116.0,IOEN-893A,IOEN,IOEN,0x1e4E46b7BF03ECE908c88FF7cC4975560010893A,18 +117.0,VNDC-b5DE,VNDC,VNDC,0x1F3F677Ecc58F6A1F9e2CF410dF4776a8546b5DE,0 +118.0,BACON-38e7,BACON,BACON,0x34f797e7190C131cF630524655A618b5BD8738e7,18 +119.0,DTX-3F75,DTX,DTX,0x765f0C16D1Ddc279295c1a7C24B0883F62d33F75,18 +120.0,LINA-1937,LINA,LINA,0x3E9BC21C9b189C09dF3eF1B824798658d5011937,18 +121.0,PINA-780D,PINA,PINA,0x02814F435dD04e254Be7ae69F61FCa19881a780D,18 +122.0,PEPEBET-0350,PEPEBET,PEPEBET,0x33Cf519030235F75A13F29aFcFF5D6ff4Fd10350,18 +123.0,ARMOR-E46a,ARMOR,ARMOR,0x1337DEF16F9B486fAEd0293eb623Dc8395dFE46a,18 +124.0,MATIC-eBB0,MATIC,MATIC,0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0,18 +125.0,SOTU-9162,SOTU,SOTU,0xa91c82B6933105C23298E631A0C1Be751D239162,18 +126.0,HEZ-8dEE,HEZ,HEZ,0xEEF9f339514298C6A857EfCfC1A762aF84438dEE,18 +127.0,STRONG-017c,STRONG,STRONG,0x990f341946A3fdB507aE7e52d17851B87168017c,18 +128.0,PPAY-3Bb2,PPAY,PPAY,0x054D64b73d3D8A21Af3D764eFd76bCaA774f3Bb2,18 +129.0,GST-1404,GST,GST,0x473037de59cf9484632f4A27B509CFE8d4a31404,8 +130.0,FNK-48Ad,FNK,FNK,0xB5FE099475d3030DDe498c3BB6F3854F762A48Ad,18 +131.0,ICE-7DF9,ICE,ICE,0xf16e81dce15B08F326220742020379B855B87DF9,18 +132.0,REEF-5ACf,REEF,REEF,0xFE3E6a25e6b192A42a44ecDDCd13796471735ACf,18 +133.0,FRONT-793f,FRONT,FRONT,0xf8C3527CC04340b208C854E985240c02F7B7793f,18 +134.0,FMTA-9AB4,FMTA,FMTA,0xAa9D866666C2A3748d6B23Ff69E63E52f08d9AB4,18 +135.0,ZERO-a574,ZERO,ZERO,0xF0939011a9bb95c3B791f0cb546377Ed2693a574,18 +136.0,SHROOM-f183,SHROOM,SHROOM,0xEd0439EACf4c4965AE4613D77a5C2Efe10e5f183,18 +137.0,FLASH-F2F8,FLASH,FLASH,0xB1f1F47061A7Be15C69f378CB3f69423bD58F2F8,18 +138.0,NAO-53dc,NAO,NAO,0xd049206fB408a611E543791F2d8F102a8bC253dc,18 +139.0,MPL-35e6,MPL,MPL,0x33349B282065b0284d756F0577FB39c158F935e6,18 +140.0,DOE-d7eF,DOE,DOE,0xf8E9F10c22840b613cdA05A0c5Fdb59A4d6cd7eF,18 +141.0,DERC-a9aE,DERC,DERC,0x9fa69536d1cda4A04cFB50688294de75B505a9aE,18 +142.0,BLU-1FfD,BLU,BLU,0xe5D2e173B120341face9e9970889C9FE64081FfD,18 +143.0,PRE-2A0F,PRE,PRE,0xEC213F83defB583af3A000B1c0ada660b1902A0F,18 +144.0,DBI-0EcE,DBI,DBI,0x2dE509bf0014ddF697b220bE628213034d320EcE,18 +145.0,XFIT-7441,XFIT,XFIT,0x4aa41bC1649C9C3177eD16CaaA11482295fC7441,18 +146.0,ELFI-16f4,ELFI,ELFI,0x4dA34f8264CB33A5c9F17081B9EF5Ff6091116f4,18 +147.0,ASW-2a11,ASW,ASW,0x56694577564FdD577a0ABB20FE95C1E2756C2a11,18 +148.0,BEL-7e14,BEL,BEL,0xA91ac63D040dEB1b7A5E4d4134aD23eb0ba07e14,18 +149.0,HORD-3448,HORD,HORD,0x43A96962254855F16b925556f9e97BE436A43448,18 +150.0,DIGITS-404F,DIGITS,DIGITS,0xBE56ab825fD35678A32dc35bc4EB17e238e1404F,18 +151.0,FWT-a295,FWT,FWT,0x20e7125677311Fca903A8897042b9983f22Ea295,18 +152.0,CLS-de37,CLS,CLS,0x675BBC7514013E2073DB7a919F6e4cbeF576de37,18 +153.0,SAKURA-FeD6,SAKURA,SAKURA,0xb208b1a5664574F72d22E9e9981837310cACFeD6,9 +154.0,REQ-938a,REQ,REQ,0x8f8221aFbB33998d8584A2B05749bA73c37a938a,18 +155.0,BOND-750f,BOND,BOND,0x0391D2021f89DC339F60Fff84546EA23E337750f,18 +156.0,ZKS-58c6,ZKS,ZKS,0xe4815AE53B124e7263F08dcDBBB757d41Ed658c6,18 +157.0,ROUTE-3dB4,ROUTE,ROUTE,0x16ECCfDbb4eE1A85A33f3A9B21175Cd7Ae753dB4,18 +158.0,CRU-3c41,CRU,CRU,0x32a7C02e79c4ea1008dD6564b35F131428673c41,18 +159.0,CIRUS-8756,CIRUS,CIRUS,0xA01199c61841Fce3b3daFB83FeFC1899715c8756,18 +160.0,SYNR-490a,SYNR,SYNR,0xbc6E06778708177a18210181b073DA747C88490a,18 +161.0,GLM-6429,GLM,GLM,0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429,18 +162.0,DEC-E7F3,DEC,DEC,0x9393fdc77090F31c7db989390D43F454B1A6E7F3,3 +163.0,SD-D10f,SD,SD,0x30D20208d987713f46DFD34EF128Bb16C404D10f,18 +164.0,BLZ-D668,BLZ,BLZ,0x5732046A883704404F284Ce41FfADd5b007FD668,18 +165.0,MTLX-1d14,MTLX,MTLX,0x2e1E15C44Ffe4Df6a0cb7371CD00d5028e571d14,18 +166.0,NFTY-3208,NFTY,NFTY,0xE1D7C7a4596B038CEd2A84bF65B8647271C53208,18 +167.0,DXP-B745,DXP,DXP,0x88aa4a6C5050b9A1b2Aa7e34D0582025cA6AB745,18 +168.0,OCT-c6DC,OCT,OCT,0xF5cFBC74057C610c8EF151A439252680AC68c6DC,18 +169.0,DG-dEDE,DG,DG,0x53C8395465A84955c95159814461466053DedEDE,18 +170.0,iAI-2122,iAI,iAI,0x6dDe4fFD6dB302Bc9a46850f61399e082f6c2122,18 +171.0,SPOOL-0976,SPOOL,SPOOL,0x40803cEA2b2A32BdA1bE61d3604af6a814E70976,18 +172.0,MASK-3074,MASK,MASK,0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074,18 +173.0,ASTO-4689,ASTO,ASTO,0x823556202e86763853b40e9cDE725f412e294689,18 +174.0,XCAD-6Aa0,XCAD,XCAD,0x7659CE147D0e714454073a5dd7003544234b6Aa0,18 +175.0,STABLZ-F7cd,STABLZ,STABLZ,0xA4Eb9C64eC359D093eAc7B65F51Ef933D6e5F7cd,18 +176.0,SNP-E873,SNP,SNP,0x795dBF627484F8248D3d6c09c309825c1563E873,18 +177.0,RACA-9040,RACA,RACA,0x12BB890508c125661E03b09EC06E404bc9289040,18 +178.0,ARCH-1011,ARCH,ARCH,0x73C69d24ad28e2d43D03CBf35F79fE26EBDE1011,18 +179.0,VOW-46Fb,VOW,VOW,0x1BBf25e71EC48B84d773809B4bA55B6F4bE946Fb,18 +180.0,TSUKA-69eD,TSUKA,TSUKA,0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD,9 +181.0,eXRD-9414,eXRD,eXRD,0x6468e79A80C0eaB0F9A2B574c8d5bC374Af59414,18 +182.0,RAD-64A3,RAD,RAD,0x31c8EAcBFFdD875c74b94b077895Bd78CF1E64A3,18 +183.0,BDT-d5Cf,BDT,BDT,0x4Efe8665e564bF454cCF5C90Ee16817F7485d5Cf,18 +184.0,PROS-4B56,PROS,PROS,0x8642A849D0dcb7a15a974794668ADcfbe4794B56,18 +185.0,OPUL-6444,OPUL,OPUL,0x80D55c03180349Fff4a229102F62328220A96444,18 +186.0,FLX-0770,FLX,FLX,0x3Ea8ea4237344C9931214796d9417Af1A1180770,18 +187.0,POLAR-075E,POLAR,POLAR,0x58fcAa970339a9b1f8c0a5b4F3Fcd7af2bA3075E,18 +188.0,Z3-61a6,Z3,Z3,0x50Eec6D765792dCfB0913C8403ef2A12e1B861a6,18 +189.0,Okinami-4121,Okinami,Okinami,0x1C4853Ec0d55e420002c5eFaBc7Ed8e0bA7A4121,9 +190.0,HDRN-5e06,HDRN,HDRN,0x3819f64f282bf135d62168C1e513280dAF905e06,9 +191.0,FLEX-bc0A,FLEX,FLEX,0xFcF8eda095e37A41e002E266DaAD7efC1579bc0A,18 +192.0,DAO-09Ad,DAO,DAO,0x0f51bb10119727a7e5eA3538074fb341F56B09Ad,18 +193.0,WOO-5D4B,WOO,WOO,0x4691937a7508860F876c9c0a2a617E7d9E945D4B,18 +194.0,O-c40f,O,O,0xb53ecF1345caBeE6eA1a65100Ebb153cEbcac40f,18 +195.0,POND-D26C,POND,POND,0x57B946008913B82E4dF85f501cbAeD910e58D26C,18 +196.0,ALI-4181,ALI,ALI,0x6B0b3a982b4634aC68dD83a4DBF02311cE324181,18 +197.0,NRFX-94a4,NRFX,NRFX,0x01b443495834D667b42f54d2b77eEd6951eD94a4,18 +198.0,XDEX-6c83,XDEX,XDEX,0x000000000000d0151E748d25b766e77efe2A6c83,18 +199.0,OTHR-C334,OTHR,OTHR,0x407a3E019c655B779ccD098Ff50377E4C5F1C334,9 +200.0,UNIX-7aC8,UNIX,UNIX,0xDDD6A0ECc3c6F6C102E5eA3d8Af7B801d1a77aC8,18 +201.0,INSUR-7429,INSUR,INSUR,0x544c42fBB96B39B21DF61cf322b5EDC285EE7429,18 +202.0,GR-575c,GR,GR,0xcE593a29905951E8Fc579bC092ecA72577dA575c,6 +203.0,FLUT-1870,FLUT,FLUT,0x4F08705FB8F33AffC231ed66e626B40E84A71870,11 +204.0,SYLO-dcd4,SYLO,SYLO,0xf293d23BF2CDc05411Ca0edDD588eb1977e8dcd4,18 +205.0,BAC-A69a,BAC,BAC,0x3449FC1Cd036255BA1EB19d65fF4BA2b8903A69a,18 +206.0,MYTH-2003,MYTH,MYTH,0xBA41Ddf06B7fFD89D1267b5A93BFeF2424eb2003,18 +207.0,HDAO-fF2D,HDAO,HDAO,0xdaC657ffD44a3B9d8aba8749830Bf14BEB66fF2D,18 +208.0,BNT-FF1C,BNT,BNT,0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C,18 +209.0,DNXC-f03a,DNXC,DNXC,0x20a8CEC5fffea65Be7122BCaB2FFe32ED4Ebf03a,18 +210.0,BRKL-9ff8,BRKL,BRKL,0x4674a4F24C5f63D53F22490Fb3A08eAAAD739ff8,18 +211.0,FEAR-1E83,FEAR,FEAR,0x88A9A52F944315D5B4e917b9689e65445C401E83,18 +212.0,UDO-dC06,UDO,UDO,0xea3983Fc6D0fbbC41fb6F6091f68F3e08894dC06,18 +213.0,MUSK-2Cd8,MUSK,MUSK,0x6069c9223e8a5DA1ec49ac5525d4BB757Af72Cd8,18 +214.0,SALT-0581,SALT,SALT,0x4156D3342D5c385a87D264F90653733592000581,8 +215.0,RPG-e251,RPG,RPG,0x0E5C8C387C5EBa2eCbc137aD012aeD5Fe729e251,18 +216.0,OBOT-0c32,OBOT,OBOT,0xeDADeB5fAa413e6c8623461849DFD0B7C3790c32,18 +217.0,DUCK-305F,DUCK,DUCK,0xC0bA369c8Db6eB3924965e5c4FD0b4C1B91e305F,18 +218.0,BAMBOO-2e89,BAMBOO,BAMBOO,0xf56842Af3B56Fd72d17cB103f92d027bBa912e89,18 +219.0,O3-7d28,O3,O3,0xEe9801669C6138E84bD50dEB500827b776777d28,18 +220.0,KYOKO-BaC2,KYOKO,KYOKO,0x14a32f050FACF226Ec60882398A9BF36d91DBaC2,18 +221.0,CHANGE-2754,CHANGE,CHANGE,0x7051faED0775f664a0286Af4F75ef5ed74e02754,18 +222.0,MDF-B411,MDF,MDF,0x1a57367C6194199e5D9aEa1cE027431682dfB411,18 +223.0,TIDAL-33B7,TIDAL,TIDAL,0x29CbD0510EEc0327992CD6006e63F9Fa8E7f33B7,18 +224.0,Daruma-f704,Daruma,Daruma,0xA888D9616C2222788fa19f05F77221A290eEf704,9 +225.0,SDAO-875F,SDAO,SDAO,0x993864E43Caa7F7F12953AD6fEb1d1Ca635B875F,18 +226.0,NFTD-B379,NFTD,NFTD,0x8E0fE2947752BE0d5ACF73aaE77362Daf79cB379,18 +227.0,PNL-B459,PNL,PNL,0x9FC8f0ca1668E87294941b7f627e9C15eA06B459,18 +228.0,DDX-Ed3A,DDX,DDX,0x3A880652F47bFaa771908C07Dd8673A787dAEd3A,18 +229.0,RPL-Bd93,RPL,RPL,0xB4EFd85c19999D84251304bDA99E90B92300Bd93,18 +230.0,BADGER-E53d,BADGER,BADGER,0x3472A5A71965499acd81997a54BBA8D852C6E53d,18 +231.0,SENT-556F,SENT,SENT,0x97AbEe33Cd075c58BFdd174e0885e08E8f03556F,18 +232.0,ALBT-0Eb0,ALBT,ALBT,0x00a8b738E453fFd858a7edf03bcCfe20412f0Eb0,18 +233.0,AKRO-53d7,AKRO,AKRO,0x8Ab7404063Ec4DBcfd4598215992DC3F8EC853d7,18 +234.0,ERC20-EPK-40c4,ERC20-EPK,ERC20-EPK,0xDaF88906aC1DE12bA2b1D2f7bfC94E9638Ac40c4,18 +235.0,BTTY-3D0A,BTTY,BTTY,0x9cc83D580180f0d37d00e5d86ce868f73b6E3D0A,18 +236.0,icc-a177,icc,icc,0x70E67ec0939ec87c3a77b089CA08E0443ea4a177,18 +237.0,DON-c88a,DON,DON,0x217ddEad61a42369A266F1Fb754EB5d3EBadc88a,18 +238.0,MPS-D47D,MPS,MPS,0x96c645D3D3706f793Ef52C19bBACe441900eD47D,0 +239.0,Umoon-C5da,Umoon,Umoon,0x71de2285ec83BB6517D2B3eC8DEb2A6c44D8C5da,18 +240.0,IOI-1d81,IOI,IOI,0x8B3870Df408fF4D7C3A26DF852D41034eDa11d81,6 +241.0,BUMP-2168,BUMP,BUMP,0x785c34312dfA6B74F6f1829f79ADe39042222168,18 +242.0,CRF-219d,CRF,CRF,0x508df5aa4746bE37b5b6A69684DfD8BDC322219d,18 +243.0,WDOGE-98E7,WDOGE,WDOGE,0x35a532d376FFd9a705d0Bb319532837337A398E7,18 +244.0,HILO-5ff6,HILO,HILO,0xbb9FD9Fa4863C03c574007fF3370787B9cE65ff6,18 +245.0,VR-8cdD,VR,VR,0x7d5121505149065b562C789A0145eD750e6E8cdD,18 +246.0,NUM-3079,NUM,NUM,0x3496B523e5C00a4b4150D6721320CdDb234c3079,18 +247.0,BTBS-4356,BTBS,BTBS,0x32E6C34Cd57087aBBD59B5A4AECC4cB495924356,18 +248.0,CPRX-978f,CPRX,CPRX,0xc6e145421FD494B26dCF2BFeB1b02b7c5721978f,18 +249.0,FORM-FA2a,FORM,FORM,0x21381e026Ad6d8266244f2A583b35F9E4413FA2a,18 +250.0,EAG8-EeE4,EAG8,EAG8,0x0A8b16b27D5219c8C6b57D5442CE31D81573EeE4,8 +251.0,HAN-511F,HAN,HAN,0x0c90C57aaf95A3A87eadda6ec3974c99D786511F,18 +252.0,AGIX-b542,AGIX,AGIX,0x5B7533812759B45C2B44C19e320ba2cD2681b542,8 +253.0,VENDETTA-53c3,VENDETTA,VENDETTA,0x3A529A8d4f2ea64D206339fA12A3aF4D431F53c3,18 +254.0,DFI-358A,DFI,DFI,0x8Fc8f8269ebca376D046Ce292dC7eaC40c8D358A,8 +255.0,Dejitaru Shirudo-16AC,Dejitaru Shirudo,Dejitaru Shirudo,0xcf4C68Db4C2FA0bf58dF07B14f45cE7709a716AC,18 +256.0,SHIB-C4cE,SHIB,SHIB,0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE,18 +257.0,CHSB-35Ba,CHSB,CHSB,0xba9d4199faB4f26eFE3551D490E3821486f135Ba,8 +258.0,XETA-3550,XETA,XETA,0x967Fb0D760ED3ce53AfE2f0A071674cccAe73550,18 +259.0,XMT-721e,XMT,XMT,0x3E5D9D8a63CC8a88748f229999CF59487e90721e,18 +260.0,ZAM-f4c6,ZAM,ZAM,0xd373576a9e738F37Dc6882328358Ff69c4cAf4c6,18 +261.0,MAXI-e84b,MAXI,MAXI,0x0d86EB9f43C57f6FF3BC9E23D8F9d82503f0e84b,8 +262.0,NRFB-f9E8,NRFB,NRFB,0x00281dFCe4cfD72c0b6FDA2AAaF077258743f9E8,0 +263.0,BLID-56A5,BLID,BLID,0x8A7aDc1B690E81c758F1BD0F72DFe27Ae6eC56A5,18 +264.0,ARW-34E4,ARW,ARW,0x351cAa9045D65107b9d311D922D15887cfd634E4,18 +265.0,FEI-87CA,FEI,FEI,0x956F47F50A910163D8BF957Cf5846D573E7f87CA,18 +266.0,ZENIQ-7233,ZENIQ,ZENIQ,0x5b52bfB8062Ce664D74bbCd4Cd6DC7Df53Fd7233,18 +267.0,cDAI-3643,cDAI,cDAI,0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643,8 +268.0,CMT-Dc18,CMT,CMT,0xE910c2a090516Fb7a7Be07f96a464785f2D5Dc18,18 +269.0,DEGENS-8B71,DEGENS,DEGENS,0xDd039990Bd551Ce7437d3bF54d155220B7988B71,18 +270.0,LBlock-D329,LBlock,LBlock,0x2b867efD2dE4Ad2B583Ca0CB3dF9C4040Ef4D329,9 +271.0,ID-6406,ID,ID,0x2dfF88A56767223A5529eA5960Da7A3F5f766406,18 +272.0,SCOIN-0EB4,SCOIN,SCOIN,0x3f5DF2F90DF67E10974fBcB1729c00D3f87c0EB4,6 +273.0,SPC-Ad20,SPC,SPC,0x86ed939B500E121C0C5f493F399084Db596dAd20,18 +274.0,TEAM-dE02,TEAM,TEAM,0xB7c9E99Da8A857cE576A830A9c19312114d9dE02,8 +275.0,NCR-ed9c,NCR,NCR,0xDB5C3C46E28B53a39C255AA39A411dD64e5fed9c,18 +276.0,STFX-Db2d,STFX,STFX,0x9343e24716659A3551eB10Aff9472A2dcAD5Db2d,18 +277.0,GRT-44a7,GRT,GRT,0xc944E90C64B2c07662A292be6244BDf05Cda44a7,18 +278.0,TONCOIN-def1,TONCOIN,TONCOIN,0x582d872A1B094FC48F5DE31D3B73F2D9bE47def1,9 +279.0,BEAR-A26a,BEAR,BEAR,0x17837004eA685690b32dbEaD02a274Ec4333A26a,18 +280.0,LDO-1B32,LDO,LDO,0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32,18 +281.0,CRV-cd52,CRV,CRV,0xD533a949740bb3306d119CC777fa900bA034cd52,18 +282.0,MKR-79A2,MKR,MKR,0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2,18 +283.0,RNDR-eb24,RNDR,RNDR,0x6De037ef9aD2725EB40118Bb1702EBb27e4Aeb24,18 +284.0,ICHI-A881,ICHI,ICHI,0x903bEF1736CDdf2A537176cf3C64579C3867A881,9 +285.0,FXS-64D0,FXS,FXS,0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0,18 +286.0,RAINI-d5eD,RAINI,RAINI,0xeB953eDA0DC65e3246f43DC8fa13f35623bDd5eD,18 +287.0,IPT-FC3d,IPT,IPT,0xd909C5862Cdb164aDB949D92622082f0092eFC3d,18 +288.0,XDAO-Ad28,XDAO,XDAO,0x71eebA415A523F5C952Cc2f06361D5443545Ad28,18 +289.0,ICHI-C4d6,ICHI,ICHI,0x111111517e4929D3dcbdfa7CCe55d30d4B6BC4d6,18 +290.0,TR3-5F98,TR3,TR3,0xF61BF4d1A948487d61b8fa63808AAC06bda55F98,18 +291.0,LOOKS-421E,LOOKS,LOOKS,0xf4d2888d29D722226FafA5d9B24F9164c092421E,18 +292.0,BONE-18d9,BONE,BONE,0x9813037ee2218799597d83D4a5B6F3b6778218d9,18 +293.0,SWASH-2F80,SWASH,SWASH,0xA130E3a33a4d84b04c3918c4E5762223Ae252F80,18 +294.0,CELL-e099,CELL,CELL,0x26c8AFBBFE1EBaca03C2bB082E69D0476Bffe099,18 +295.0,CLB-3c84,CLB,CLB,0x0AD896863ce4Cd84f10a9D30D4f509cefFd53c84,18 +296.0,PP-CfD0,PP,PP,0x9565c2036963697786705120Fc59310F747bCfD0,18 +297.0,SMTX-419b,SMTX,SMTX,0x102203517ce35AC5Cab9a2cda80DF03f26c7419b,18 +298.0,WMLX-1AAd,WMLX,WMLX,0x77D0cb0ab54F9E74b9405a5B3f60DA06A78F1AAd,0 +299.0,TRB-78a0,TRB,TRB,0x88dF592F8eb5D7Bd38bFeF7dEb0fBc02cf3778a0,18 +300.0,MM-c611,MM,MM,0x6B4c7A5e3f0B99FCD83e9c089BDDD6c7FCe5c611,18 +301.0,HOME-1F62,HOME,HOME,0xb8919522331C59f5C16bDfAA6A121a6E03A91F62,6 +302.0,XYO-E758,XYO,XYO,0x55296f69f40Ea6d20E478533C15A6B08B654E758,18 +303.0,oneICHI-1e07,oneICHI,oneICHI,0x4db2c02831c9ac305FF9311Eb661f80f1dF61e07,18 +304.0,HYVE-f7d4,HYVE,HYVE,0xd794DD1CAda4cf79C9EebaAb8327a1B0507ef7d4,18 +305.0,B2M-0a1f,B2M,B2M,0xd7c302fc3ac829C7E896a32c4Bd126f3e8Bd0a1f,18 +306.0,rETH-6393,rETH,rETH,0xae78736Cd615f374D3085123A210448E74Fc6393,18 +307.0,XTP-50fc,XTP,XTP,0x6368e1E18c4C419DDFC608A0BEd1ccb87b9250fc,18 +308.0,AVINOC-A3EF,AVINOC,AVINOC,0xF1cA9cb74685755965c7458528A36934Df52A3EF,18 +309.0,DOLA-9ce4,DOLA,DOLA,0x865377367054516e17014CcdED1e7d814EDC9ce4,18 +310.0,OHM-f1D5,OHM,OHM,0x64aa3364F17a4D01c6f1751Fd97C2BD3D7e7f1D5,9 +311.0,UCOIL-9a13,UCOIL,UCOIL,0x549044000a94870ab7c5017cd8fB0AEfa9239a13,18 +312.0,SPH-a406,SPH,SPH,0xA0CF46eb152656C7090e769916eb44a138aaa406,18 +313.0,ASH-0b92,ASH,ASH,0x64D91f12Ece7362F91A6f8E7940Cd55F05060b92,18 +314.0,LUSD-8bA0,LUSD,LUSD,0x5f98805A4E8be255a32880FDeC7F6728C6568bA0,18 +315.0,PINE-3a51,PINE,PINE,0x569424c5EE13884A193773fDC5d1c5f79C443a51,18 +316.0,eLunr-Aa5A,eLunr,eLunr,0xA87135285Ae208e22068AcDBFf64B11Ec73EAa5A,4 +317.0,SWAP-4EFe,SWAP,SWAP,0xCC4304A31d09258b0029eA7FE63d032f52e44EFe,18 +318.0,RELAY-841c,RELAY,RELAY,0x5D843Fa9495d23dE997C394296ac7B4D721E841c,18 +319.0,CHEQ-4de7,CHEQ,CHEQ,0x70EDF1c215D0ce69E7F16FD4E6276ba0d99d4de7,9 +320.0,CPD-5355,CPD,CPD,0x9b31bb425D8263fA1b8B9d090b83CF0C31665355,18 +321.0,CGG-5e43,CGG,CGG,0x1fE24F25b1Cf609B9c4e7E12D802e3640dFA5e43,18 +322.0,Y2B-0650,Y2B,Y2B,0xF9C12B27cE5058ab98ce11BD53900f84E18C0650,18 +323.0,cbETH-9704,cbETH,cbETH,0xBe9895146f7AF43049ca1c1AE358B0541Ea49704,18 +324.0,DSU-7109,DSU,DSU,0x605D26FBd5be761089281d5cec2Ce86eeA667109,18 +325.0,CRPT-6d8B,CRPT,CRPT,0x08389495D7456E1951ddF7c3a1314A4bfb646d8B,18 +326.0,LEXE-6833,LEXE,LEXE,0x53011E93F21EC7A74cdfBB7E6548F1ABCE306833,18 +327.0,POLA-2CED,POLA,POLA,0xc691bc298a304d591Ad9b352c7A8D216dE9f2CED,18 +328.0,MANA-C942,MANA,MANA,0x0F5D2fB29fb7d3CFeE444a200298f468908cC942,18 +329.0,one1INCH-3857,one1INCH,one1INCH,0x853Bb55c1f469902F088A629db8C8803A9BE3857,18 +330.0,GENI-FCc8,GENI,GENI,0x444444444444C1a66F394025Ac839A535246FCc8,9 +331.0,IDV-8840,IDV,IDV,0x45448E05020576929fcDEabC228E35b420098840,18 +332.0,L2-4D24,L2,L2,0xBbff34E47E559ef680067a6B1c980639EEb64D24,18 +333.0,ARTH-8a71,ARTH,ARTH,0x8CC0F052fff7eaD7f2EdCCcaC895502E884a8a71,18 +334.0,DRGN-A05E,DRGN,DRGN,0x419c4dB4B9e25d6Db2AD9691ccb832C8D9fDA05E,18 +335.0,BTRST-2824,BTRST,BTRST,0x799ebfABE77a6E34311eeEe9825190B9ECe32824,18 +336.0,FAKT-dC48,FAKT,FAKT,0xC3FFbE26E9446aC52008FfC8C1191d60A12bdC48,18 +337.0,GNO-6b96,GNO,GNO,0x6810e776880C02933D47DB1b9fc05908e5386b96,18 +338.0,DIA-9419,DIA,DIA,0x84cA8bc7997272c7CfB4D0Cd3D55cd942B3c9419,18 +339.0,SWIV-6f2d,SWIV,SWIV,0xbf30461210b37012783957D90dC26B95Ce3b6f2d,18 +340.0,USDC-1130,USDC,USDC,0x566957eF80F9fd5526CD2BEF8BE67035C0b81130,6 +341.0,wPPC-2958,wPPC,wPPC,0x044d078F1c86508e13328842Cc75AC021B272958,6 +342.0,TOL-2cFA,TOL,TOL,0xd07D9Fe2d2cc067015E2b4917D24933804f42cFA,18 +343.0,ALEPH-F628,ALEPH,ALEPH,0x27702a26126e0B3702af63Ee09aC4d1A084EF628,18 +344.0,GF-E238,GF,GF,0xAaEf88cEa01475125522e117BFe45cF32044E238,18 +345.0,CND-95fa,CND,CND,0xd4c435F5B09F855C3317c8524Cb1F586E42795fa,18 +346.0,ECOx-736a,ECOx,ECOx,0xcccD1Ba9f7acD6117834E0D28F25645dECb1736a,18 +347.0,SNX-2a6F,SNX,SNX,0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F,18 +348.0,RAIL-A33D,RAIL,RAIL,0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D,18 +349.0,OK-4189,OK,OK,0xd3Ac016b1B8C80EeAdDe4D186A9138C9324e4189,18 +350.0,ALCX-c8DF,ALCX,ALCX,0xdBdb4d16EdA451D0503b854CF79D55697F90c8DF,18 +351.0,ROYA-48DB,ROYA,ROYA,0x7eaF9C89037e4814DC0d9952Ac7F888C784548DB,18 +352.0,HOP-a3CC,HOP,HOP,0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC,18 +353.0,CVX-9D2B,CVX,CVX,0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B,18 +354.0,DAMM-16b8,DAMM,DAMM,0xb3207935FF56120f3499e8aD08461Dd403bF16b8,18 +355.0,BPLC-21b4,BPLC,BPLC,0x426FC8BE95573230f6e6bc4af91873F0c67b21b4,18 +356.0,GTC-163F,GTC,GTC,0xDe30da39c46104798bB5aA3fe8B9e0e1F348163F,18 +357.0,GPO-3aCE,GPO,GPO,0x4ad7a056191F4c9519fAcd6D75FA94CA26003aCE,18 +358.0,QLT-c87c,QLT,QLT,0x0173661769325565d4f011b2e5Cda688689Cc87c,9 +359.0,IOTX-4d69,IOTX,IOTX,0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69,18 +360.0,APE-4381,APE,APE,0x4d224452801ACEd8B2F0aebE155379bb5D594381,18 +361.0,AGV-382B,AGV,AGV,0xf4F618Eff5eF36Cde2FCa4FBD86554c62Fb1382B,18 +362.0,DREP-b4c2,DREP,DREP,0x3Ab6Ed69Ef663bd986Ee59205CCaD8A20F98b4c2,18 +363.0,QNT-4675,QNT,QNT,0x4a220E6096B25EADb88358cb44068A3248254675,18 +364.0,BLOCKIFY-3C21,BLOCKIFY,BLOCKIFY,0x7D608CfAa805a752788847e5C46Ce9C03Fb43C21,18 +365.0,UNV-A673,UNV,UNV,0xf009f5531dE69067435e32c4b9D36077F4C4A673,18 +366.0,HBTC-d380,HBTC,HBTC,0x0316EB71485b0Ab14103307bf65a021042c6d380,18 +367.0,SLD-a084,SLD,SLD,0x1ef6A7e2c966fb7C5403EFEFdE38338b1a95a084,18 +368.0,SYL-eb9C,SYL,SYL,0x92925Acf2771Bc59143228499f9610FE5176eb9C,18 +369.0,JASMY-03EC,JASMY,JASMY,0x7420B4b9a0110cdC71fB720908340C03F9Bc03EC,18 +370.0,NBT-824c,NBT,NBT,0x446F2A8A39Cc730ef378Be759A3c57f1a3fE824c,18 +371.0,BRD-9aD6,BRD,BRD,0x558EC3152e2eb2174905cd19AeA4e34A23DE9aD6,18 +372.0,ULX-636F,ULX,ULX,0x5Aa158404fEd6b4730C13F49d3a7F820e14A636F,18 +373.0,AMPL-A161,AMPL,AMPL,0xD46bA6D942050d489DBd938a2C909A5d5039A161,9 +374.0,XMON-Bf74,XMON,XMON,0x3aaDA3e213aBf8529606924d8D1c55CbDc70Bf74,18 +375.0,REN-2a38,REN,REN,0x408e41876cCCDC0F92210600ef50372656052a38,18 +376.0,UFO-DC3B,UFO,UFO,0x249e38Ea4102D0cf8264d3701f1a0E39C4f2DC3B,18 +377.0,TAMA-88c8,TAMA,TAMA,0x12b6893cE26Ea6341919FE289212ef77e51688c8,18 +378.0,HOT-26E2,HOT,HOT,0x6c6EE5e31d828De241282B9606C8e98Ea48526E2,18 +379.0,EGG-6a0c,EGG,EGG,0x65cCD72c0813CE6f2703593B633202a0F3Ca6a0c,18 +380.0,PHA-2f4E,PHA,PHA,0x6c5bA91642F10282b576d91922Ae6448C9d52f4E,18 +381.0,agEUR-Bce8,agEUR,agEUR,0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8,18 +382.0,FIEF-a02D,FIEF,FIEF,0xeA068Fba19CE95f12d252aD8Cb2939225C4Ea02D,18 +383.0,ETHO-7096,ETHO,ETHO,0x0b5326Da634f9270FB84481DD6F94d3dC2cA7096,18 +384.0,SPANK-6a18,SPANK,SPANK,0x42d6622deCe394b54999Fbd73D108123806f6a18,18 +385.0,ATC-5c9e,ATC,ATC,0x0fAD86Cc1b412b330494E350Bf1dC1994AC55c9e,6 +386.0,SUM-40b1,SUM,SUM,0x043C308BB8a5aE96D0093444be7f56459F1340b1,18 +387.0,CPI-ec53,CPI,CPI,0x2b67D1a87A8D8B280A23e97bC55095215eE0ec53,18 +388.0,PAPER-0e8C,PAPER,PAPER,0x7aE1D57b58fA6411F32948314BadD83583eE0e8C,18 +389.0,EURT-E491,EURT,EURT,0xC581b735A1688071A1746c968e0798D642EDE491,6 +390.0,GOB-8A80,GOB,GOB,0xd6929179D752d5D25c5efe2d9729eb77D7138A80,18 +391.0,oSQTH-E86B,oSQTH,oSQTH,0xf1B99e3E573A1a9C5E6B2Ce818b617F0E664E86B,18 +392.0,SDEX-BEeF,SDEX,SDEX,0x5DE8ab7E27f6E7A1fFf3E5B337584Aa43961BEeF,18 +393.0,XCM-8e25,XCM,XCM,0x36ac219f90f5A6A3C77f2a7B660E3cC701f68e25,18 +394.0,BRZ-2e2B,BRZ,BRZ,0x420412E765BFa6d85aaaC94b4f7b708C89be2e2B,4 +395.0,0xBTC-5B31,0xBTC,0xBTC,0xB6eD7644C69416d67B522e20bC294A9a9B405B31,8 +396.0,XAUt-2F38,XAUt,XAUt,0x68749665FF8D2d112Fa859AA293F07A622782F38,6 +397.0,ETHV-aC76,ETHV,ETHV,0xC53342fd7575f572b0fF4569e31941A5B821aC76,18 +398.0,FET-Ad85,FET,FET,0xaea46A60368A7bD060eec7DF8CBa43b7EF41Ad85,18 +399.0,RAI-4919,RAI,RAI,0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919,18 +400.0,USDP-89E1,USDP,USDP,0x8E870D67F660D95d5be530380D0eC0bd388289E1,18 +401.0,stETH-fE84,stETH,stETH,0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84,18 +402.0,CHZ-b4AF,CHZ,CHZ,0x3506424F91fD33084466F402d5D97f05F8e3b4AF,18 +403.0,TXA-A830,TXA,TXA,0x4463e6A3dEd0dBE3F6e15bC8420dFc55e5FeA830,18 +404.0,DENT-A258,DENT,DENT,0x3597bfD533a99c9aa083587B074434E61Eb0A258,8 +405.0,SUDO-B7F9,SUDO,SUDO,0x3446Dd70B2D52A6Bf4a5a192D9b0A161295aB7F9,18 +406.0,sUSD-5f51,sUSD,sUSD,0x57Ab1ec28D129707052df4dF418D58a2D46d5f51,18 +407.0,ELT-1B02,ELT,ELT,0xc0AE17Eb994fa828540FFa53776B3830233A1B02,18 +408.0,ELAN-28B5,ELAN,ELAN,0x1b5036bEc1B82D44d52Fa953A370b3c6Cd9328B5,18 +409.0,INNBC-8c42,INNBC,INNBC,0xB67718b98d52318240c52E71A898335da4A28c42,6 +410.0,MLP-1152,MLP,MLP,0xE22020F47B7378dfedcedd2C81d4137c22fE1152,18 +411.0,DYDX-Eff5,DYDX,DYDX,0x92D6C1e31e14520e676a687F0a93788B716BEff5,18 +412.0,ACX-F82F,ACX,ACX,0x44108f0223A3C3028F5Fe7AEC7f9bb2E66beF82F,18 +413.0,BAT-87EF,BAT,BAT,0x0D8775F648430679A709E98d2b0Cb6250d2887EF,18 +414.0,CTX-f98D,CTX,CTX,0x321C2fE4446C7c963dc41Dd58879AF648838f98D,18 +415.0,STC-7e7E,STC,STC,0x15B543e986b8c34074DFc9901136d9355a537e7E,18 +416.0,RDX-9ecD,RDX,RDX,0xd8C4ef2D99c9F962180008418a5665Fcc4b99ecD,18 +417.0,OLY-Fb1f,OLY,OLY,0x6595b8fD9C920C81500dCa94e53Cdc712513Fb1f,18 +418.0,APM-BA6c,APM,APM,0xC8C424B91D8ce0137bAB4B832B7F7D154156BA6c,18 +419.0,CRAB-b735,CRAB,CRAB,0x24BCeC1AFda63E622a97F17cFf9a61FFCfd9b735,18 +420.0,CTO-6C47,CTO,CTO,0xa5e48a6E56e164907263e901B98D9b11CCB46C47,18 +421.0,AAVE-DaE9,AAVE,AAVE,0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9,18 +422.0,LYXe-be6D,LYXe,LYXe,0xA8b919680258d369114910511cc87595aec0be6D,18 +423.0,CXO-7143,CXO,CXO,0xb6EE9668771a79be7967ee29a63D4184F8097143,18 +424.0,AXL-E5f3,AXL,AXL,0x467719aD09025FcC6cF6F8311755809d45a5E5f3,6 +425.0,GUSD-d5Cd,GUSD,GUSD,0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd,2 +426.0,THEO-eac2,THEO,THEO,0xfAc0403a24229d7e2Edd994D50F5940624CBeac2,9 +427.0,FUN-711b,FUN,FUN,0x419D0d8BdD9aF5e606Ae2232ed285Aff190E711b,8 +428.0,ZZ-55ad,ZZ,ZZ,0xC91a71A1fFA3d8B22ba615BA1B9c01b2BBBf55ad,18 +429.0,ADS-d22A,ADS,ADS,0xcfcEcFe2bD2FED07A9145222E8a7ad9Cf1Ccd22A,11 +430.0,RBN-fA6B,RBN,RBN,0x6123B0049F904d730dB3C36a31167D9d4121fA6B,18 +431.0,wTAO-0A44,wTAO,wTAO,0x77E06c9eCCf2E797fd462A92B6D7642EF85b0A44,9 +432.0,HUNT-6fa5,HUNT,HUNT,0x9AAb071B4129B083B01cB5A0Cb513Ce7ecA26fa5,18 +433.0,gOHM-a52f,gOHM,gOHM,0x0ab87046fBb341D058F17CBC4c1133F25a20a52f,18 +434.0,BBTC-2541,BBTC,BBTC,0x9BE89D2a4cd102D8Fecc6BF9dA793be995C22541,8 +435.0,XSGD-cA96,XSGD,XSGD,0x70e8dE73cE538DA2bEEd35d14187F6959a8ecA96,6 +436.0,ASIC-3047,ASIC,ASIC,0x347a96a5BD06D2E15199b032F46fB724d6c73047,12 +437.0,ICSA-69ed,ICSA,ICSA,0xfc4913214444aF5c715cc9F7b52655e788A569ed,9 +438.0,wstETH-2Ca0,wstETH,wstETH,0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0,18 +439.0,PLSD-36A7,PLSD,PLSD,0x34F0915a5f15a66Eba86F6a58bE1A471FB7836A7,12 +440.0,EUROe-2974,EUROe,EUROe,0x820802Fa8a99901F52e39acD21177b0BE6EE2974,6 +441.0,BLUR-8b44,BLUR,BLUR,0x5283D291DBCF85356A21bA090E6db59121208b44,18 +442.0,PAR-4703,PAR,PAR,0x68037790A0229e9Ce6EaA8A99ea92964106C4703,18 +443.0,SAITO-B57B,SAITO,SAITO,0xFa14Fa6958401314851A17d6C5360cA29f74B57B,18 +444.0,DUSK-A551,DUSK,DUSK,0x940a2dB1B7008B6C776d4faaCa729d6d4A4AA551,18 +445.0,ISK-a75C,ISK,ISK,0x17d2628D30F8e9E966c9Ba831c9B9b01ea8Ea75C,18 +446.0,WFLOW-3B2b,WFLOW,WFLOW,0x5c147e74D63B1D31AA3Fd78Eb229B65161983B2b,18 +447.0,MIM-17F3,MIM,MIM,0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3,18 +448.0,CoreDAO-Dd58,CoreDAO,CoreDAO,0xf66Cd2f8755a21d3c8683a10269F795c0532Dd58,18 +449.0,SEURO-9A00,SEURO,SEURO,0xb399511642FE1666c6a07f83483e6E4feAed9A00,18 +450.0,TEXAN-88d7,TEXAN,TEXAN,0xcFCFfE432A48dB53F59c301422d2EdD77B2A88d7,18 +451.0,DEXE-Cbd6,DEXE,DEXE,0xde4EE8057785A7e8e800Db58F9784845A5C2Cbd6,18 +452.0,COMP-6888,COMP,COMP,0xc00e94Cb662C3520282E6f5717214004A7f26888,18 +453.0,COT-9ff8,COT,COT,0x5c872500c00565505F3624AB435c222E558E9ff8,18 +454.0,DAPP-1649,DAPP,DAPP,0x939B462ee3311f8926c047D2B576C389092b1649,4 +455.0,BORING-92CA,BORING,BORING,0xBC19712FEB3a26080eBf6f2F7849b417FdD792CA,18 +456.0,eRSDL-D3A6,eRSDL,eRSDL,0x5218E472cFCFE0b64A064F055B43b4cdC9EfD3A6,18 +457.0,DIP-cD83,DIP,DIP,0xc719d010B63E5bbF2C0551872CD5316ED26AcD83,18 +458.0,DRC-e606,DRC,DRC,0xa150Db9b1Fa65b44799d4dD949D922c0a33Ee606,0 +459.0,DXD-5521,DXD,DXD,0xa1d65E8fB6e87b60FECCBc582F7f97804B725521,18 +460.0,EDEN-1559,EDEN,EDEN,0x1559FA1b8F28238FD5D76D9f434ad86FD20D1559,18 +461.0,ENJ-3B9c,ENJ,ENJ,0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c,18 +462.0,BBS-B430,BBS,BBS,0xFe459828c90c0BA4bC8b42F5C5D44F316700B430,18 +463.0,BMI-E688,BMI,BMI,0x725C263e32c72dDC3A19bEa12C5a0479a81eE688,18 +464.0,ANKR-EDD4,ANKR,ANKR,0x8290333ceF9e6D528dD5618Fb97a76f268f3EDD4,18 +465.0,bBADGER-fC28,bBADGER,bBADGER,0x19D97D8fA813EE2f51aD4B4e04EA08bAf4DFfC28,18 +466.0,FRM-A68C,FRM,FRM,0xE5CAeF4Af8780E59Df925470b050Fb23C43CA68C,6 +467.0,ETH-EEeE,ETH,ETH,0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE,18 +468.0,1INCH-C302,1INCH,1INCH,0x111111111117dC0aa78b770fA6A738034120C302,18 +469.0,ALPHA-0975,ALPHA,ALPHA,0xa1faa113cbE53436Df28FF0aEe54275c13B40975,18 +470.0,AMP-95C2,AMP,AMP,0xfF20817765cB7f73d4bde2e66e067E58D11095C2,18 +471.0,ANT-88C0,ANT,ANT,0x960b236A07cf122663c4303350609A66A7B288C0,18 +472.0,APW-60c8,APW,APW,0x4104b135DBC9609Fc1A9490E61369036497660c8,18 +473.0,ARCONA-52B3,ARCONA,ARCONA,0x0f71B8De197A1C84d31de0F1fA7926c365F052B3,18 +474.0,AUC-5663,AUC,AUC,0xc12d099be31567add4e4e4d0D45691C3F58f5663,18 +475.0,FODL-b9C3,FODL,FODL,0x4C2e59D098DF7b6cBaE0848d66DE2f8A4889b9C3,18 +476.0,PHTR-22dA,PHTR,PHTR,0xE1Fc4455f62a6E89476f1072530C20CF1A0622dA,18 +477.0,RLC-7375,RLC,RLC,0x607F4C5BB672230e8672085532f7e901544a7375,9 +478.0,ROOK-3d4a,ROOK,ROOK,0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a,18 +479.0,RPL-A51f,RPL,RPL,0xD33526068D116cE69F19A9ee46F0bd304F21A51f,18 +480.0,RUNE-49cb,RUNE,RUNE,0x3155BA85D5F96b2d030a4966AF206230e46849cb,18 +481.0,SFI-902c,SFI,SFI,0xb753428af26E81097e7fD17f40c88aaA3E04902c,18 +482.0,SHEESHA-E768,SHEESHA,SHEESHA,0x232FB065D9d24c34708eeDbF03724f2e95ABE768,18 +483.0,TEMP-1aB9,TEMP,TEMP,0xA36FDBBAE3c9d55a1d67EE5821d53B50B63A1aB9,18 +484.0,TRAC-0A6F,TRAC,TRAC,0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F,18 +485.0,UOS-5C8c,UOS,UOS,0xD13c7342e1ef687C5ad21b27c2b65D772cAb5C8c,4 +486.0,vBNT-7f94,vBNT,vBNT,0x48Fb253446873234F2fEBbF9BdeAA72d9d387f94,18 +487.0,VITA-A321,VITA,VITA,0x81f8f0bb1cB2A06649E51913A151F0E7Ef6FA321,18 +488.0,VLX-Edb9,VLX,VLX,0x8C543AED163909142695f2d2aCd0D55791a9Edb9,18 +489.0,wNXM-2bDE,wNXM,wNXM,0x0d438F3b5175Bebc262bF23753C1E53d03432bDE,18 +490.0,WXT-E915,WXT,WXT,0xa02120696c7B8fE16C09C749E4598819b2B0E915,18 +491.0,YFI-d93e,YFI,YFI,0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e,18 +492.0,ZCN-3B78,ZCN,ZCN,0xb9EF770B6A5e12E45983C5D80545258aA38F3B78,10 +493.0,LYRA-05Bf,LYRA,LYRA,0x01BA67AAC7f75f647D94220Cc98FB30FCc5105Bf,18 +494.0,OCEAN-9F48,OCEAN,OCEAN,0x967da4048cD07aB37855c090aAF366e4ce1b9F48,18 +495.0,renBTC-B27D,renBTC,renBTC,0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D,8 +496.0,HEGIC-8430,HEGIC,HEGIC,0x584bC13c7D411c00c01A62e8019472dE68768430,18 +497.0,INDEX-4cab,INDEX,INDEX,0x0954906da0Bf32d5479e25f46056d22f08464cab,18 +498.0,KNC-D200,KNC,KNC,0xdd974D5C2e2928deA5F71b9825b8b646686BD200,18 +499.0,KTN-FC1C,KTN,KTN,0x491E136FF7FF03E6aB097E54734697Bb5802FC1C,18 +500.0,LPL-75B8,LPL,LPL,0x99295f1141d58A99e939F7bE6BBe734916a875B8,18 +501.0,LRC-EafD,LRC,LRC,0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD,18 +502.0,RARI-41CF,RARI,RARI,0xFca59Cd816aB1eaD66534D82bc21E7515cE441CF,18 +503.0,MLN-1892,MLN,MLN,0xec67005c4E498Ec7f55E092bd1d35cbC47C91892,18 +504.0,MONA-412A,MONA,MONA,0x275f5Ad03be0Fa221B4C6649B8AeE09a42D9412A,18 +505.0,MPH-35C5,MPH,MPH,0x8888801aF4d980682e47f1A9036e589479e835C5,18 +506.0,NDX-5F83,NDX,NDX,0x86772b1409b61c639EaAc9Ba0AcfBb6E238e5F83,18 +507.0,NEXO-5206,NEXO,NEXO,0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206,18 +508.0,NMR-6671,NMR,NMR,0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671,18 +509.0,NOIA-b6ca,NOIA,NOIA,0xa8c8CfB141A3bB59FEA1E2ea6B79b5ECBCD7b6ca,18 +510.0,OPIUM-eC11,OPIUM,OPIUM,0x888888888889C00c67689029D7856AAC1065eC11,18 +511.0,POWR-1269,POWR,POWR,0x595832F8FC6BF59c85C527fEC3740A1b7a361269,6 +512.0,PSP-3dE5,PSP,PSP,0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5,18 +513.0,DATA-8b76,DATA,DATA,0x8f693ca8D21b157107184d29D398A8D082b38b76,18 +514.0,xSUSHI-4272,xSUSHI,xSUSHI,0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272,18 +515.0,ENS-9D72,ENS,ENS,0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72,18 +516.0,UMA-F828,UMA,UMA,0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828,18 +517.0,RNB-e743,RNB,RNB,0x2A039B1D9bBDccBb91be28691b730ca893e5e743,18 +518.0,SATA-bEe1,SATA,SATA,0x3ebb4A4e91Ad83BE51F8d596533818b246F4bEe1,18 +519.0,ACRE-FC21,ACRE,ACRE,0xb2cABf797bc907B049e4cCB5b84d13be3a8CFC21,18 +520.0,CROWN-E0fa,CROWN,CROWN,0x444d6088B0F625f8C20192623B3C43001135E0fa,18 +521.0,SHIBGF-65d6,SHIBGF,SHIBGF,0x505a84a03e382331A1Be487b632Cf357748b65d6,18 +522.0,MFG-0312,MFG,MFG,0x6710c63432A2De02954fc0f851db07146a6c0312,18 +523.0,EWTB-6054,EWTB,EWTB,0x178c820f862B14f316509ec36b13123DA19A6054,18 +524.0,FTX Token-a4c9,FTX Token,FTX Token,0x50D1c9771902476076eCFc8B2A83Ad6b9355a4c9,18 +525.0,1ONE-f9D3,1ONE,1ONE,0xD5cd84D6f044AbE314Ee7E414d37cae8773ef9D3,18 +526.0,BZRX-f4b3,BZRX,BZRX,0x56d811088235F11C8920698a204A5010a788f4b3,18 +527.0,bDIGG-8e1a,bDIGG,bDIGG,0x7e7E112A68d8D2E221E11047a72fFC1065c38e1a,18 +528.0,SUSHI-0fE2,SUSHI,SUSHI,0x6B3595068778DD592e39A122f4f5a5cF09C90fE2,18 +529.0,PEPE-1933,PEPE,PEPE,0x6982508145454Ce325dDbE47a25d4ec3d2311933,18 +530.0,XCHF-fc08,XCHF,XCHF,0xB4272071eCAdd69d933AdcD19cA99fe80664fc08,18 +531.0,ARB-4ad1,ARB,ARB,0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1,18 +532.0,LBR-aCcA,LBR,LBR,0xC98835e792553e505AE46e73a6fD27a23985aCcA,18 +533.0,HRP-12Bf,HRP,HRP,0xbd15Ad921e1B480209AF549874a2fCb80DC312Bf,18 +534.0,Silo-B1f8,Silo,Silo,0x6f80310CA7F2C654691D1383149Fa1A57d8AB1f8,18 +535.0,0x0-1AD5,0x0,0x0,0x5a3e6A77ba2f983eC0d371ea3B475F8Bc0811AD5,9 +536.0,SMT-7173,SMT,SMT,0xB17548c7B510427baAc4e267BEa62e800b247173,18 +537.0,pepecoin-489A,pepecoin,pepecoin,0xA9E8aCf069C58aEc8825542845Fd754e41a9489A,18 +538.0,JAY-CA6E,JAY,JAY,0xDA7C0810cE6F8329786160bb3d1734cf6661CA6E,18 +539.0,WYD-8991,WYD,WutYuDoin?,0xbae9992488AE7f7c1EDB34Ed74c213B28d928991,18 +540.0,WSB-0c49,WSB,WSB Coin,0x0414D8C87b271266a5864329fb4932bBE19c0c49,18 +541.0,TRU-3784,TRU,TrueFi,0x4C19596f5aAfF459fA38B0f7eD92F11AE6543784,8 +542.0,BAL-4e3D,BAL,Balancer,0xba100000625a3754423978a60c9317c58a424e3D,18 +543.0,MTA-AcD2,MTA,Meta,0xa3BeD4E1c75D00fa6f4E5E6922DB7261B5E9AcD2,18 +544.0,QUICK-6F2f,QUICK,Quickswap,0x6c28AeF8977c9B773996d0e8376d2EE379446F2f,18 +545.0,BOR-c1A9,BOR,BoringDAO,0x3c9d6c1C73b31c837832c72E04D3152f051fc1A9,18 +546.0,STAKE-95e6,STAKE,STAKE,0x0Ae055097C6d159879521C384F1D2123D1f195e6,18 +547.0,CRO-450b,CRO,CRO,0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b,8 +548.0,BNB-DD52,BNB,BNB,0xB8c77482e45F1F44dE1745F52C74426C631bDD52,18 +549.0,PATH-7588,PATH,PathDao,0x2a2550e0A75aCec6D811AE3930732F7f3ad67588,18 +550.0,PERP-3447,PERP,Perpetual,0xbC396689893D065F41bc2C6EcbeE5e0085233447,18 +551.0,POOL-844e,POOL,PoolTogether,0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e,18 +552.0,SMARTCREDIT-DA13,SMARTCREDIT,SMARTCREDIT Token,0x72e9D9038cE484EE986FEa183f8d8Df93f9aDA13,18 +553.0,CEL-D42d,CEL,Celsius,0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d,4 +554.0,renZEC-37C2,renZEC,renZEC,0x1C5db575E2Ff833E46a2E9864C22F4B22E0B37C2,8 +555.0,OMG-0C07,OMG,OMGToken,0xd26114cd6EE289AccF82350c8d8487fedB8A0C07,18 +556.0,INSAI-4674,INSAI,Insight,0xceec4aE5CF5300aC9A49a816961Af9393b214674,6 +557.0,$DGTV-966D,$DGTV,Doge-TV,0xFEb6d5238Ed8F1d59DCaB2db381AA948e625966D,18 +558.0,MATRIX-1C36,MATRIX,MatrixSwapToken,0xc8D3DCb63C38607Cb0c9d3F55E8eccE628A01C36,18 +559.0,CREAM-B200,CREAM,Cream,0x2ba592F78dB6436527729929AAf6c908497cB200,18 +560.0,INU-Bda5,INU,Inu.,0x050D94685c6B0477E1Fc555888AF6e2bB8dFBda5,18 +561.0,CHEW-7Cb3,CHEW,CHEW,0xf5d126077096e5b01BC30FFa5d9324D7202d7Cb3,18 +562.0,N1-C16D,N1,NFTify,0xaCbd826394189Cf2623C6DF98a18b41fC8fFC16D,18 +563.0,FLX-91F4,FLX,Flex Ungovernance Token,0x6243d8CEA23066d098a15582d81a598b4e8391F4,18 +564.0,MUSE-fc81,MUSE,Muse,0xB6Ca7399B4F9CA56FC27cBfF44F4d2e4Eef1fc81,18 +565.0,BST-7F4a,BST,BlocksquareToken,0x509A38b7a1cC0dcd83Aa9d06214663D9eC7c7F4a,18 +566.0,SAND-a5d0,SAND,SAND,0x3845badAde8e6dFF049820680d1F14bD3903a5d0,18 +567.0,PLAY-45bC,PLAY,InfinityGaming,0x95b4e47025372Ded4B73F9b5F0671B94a81445bC,9 +568.0,WG0-C057,WG0,Wrapped Gen 0,0xa10740ff9FF6852eac84cdcfF9184e1D6d27C057,18 +569.0,HEAL-541a,HEAL,Heal The World,0x383B0b2ce2e1757b5e1D087D8f36013eA595541a,9 +570.0,CNTR-064B,CNTR,Centaur Token,0x03042482d64577A7bdb282260e2eA4c8a89C064B,18 +571.0,AMAS-4f52,AMAS,Amasa Token,0x65a8fbA02F641a13Bb7B01d5E1129b0521004f52,18 +572.0,ASIA-6011,ASIA,ASIA COIN,0xF519381791C03DD7666C142D4E49Fd94d3536011,18 +573.0,KoaCombat-544C,KoaCombat,KoaCombat,0x6769D86f9C430f5AC6d9c861a0173613F1C5544C,9 +574.0,DUCKER-01A7,DUCKER,Duckereum,0xa52bfFAD02B1FE3f86A543a4e81962d3B3bB01A7,18 +575.0,HKBY-d7D4,HKBY,Huckleberry Inu,0x645C52CF6c5C58AA4064494f5b5FFE9C7EC0d7D4,18 +576.0,LSD-d9fd,LSD,Liquid Staking Derivatives,0x97D4F49eEb0E2c96d5EbAA71AB8418e563ecd9fd,9 +577.0,SHIB0.5-dE1b,SHIB0.5,Half Shiba Inu,0x8Eb94A06b4716093DBfE335cbdb098DEb2dcdE1b,18 +578.0,XDB-9d27,XDB,digitalbits,0xB9EefC4b0d472A44be93970254Df4f4016569d27,7 +579.0,DC-9180,DC,Dogechain Token,0x7B4328c127B85369D9f82ca0503B000D09CF9180,18 +580.0,Shibmerican-5609,Shibmerican,Shibmerican | t.me/Shibmerican,0x440238CC07186aDEA6653a2E8cb9a24737615609,9 +581.0,HONR-79B8,HONR,DeltaFlare,0x39Ea10E507720783C27eDd5F96Bf2D6e199579B8,18 +582.0,NIIFI-BCb8,NIIFI,NiiFiToken,0x852e5427c86A3b46DD25e5FE027bb15f53c4BCb8,15 +583.0,LETSGO-BB95,LETSGO,Lets Go Brandon,0xA6586E19EF681b1AC0ED3D46413D199a555dBB95,18 +584.0,FEG-C945,FEG,FEGtoken,0x389999216860AB8E0175387A0c90E5c52522C945,9 +585.0,FEG-2A11,FEG,FEG Token,0xbededDf2eF49E87037c4fb2cA34d1FF3D3992A11,18 +586.0,DDOS-02C3,DDOS,Disbalancer,0x7FBEC0bb6A7152e77C30D005B5D49cbC08A602C3,18 +587.0,OVR-3697,OVR,OVR,0x21BfBDa47A0B4B5b1248c767Ee49F7caA9B23697,18 +588.0,DOGPAD-9C1c,DOGPAD,DogPad,0x6f3277ad0782a7DA3eb676b85a8346A100BF9C1c,18 +589.0,LTO-294D,LTO,LTO Network Token,0x3DB6Ba6ab6F95efed1a6E794caD492fAAabF294D,8 +590.0,IONX-4217,IONX,Charged Particles - IONX,0x02D3A27Ac3f55d5D91Fb0f52759842696a864217,18 +591.0,FOTO-C49F,FOTO,FOTO,0xF6eA0E60cee427B90aA36f327eE61d1d4CABC49F,18 +592.0,QMALL-2198,QMALL,Qmall Token,0x2217e5921B7edfB4BB193a6228459974010D2198,18 +593.0,WAGMIGAMES-00F0,WAGMIGAMES,WAGMI GAMES,0x3B604747ad1720C01ded0455728b62c0d2F100F0,18 +594.0,KINE-F05D,KINE,Kine Governance Token,0xCbfef8fdd706cde6F208460f2Bf39Aa9c785F05D,18 +595.0,FXF-0f12,FXF,Finxflo,0x8a40c222996f9F3431f63Bf80244C36822060f12,18 +596.0,SAN-f098,SAN,SANtiment network token,0x7C5A0CE9267ED19B22F8cae653F198e3E8daf098,18 +597.0,⚗️-b7aB,⚗️,Alchemist,0x88ACDd2a6425c3FaAE4Bc9650Fd7E27e0Bebb7aB,18 +598.0,SHIBDAO-b9A8,SHIBDAO,Shibarium DAO,0xB197a6Fdd8AB825332eDEbA1AB5C4D1Bf97fb9A8,18 +599.0,XP-b2Ac,XP,PolkaFantasy,0x948c70Dc6169Bfb10028FdBE96cbC72E9562b2Ac,18 +600.0,$WEAPON-762d,$WEAPON,Megaweapon,0x0b8057C3Cc676C329c25C1d0Cd27776efA73762d,9 +601.0,LAIKA-EC0b,LAIKA,LAIKA,0x77f9CF0bd8C500CfFdF420e72343893aeCC2EC0b,18 +602.0,IMX-4a00,IMX,Impermax,0x7b35Ce522CB72e4077BaeB96Cb923A5529764a00,18 +603.0,STREAMERINU-259a,STREAMERINU,Streamer Inu,0x0e8D2EB7D6bDF28393c25a1966385Ad32Ff0259a,18 +604.0,BFLY-c063,BFLY,Butterfly Protocol Governance Token,0xf680429328caaaCabee69b7A9FdB21a71419c063,18 +605.0,SUKU-E4d7,SUKU,SUKU,0x0763fdCCF1aE541A5961815C0872A8c5Bc6DE4d7,18 +606.0,CUDOS-dB35,CUDOS,CudosToken,0x817bbDbC3e8A1204f3691d14bB44992841e3dB35,18 +607.0,SASHIMI-64c2,SASHIMI,SashimiToken,0xC28E27870558cF22ADD83540d2126da2e4b464c2,18 +608.0,AAG-8F97,AAG,AAG,0x5ba19d656B65f1684cFea4Af428C23B9f3628F97,18 +609.0,dogep-80b9,dogep,Doge Protocol,0xE7eaec9Bca79d537539C00C58Ae93117fB7280b9,18 +610.0,STRP-ADc9,STRP,Strips Token,0x97872EAfd79940C7b24f7BCc1EADb1457347ADc9,18 +611.0,STA-eED1,STA,Statera,0xa7DE087329BFcda5639247F96140f9DAbe3DeED1,18 +612.0,KIBSHI-2361,KIBSHI,KiboShib,0x02e7F808990638E9e67E1f00313037EDe2362361,18 +613.0,Ichigo-78B5,Ichigo,Ichigo Inu,0x8254C1C134436F74047F79eaAeA97E3324eF78B5,9 +614.0,PACK-1Ab2,PACK,Pack,0xb186035490C8602EaD853EC98bE05E3461521Ab2,18 +615.0,SWFTC-fC1e,SWFTC,SwftCoin,0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e,8 +616.0,BZN-35d4,BZN,Benzene,0x6524B87960c2d573AE514fd4181777E7842435d4,18 +617.0,LOOT-8335,LOOT,LOOT Token,0x721A1B990699eE9D90b6327FaaD0A3E840aE8335,18 +618.0,kitty-52a2,kitty,Kitty Inu,0x044727e50ff30DB57fad06Ff4F5846eAb5eA52a2,9 +619.0,CVC-4E45,CVC,Civic,0x41e5560054824eA6B0732E656E3Ad64E20e94E45,8 +620.0,TOON-EF02,TOON,PontoonToken,0xaeE433ADeBe0FBB88dAa47eF0C1A513CaA52EF02,18 +621.0,FLONA-524A,FLONA,FLONA,0xEf27252B567F6B3fe35b34A85bE322917abE524A,18 +622.0,BOTZ-2F80,BOTZ,Beep,0x3475fC1D0d2e03761C19D5C7601fe476f0E02F80,18 +623.0,TRXC-7d8e,TRXC,TRONCLASSIC,0xaD5Fe5B0B8eC8fF4565204990E4405B2Da117d8e,0 +624.0,PPDEX-0cf7,PPDEX,Pepedex,0xf1F508c7C9f0d1b15a76fbA564eEf2d956220cf7,18 +625.0,DEPAY-55eb,DEPAY,DePay,0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb,18 +626.0,FABRIC-e523,FABRIC,MetaFabric,0x8c6Fa66c21aE3fC435790E451946a9Ea82E6e523,18 +627.0,LUNA-1ea9,LUNA,Wrapped LUNA Token,0xd2877702675e6cEb975b4A1dFf9fb7BAF4C91ea9,18 +628.0,GHST-1550,GHST,Aavegotchi GHST Token,0x3F382DbD960E3a9bbCeaE22651E88158d2791550,18 +629.0,CAPS-15e2,CAPS,Capsule Coin,0x03Be5C903c727Ee2C8C4e9bc0AcC860Cca4715e2,18 +630.0,MCONTENT-b3F4,MCONTENT,MContent,0xD3c51de3E6DD9b53D7f37699AFB3EE3Bf9B9b3F4,6 +631.0,QUID-B6D4,QUID,Quid Ika,0x9d38F670D15C14716BE1F109a4F453E966A2B6D4,9 +632.0,SPELLFIRE-7C91,SPELLFIRE,SPELLFIRE Token,0x3A0b022f32b3191D44E5847da12dc0B63fb07C91,18 +633.0,GEO-6750,GEO,GeoDB Coin,0x147faF8De9d8D8DAAE129B187F0D02D819126750,18 +634.0,BPRO-5f61,BPRO,B.Protocol,0xbbBBBBB5AA847A2003fbC6b5C16DF0Bd1E725f61,18 +635.0,RBIF-5ceB,RBIF,ROBO INU,0x7B32e70e8D73ac87c1B342e063528B2930b15ceB,9 +636.0,BITE-43BA,BITE,Bite,0x34103e1190b824a44C6a638438d425cbA21143BA,18 +637.0,QOM-4974,QOM,Shiba Predator,0xa71d0588EAf47f12B13cF8eC750430d21DF04974,18 +638.0,SMTY-3283,SMTY,SMTYToken,0xbF776e4FCa664D791C4Ee3A71e2722990E003283,18 +639.0,PIKA-3578,PIKA,PIKA,0x60F5672A271C7E39E787427A18353ba59A4A3578,18 +640.0,PUSH-EEEE,PUSH,Ethereum Push Notification Service,0xf418588522d5dd018b425E472991E52EBBeEEEEE,18 +641.0,$FLUFFY-4c31,$FLUFFY,FLUFFY TOKEN,0xc2a2E9B87b37938D934Fd51CfEC0C5Fd5cB14c31,18 +642.0,ibETH-9c7A,ibETH,Interest Bearing ETH,0x67B66C99D3Eb37Fa76Aa3Ed1ff33E8e39F0b9c7A,18 +643.0,GEN-Addf,GEN,DAOstack,0x543Ff227F64Aa17eA132Bf9886cAb5DB55DCAddf,18 +644.0,$VXON-67b3,$VXON,VoxNET,0x048Aa6E69D5117BD665aF4128383a6982B8367b3,4 +645.0,ETHM-3794,ETHM,Ethereum Meta,0xFD957F21bd95E723645C07C48a2d8ACB8Ffb3794,18 +646.0,ITGR-Bc98,ITGR,Integral,0xD502F487e1841Fdc805130e13eae80c61186Bc98,18 +647.0,MUNCH-a301,MUNCH,MUNCH Token,0x944eeE930933BE5E23b690c8589021Ec8619a301,9 +648.0,BabyFloki-f956,BabyFloki,BabyFloki,0xdF35988d795d90711e785B488Bb2127692e6f956,9 +649.0,RBX-3299,RBX,RBX,0x8254e26e453EB5aBd29B3c37AC9E8Da32E5d3299,18 +650.0,ZEON-0532,ZEON,ZEON,0xE5B826Ca2Ca02F09c1725e9bd98d9a8874C30532,18 +651.0,ALPHA-940B,ALPHA,Alpha,0x138C2F1123cF3f82E4596d097c118eAc6684940B,18 +652.0,RAC-a3e9,RAC,RAC,0xc22B30E4cce6b78aaaADae91E44E73593929a3e9,18 +653.0,SPROUT-219E,SPROUT,SPROUT,0x9b8e9d523D1D6bC8EB209301c82C7D64D10b219E,18 +654.0,PNT-AAeD,PNT,pNetwork Token,0x89Ab32156e46F46D02ade3FEcbe5Fc4243B9AAeD,18 +655.0,DGMV-960c,DGMV,DigiMetaverse,0x8EEdEFe828A0f16C8fc80e46a87Bc0f1De2d960c,18 +656.0,OXT-3Deb,OXT,Orchid,0x4575f41308EC1483f3d399aa9a2826d74Da13Deb,18 +657.0,WISE-5bd6,WISE,Wise Token,0x66a0f676479Cee1d7373f3DC2e2952778BfF5bd6,18 +658.0,KFT-b207,KFT,Knit Finance,0xEF53462838000184F35f7D991452e5f25110b207,18 +659.0,2CRZ-F3fA,2CRZ,2CrazyToken,0x2C9C19cE3b15ae77C6d80aEc3C1194Cfd6F7F3fA,18 +660.0,METADOGE-62eD,METADOGE,Meta Doge,0x8530b66ca3DDf50E0447eae8aD7eA7d5e62762eD,18 +661.0,YIELD-db9B,YIELD,Yield Protocol,0xa8B61CfF52564758A204F841E636265bEBC8db9B,18 +662.0,٨-91e6,٨,Dentacoin,0x08d32b0da63e2C3bcF8019c9c5d849d7a9d791e6,0 +663.0,UMX-bC15,UMX,https://unimex.network/,0x10Be9a8dAe441d276a5027936c3aADEd2d82bC15,18 +664.0,PINU-9670,PINU,Piccolo Inu,0x3a1311B8C404629E38f61D566cefEFed083B9670,9 +665.0,FYT-8ca7,FYT,Flora Yield Token,0x77F2BE773CA0887ba2b3Ef8344C8CF13C98d8ca7,18 +666.0,AWC-13f4,AWC,Atomic Wallet Token,0xaD22f63404f7305e4713CcBd4F296f34770513f4,8 +667.0,K9-C3Fc,K9,K9,0x2bD0FB740e403B505A3146F9aC02df883Fd5C3Fc,18 +668.0,SHIK-5572,SHIK,SHIKOKU INU,0x24dA31e7BB182cb2cABfEF1d88db19C2AE1f5572,18 +669.0,TX-5Fdf,TX,Tradix,0x8954D907520532c1f0d89d42569232Fd0f995Fdf,8 +670.0,DNT-04ea,DNT,district0x Network Token,0x0AbdAce70D3790235af448C88547603b945604ea,18 +671.0,ELONONE-0aa2,ELONONE,ASTROELON,0x97b65710D03E12775189F0D113202cc1443b0aa2,9 +672.0,DNS-d73D,DNS,Dot Names,0x6C5Aa4244113E77414386630B7F963dbE1B4d73D,18 +673.0,ZOGI-2A0C,ZOGI,Zogi,0x7e80e4d7d5725499791CF8b17A4586F1f0672A0C,18 +674.0,ePING-8E47,ePING,ePING,0xC7B89491Bb148551547837ea6ccB4Bb5144d8E47,9 +675.0,PERI-8492,PERI,Peri Finance Token,0x5d30aD9C6374Bf925D0A75454fa327AACf778492,18 +676.0,EJS-79C2,EJS,Enjinstarter,0x96610186F3ab8d73EBEe1CF950C750f3B1Fb79C2,18 +677.0,KOYO-c9d4,KOYO,Yofune Nushi,0x9dAeF41E08Bc88183572b03796C96a7ace1Ec9d4,18 +678.0,REP-E862,REP,Reputation,0x1985365e9f78359a9B6AD760e32412f4a445E862,18 +679.0,F9-CC1F,F9,Falcon 9,0x38A94e92A19E970c144DEd0B2DD47278CA11CC1F,9 +680.0,CHR-bAA2,CHR,Chroma,0x8A2279d4A90B6fe1C4B30fa660cC9f926797bAA2,6 +681.0,YLD-6F48,YLD,Yield,0xF94b5C5651c888d928439aB6514B93944eEE6F48,18 +682.0,ANGEL-d5A1,ANGEL,Angel,0x6C7B97c7e09E790D161769a52F155125FAc6d5A1,18 +683.0,CPTINU-6971,CPTINU,Captain Inu,0x7Cca2e1c9B0519f52029467914A15E782BF66971,18 +684.0,PSWAP-21BB,PSWAP,Polkaswap,0x519C1001D550C0a1DaE7d1fC220f7d14c2A521BB,18 +685.0,BOXA-0110,BOXA,BOXA,0x7662c015D845EF487fDe32cb884653bE9c9E0110,9 +686.0,MINER-f016,MINER,Meta Miner,0x2B645A57e82123796c3EA7d78DE27c3e3ff7f016,18 +687.0,Rhllor-7238,Rhllor,Token of Fire,0x90E2Fa98DfC518317600Dd3DC571DE8D071a7238,9 +688.0,FVT-5e32,FVT,Finance.Vote Token,0x45080a6531d671DDFf20DB42f93792a489685e32,18 +689.0,DRC-5Ef8,DRC,Dracula Token,0xb78B3320493a4EFaa1028130C5Ba26f0B6085Ef8,18 +690.0,BTSG-54A9,BTSG,BitSong,0x05079687D35b93538cbd59fe5596380cae9054A9,18 +691.0,ZOOT-926c,ZOOT,Zoo Token,0x1341A2257fa7b770420Ef70616f888056f90926c,9 +692.0,CORX-CF97,CORX,CorionX utility token,0x26a604DFFE3ddaB3BEE816097F81d3C4a2A4CF97,8 +693.0,CRE-478e,CRE,CarryToken,0x115eC79F1de567eC68B7AE7eDA501b406626478e,18 +694.0,VLT-4d11,VLT,Bankroll Vault,0x6b785a0322126826d8226d77e173d75DAfb84d11,18 +695.0,STND-999d,STND,Standard,0x9040e237C3bF18347bb00957Dc22167D0f2b999d,18 +696.0,FLOKI-6a2E,FLOKI,FLOKI,0xcf0C122c6b73ff809C693DB761e7BaeBe62b6a2E,9 +697.0,UBX-09f3,UBX,UBX,0xF5B5eFc906513b4344EbAbCF47A04901f99F09f3,0 +698.0,LIT-46B2,LIT,LITION,0x763Fa6806e1acf68130D2D0f0df754C93cC546B2,18 +699.0,DODI-7665,DODI,DoubleDice Token,0x4E08F03079c5CD3083eA331Ec61bCC87538B7665,18 +700.0,CWS-33e0,CWS,Crowns,0xaC0104Cca91D167873B8601d2e71EB3D4D8c33e0,18 +701.0,XTK-AdEB,XTK,xToken,0x7F3EDcdD180Dbe4819Bd98FeE8929b5cEdB3AdEB,18 +702.0,NOONE-f0cf,NOONE,No one,0x296233E84c1D7bfF11121BF6D60f0FFA39C3f0cf,9 +703.0,PROXY-fF29,PROXY,PROXY,0x82089a9c7c4a07352F7433fBce1D4Ee9a722fF29,9 +704.0,ORD-E4Ec,ORD,ordinex,0xBe00734799A67a62Af2819825580318aC1B1E4Ec,18 +705.0,ARES-d523,ARES,Ares Protocol,0x358AA737e033F34df7c54306960a38d09AaBd523,18 +706.0,MNY-586f,MNY,MoonieNFT Token,0xA6F7645ed967FAF708A614a2fcA8D4790138586f,18 +707.0,UPP-f652,UPP,SENTINEL PROTOCOL,0xC86D054809623432210c107af2e3F619DcFbf652,18 +708.0,VIDYA-2C30,VIDYA,Vidya,0x3D3D35bb9bEC23b06Ca00fe472b50E7A4c692C30,18 +709.0,DXY-E9dB,DXY,DXY.FINANCE,0x39Fa206c1648944f92E8F7B626e1CBdf78d7E9dB,18 +710.0,:ZKT:-3966,:ZKT:,ZkTsunami,0x76fcA1adb104770B38581B64d55e67fA5A0f3966,9 +711.0,MONGOOSE-f156,MONGOOSE,Mongoose,0xa1817B6d8D890F3943b61648992730373B71f156,9 +712.0,PAN-7c44,PAN,Panvala pan,0xD56daC73A4d6766464b38ec6D91eB45Ce7457c44,18 +713.0,MCB-Ce42,MCB,MCDEX Token,0x4e352cF164E64ADCBad318C3a1e222E9EBa4Ce42,18 +714.0,AGFI-451f,AGFI,Aggregated Finance,0x4D0F56d728c5232ab07fAA0BdcbA23670A35451f,9 +715.0,DOKE-A128,DOKE,Doke Inu,0x517ABf1fCDBD76BC75B532683ada9113E313A128,9 +716.0,COC-3caf,COC,CocktailBar,0x22B6C31c2bEB8f2d0d5373146Eed41Ab9eDe3caf,8 +717.0,RESTAURANTS-D491,RESTAURANTS,Devour Token,0xDffC63f92c939deB112D88735ade3B4D21B6D491,18 +718.0,cUSDC-7563,cUSDC,Compound USD Coin,0x39AA39c021dfbaE8faC545936693aC917d5E7563,8 +719.0,FAI-87F5,FAI,Fairum Community,0xCda2f16C6Aa895D533506B426AFF827b709c87F5,18 +720.0,Skey-D442,Skey,SmartKey,0x06A01a4d579479Dd5D884EBf61A31727A3d8D442,8 +721.0,UTK-F99c,UTK,Utrust Token,0xdc9Ac3C20D1ed0B540dF9b1feDC10039Df13F99c,18 +722.0,GN-d044,GN,GN,0xc5019E129b75D380d3d837B8e609dEc6c8f5d044,9 +723.0,TUSD-b376,TUSD,TrueUSD,0x0000000000085d4780B73119b644AE5ecd22b376,18 +724.0,SVX-a13C,SVX,Savix,0xc434b27736A6882D33094d34792999702860a13C,9 +725.0,DRCT-07Ca,DRCT,Direct,0x9d561d63375672ABd02119b9Bc4FB90EB9E307Ca,18 +726.0,$Dwagon-294a,$Dwagon,Dwagon,0xdf1A2f85F3af80E85d14DdAAB2933C8caA09294a,18 +727.0,CUMINU-7536,CUMINU,Cum Inu,0xd6327ce1fb9D6020E8C2c0E124A1eC23DCAb7536,18 +728.0,COLLAR-5486,COLLAR,Collar,0x1a16B2B93B37A7EF5cB0A4F978CeD45FE14a5486,18 +729.0,LMY-851f,LMY,Lunch Money,0x66fD97a78d8854fEc445cd1C80a07896B0b4851f,18 +730.0,EVOAI-c696,EVOAI,EvolveAI,0x6Fbc20483b53CEa47839Bb8e171Abd6D67C3c696,9 +731.0,SNS-19DB,SNS,Shibarium Name Service,0xEa4a2327E75252517535fd013b7C6706609819DB,18 +732.0,XRT-1cb7,XRT,Robonomics,0x7dE91B204C1C737bcEe6F000AAA6569Cf7061cb7,9 +733.0,SUPER-0A55,SUPER,SuperFarm,0xe53EC727dbDEB9E2d5456c3be40cFF031AB40A55,18 +734.0,MATH-DD30,MATH,MATH Token,0x08d967bb0134F2d07f7cfb6E246680c53927DD30,18 +735.0,METR-03f0,METR,Metria,0x405CE8B2eAeeA7D4Ba5Fc160848cB2A6569e03f0,18 +736.0,PARA-EF1E,PARA,ParaWerx,0xD16fd95D949F996e3808EeEa0e3881C59E76EF1E,18 +737.0,INUINU-eB5f,INUINU,Inu Inu,0xC6bDb96E29c38DC43f014Eed44dE4106A6A8eB5f,18 +738.0,JPYC-cD53,JPYC,JPY Coin,0x2370f9d504c7a6E775bf6E14B3F12846b594cD53,18 +739.0,GS-3112,GS,Gen Shards,0xe0B9a2C3E9f40CF74B2C7F591B2b0CCa055c3112,18 +740.0,OHMI-533C,OHMI,One Hundred Million Inu,0x4159862bcF6B4393A80550b1ed03DFfa6f90533C,18 +741.0,WHALE-38e0,WHALE,WHALE,0x9355372396e3F6daF13359B7b607a3374cc638e0,4 +742.0,INJ-ca30,INJ,Injective Token,0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30,18 +743.0,CyOp-2f31,CyOp,CyOp | Protocol,0xddaC9C604BA6Bc4ACEc0FBB485B83f390ECF2f31,9 +744.0,ABYSS-8DA6,ABYSS,ABYSS,0x0E8d6b471e332F140e7d9dbB99E5E3822F728DA6,18 +745.0,$SHIBP-9235,$SHIBP,Shibarium Pad,0xC90906d45046059221e908de5Cc8fcfaCA859235,18 +746.0,$EVCoin-6E11,$EVCoin,EverestCoin,0x06fCe0DAB5b26e503E1C4Db48aa165DcaAAa6E11,9 +747.0,mUSD-35a5,mUSD,mStable USD,0xe2f2a5C287993345a840Db3B0845fbC70f5935a5,18 +748.0,BCDT-62a5,BCDT,Blockchain Certified Data Token,0xAcfa209Fb73bF3Dd5bBfb1101B9Bc999C49062a5,18 +749.0,BTE-80Ef,BTE,Betero,0x73B708E84837FFCcDE2933e3A1531fe61D5e80Ef,18 +750.0,WLEO-3998,WLEO,Wrapped LEO,0x73A9fb46e228628f8f9BB9004eCa4f4F529D3998,3 +751.0,ARTX-7710,ARTX,ARTX Token,0x741b0428Efdf4372A8DF6FB54B018dB5e5aB7710,18 +752.0,WOOL-e525,WOOL,WOOL,0x8355DBE8B0e275ABAd27eB843F3eaF3FC855e525,18 +753.0,DWEB-285F,DWEB,DecentraWeb,0xE7f58A92476056627f9FdB92286778aBd83b285F,18 +754.0,APEFI-278D,APEFI,Ape Finance,0x4332f8A38f14BD3D8D1553aF27D7c7Ac6C27278D,18 +755.0,RADAR-DEa8,RADAR,Radar,0xf9FBE825BFB2bF3E387af0Dc18caC8d87F29DEa8,18 +756.0,AIDI-d1b8,AIDI,Aidi Inu,0xdA1E53E088023Fe4D1DC5a418581748f52CBd1b8,9 +757.0,FROGEX-Def1,FROGEX,FrogeX,0x5fA54fdDF1870C344DbFaBb37dFab8700Ec0Def1,9 +758.0,PXT-B262,PXT,Populous XBRL token,0xc14830E53aA344E8c14603A91229A0b925b0B262,8 +759.0,BLAST-2Eda,BLAST,SafeBLAST,0x614D7f40701132E25fe6fc17801Fbd34212d2Eda,9 +760.0,ZIG-4f01,ZIG,ZigCoin,0xb2617246d0c6c0087f18703d576831899ca94f01,18 +761.0,VEMP-6eEC,VEMP,vEmpire Gamer Token,0xcFEB09C3c5F0f78aD72166D55f9e6E9A60e96eEC,18 +762.0,MC-E5d6,MC,Merit Circle,0x949D48EcA67b17269629c7194F4b727d4Ef9E5d6,18 +763.0,DDDD-48E0,DDDD,People's Punk,0x8cA9a0fbd8DB501F013F2e9e33a1B9dC129A48E0,18 +764.0,DG-588D,DG,Decentral Games,0x4b520c812E8430659FC9f12f6d0c39026C83588D,18 +765.0,CULT-5A13,CULT,Cult DAO,0xf0f9D895aCa5c8678f706FB8216fa22957685A13,18 +766.0,SEFI-B8Ac,SEFI,Secret Finance,0x773258b03c730F84aF10dFcB1BfAa7487558B8Ac,6 +767.0,BIGCAP-6181,BIGCAP,BIGCAP,0xE29F1241E6015A4949cb7E3f07234BA794006181,18 +768.0,RYOSHI-618e,RYOSHI,Ryoshis Vision,0x777E2ae845272a2F540ebf6a3D03734A5a8f618e,18 +769.0,POS32-2aB0,POS32,PoS-32,0x8eb5bD8c9Ab0F8ad28e94693F3c889F490bE2aB0,18 +770.0,JIZZ-a352,JIZZ,JizzRocket,0x8b937AF714aC7E2129bD33D93641F52b665Ca352,18 +771.0,USHIBA-7c9A,USHIBA,American Shiba,0xB893A8049f250b57eFA8C62D51527a22404D7c9A,9 +772.0,PRQ-d7D2,PRQ,Parsiq Token,0x362bc847A3a9637d3af6624EeC853618a43ed7D2,18 +773.0,NBNG-8ea2,NBNG,NOBUNAGA,0x9275e8386A5BDdA160c0e621e9A6067b8fd88ea2,18 +774.0,LST-4405,LST,Lendroid Support Token,0x4de2573e27E648607B50e1Cfff921A33E4A34405,18 +775.0,LDN-a158,LDN,Ludena Protocol,0xb29663Aa4E2e81e425294193616c1B102B70a158,18 +776.0,PIE-e842,PIE,DeFiPIE Token,0x607C794cDa77efB21F8848B7910ecf27451Ae842,18 +777.0,INUS-8c00,INUS,MultiPlanetary Inus,0x39207D2E2fEEF178FBdA8083914554C59D9f8c00,18 +778.0,HVN-2D9D,HVN,Hive Project Token,0xC0Eb85285d83217CD7c891702bcbC0FC401E2D9D,8 +779.0,QUAI-5c89,QUAI,QUAI,0x40821CD074dfeCb1524286923bC69315075b5c89,18 +780.0,HUSD-87e1,HUSD,HUSD,0xdF574c24545E5FfEcb9a659c229253D4111d87e1,8 +781.0,MEVFree-498a,MEVFree,MEVFree,0x1936C91190E901B7dD55229A574AE22B58Ff498a,18 +782.0,CORE-23D7,CORE,cVault.finance,0x62359Ed7505Efc61FF1D56fEF82158CcaffA23D7,18 +783.0,MOONS-6A56,MOONS,MoonTools.io,0x260e63d91fCCC499606BAe3FE945c4ed1CF56A56,18 +784.0,DOMI-f83F,DOMI,Domi,0x45C2F8c9B4c0bDC76200448cc26C48ab6ffef83F,18 +785.0,UNDEAD-7947,UNDEAD,Undead Blocks,0x310C8F00b9dE3c31Ab95ea68feb6C877538f7947,18 +786.0,KIRO-b137,KIRO,Kirobo,0xB1191F691A355b43542Bea9B8847bc73e7Abb137,18 +787.0,KISHIMOTO-1dB5,KISHIMOTO,Kishimoto,0xAE36155a55F04a696b8362777620027882B31dB5,9 +788.0,GEEQ-1b78,GEEQ,Geeq,0x6B9f031D718dDed0d681c20cB754F97b3BB81b78,18 +789.0,DEV-5b26,DEV,Dev,0x5cAf454Ba92e6F2c929DF14667Ee360eD9fD5b26,18 +790.0,BASAN-b2bF,BASAN,BASAN,0x970cf867Ca0530a989f222bE01FdD67C1ab5b2bF,18 +791.0,BREED-702e,BREED,BreederDAO,0x94E9EB8b5Ab9fd6B9ea3169D55FFAde62a01702e,18 +792.0,MATTER-FEBe,MATTER,Antimatter.Finance Governance Token,0x9B99CcA871Be05119B2012fd4474731dd653FEBe,18 +793.0,M87-B462,M87,MESSIER,0x8AF5FedC0f263841C18F31D9DbCC97A47e1aB462,18 +794.0,MOETA-a55B,MOETA,Moeta,0x238A1FcC2F65ed50c1e1797cF5857CBA3E82a55B,9 +795.0,PRT-2892,PRT,Portion Token,0x6D0F5149c502faf215C89ab306ec3E50b15e2892,18 +796.0,UMAD-326f,UMAD,UMAD,0x31c2415c946928e9FD1Af83cdFA38d3eDBD4326f,8 +797.0,UNCX-B1D0,UNCX,UniCrypt,0xaDB2437e6F65682B85F814fBc12FeC0508A7B1D0,18 +798.0,CATE-136c,CATE,Cash Tech,0xa42F266684ac2aD6ecb00df95b1c76EFbb6f136c,18 +799.0,B20-EfD8,B20,B.20,0xc4De189Abf94c57f396bD4c52ab13b954FebEfD8,18 +800.0,OGN-Ae26,OGN,OriginToken,0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26,18 +801.0,BCMC-93F9,BCMC,Blockchain Monster Coin,0x2BA8349123de45E931a8C8264c332E6e9CF593F9,18 +802.0,LCS-dBA8,LCS,LocalCoinSwap Cryptoshare,0xAA19961b6B858D9F18a115f25aa1D98ABc1fdBA8,18 +803.0,TERRAFORM-f1E4,TERRAFORM,Terraform DAO,0x9C5673002d854de18e9F6Feb7f9825F88c5bf1E4,18 +804.0,Ly-99F2,Ly,Lilly Finance,0x8686525d6627A25C68De82c228448f43c97999F2,9 +805.0,UST-1acD,UST,Wrapped UST Token,0xa47c8bf37f92aBed4A126BDA807A7b7498661acD,18 +806.0,LIEN-557E,LIEN,lien,0xaB37e1358b639Fd877f015027Bb62d3ddAa7557E,8 +807.0,SHKOOBY-11fb,SHKOOBY,SHKOOBY INU,0x29A5c1Db7321C5c9EaE57F9366eE8eef00cA11fb,18 +808.0,LON-c952,LON,Tokenlon,0x0000000000095413afC295d19EDeb1Ad7B71c952,18 +809.0,OKB-a86c,OKB,OKB,0x75231F58b43240C9718Dd58B4967c5114342a86c,18 +810.0,APY-6611,APY,APY Governance Token,0x95a4492F028aa1fd432Ea71146b433E7B4446611,18 +811.0,CIV-361d,CIV,Civilization,0x37fE0f067FA808fFBDd12891C0858532CFE7361d,18 +812.0,0NE-f4C2,0NE,Stone,0x73A83269b9bbAFC427E76Be0A2C1a1db2a26f4C2,18 +813.0,YAXIS-FE73,YAXIS,yAxis V2,0x0adA190c81b814548ddC2F6AdC4a689ce7C1FE73,18 +814.0,TOMOE-FaBa,TOMOE,TomoChain,0x05D3606d5c81EB9b7B18530995eC9B29da05FaBa,18 +815.0,MANDOX-86B6,MANDOX,Mandox,0x33D203FA03bb30b133De0fE2d6533C268bA286B6,9 +816.0,Kabosu Inu-0E55,Kabosu Inu,Kabosu Inu,0xD34A2051aC17BDD44D76AA84EA7Fcf8419130E55,18 +817.0,PPBLZ-97b8,PPBLZ,Pepemon,0x4D2eE5DAe46C86DA2FF521F7657dad98834f97b8,18 +818.0,RBXSamurai-c647,RBXSamurai,RBXS,0xA9639160481b625ba43677bE753E0A70bf58c647,18 +819.0,QUIDD-7c07,QUIDD,QUIDD,0xDA9FDAb21bC4A5811134A6E0Ba6CA06624e67c07,18 +820.0,KRL-DAC0,KRL,Kryll,0x464eBE77c293E473B48cFe96dDCf88fcF7bFDAC0,18 +821.0,OJA-291A,OJA,Ojamu Token,0x0aA7eFE4945Db24d95cA6E117BBa65Ed326e291A,18 +822.0,BAO-61C1,BAO,BaoToken,0x374CB8C27130E2c9E04F44303f3c8351B9De61C1,18 +823.0,ISP-9014,ISP,Ispolink Token,0xC8807f0f5BA3fa45FfBdc66928d71c5289249014,18 +824.0,DHT-Fa84,DHT,dHedge DAO Token,0xca1207647Ff814039530D7d35df0e1Dd2e91Fa84,18 +825.0,MUST-288f,MUST,Must,0x9C78EE466D6Cb57A4d01Fd887D2b5dFb2D46288f,18 +826.0,Dione-D697,Dione,Dione,0x89B69F2d1adffA9A253d40840B6Baa7fC903D697,9 +827.0,CITADEL-C1BB,CITADEL,The Citadel,0x6caDf6ABBCeb53e631C288778DAAcF125481C1BB,18 +828.0,TWT-F5cF,TWT,TwitFi Token,0xd4Df22556e07148e591B4c7b4f555a17188CF5cF,9 +829.0,BANK-A198,BANK,Bankless Token,0x2d94AA3e47d9D5024503Ca8491fcE9A2fB4DA198,18 +830.0,SYNC-FD32,SYNC,SYNC,0xB6ff96B8A8d214544Ca0dBc9B33f7AD6503eFD32,18 +831.0,MOPS-D967,MOPS,Mops,0x602f65BB8B8098Ad804E99DB6760Fd36208cD967,18 +832.0,NPXS-e5B3,NPXS,Pundi X Token,0xA15C7Ebe1f07CaF6bFF097D8a589fb8AC49Ae5B3,18 +833.0,MOOV-56a7,MOOV,dotmoovs,0x24EC2Ca132abf8F6f8a6E24A1B97943e31f256a7,18 +834.0,DHV-4b2A,DHV,DeHive.finance,0x62Dc4817588d53a056cBbD18231d91ffCcd34b2A,18 +835.0,RGT-C623,RGT,Rari Governance Token,0xD291E7a03283640FDc51b121aC401383A46cC623,18 +836.0,SLP-Aa25,SLP,Smooth Love Potion,0xCC8Fa225D80b9c7D42F96e9570156c65D6cAAa25,0 +837.0,POOF-f57A,POOF,Poof Token,0x888ceA2BBDD5D47a4032cf63668D7525C74af57A,18 +838.0,ONG-4dAe,ONG,onG,0xd341d1680Eeee3255b8C4c75bCCE7EB57f144dAe,18 +839.0,ARNC-8EE4,ARNC,Arnoya classic,0x7495e5Cc8F27e0bd5bD4cb86d17F0D841cA58EE4,18 +840.0,TKP-AcaC,TKP,TOKPIE,0xd31695a1d35E489252CE57b129FD4b1B05E6AcaC,18 +841.0,PRARE-C796,PRARE,PolkaRareToken,0x2C2f7e7C5604D162d75641256b80F1Bf6f4dC796,18 +842.0,AUTH-bD80,AUTH,Authencity.,0x0107C4aAa31940eF88760aCb1F32424CA8d8bD80,8 +843.0,Shiryo-Inu-8F02,Shiryo-Inu,Shiryo-Inu,0x1E2F15302B90EddE696593607b6bD444B64e8F02,9 +844.0,CPU-6626,CPU,CPUcoin,0x6D52DfeFb16BB9Cdc78bfCA09061e44574886626,18 +845.0,ROKO-FF98,ROKO,ROKO,0x6f222E04F6c53Cc688FfB0Abe7206aAc66A8FF98,18 +846.0,LEND-ab03,LEND,EthLend Token,0x80fB784B7eD66730e8b1DBd9820aFD29931aab03,18 +847.0,POCHI-4d90,POCHI,Pochi Inu,0x8eB1779A32678452eB273A22d413207299904d90,18 +848.0,PP-010B,PP,Pension Plan,0xf14b9ADF84812bA463799357f4dc716b4384010B,8 +849.0,CCv2-8F11,CCv2,CryptoCart V2,0x612E1726435fE38dD49A0B35b4065B56f49c8F11,18 +850.0,CUT-Ab9e,CUT,Ctrl-X,0x135783B60cf5d71DAFF7a377f9eb7dB8D2dEAb9e,18 +851.0,CURRY-de77,CURRY,CURRYSWAP,0xc2D3AE29c8309c14994D02Ecd228cf86f3Efde77,18 +852.0,HAKA-2210,HAKA,TribeOne,0xD85AD783cc94bd04196a13DC042A3054a9B52210,18 +853.0,NRG-2069,NRG,Energi,0x1416946162B1C2c871A73B07E932D2fB6C932069,18 +854.0,XEND-4903,XEND,XEND,0xE4CFE9eAa8Cdb0942A80B7bC68fD8Ab0F6D44903,18 +855.0,UNO-1A77,UNO,UnoRe,0x474021845C4643113458ea4414bdb7fB74A01A77,18 +856.0,BAG-5726,BAG,tehBag,0x235C8EE913d93c68D2902a8e0b5a643755705726,18 +857.0,KUMA-3E02,KUMA,Kuma Inu,0x48C276e8d03813224bb1e55F953adB6d02FD3E02,18 +858.0,SAUDISHIB-e23d,SAUDISHIB,SAUDI SHIBA INU,0x34d31446a522252270b89b09016296ec4c98e23d,8 +859.0,DELREY-28dd,DELREY,Delrey Inu,0xfca89d55A768375Ab7cA04485A35a964BEA828dd,18 +860.0,SEEN-Fd33,SEEN,seen.haus,0xCa3FE04C7Ee111F0bbb02C328c699226aCf9Fd33,18 +861.0,SHOE-32c9,SHOE,ShoeFy,0x0fD67B4ceb9b607Ef206904eC73459c4880132c9,18 +862.0,HACHI-ccFe,HACHI,HACHI,0x2a7e415C169cE3a580c6F374Dc26f6Aaad1EccFe,18 +863.0,VOICE-C6A9,VOICE,Voice Token,0x2e2364966267B5D7D2cE6CD9A9B5bD19d9C7C6A9,18 +864.0,BFT-326f,BFT,BF Token,0x01fF50f8b7f74E4f00580d9596cd3D0d6d6E326f,18 +865.0,FUND-996b,FUND,Teh Fund,0x7d8d7c26179b7A6aebbF66A91C38ED92d5B4996b,18 +866.0,BONDLY-68c9,BONDLY,Bondly,0x91dFbEE3965baAEE32784c2d546B7a0C62F268c9,18 +867.0,SHIL-fCe1,SHIL,Shila Inu,0x20c3fa331A385b63EE39137e99d0cF2db142fCe1,18 +868.0,BLXM-1a08,BLXM,bloXmove Token,0x38d9eb07A7b8Df7D86F440A4A5c4a4c1a27E1a08,18 +869.0,COIN-a850,COIN,Coin Utility Token,0xE61fDAF474Fac07063f2234Fb9e60C1163Cfa850,18 +870.0,COLL-0eF3,COLL,Collateral,0x957891C11616D3E0B0A76a76fb42724C382E0eF3,18 +871.0,SHAKE-6189,SHAKE,SHAKE token by SpaceSwap v2,0x6006FC2a849fEdABa8330ce36F5133DE01F96189,18 +872.0,K21-04AF,K21,k21.kanon.art,0xB9d99C33eA2d86EC5eC6b8A4dD816EBBA64404AF,18 +873.0,KEANU-c952,KEANU,Keanu Inu,0x106552C11272420aAd5d7e94f8AcAb9095A6c952,9 +874.0,sETH-31cb,sETH,Synth sETH,0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb,18 +875.0,PHTK-Ae7b,PHTK,PhunToken,0x1FEE5588cb1De19c70B6aD5399152D8C643FAe7b,18 +876.0,LCX-fe41,LCX,LCX,0x037A54AaB062628C9Bbae1FDB1583c195585fe41,18 +877.0,SHIN-660b,SHIN,Shinsekai,0xa27A6FA698a63f82e559914c11C6Cd888060660b,18 +878.0,CMOS-2a8e,CMOS,CoinMerge OS,0x87869A9789291A6cEC99f3c3Ef2fF71fcEb12a8e,9 +879.0,DINGO-4614,DINGO,Dingo Token,0x1f961BCEAEF8eDF6fb2797C0293FfBDe3E994614,9 +880.0,IMP-6FE2,IMP,Imperial Obelisk,0x42A0D24Cb5c423EAAF926cE3984aAfF0C4ff6FE2,9 +881.0,LUFFY-EBd7,LUFFY,LUFFY,0x54012cDF4119DE84218F7EB90eEB87e25aE6EBd7,9 +882.0,BULK-9593,BULK,Bulk Token,0xa143ac515dCA260A46C742C7251eF3B268639593,18 +883.0,PAYT-e2E2,PAYT,PayAccept,0x8EF47555856f6Ce2E0cd7C36AeF4FAb317d2e2E2,18 +884.0,LOCK-9EE9,LOCK,LiquidLock,0xb48EE8F8FA3885Fc08831ff366ec8df608159EE9,18 +885.0,PIP-8707,PIP,Pi-Protocol,0x37613D64258c0FE09d5E53EeCb091DA5b8fA8707,18 +886.0,NUME-F1C3,NUME,NumisMe Token,0x34769D3e122C93547836AdDD3eb298035D68F1C3,18 +887.0,ZCX-8804,ZCX,ZEN Exchange Token,0xC52C326331E9Ce41F04484d3B5E5648158028804,18 +888.0,VISION-3996,VISION,Vision Token,0xF406F7A9046793267bc276908778B29563323996,18 +889.0,GenBlok-82A8,GenBlok,The Genesis Block,0x83C141Ee88c502cB9654DE93598e9F16555082A8,9 +890.0,wPE-881b,wPE,OPES Finance,0xd075e95423C5c4BA1E122CaE0f4CdFA19b82881b,18 +891.0,API3-B88a,API3,API3,0x0b38210ea11411557c13457D4dA7dC6ea731B88a,18 +892.0,GVT-2a0c,GVT,Gro Vault Token,0x3ADb04E127b9C0a5D36094125669d4603AC52a0c,18 +893.0,EXRN-6e75,EXRN,EXRP Network,0xe469c4473af82217B30CF17b10BcDb6C8c796e75,0 +894.0,FRY-bE69,FRY,Foundry Logistics Token,0x6c972b70c533E2E045F333Ee28b9fFb8D717bE69,18 +895.0,ETHY-08B5,ETHY,Ethereum Yield,0xd1AFBCCC9A2c2187ea544363B986EA0AB6EF08B5,18 +896.0,cBSN-B25B,cBSN,BSNcommunitynet,0x7d4B1d793239707445305D8d2456D2c735F6B25B,18 +897.0,NEKO-341F,NEKO,MANEKI-NEKO,0x1E9D0bB190Ac34492aa11B80D28c1C86487a341F,18 +898.0,VFY-e922,VFY,Venify,0x00DD5Ad8F5d9c5118BcEeb526c55eA6b2C07e922,18 +899.0,EGT-3170,EGT,ElonGoat,0x450E7F6e3a2f247A51b98C39297a9a5BfbDb3170,9 +900.0,VERA-e468,VERA,Vera,0xd7f0cC50AD69408aE58be033F4f85D2367C2e468,18 +901.0,BFC-Ab9c,BFC,Bifrost,0x0c7D5ae016f806603CB1782bEa29AC69471CAb9c,18 +902.0,YFII-aB83,YFII,YFII.finance,0xa1d0E215a23d7030842FC67cE582a6aFa3CCaB83,18 +903.0,TEL-790F,TEL,Telcoin,0x467Bccd9d29f223BcE8043b84E8C8B282827790F,2 +904.0,SFG-90dd,SFG,SafeGrow,0xA71DCaaf5ba390B1B2012323A8810fAc121F90dd,18 +905.0,KDOE-82C5,KDOE,Kudoe,0x5f190F9082878cA141F858c1c90B4C59fe2782C5,18 +906.0,PIXIA-69Ae,PIXIA,PixiaAI,0x67675239Fa58c84e75f947c14f566842Dccb69Ae,18 +907.0,POLI-6Db9,POLI,Polinate,0xa1a36D3537bBe375Cc9694795F663DDC8D516Db9,18 +908.0,SOMEE-1447,SOMEE,SoMee.Social,0x65F9A292f1AEED5D755Aa2fD2Fb17AB2E9431447,18 +909.0,BSL-53Ac,BSL,BankSocial,0x0AF55d5fF28A3269d69B98680Fd034f115dd53Ac,8 +910.0,SpillWays-7b47,SpillWays,SpillWays,0x8790f2fc7Ca2e7Db841307FB3f4e72a03Baf7b47,18 +911.0,DGCL-B851,DGCL,DigiCol Token,0x63B8b7d4A3EFD0735c4BFFBD95B332a55e4eB851,18 +912.0,IMPACTXP-49aE,IMPACTXP,ImpactXP,0xb12494C8824fc069757F47d177E666c571Cd49aE,9 +913.0,NFTI-7F4C,NFTI,NFT INDEX,0xe5feeaC09D36B18b3FA757E5Cf3F8dA6B8e27F4C,18 +914.0,BUSY-3f4a,BUSY,Busy,0x5CB3ce6D081fB00d5f6677d196f2d70010EA3f4a,18 +915.0,COTI-55c5,COTI,COTI Token,0xDDB3422497E61e13543BeA06989C0789117555c5,18 +916.0,pBTC-733b,pBTC,pTokens BTC,0x5228a22e72ccC52d415EcFd199F99D0665E7733b,18 +917.0,DSD-8658,DSD,DeFi Nation Signals DAO,0x1e3a2446C729D34373B87FD2C9CBb39A93198658,18 +918.0,AURA-3DBF,AURA,Aura,0xC0c293ce456fF0ED870ADd98a0828Dd4d2903DBF,18 +919.0,TRL-Ec41,TRL,Triall,0x58f9102bF53Cf186682Bd9a281d3Cd3c616eEc41,18 +920.0,TVK-3988,TVK,Terra Virtua Kolect,0xd084B83C305daFD76AE3E1b4E1F1fe2eCcCb3988,18 +921.0,X7105-D105,X7105,X7105,0x7105FAA4a26eD1c67B8B2b41BEc98F06Ee21D105,18 +922.0,LGB-1288,LGB,Let's Go Brandon,0x21E783bcf445B515957A10E992aD3c8E9FF51288,18 +923.0,ETHV-24d6,ETHV,Ethverse Token,0xEeEeeeeEe2aF8D0e1940679860398308e0eF24d6,18 +924.0,SHUSKY-3a75,SHUSKY,Siberian Husky,0x236d53148F83706C3d670064809577385f923a75,9 +925.0,JRT-343A,JRT,Jarvis Reward Token,0x8A9C67fee641579dEbA04928c4BC45F66e26343A,18 +926.0,ADAPAD-0289,ADAPAD,ADAPAD.io,0xDB0170e2d0c1CC1b2E7a90313d9B9afA4f250289,18 +927.0,CIMO-667a,CIMO,Cinnamoon,0xC3f65b1c45B0D42a472CD0Fbd37dD6678AEf667a,9 +928.0,TROVE-E114,TROVE,Trove DAO,0x59c6900949aD1835f07a04321f4d9934a054E114,18 +929.0,PP-9483,PP,PP,0xeCe8531550Fc599ccB2c7734494FBc358d0a9483,18 +930.0,MAGE-2B15,MAGE,MetaBrands,0xd52AAE39a2b5CC7812F7B9450EBB61DfEf702B15,18 +931.0,BEPRO-d36A,BEPRO,BetProtocolToken,0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A,18 +932.0,ALN-5748,ALN,Aluna,0x8185Bc4757572Da2a610f887561c32298f1A5748,18 +933.0,MYOBU-Fb07,MYOBU,Myōbu,0xDfDd3459D4F87234751696840092ee20C970Fb07,9 +934.0,DDIM-8E20,DDIM,DuckDaoDime,0xFbEEa1C75E4c4465CB2FCCc9c6d6afe984558E20,18 +935.0,ZEE-d4c5,ZEE,ZeroSwapToken,0x2eDf094dB69d6Dcd487f1B3dB9febE2eeC0dd4c5,18 +936.0,eYe-2E89,eYe,eYe on Ethereum,0x9A257C90Fa239fBA07771ef7da2d554D148c2E89,18 +937.0,DOGEZ-8617,DOGEZ,Dogezilla,0x4D8046B2f7986FEB5a4b0781EbF5Fa2D7a808617,18 +938.0,ECC-Ac55,ECC,Empire Capital,0xC84D8d03aA41EF941721A4D77b24bB44D7C7Ac55,9 +939.0,CHEDDA-837D,CHEDDA,Chedda Token,0x16756EC1DEb89A2106C35E0B586a799D0A61837D,18 +940.0,Pacha-0d4E,Pacha,Kay Pacha,0x2Dd1B9410c73E16b60240E529e38E30425F00d4E,10 +941.0,CGT-EAA0,CGT,CACHE Gold,0xF5238462E7235c7B62811567E63Dd17d12C2EAA0,8 +942.0,VST-472C,VST,VentiSwap Token,0xb7C2fcD6d7922eddd2A7A9B0524074A60D5b472C,18 +943.0,GAINS-5Ce9,GAINS,Gains,0xd9b312D77Bc7BEd9B9CecB56636300bED4Fe5Ce9,18 +944.0,WHITE-0fe1,WHITE,White Ethereum,0xFe4BEb9217cdDf2422d4bd65449b76d807b30fe1,9 +945.0,AIPAD-8AAf,AIPAD,AIPAD.tech,0xE55d97A97ae6A17706ee281486E98A84095d8AAf,18 +946.0,YDF-E66a,YDF,Yieldification,0x30dcBa0405004cF124045793E1933C798Af9E66a,18 +947.0,CHADS-5c5E,CHADS,chads.vc,0x69692D3345010a207b759a7D1af6fc7F38b35c5E,18 +948.0,BXX-7898,BXX,Baanx,0x6b1a8f210Ec6b7B6643cea3583Fb0c079f367898,18 +949.0,BOMB-6714,BOMB,BOMB,0x1C95b093d6C236d3EF7c796fE33f9CC6b8606714,0 +950.0,SHAMAN-FA5a,SHAMAN,Shaman,0x5fCe9Fc9B5d62aF082A59D0823A062F7529eFA5a,18 +951.0,FOAM-C121,FOAM,FOAM Token,0x4946Fcea7C692606e8908002e55A582af44AC121,18 +952.0,DOGS-ba21,DOGS,Dogcoin,0xBcCD27062ae1A2BeA5731c904b96EDfb163Aba21,9 +953.0,UBT-ee5e,UBT,UniBright,0x8400D94A5cb0fa0D041a3788e395285d61c9ee5e,8 +954.0,ICNQ-390A,ICNQ,Iconiq Lab Token,0xB3e2Cb7CccfE139f8FF84013823Bf22dA6B6390A,18 +955.0,ADEL-A182,ADEL,Akropolis Delphi,0x94d863173EE77439E4292284fF13fAD54b3BA182,18 +956.0,CMS-4F82,CMS,CryptoMoonShots,0x1f22AD99C334e6689bAe751CC225bCC38fe54F82,18 +957.0,SDG-9a01,SDG,SyncDAO Governance,0xCF8829AE9384540c886A151fac3a865794cB9a01,18 +958.0,ORAO-d035,ORAO,ORAO Network,0xEE1CeA7665bA7aa97e982EdeaeCb26B59a04d035,18 +959.0,TORA-7670,TORA,Tora Inu,0x7a3f7F6675514D4d611b442A4B76752f6AB77670,18 +960.0,POWER-E509,POWER,UniPower,0xF2f9A7e93f845b3ce154EfbeB64fB9346FCCE509,18 +961.0,OFI-97dC,OFI,Ordinals Finance,0x419E35E3515c2fDB652C898bF7A0B21FB20497dC,9 +962.0,INSTAR-DAF3,INSTAR,INSTAR,0x8193711b2763Bc7DfD67Da0d6C8c26642eafDAF3,4 +963.0,MTAO-0f71,MTAO,MEME TAO,0x1E8E29CA51363D923725aB9DaC73Bd7e9C440f71,9 +964.0,OPTIG-F44b,OPTIG,Catgirl Optimus,0xD5DF655087d99B7B720A5bc8711F296180A4F44b,18 +965.0,POM-e7E4,POM,Pomeranian,0x24ffe459F51ea20C5d8ad49843529fc33654e7E4,9 +966.0,MIR-E608,MIR,Wrapped MIR Token,0x09a3EcAFa817268f77BE1283176B946C4ff2E608,18 +967.0,COLI-8437,COLI,Coliquidity Token,0xd49EFA7BC0D339D74f487959C573d518BA3F8437,18 +968.0,CRNO-ca8E,CRNO,Chronoly,0xE23311294467654E0CaB14cD32A169A41be5ca8E,18 +969.0,SANI-342F,SANI,Sanin Inu,0x4521C9aD6A3D4230803aB752Ed238BE11F8B342F,18 +970.0,Dogefather-8c06,Dogefather,Dogefather,0x73C61dD9E121dE834A4f3ed607263EE33b308c06,9 +971.0,METRIC-14AC,METRIC,Metric.exchange,0xEfc1C73A3D8728Dc4Cf2A18ac5705FE93E5914AC,18 +972.0,COMFI-F1e4,COMFI,CompliFi,0x752Efadc0a7E05ad1BCCcDA22c141D01a75EF1e4,18 +973.0,4SHIBA-984d,4SHIBA,FOREVER SHIBA,0xB04bf60E468743418E87291d7c9301a5299d984d,18 +974.0,TRDG-68b5,TRDG,Tardigrades.Finance,0x92a42Db88Ed0F02c71D439e55962Ca7CAB0168b5,9 +975.0,DVD-9582,DVD,DAOventuresDeFi,0x77dcE26c03a9B833fc2D7C31C22Da4f42e9d9582,18 +976.0,HAUS-f687,HAUS,DAOhaus Token,0xf2051511B9b121394FA75B8F7d4E7424337af687,18 +977.0,CAW-e452,CAW,A Hunters Dream,0xf3b9569F82B18aEf890De263B84189bd33EBe452,18 +978.0,MARSH-cF37,MARSH,UnmarshalToken,0x5a666c7d92E5fA7Edcb6390E4efD6d0CDd69cF37,18 +979.0,MX-7f36,MX,MX Token,0x11eeF04c884E24d9B7B4760e7476D06ddF797f36,18 +980.0,MARVIN-8C8a,MARVIN,Marvin Inu,0xcAa9Ed6D7502595B555113D4517668aE24038C8a,18 +981.0,FWB-99A8,FWB,Friends With Benefits Pro,0x35bD01FC9d6D5D81CA9E055Db88Dc49aa2c699A8,18 +982.0,TICKR-0d24,TICKR,Tickr,0xf0a163a26601D9dc8Aef26b388Eadb7B1c620d24,9 +983.0,FNT-9D59,FNT,Falcon,0xDc5864eDe28BD4405aa04d93E05A0531797D9D59,6 +984.0,MILK2-c1de,MILK2,MilkyWay Token by SpaceSwap v2,0x80c8C3dCfB854f9542567c8Dac3f44D709eBc1de,18 +985.0,H-d17a,H,H,0xc6956b78e036b87Ba2aB9810BF081eb76EEDd17a,18 +986.0,TIME-A260,TIME,ChronoTech Token,0x485d17A6f1B8780392d53D64751824253011A260,8 +987.0,SLM-686e,SLM,SolomonDefi,0x07a0AD7a9dfc3854466F8F29A173bf04bbA5686e,18 +988.0,CCX-8B59,CCX,ClearCryptos,0x1D6405138A335cE5FD7364086334EfB3E4F28B59,18 +989.0,USHI-ec55,USHI,Ushi,0x6Dca182ac5E3f99985bC4Ee0f726d6472aB1ec55,18 +990.0,BT-Ca3a,BT,BT.Finance,0x76c5449F4950f6338A393F53CdA8b53B0cd3Ca3a,18 +991.0,FOLO-122a,FOLO,Follow,0xB2a63A5Dd36C91eC2DA59B188ff047F66fac122a,18 +992.0,ROOT-570E,ROOT,RootKit,0xCb5f72d37685C3D5aD0bB5F982443BC8FcdF570E,18 +993.0,LPOOL-Df5B,LPOOL,Launchpool token,0x6149C26Cd2f7b5CCdb32029aF817123F6E37Df5B,18 +994.0,KIMCHI-eDa0,KIMCHI,KIMCHI.finance,0x1E18821E69B9FAA8e6e75DFFe54E7E25754beDa0,18 +995.0,HELLSING-6EAD,HELLSING,Hellsing Inu,0xB087C2180e3134Db396977065817aed91FEa6EAD,9 +996.0,CUBE-39f4,CUBE,Somnium Space Cubes,0xDf801468a808a32656D2eD2D2d80B72A129739f4,8 +997.0,YFL-c0be,YFL,YFLink,0x28cb7e841ee97947a86B06fA4090C8451f64c0be,18 +998.0,ETHIX-0D3e,ETHIX,Ethix,0xFd09911130e6930Bf87F2B0554c44F400bD80D3e,18 +999.0,CIA-817d,CIA,CIA,0x52F4D5EE6c91e01Be67CA1F64b11eD0EE370817d,9 +1000.0,NODE-0DA0,NODE,DAppNode DAO Token,0xDa007777D86AC6d989cC9f79A73261b3fC5e0DA0,18 +1001.0,REPv2-C9bB,REPv2,Reputation,0x221657776846890989a759BA2973e427DfF5C9bB,18 +1002.0,ODDZ-5Bf6,ODDZ,OddzToken,0xCd2828fc4D8E8a0eDe91bB38CF64B1a81De65Bf6,18 +1003.0,MCHC-ECC3,MCHC,MCHCoin,0xD69F306549e9d96f183B1AecA30B8f4353c2ECC3,18 +1004.0,HAKKA-3bcd,HAKKA,Hakka Finance,0x0E29e5AbbB5FD88e28b2d355774e73BD47dE3bcd,18 +1005.0,PLANB-499B,PLANB,PlanB DAO,0xe77f82f288A6a7EB4Ac295a86FccB1F6D240499B,18 +1006.0,CVR-e6c6,CVR,PolkaCover,0x3C03b4EC9477809072FF9CC9292C9B25d4A8e6c6,18 +1007.0,$DOSA-1b8a,$DOSA,Dosa,0xeE2B297408063E0967096bafDCfD1278d5BF1b8a,18 +1008.0,IDEX-cfAE,IDEX,IDEX Token,0xB705268213D593B8FD88d3FDEFF93AFF5CbDcfAE,18 +1009.0,PMON-D0b2,PMON,Polkamon,0x1796ae0b0fa4862485106a0de9b654eFE301D0b2,18 +1010.0,DINGER-fA68,DINGER,Dinger Token,0x9e5BD9D9fAd182ff0A93bA8085b664bcab00fA68,9 +1011.0,ISLA-702d,ISLA,Defiville Island Token,0x20a68F9e34076b2dc15ce726d7eEbB83b694702d,18 +1012.0,ZEUS-F867,ZEUS,ZEUS,0x6ef460EB3563CfCc73F8147B0A77DAFFeE71F867,18 +1013.0,FSW-26DB,FSW,FalconSwap Token,0xfffffffFf15AbF397dA76f1dcc1A1604F45126DB,18 +1014.0,RELAX-3001,RELAX,Relaxable,0x801dE502C493aa9d3F9F79A0348fbc00521b3001,18 +1015.0,UZUMAKI-9aa3,UZUMAKI,Uzumaki Inu,0xD4c64f0Fe38ecdaF0Baefd7859E18185a73b9aa3,9 +1016.0,BCB-eb7e,BCB,Blockchain Bets,0x2d886570A0dA04885bfD6eb48eD8b8ff01A0eb7e,9 +1017.0,FINU-Ca1C,FINU,Formula Inu,0x2c022e58C5E3Ee213F06f975fd8a0d3a6fE9Ca1C,18 +1018.0,ASKO-8603,ASKO,Askobar Network,0xeEEE2a622330E6d2036691e983DEe87330588603,18 +1019.0,HEEL-B366,HEEL,Good Dog,0xf941D3AAbf2EE0F5589E68Ba6047b8329592B366,9 +1020.0,INFI-848C,INFI,INFI,0x159751323A9E0415DD3d6D42a1212fe9F4a0848C,18 +1021.0,BLT-B82e,BLT,Bloom Token,0x107c4504cd79C5d2696Ea0030a8dD4e92601B82e,18 +1022.0,VOLT-C597,VOLT,Volt Inu,0x3F7Aff0EF20AA2E646290DfA4E67611B2220C597,9 +1023.0,RWS-7802,RWS,Robonomics Web Services :: V1,0x08AD83D779BDf2BBE1ad9cc0f78aa0D24AB97802,18 +1024.0,TORN-116C,TORN,TornadoCash,0x77777FeDdddFfC19Ff86DB637967013e6C6A116C,18 +1025.0,KAINET-FC8a,KAINET,KAINET,0xB097Dd6a23175C10eAA45A1F410d7eB4cFDAFC8a,9 +1026.0,CTR-d375,CTR,Creator Chain,0x923b83c26B3809d960fF80332Ed00aA46D7Ed375,18 +1027.0,BiFi-BA81,BiFi,BiFi,0x2791BfD60D232150Bff86b39B7146c0eaAA2BA81,18 +1028.0,Suki-18d5,Suki,Sukiyaki,0xD212046F89680aC9F106B9c63f314cc9808e18d5,18 +1029.0,Gorilla Inu-3908,Gorilla Inu,Gorilla Inu | Apes Together Strong,0x68257309fCdfE1e6eDb592DA97aC8215fe583908,9 +1030.0,GET-6A1B,GET,GET,0x8a854288a5976036A725879164Ca3e91d30c6A1B,18 +1031.0,ALERT-c1fB,ALERT,ALERT,0xaE377ed00DF9b9663B253bE93035EF1CfECBc1fB,9 +1032.0,SHIDO-a703,SHIDO,Shido Inu,0x173E552Bf97BBD50b455514ac52991Ef639ba703,9 +1033.0,VPP-5e6e,VPP,Virtue Player Points,0x5EeAA2DCb23056F4E8654a349E57eBE5e76b5e6e,18 +1034.0,EHIVE-6C75,EHIVE,Ethereum Hive,0x10B506Ae42b5466d548EdC4C02a4CE9828386C75,18 +1035.0,KEYFI-9052,KEYFI,KeyFi Token,0xB8647e90C0645152Fccf4d9AbB6B59Eb4AA99052,18 +1036.0,WGMI-6f75,WGMI,WGMI,0xE23FaEfcdAAe646527eb86b1C746A25Ae4a36f75,18 +1037.0,CRAMER-8ee0,CRAMER,Cramer Coin,0x64Df3aAB3b21cC275bB76c4A581Cf8B726478ee0,18 +1038.0,BITT-6D51,BITT,BITTOKEN,0x9F9913853f749b3fE6D6D4e16a1Cc3C1656B6D51,18 +1039.0,AZK-1A99,AZK,AnonZK,0x5408245a4D7c685F59cE6D3b8B35916dd6c11A99,18 +1040.0,POWER-F093,POWER,Kingmaker,0x0263994554Ec08cc60473dbf8ceE60f9EedbF093,18 +1041.0,BIST-093F,BIST,Bistroo Token,0x6e8908cfa881C9f6f2C64d3436E7b80b1bf0093F,18 +1042.0,KARMA-951C,KARMA,Karma,0xdfe691F37b6264a90Ff507EB359C45d55037951C,4 +1043.0,YETIC-6E6F,YETIC,YetiCoin,0xdF96bDE075d59e9143b325C75aF38e208c986E6F,9 +1044.0,PANTO-aA9d,PANTO,PANTOMIME,0x54B8D105aA09342FAD6b352D41a0bAd3E1a9aA9d,18 +1045.0,COGE-6806,COGE,Cogecoin,0xC382e04099A435439725BB40647e2B32dC136806,18 +1046.0,IMPACTX-2669,IMPACTX,ImpactX,0x5aF6ad286C8Ed6633284f2F135C4716057d52669,9 +1047.0,MYST-f361,MYST,Mysterium,0x4Cf89ca06ad997bC732Dc876ed2A7F26a9E7f361,18 +1048.0,MR-29Aa,MR,METARUFFY,0xa4Cb3ef5f41a4D89D6FCed22ea8a1C57957629Aa,18 +1049.0,X7101-E105,X7101,X7101,0x7101a9392EAc53B01e7c07ca3baCa945A56EE105,18 +1050.0,HID-9c9D,HID,Hypersign Identity Token,0xB14eBF566511B9e6002bB286016AB2497B9b9c9D,18 +1051.0,RIO-4097,RIO,Realio Network,0xf21661D0D1d76d3ECb8e1B9F1c923DBfffAe4097,18 +1052.0,TRIBE-212B,TRIBE,Tribe,0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B,18 +1053.0,NeRF-76c5,NeRF,Neural Radiance Field,0xaF8942831F3A096f708b8b31F191B8958Cf176c5,18 +1054.0,RDN-c8e6,RDN,Raiden Token,0x255Aa6DF07540Cb5d3d297f0D0D4D84cb52bc8e6,18 +1055.0,wOMI-A670,wOMI,Wrapped OMI Token,0x04969cD041C0cafB6AC462Bd65B536A5bDB3A670,18 +1056.0,xFUND-7881,xFUND,unification.com/xfund,0x892A6f9dF0147e5f079b0993F486F9acA3c87881,9 +1057.0,Z-e491,Z,ZINJA,0x1BE56412c9606E7285280F76A105EBa56996e491,9 +1058.0,meh-c981,meh,meh,0xBA98C0FbebC892F5b07a42B0FeBD606913EBc981,18 +1059.0,GRUMPY-021b,GRUMPY,Grumpy Cat,0x93B2FfF814FCaEFFB01406e80B4Ecd89Ca6A021b,9 +1060.0,LSD-31FF,LSD,LSD Coin,0xfAC77A24E52B463bA9857d6b758ba41aE20e31FF,18 +1061.0,PLA-b430,PLA,PlayDapp Token,0x3a4f40631a4f906c2BaD353Ed06De7A5D3fCb430,18 +1062.0,LINU-D581,LINU,Luna Inu,0x78132543D8E20D2417d8a07D9ae199D458A0D581,18 +1063.0,wMBX-432d,wMBX,wMBX Token,0x71ba91dC68C6a206Db0A6A92B4b1De3f9271432d,18 +1064.0,MANDOX-a4a4,MANDOX,MandoX,0xAFbF03181833aB4E8DEc24D708a2a24c2bAaa4a4,9 +1065.0,yDAI+yUSDC+yUSDT+yTUSD-06A8,yDAI+yUSDC+yUSDT+yTUSD,Curve.fi yDAI/yUSDC/yUSDT/yTUSD,0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8,18 +1066.0,MINDS-c068,MINDS,Minds,0xB26631c6dda06aD89B93C71400D25692de89c068,18 +1067.0,X7102-A105,X7102,X7102,0x7102DC82EF61bfB0410B1b1bF8EA74575bf0A105,18 +1068.0,X7104-C105,X7104,X7104,0x7104D1f179Cc9cc7fb5c79Be6Da846E3FBC4C105,18 +1069.0,TRU-276c,TRU,Truebit,0xf65B5C5104c4faFD4b709d9D60a185eAE063276c,18 +1070.0,IM-a936,IM,Internet Money,0x0A58153a0CD1cfaea94cE1f7FdC5D7E679eCa936,18 +1071.0,KTLYO-27c8,KTLYO,Katalyo Token,0x24E3794605C84E580EEA4972738D633E8a7127c8,18 +1072.0,FRIN-1D15,FRIN,Fringe,0xC9fE6E1C76210bE83DC1B5b20ec7FD010B0b1D15,18 +1073.0,KODACHI-fd16,KODACHI,Kodachi Token,0x57c411e9a358e2d2d0a6b058cEDb709175e8fd16,18 +1074.0,ziot-796a,ziot,ziot,0xfB22cED41B1267dA411F68c879f4Defd0bD4796a,18 +1075.0,XCUR-86bd,XCUR,Curate,0xE1c7E30C42C24582888C758984f6e382096786bd,8 +1076.0,TYRANT-ec27,TYRANT,Fable Of The Dragon,0x8EE325AE3E54e83956eF2d5952d3C8Bc1fa6ec27,9 +1077.0,NFT-7042,NFT,NFT Protocol,0xcB8d1260F9c92A3A545d409466280fFdD7AF7042,18 +1078.0,REM-6B6d,REM,REMME token,0x83984d6142934bb535793A82ADB0a46EF0F66B6d,4 +1079.0,SATS-Abf8,SATS,SATOSHIS VISION,0x6C22910c6F75F828B305e57c6a54855D8adeAbf8,9 +1080.0,Kusunoki-0308,Kusunoki,Kusunoki Samurai,0x36919a60a2B67B6d2329863093D180d23d5A0308,18 +1081.0,WBUY-3ed8,WBUY,Wrapped BUY Token,0x396eC402B42066864C406d1ac3bc86B575003ed8,2 +1082.0,RENA-9b76,RENA,Rena,0x56de8BC61346321D4F2211e3aC3c0A7F00dB9b76,18 +1083.0,DMOD-18d7,DMOD,Demodyfi Token,0x5f6c5C2fB289dB2228d159C69621215e354218d7,18 +1084.0,CAT-7dB3,CAT,Cat Token,0x56015BBE3C01fE05bc30A8a9a9Fd9A88917e7dB3,18 +1085.0,Nsure-2114,Nsure,Nsure Network Token,0x20945cA1df56D237fD40036d47E866C7DcCD2114,18 +1086.0,rUSD-C8F6,rUSD,Realio Network USD Stablecoin,0xF9A2D7E60a3297E513317AD1d7Ce101CC4C6C8F6,18 +1087.0,MFT-7428,MFT,Mainframe Token,0xDF2C7238198Ad8B389666574f2d8bc411A4b7428,18 +1088.0,EMPIRE-3665,EMPIRE,Empire Network,0xf124eD9Ec309907808b1FBc6BEdB2a76927B3665,18 +1089.0,BETA-dbE2,BETA,Beta Token,0x35F67c1D929E106FDfF8D1A55226AFe15c34dbE2,18 +1090.0,CTI-f244,CTI,ClinTex,0x8c18D6a985Ef69744b9d57248a45c0861874f244,18 +1091.0,RAID-97C9,RAID,Raider Inu - The AI Raid Leader,0x2022760aCDe82079cbEDa17D3afC67dC1F3D97C9,18 +1092.0,PYRO-Cd72,PYRO,PYROmatic,0x1e2D230C7A7F4C679Fb1378F1f51dEDeAe85Cd72,18 +1093.0,$NOWAI-7956,$NOWAI,NOWAI,0x987441856BA4f463544FC68ccBF6a80F434a7956,18 +1094.0,LIF-6465,LIF,Lif,0x9C38688E5ACB9eD6049c8502650db5Ac8Ef96465,18 +1095.0,$ANRX-09E0,$ANRX,AnRKey X,0xCae72A7A0Fd9046cf6b165CA54c9e3a3872109E0,18 +1096.0,HANU-BCC0,HANU,Hanu Yokia,0x72E5390EDb7727E3d4e3436451DADafF675dBCC0,12 +1097.0,GLCH-D564,GLCH,Glitch,0x038a68FF68c393373eC894015816e33Ad41BD564,18 +1098.0,APYS-3615,APYS,APYSwap,0xf7413489c474ca4399eeE604716c72879Eea3615,18 +1099.0,SERP-5Eec,SERP,SHIBARIUM PERPETUALS,0xFd414e39155F91E94443a9Fe97E856569d0F5Eec,9 +1100.0,TAIL-1e31,TAIL,Tail,0xFeeeef4D7b4Bf3cc8BD012D02D32Ba5fD3D51e31,18 +1101.0,ADD-7d56,ADD,ADD,0x635d081fD8F6670135D8a3640E2cF78220787d56,18 +1102.0,RAIN-4D57,RAIN,Rainmaker Games,0x71Fc1F555a39E0B698653AB0b475488EC3c34D57,18 +1103.0,ADVT-9b72,ADVT,Advantis Token,0x69e37422cB87d963367F73A119C8ce9a4D529b72,9 +1104.0,POLK-cfbF,POLK,Polkamarkets,0xD478161C952357F05f0292B56012Cd8457F1cfbF,18 +1105.0,CLAW-8cc3,CLAW,Claw,0xe115401B985306837B9f1495c8e9d7f8f8328cc3,18 +1106.0,DEC-b9b3,DEC,Decentr,0x30f271C9E86D2B7d00a6376Cd96A1cFBD5F0b9b3,18 +1107.0,JAM-5A72,JAM,Geojam,0x23894DC9da6c94ECb439911cAF7d337746575A72,18 +1108.0,SPICE-8193,SPICE,SPICE,0x9b6dB7597a74602a5A806E33408e7E2DAFa58193,18 +1109.0,Yf-DAI-9577,Yf-DAI,YfDAI.finance,0xf4CD3d3Fda8d7Fd6C5a500203e38640A70Bf9577,18 +1110.0,UFARM-af88,UFARM,UNIFARM Token,0x40986a85B4cFCDb054A6CBFB1210194fee51af88,18 +1111.0,GAI-78BF,GAI,GeneraitivAI,0x0d8ca4b20b115D4DA5c13DC45Dd582A5de3e78BF,18 +1112.0,TUF-c8f1,TUF,TUF Token,0x6f8b23296394d20eC048FbDec8eBc0CA90f5c8f1,18 +1113.0,SCIFI-2CB4,SCIFI,ScifiToken,0xfDC4a3FC36df16a78edCAf1B837d3ACAaeDB2CB4,18 +1114.0,BART-63Ba,BART,BarterTrade,0x54C9EA2E9C9E8eD865Db4A4ce6711C2a0d5063Ba,18 +1115.0,KEK-6a82,KEK,KeKChain,0x67954768E721FAD0f0f21E33e874497C73ED6a82,18 +1116.0,ORBS-B0FA,ORBS,Orbs,0xff56Cc6b1E6dEd347aA0B7676C85AB0B3D08B0FA,18 +1117.0,ZEFU-1229,ZEFU,Zenfuse Trading Platform Token,0xB1e9157c2Fdcc5a856C8DA8b2d89b6C32b3c1229,18 +1118.0,BKING-aF04,BKING,King Arthur,0x1cA02DD95f3F1e33DA7F5AfE15EA866dAb07aF04,9 +1119.0,WallStreetInu-eA26,WallStreetInu,Wall Street Inu,0xd68Cb7a643079311B8645ED90F2D5267CfA6eA26,9 +1120.0,BAKT-1C0B,BAKT,BACKED,0x8379f52d09b9998eCbA731288EE4fE532fD91C0B,18 +1121.0,ALCAZAR-9bFe,ALCAZAR,Alcazar,0x10f44a834097469AC340592d28c479c442E99bFe,18 +1122.0,THE-2861,THE,The Protocol,0x0cbA60Ca5eF4D42f92A5070A8fEDD13BE93E2861,18 +1123.0,wBIND-0115,wBIND,Wrapped BIND,0x15334DCb171e8b65D6650321581dcA83bE870115,8 +1124.0,STACK-0Ba4,STACK,StackOS,0x56A86d648c435DC707c8405B78e2Ae8eB4E60Ba4,18 +1125.0,VIBE-Dfba,VIBE,Vibe Coin,0xe8Ff5C9c75dEb346acAc493C463C8950Be03Dfba,18 +1126.0,FLOKI-827c,FLOKI,Floki Musk,0x67Cc621AB2d086a101Cff3340df0A065Ac75827c,18 +1127.0,BRO-8771,BRO,BRO Token,0x1C84656Cb4c286DaA16f27D8B305F1053B5a8771,18 +1128.0,α-69f5,α,.alpha,0x48AF7b1c9dac8871C064f62FcEC0d9d6F7c269f5,18 +1129.0,LUNCH-e7e0,LUNCH,LunchDao,0x71a28feAEe902966DC8D355e7B8Aa427D421e7e0,18 +1130.0,GOVI-6107,GOVI,GOVI,0xeEAA40B28A2d1b0B08f6f97bB1DD4B75316c6107,18 +1131.0,ACAP-6A41,ACAP,Alpha Capital,0xd5A98E77d1fEB091344096301Ea336a5C07a6A41,18 +1132.0,BNS-E07C,BNS,BNS Token,0x695106Ad73f506f9D0A9650a78019A93149AE07C,8 +1133.0,TOWER-7d0B,TOWER,TOWER,0x1C9922314ED1415c95b9FD453c3818fd41867d0B,18 +1134.0,JEJUDOGE-79B9,JEJUDOGE,Jejudoge,0x939A7A577D93ad29B64C1595B1284ce660A479B9,18 +1135.0,BDP-480e,BDP,BDPToken,0xf3dcbc6D72a4E1892f7917b7C43b74131Df8480e,18 +1136.0,ORAI-c1b5,ORAI,Oraichain Token,0x4c11249814f11b9346808179Cf06e71ac328c1b5,18 +1137.0,uDOO-2ffB,uDOO,uDOO,0x12f649A9E821F90BB143089a6e56846945892ffB,18 +1138.0,ATRI-FB62,ATRI,AtariToken,0xdacD69347dE42baBfAEcD09dC88958378780FB62,0 +1139.0,Coval-76Df,Coval,CircuitsOfValue,0x3D658390460295FB963f54dC0899cfb1c30776Df,8 +1140.0,SUZUME-7E43,SUZUME,Shita-Kiri Suzume,0x0B452278223D3954F4AC050949D7998e373e7E43,18 +1141.0,QRX-14D8,QRX,QuiverX,0x6e0daDE58D2d89eBBe7aFc384e3E4f15b70b14D8,18 +1142.0,WAIT-EDd7,WAIT,HOURGLASS,0x2559813BBb508C4C79e9CCCE4703Bcb1f149EDd7,9 +1143.0,HIGH-0282,HIGH,Highstreet token,0x71Ab77b7dbB4fa7e017BC15090b2163221420282,18 +1144.0,TOSHI-6BdC,TOSHI,Toshi Tools,0x77a90B04d64189d4D09508612C09219bC6816BdC,9 +1145.0,LOOM-3DB0,LOOM,LoomToken,0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0,18 +1146.0,UMB-83B2,UMB,Umbrella,0x6fC13EACE26590B80cCCAB1ba5d51890577D83B2,18 +1147.0,GEAR-F5a9,GEAR,Bitgear,0x1b980e05943dE3dB3a459C72325338d327B6F5a9,18 +1148.0,SUNC-C56F,SUNC,Sunrise Token,0x692aCCdD8b86692427E0aa4752AE917Df01CC56F,18 +1149.0,$EARN-D79c,$EARN,EARN,0xA87Ed75C257f1ec38393bEA0A83d55Ac2279D79c,9 +1150.0,PAXG-Af78,PAXG,Paxos Gold,0x45804880De22913dAFE09f4980848ECE6EcbAf78,18 +1151.0,EQZ-0Bb0,EQZ,Equalizer,0x1Da87b114f35E1DC91F72bF57fc07A768Ad40Bb0,18 +1152.0,TYC-658F,TYC,Tycoon Token,0x3A82D3111aB5faF39d847D46023d9090261A658F,18 +1153.0,SIG-6517,SIG,xSigma,0x7777777777697cFEECF846A76326dA79CC606517,18 +1154.0,$SHARBI-c9a9,$SHARBI,SHARBI,0xF3A3023e6Dede84AD88a656A3269F2A36e83c9a9,9 +1155.0,EBOX-15c5,EBOX,ethbox Token,0x33840024177A7DacA3468912363BeD8b425015c5,18 +1156.0,XTM-62Fe,XTM,Torum,0xCd1fAFf6e578Fa5cAC469d2418C95671bA1a62Fe,18 +1157.0,SKRT-77f6,SKRT,Sekuritance,0x887168120cb89Fb06F3E74Dc4AF20D67dF0977f6,18 +1158.0,XLON-9D58,XLON,Xenlon Mars,0x36ff4DaE0E88113D68B1209e245B0e3Af92E9D58,18 +1159.0,SHOPX-D848,SHOPX,SPLYT SHOPX,0x7BEF710a5759d197EC0Bf621c3Df802C2D60D848,18 +1160.0,WPSL-CC29,WPSL,Wrapped PSL,0xC775C0C30840Cb9F51e21061B054ebf1A00aCC29,5 +1161.0,FIS-cC8d,FIS,StaFi,0xef3A930e1FfFFAcd2fc13434aC81bD278B0ecC8d,18 +1162.0,DIVI-3a77,DIVI,Divi,0x246908BfF0b1ba6ECaDCF57fb94F6AE2FcD43a77,8 +1163.0,SHIBELON-De6d,SHIBELON,ShibElon,0x4c584CD339bdDE73B7F5210486dd8bbeEE3fDe6d,9 +1164.0,AAPX-0811,AAPX,AMPnet APX Token,0xbfD815347d024F449886c171f78Fa5B8E6790811,18 +1165.0,POLS-D5Aa,POLS,PolkastarterToken,0x83e6f1E41cdd28eAcEB20Cb649155049Fac3D5Aa,18 +1166.0,LGCY-8A0d,LGCY,LGCY Network,0xaE697F994Fc5eBC000F8e22EbFfeE04612f98A0d,18 +1167.0,COT-4CE8,COT,CosplayToken,0x5CAc718A3AE330d361e39244BF9e67AB17514CE8,18 +1168.0,InvectAI-2904,InvectAI,InvectAI,0xCAE7F3aa6D456463bEf0E5B508542b69D96f2904,8 +1169.0,SOCKS-91d5,SOCKS,Unisocks Edition 0,0x23B608675a2B2fB1890d3ABBd85c5775c51691d5,18 +1170.0,PAR-ee06,PAR,Parachute,0x1BeEF31946fbbb40B877a72E4ae04a8D1A5Cee06,18 +1171.0,ARNX-e283,ARNX,Aeron,0x0C37Bcf456bC661C14D596683325623076D7e283,18 +1172.0,SNC-0404,SNC,SunContract,0xF4134146AF2d511Dd5EA8cDB1C4AC88C57D60404,18 +1173.0,bALPHA-15A6,bALPHA,bAlpha,0x7a5ce6abD131EA6B148a022CB76fc180ae3315A6,18 +1174.0,RARE-c7C8,RARE,RARE.UNIQUE,0x93dfaf57D986B9cA77Df9376c50878E013D9c7C8,18 +1175.0,BEND-6218,BEND,Bend Token,0x0d02755a5700414B26FF040e1dE35D337DF56218,18 +1176.0,EVNY-8E60,EVNY,EVNY Token,0x9A24B8E8A6D4563c575A707b1275381119298E60,18 +1177.0,SKY-B0d4,SKY,The SkyToken,0x090FC4D5436D98E13473c4d6109De6A18BCfB0d4,18 +1178.0,VTX-A832,VTX,Vortex DeFi,0xceb286C9604c542d3cc08b41AA6C9675B078A832,18 +1179.0,HAY-33bb,HAY,HAYFEVER,0xF6269e2e0C271fb6AF35E7f8a539EbC7155E33bb,9 +1180.0,RISE-0cA3,RISE,EverRise,0xC17c30e98541188614dF99239cABD40280810cA3,18 +1181.0,STRIP-3C02,STRIP,StripCoin,0xE9cB6838902CCF711f16a9EA5A1170F8e9853C02,18 +1182.0,RSC-F571,RSC,ResearchCoin,0xD101dCC414F310268c37eEb4cD376CcFA507F571,18 +1183.0,renDOGE-71A7,renDOGE,renDOGE,0x3832d2F059E55934220881F831bE501D180671A7,8 +1184.0,M2-D15C,M2,M2,0x965d79F1A1016B574a62986e13Ca8Ab04DfdD15C,18 +1185.0,STMX-2803,STMX,StormX,0xbE9375C6a420D2eEB258962efB95551A5b722803,18 +1186.0,NFAi-7969,NFAi,Not Financial Advice,0x8eEcaad83a1Ea77bD88A818d4628fAfc4CaD7969,18 +1187.0,FEY-6072,FEY,Feyorra,0xe8E06a5613dC86D459bC8Fb989e173bB8b256072,18 +1188.0,TAILS-6360,TAILS,TAILS,0x3d79Abb948bc76794ff4a0bCd60170a741f26360,9 +1189.0,SOLVE-406F,SOLVE,Healthcare Administration Token,0x446C9033E7516D820cc9a2ce2d0B7328b579406F,8 +1190.0,CTASK-3934,CTASK,CTASK Token,0x196c81385Bc536467433014042788Eb707703934,18 +1191.0,SALE-B589,SALE,DxSale.Network,0xF063fE1aB7a291c5d06a86e14730b00BF24cB589,18 +1192.0,CFi-1eF4,CFi,CyberFi Token,0x63b4f3e3fa4e438698CE330e365E831F7cCD1eF4,18 +1193.0,HINA-6764,HINA,Hina Inu,0xbD0a4bf098261673d5E6e600Fd87ddcd756e6764,9 +1194.0,CHIP-18bE,CHIP,Ask Chip,0x5A5389bA78F04D783E9F30e5A8C45727c5E018bE,9 +1195.0,SOV-2c16,SOV,ShibOriginalVision,0x2C5BC2Ba3614fD27FCc7022eA71d9172E2632c16,18 +1196.0,ISLA-5947,ISLA,Insula,0x697eF32B4a3F5a4C39dE1cB7563f24CA7BfC5947,18 +1197.0,LIFE-8EE6,LIFE,Life Crypto,0x6c936D4AE98E6d2172dB18c16C4b601C99918EE6,18 +1198.0,TKN-E73a,TKN,Monolith TKN,0xaAAf91D9b90dF800Df4F55c205fd6989c977E73a,8 +1199.0,VID-C9E5,VID,VideoCoin,0x2C9023bBc572ff8dc1228c7858A280046Ea8C9E5,18 +1200.0,GETH-3De9,GETH,Goerli ETH,0xdD69DB25F6D620A7baD3023c5d32761D353D3De9,18 +1201.0,EWW-21a8,EWW,EndlessWebWorlds,0x3d38F87BeF0123f5764635C7E11048027E0721a8,9 +1202.0,SONIC-0ee5,SONIC,Sonic,0xd1cD47746B8e72359b28C1c84a4F6a19dc1A0ee5,18 +1203.0,ZINU-6caA,ZINU,Zombie Inu,0xc50EF449171a51FbeAFd7c562b064B6471C36caA,9 +1204.0,GNFT-6C2b,GNFT,GNFT,0xc502002aEB1b9309FcCb016adF50507987Fc6C2b,18 +1205.0,DPAY-Dd78,DPAY,Devour,0xE5A733681bbE6cd8c764Bb8078ef8E13a576Dd78,18 +1206.0,TOK-3C30,TOK,TOK,0x4Fb721eF3Bf99e0f2c193847afA296b9257d3C30,8 +1207.0,JUP-2Be8,JUP,Jupiter,0x4B1E80cAC91e2216EEb63e29B957eB91Ae9C2Be8,18 +1208.0,NMS-91a9,NMS,Nemesis,0x77252494C25444F8598A0c74Ffc90ADc535291a9,18 +1209.0,KEX-a4F8,KEX,KIRA Network,0x16980b3B4a3f9D89E33311B5aa8f80303E5ca4F8,6 +1210.0,SWAPP-c244,SWAPP,Swapp Token,0x8CB924583681cbFE487A62140a994A49F833c244,18 +1211.0,SHINU-C53F,SHINU,Sheikh Inu,0x0d229c3FF2d76E4b88Ca4F9d3D3353F4545EC53F,18 +1212.0,PAY-3ea3,PAY,PayBolt,0xe580074A10360404AF3ABfe2d524D5806D993ea3,18 +1213.0,SIMP-4C99,SIMP,SIMP,0x41C21693e60FC1a5dBb7c50e54E7A6016aA44C99,18 +1214.0,WAS-0E1b,WAS,Wasder Token,0x0c572544a4Ee47904d54aaA6A970AF96B6f00E1b,18 +1215.0,PCNT-0C3b,PCNT,Playcent,0x657B83A0336561C8f64389a6f5aDE675C04b0C3b,18 +1216.0,PTOY-CC06,PTOY,Patientory,0x8Ae4BF2C33a8e667de34B54938B0ccD03Eb8CC06,8 +1217.0,PKF-8AEb,PKF,PolkaFoundry,0x8B39B70E39Aa811b69365398e0aACe9bee238AEb,18 +1218.0,DSLA-ECBe,DSLA,DSLA,0x3aFfCCa64c2A6f4e3B6Bd9c64CD2C969EFd1ECBe,18 +1219.0,GATE-82E4,GATE,GATE,0x9d7630aDF7ab0b0CB00Af747Db76864df0EC82E4,18 +1220.0,HLD-8187,HLD,Hackerlabs DAO,0xCA1308E38340C69E848061aA2C3880daeB958187,9 +1221.0,NEBO-b455,NEBO,CSP DAO,0x7f0c8B125040f707441cad9e5eD8a8408673b455,18 +1222.0,DOGY-6839,DOGY,DogeYield,0x9c405acf8688AfB61B3197421cDeeC1A266c6839,18 +1223.0,PNODE-82D2,PNODE,Pinknode Token,0xAF691508BA57d416f895e32a1616dA1024e882D2,18 +1224.0,PTPA-9E6c,PTPA,Pumptopia,0xC0B182B2E06164568a3310Ca1086e9bf19209E6c,18 +1225.0,SNOV-d969,SNOV,Snovio,0xBDC5bAC39Dbe132B1E030e898aE3830017D7d969,18 +1226.0,MNTP-ECCc,MNTP,Goldmint MNT Prelaunch Token,0x83cee9e086A77e492eE0bB93C2B0437aD6fdECCc,18 +1227.0,ID-Eb83,ID,Everest ID,0xEBd9D99A3982d547C5Bb4DB7E3b1F9F14b67Eb83,18 +1228.0,iDYP-e056,iDYP,iDeFiYieldProtocol,0xBD100d061E120b2c67A24453CF6368E63f1Be056,18 +1229.0,PRIMATE-95ff,PRIMATE,PRIMATE,0x46e98FFE40E408bA6412bEb670507e083C8B95ff,18 +1230.0,EMON-974a,EMON,EthermonToken,0xd6A5aB46ead26f49b03bBB1F9EB1Ad5c1767974a,18 +1231.0,YUNA-62f9,YUNA,Yuna (YunaToken.io),0x2F6f397332B0F8b4536430bCC97980aA838f62f9,18 +1232.0,RHO-90Ec,RHO,Rho Token,0x3F3Cd642E81d030D7b514a2aB5e3a5536bEb90Ec,18 +1233.0,SANSHU-344D,SANSHU,Sanshu Inu,0xc73C167E7a4Ba109e4052f70D5466D0C312A344D,9 +1234.0,VRA-E41F,VRA,VERA,0xdF1D6405df92d981a2fB3ce68F6A03baC6C0E41F,18 +1235.0,ATOR-79ce,ATOR,AirTor Protocol,0x0F7B3F5a8FeD821c5eb60049538a548dB2D479ce,18 +1236.0,AUDIO-B998,AUDIO,Audius,0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998,18 +1237.0,QLINDO-b46E,QLINDO,Qlindo Realestate Investment Token,0xC18c07a18198A6340cf4d94855fE5eb6DD33b46E,0 +1238.0,COOK-6eF5,COOK,Cook Token,0xFF75CEd57419bcaEBe5F05254983b013B0646eF5,18 +1239.0,PDEX-Aaea,PDEX,Polkadex,0xF59ae934f6fe444afC309586cC60a84a0F89Aaea,18 +1240.0,CARD-D708,CARD,Cardstack,0x954b890704693af242613edEf1B603825afcD708,18 +1241.0,HTB-A941,HTB,Hotbit Token,0x6be61833FC4381990e82D7D4a9F4c9B3F67eA941,18 +1242.0,FOUR-F4D0,FOUR,The 4th Pillar Token,0x4730fB1463A6F1F44AEB45F6c5c422427f37F4D0,18 +1243.0,PAN-4c92,PAN,Pantos Token,0x536381a8628dBcC8C70aC9A30A7258442eAb4c92,8 +1244.0,HAKI-6697,HAKI,HAKI,0xF90c7f66eAc7E2130bF677D69a250b2136Cf6697,18 +1245.0,PAW-1B01,PAW,PAWSWAP,0xDc63269eA166b70d4780b3A11F5C825C2b761B01,18 +1246.0,SHIV-cB43,SHIV,ShibVinci,0xe9615071341c6F0392A5dFDE1645Ad01b810cB43,9 +1247.0,GNYerc20-51d4,GNYerc20,GNYerc20,0xb1f871Ae9462F1b2C6826E88A7827e76f86751d4,18 +1248.0,UMBR-d35C,UMBR,UmbriaToken,0xa4bBE66f151B22B167127c770016b15fF97Dd35C,18 +1249.0,LEO-2Ca3,LEO,Bitfinex LEO Token,0x2AF5D2aD76741191D15Dfe7bF6aC92d4Bd912Ca3,18 +1250.0,DEXTF-89f0,DEXTF,DEXTF Token,0x5F64Ab1544D28732F0A24F4713c2C8ec0dA089f0,18 +1251.0,Kitty Dinger-3BC6,Kitty Dinger,Schrodinger,0x2C33B28527A63Cdf13C0B24Ce4cf5BF9C9fB3BC6,9 +1252.0,G*-2fA3,G*,G*,0x97E19E2a5458294842036404E6A05571D8Bc2fA3,18 +1253.0,APOLLO-3CAb,APOLLO,Apollo Inu,0xADf86E75d8f0F57e0288D0970E7407eaA49b3CAb,9 +1254.0,DOGEFI-646D,DOGEFI,DOGEFI,0x9B9087756eCa997C5D595C840263001c9a26646D,18 +1255.0,TRVL-1F3d,TRVL,TRVL,0xd47bDF574B4F76210ed503e0EFe81B58Aa061F3d,18 +1256.0,ARV-429E,ARV,Artemis Vision,0x28fDA76721a8077A5dE802Ab0212849B8c38429E,18 +1257.0,RND-6b29,RND,random,0x1c7E83f8C581a967940DBfa7984744646AE46b29,18 +1258.0,UniFi-CEb5,UniFi,UniFi,0x9E78b8274e1D6a76a0dBbf90418894DF27cBCEb5,18 +1259.0,POLC-6B37,POLC,Polka City,0xaA8330FB2B4D5D07ABFE7A72262752a8505C6B37,18 +1260.0,SWFL-538A,SWFL,Swapfolio,0xBa21Ef4c9f433Ede00badEFcC2754B8E74bd538A,18 +1262.0,BOLT-a789,BOLT,Bolt Token,0xD5930C307d7395Ff807F2921F12C5EB82131a789,18 +1263.0,HAPI-Fb54,HAPI,HAPI,0xD9c2D319Cd7e6177336b0a9c93c21cb48d84Fb54,18 +1264.0,FREE-e4Fd,FREE,Free Coin,0x2F141Ce366a2462f02cEA3D12CF93E4DCa49e4Fd,18 +1265.0,KANGAL-d337,KANGAL,Kangal,0x6E765D26388A17A6e86c49A8E41DF3F58aBcd337,18 +1266.0,DBNB-d888,DBNB,DecentraBNB,0x833850BE8858722Cfc5E5e75f2Fe6275E055d888,9 +1267.0,STACK-3a0a,STACK,Stacker Ventures Token,0xe0955F26515d22E347B17669993FCeFcc73c3a0a,18 +1268.0,LOL-C032,LOL,LOL,0xf91AC30E9b517f6D57e99446ee44894e6C22C032,9 +1269.0,$AI-C2a1,$AI,Alpha Intelligence,0x5d259E3FbcAdef1abfeA5582e456Bc7F0aebC2a1,18 +1270.0,ARCH-f3aF,ARCH,Archer DAO Governance Token,0x1F3f9D3068568F8040775be2e8C03C103C61f3aF,18 +1271.0,DOS-9cB7,DOS,DOS Network Token,0x0A913beaD80F321E7Ac35285Ee10d9d922659cB7,18 +1272.0,MKONG-8065,MKONG,MEME KONG,0xeE6b9CF11D968E0bAc7BFfF547577B8AE35B8065,9 +1273.0,ACYC-e147,ACYC,AllCoinsYieldCapital,0xB56A1f3310578f23120182Fb2e58c087EFE6e147,18 +1274.0,LITx-7a91,LITx,LITH Token,0x4B48068864F77261838C7849A12853FB94c77a91,18 +1275.0,GFX-58fC,GFX,GamyFi,0x65ad6A2288b2Dd23E466226397c8F5D1794e58fC,18 +1276.0,WSCRT-68Be,WSCRT,Wrapped SCRT,0x2B89bF8ba858cd2FCee1faDa378D5cd6936968Be,6 +1277.0,BARK-ea60,BARK,Bark,0x53340a1EF3a0dDeBA1D94BBd1E2fF55936F0ea60,18 +1278.0,NTX-7935,NTX,NuNet Utility Token,0xF0d33BeDa4d734C72684b5f9abBEbf715D0a7935,6 +1279.0,WAXE-4DFD,WAXE,WAX Economic Token,0x7a2Bc711E19ba6aff6cE8246C546E8c4B4944DFD,8 +1280.0,ONX-1033,ONX,OnX.finance,0xE0aD1806Fd3E7edF6FF52Fdb822432e847411033,18 +1281.0,KATA-aE15,KATA,Katana Inu,0x2e85ae1C47602f7927bCabc2Ff99C40aA222aE15,18 +1282.0,rDPX-8D11,rDPX,Dopex Rebate Token,0x0ff5A8451A839f5F0BB3562689D9A44089738D11,18 +1283.0,XSTUSD-d356,XSTUSD,SORA Synthetic USD,0xc7D9c108D4E1dD1484D3e2568d7f74bfD763d356,18 +1284.0,LMT-c8AF,LMT,Lympo Market Token,0x327673aE6B33Bd3d90f0096870059994f30Dc8AF,18 +1285.0,UNQT-5d4C,UNQT,Unique Utility Token,0xa80f2C8f61c56546001f5FC2eb8D6E4e72c45d4C,18 +1286.0,PLU-264E,PLU,Pluton,0xD8912C10681D8B21Fd3742244f44658dBA12264E,18 +1287.0,X7DAO-2dA0,X7DAO,X7DAO,0x7105E64bF67ECA3Ae9b123F0e5Ca2b83b2eF2dA0,18 +1288.0,UFT-3AB1,UFT,UniLend Finance Token,0x0202Be363B8a4820f3F4DE7FaF5224fF05943AB1,18 +1289.0,RESET-EeD2,RESET,MetaReset,0x30df7D7EE52c1b03cd009e656F00AB875AdCEeD2,18 +1290.0,KISHUTAMA-7990,KISHUTAMA,KishuTama,0xDc0804eD9ABA9202E2b976C031d3144BB63a7990,9 +1291.0,YOP-4051,YOP,YOP,0xAE1eaAE3F627AAca434127644371b67B18444051,8 +1292.0,TENSHI-5292,TENSHI,TENSHI v2,0x52662717e448be36Cb54588499D5A8328BD95292,18 +1293.0,UNIQ-8025,UNIQ,Uniqly,0x3758e00b100876C854636eF8Db61988931BB8025,18 +1294.0,KNDX-EFC1,KNDX,Kondux,0x7CA5af5bA3472AF6049F63c1AbC324475D44EFC1,9 +1295.0,GT-4759,GT,GateChainToken,0xE66747a101bFF2dBA3697199DCcE5b743b454759,18 +1296.0,SIS-6dd9,SIS,Symbiosis,0xd38BB40815d2B0c2d2c866e0c72c5728ffC76dd9,18 +1297.0,COR-D835,COR,COR Token,0x9C2dc0c3CC2BADdE84B0025Cf4df1c5aF288D835,18 +1298.0,AZUKI-BaEd,AZUKI,DokiDokiAzuki,0x910524678C0B1B23FFB9285a81f99C29C11CBaEd,18 +1299.0,HEART-897C,HEART,HUMANS,0x8FAc8031e079F409135766C7d5De29cf22EF897C,18 +1300.0,FKX-6EBB,FKX,Knoxstertoken,0x16484d73Ac08d2355F466d448D2b79D2039F6EBB,18 +1301.0,YVS-f478,YVS,YVS.Finance,0xEC681F28f4561c2a9534799AA38E0d36A83Cf478,18 +1302.0,eMTRG-8A9F,eMTRG,Meter Governance mapped by Meter.io,0xBd2949F67DcdC549c6Ebe98696449Fa79D988A9F,18 +1303.0,BTSE-32Ef,BTSE,BTSE Token,0x666d875C600AA06AC1cf15641361dEC3b00432Ef,8 +1304.0,NFTT-9499,NFTT,NFT.TECH,0x5fA2E9Ba5757504B3d6e8f6da03cc40d4ce19499,18 +1305.0,LEASH-6634,LEASH,DOGE KILLER,0x27C70Cd1946795B66be9d954418546998b546634,18 +1306.0,ORION-46e4,ORION,Orion Money Token,0x727f064A78DC734D33eEc18d5370aef32Ffd46e4,18 +1307.0,GOKU-ED79,GOKU,Goku Inu,0xA64dFe8D86963151E6496BEe513E366F6e42ED79,9 +1308.0,HAPPY-26f4,HAPPY,HappyFans,0x3079F61704E9eFa2BcF1db412f735d8d4cFa26f4,18 +1309.0,HY-5715,HY,hybrix hydra,0x9b53E429B0baDd98ef7F01F03702986c516a5715,18 +1310.0,BANKETH-4cA1,BANKETH,BankEth,0xBE0C826f17680d8Da620855bE89DD6544C034cA1,18 +1311.0,DOSE-6515,DOSE,DOSE,0xb31eF9e52d94D4120eb44Fe1ddfDe5B4654A6515,18 +1312.0,STILT-bE4b,STILT,Stilton,0xB5F1457d6FBa1956Fb8d31B0B7CAcA14BDe0bE4b,9 +1313.0,cUSDT-dCC9,cUSDT,Compound USDT,0xf650C3d88D12dB855b8bf7D11Be6C55A4e07dCC9,8 +1314.0,HERO-884E,HERO,Challenge Coin,0x524Ebc93BeEf838F70b4Ae54b675d3e971D5884E,9 +1315.0,CRBN-24EE,CRBN,Carbon,0xCdeee767beD58c5325f68500115d4B722b3724EE,18 +1316.0,PWRC-4f83,PWRC,PWRCASH,0x6Aa40D02115090D40Dc33C7C5F3Cf05112fA4f83,18 +1317.0,GRV-290c,GRV,GroveC,0xF33893DE6eB6aE9A67442E066aE9aBd228f5290c,8 +1318.0,BID-02fa,BID,Bidao,0x25e1474170c4c0aA64fa98123bdc8dB49D7802fa,18 +1319.0,UFI-a0E3,UFI,PureFi Token,0xcDa4e840411C00a614aD9205CAEC807c7458a0E3,18 +1320.0,EDGE-7831,EDGE,Edge,0x4EC1b60B96193a64AcAe44778e51f7BfF2007831,18 +1321.0,BTT-7957,BTT,BitTorrent,0xC669928185DbCE49d2230CC9B0979BE6DC797957,18 +1322.0,ZONE-d53C,ZONE,GridZone.io,0xC1D9B5A0776d7C8B98b8A838e5a0DD1Bc5Fdd53C,18 +1323.0,RELIC-884F,RELIC,MasRelic,0x77132Bb08B02a7a87732ec289EFaB45edF49884F,18 +1324.0,DOGENS-2e3c,DOGENS,Dogens,0x1b4dD5eA240732dDAc8d74FD1Cd9026Addc02e3c,9 +1325.0,MASTERMIND-9b43,MASTERMIND,Mastermind,0x8b0FdE007458Ee153bd0F66CD448Af5FB3D99b43,18 +1326.0,GYSR-CCAb,GYSR,Geyser,0xbEa98c05eEAe2f3bC8c3565Db7551Eb738c8CCAb,18 +1327.0,SHIBAKEN-Ab6B,SHIBAKEN,ShibaKen.Finance,0xa4Cf2aFD3B165975afFFBf7e487CDd40C894Ab6B,0 +1328.0,DRT-D5Ab,DRT,DomRaiderToken,0x9AF4f26941677C706cfEcf6D3379FF01bB85D5Ab,8 +1329.0,FLOW-1BF9,FLOW,Flow Protocol,0xC6e64729931f60D2c8Bc70A27D66D9E0c28D1BF9,9 +1330.0,SRM-e0fF,SRM,Serum,0x476c5E26a75bd202a9683ffD34359C0CC15be0fF,6 +1331.0,EVED-91bd,EVED,Evedo Token,0x5aaEFe84E0fB3DD1f0fCfF6fA7468124986B91bd,18 +1332.0,WUKONG-D714,WUKONG,Monkey King,0xA3ec7DF93090f4DE46FaEA09F73cc40ebe7dD714,18 +1333.0,MORK-6F76,MORK,Mork,0xf552b656022c218C26dAd43ad88881Fc04116F76,4 +1334.0,tAI-3B7f,tAI,AITravis,0x2F4404C4012476929b6503E1397707480bf23B7f,9 +1335.0,CHART-E63E,CHART,ChartEx,0x1d37986F252d0e349522EA6C3B98Cb935495E63E,18 +1336.0,POLY-D1eC,POLY,Polymath,0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC,18 +1337.0,GATSBY-37b4,GATSBY,Gatsby Inu,0xE22910D04bDc9d55570f3BC52E786b49DddF37b4,18 +1338.0,GAS-8469,GAS,Gas DAO,0x6Bba316c48b49BD1eAc44573c5c871ff02958469,18 +1339.0,SHIWA-1cc4,SHIWA,SHIWA,0x5022Cb6D39001CDD6F996e8a66500c86128f1cc4,9 +1340.0,BAND-7f55,BAND,BandToken,0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55,18 +1341.0,BABYDOGE-eBd5,BABYDOGE,BabyDoge Coin,0xAC8E13ecC30Da7Ff04b842f21A62a1fb0f10eBd5,9 +1342.0,FUSE-f84d,FUSE,Fuse Token,0x970B9bB2C0444F5E81e9d0eFb84C8ccdcdcAf84d,18 +1343.0,MAGA-2228,MAGA,MAGA Coin ETH,0xc9b6A17EbB43491635F603A01f8Bb3e4B5D22228,9 +1344.0,DFP2-8E6D,DFP2,Defi Plaza governance,0x2F57430a6ceDA85a67121757785877b4a71b8E6D,18 +1345.0,EXP-2f77,EXP,Exp,0xd137561C20BE8e870D62e2aE92269f0950702f77,18 +1346.0,GTFO-3398,GTFO,DumpBuster,0xa0A9C16856C96D5E9d80a8696eEA5E02B2Dc3398,9 +1347.0,HUSKY-5091,HUSKY,HuskyToken,0xd5281BB2d1eE94866B03A0fcCDd4e900c8Cb5091,9 +1348.0,NII-bE52,NII,Nahmii,0x7c8155909cd385F120A56eF90728dD50F9CcbE52,15 +1349.0,FAMILY-61f4,FAMILY,The Bitcoin Family,0x833E4c02c47B7e38f5b9A80b26eb07D23d1961f4,4 +1350.0,UNCL-Dd49,UNCL,UNCL,0x2f4eb47A1b1F4488C71fc10e39a4aa56AF33Dd49,18 +1351.0,CAI-a48D,CAI,CryptoAI,0xf36C5f04127F7470834ed6f98bDDC1BE62aba48D,18 +1352.0,MCO2-cacD,MCO2,Moss Carbon Credit,0xfC98e825A2264D890F9a1e68ed50E1526abCcacD,18 +1353.0,BMDA-a95E,BMDA,Bermuda,0x4236f8aaF2B1f3A28420Eb15B8e0ddF63201a95E,18 +1354.0,MINT-a059,MINT,Public Mint,0x0CDF9acd87E940837ff21BB40c9fd55F68bba059,18 +1355.0,DINU-7732,DINU,Dogey-Inu,0xbb1EE07d6c7BAeB702949904080eb61f5D5e7732,18 +1356.0,FreqAI-f486,FreqAI,The Razors Edge,0xB685145D7F127b9093d7f9278BaE902EF59Ff486,18 +1357.0,NTVRK-157A,NTVRK,NETVRK,0xFc0d6Cf33e38bcE7CA7D89c0E292274031b7157A,18 +1358.0,OPCT-c400,OPCT,Opacity,0xDb05EA0877A2622883941b939f0bb11d1ac7c400,18 +1359.0,SI-93de,SI,SIREN,0xD23Ac27148aF6A2f339BD82D0e3CFF380b5093de,18 +1360.0,PAINT-4042,PAINT,Paint,0x4C6eC08CF3fc987c6C4BEB03184D335A2dFc4042,18 +1361.0,WXMR-B0f5,WXMR,Wrapped Monero,0x465e07d6028830124BE2E4aA551fBe12805dB0f5,18 +1362.0,EDDA-0aA9,EDDA,EDDA,0xFbbE9b1142C699512545f47937Ee6fae0e4B0aA9,18 +1363.0,JACY-4A62,JACY,JACY,0x916c5DE09cF63f6602d1e1793FB41F6437814A62,9 +1364.0,BCT-150a,BCT,BananaClubToken,0x350D3f0f41b5B21F0e252fe2645AE9D55562150a,9 +1365.0,MCAP-44f0,MCAP,Meta Capital,0xbCE0665b20164d6cd6D15E70feD1E094AD4A44f0,9 +1366.0,PLSPAD-C47A,PLSPAD,PULSEPAD.io,0x8a74BC8c372bC7f0E9cA3f6Ac0df51BE15aEC47A,18 +1367.0,DOKI-71f5,DOKI,Okidoki Social,0x869DBe51Dc214fcb663604b0F7B548592F8C71f5,9 +1368.0,SDOG-E0D4,SDOG,SDOG,0x537edD52ebcb9F48ff2f8a28c51FCdB9D6a6E0D4,18 +1369.0,DBOX-D973,DBOX,Decentra Box,0x56c9D5F1E727de03643af220B5cE52DE23D4D973,18 +1370.0,ARCHA-C7fD,ARCHA,archangel,0x36E43065e977bC72CB86Dbd8405fae7057CDC7fD,9 +1371.0,FMON-e96D,FMON,FMONEY TOKEN,0xD283EC9db7B3094ED5a2c87Eb48D54f5FA96e96D,9 +1372.0,IXS-d1b4,IXS,Ixs Token,0x73d7c860998CA3c01Ce8c808F5577d94d545d1b4,18 +1373.0,STARS-13Ca,STARS,Mogul Stars,0xc55c2175E90A46602fD42e931f62B3Acc1A013Ca,18 +1374.0,PAID-D787,PAID,PAID Network,0x1614F18Fc94f47967A3Fbe5FfcD46d4e7Da3D787,18 +1375.0,SNTVT-B7F8,SNTVT,Sentivate,0x7865af71cf0b288b4E7F654f4F7851EB46a2B7F8,18 +1376.0,MOMA-D55B,MOMA,MOchi MArket,0xbd1848e1491d4308Ad18287A745DD4DB2A4BD55B,18 +1377.0,GLDN-0CC2,GLDN,Gold Retriever,0xFeeB4D0f5463B1b04351823C246bdB84c4320CC2,18 +1378.0,VERI-2374,VERI,Veritaseum,0x8f3470A7388c05eE4e7AF3d01D8C722b0FF52374,18 +1379.0,IMP-4543,IMP,Imperial Obelisk,0x2D5C73f3597B07F23C2bB3F2422932E67eca4543,18 +1380.0,WPT-88eA,WPT,WPT Investing Corp,0x4FD51Cb87ffEFDF1711112b5Bd8aB682E54988eA,18 +1381.0,OJE-6409,OJE,OJE Token,0xC5ec4f1FC86DA45AE788EC98756BA70B57676409,18 +1382.0,PNK-c04d,PNK,Pinakion,0x93ED3FBe21207Ec2E8f2d3c3de6e058Cb73Bc04d,18 +1383.0,TOKR-6772,TOKR,Tokerr,0xA885B6d3C87535de688194Ec3645199ee76D6772,9 +1384.0,CLIFF-6669,CLIFF,CliffordInu,0x1B9BAF2A3EdeA91eE431f02d449a1044d5726669,18 +1385.0,R34P-81F6,R34P,R34P,0xCAEaf8381D4B20b43AFA42061D6f80319A8881F6,8 +1386.0,DCNT-8701,DCNT,Decanect,0x4Ce4C025692B3142dbdE1cd432ef55b9A8D18701,9 +1387.0,TRND-7CCb,TRND,Trendering,0xc3dD23A0a854b4f9aE80670f528094E9Eb607CCb,18 +1388.0,USF-b9ce,USF,Unslashed Finance Governance Token,0xE0e05c43c097B0982Db6c9d626c4eb9e95C3b9ce,18 +1389.0,SHIBU-91a4,SHIBU,SHIBAUNIVERSE.ORG,0x7bFDE33d790411A88D46E9e1be32Fc86228891a4,9 +1390.0,oBTC-B2AC,oBTC,Ordinal BTC ,0xfF770E4c68e35DB85c6e0E89a43750eC02bDB2AC,18 +1391.0,DEV-aEa0,DEV,Dev Doing Something,0x77E20FC7f2F4084b74284E1190810fCa3679aEa0,9 +1392.0,BabyTrump-08B6,BabyTrump,Baby Trump Token,0x99d36e97676A68313ffDc627fd6b56382a2a08B6,9 +1393.0,UPR-2385,UPR,Upfire,0xf720E38F678B29B243F7D53B56Acbf5dE98F2385,18 +1394.0,MCC-9e0C,MCC,MultiChainCapital,0xC146B7CdBaff065090077151d391f4c96Aa09e0C,9 +1395.0,ETHPAD-C442,ETHPAD,ETHPAD.network,0x8dB1D28Ee0d822367aF8d220C0dc7cB6fe9DC442,18 +1396.0,KLEE-de71,KLEE,KleeKai,0xA67E9F021B9d208F7e3365B2A155E3C55B27de71,9 +1397.0,CELR-C667,CELR,CelerToken,0x4F9254C83EB525f9FCf346490bbb3ed28a81C667,18 +1398.0,VetMe-4E1f,VetMe,VetMe,0xe7eF051C6EA1026A70967E8F04da143C67Fa4E1f,9 +1399.0,SPO-CC4E,SPO,Spores,0xcbE771323587EA16dACB6016e269D7F08A7ACC4E,18 +1400.0,ELF-100e,ELF,ELF Token,0xbf2179859fc6D5BEE9Bf9158632Dc51678a4100e,18 +1401.0,NUX-911c,NUX,NUX Peanut.trade,0x89bD2E7e388fAB44AE88BEf4e1AD12b4F1E0911c,18 +1402.0,BNV-d749,BNV,BunnyVerse,0x072987D5B36aD8d45552aEd98879a7101cCdd749,18 +1403.0,STATS-0caD,STATS,Stats,0x39142c18B6db2a8A41B7018f49E1478837560caD,9 +1404.0,DYT-1E14,DYT,DoYourTip,0x740623d2c797b7D8D1EcB98e9b4Afcf99Ec31E14,18 +1405.0,MINTYS-bE85,MINTYS,MintySwap,0xBbd900e05b4aF2124390D206F70bc4E583B1bE85,9 +1406.0,QR-B002,QR,Qrolli,0xCcDb064a41AFcD432BCEa6F6d0D1E7c371d0B002,9 +1407.0,JIG-49E9,JIG,Jigen,0xe2Fc859C838F31C1450448f4FeD92e3284aE49E9,18 +1408.0,UNISTAKE-4E5E,UNISTAKE,Unistake,0x9Ed8e7C9604790F7Ec589F99b94361d8AAB64E5E,18 +1409.0,UGT-0063,UGT,Unreal Governance Token,0x9cf98Eb8A8B28c83E8612046cf55701Ce3Eb0063,18 +1410.0,ZEUS-20b1,ZEUS,ZEUS10000,0xcbC1Aa6961B28cCcb11E1cdDd84Ad8B42Ec920b1,4 +1411.0,MONSTR-4660,MONSTR,MonstaVerse,0xba75fBC4C7a553081F7A137b6e652520Db444660,9 +1412.0,BlueSparrow-6FdE,BlueSparrow,BlueSparrowToken,0x24cCeDEBF841544C9e6a62Af4E8c2fA6e5a46FdE,9 +1413.0,REALM-CFB8,REALM,REALM,0x464FdB8AFFC9bac185A7393fd4298137866DCFB8,18 +1414.0,NITRO-87B8,NITRO,Nitro,0x0335A7610D817aeCA1bEBbEfbd392ecC2eD587B8,18 +1415.0,STARL-6B24,STARL,StarLink,0x8E6cd950Ad6ba651F6DD608Dc70e5886B1AA6B24,18 +1416.0,ShibDoge-928F,ShibDoge,ShibaDoge,0x6ADb2E268de2aA1aBF6578E4a8119b960E02928F,9 +1417.0,MARU-2b00,MARU,Marutaro,0xC2456D2118299a2efDFE6522Ff79aA48fC5d2b00,9 +1418.0,BleYd-94b9,BleYd,Black Eyed Dragon,0x59B44e9AC4AB8e29db6Faf7baCd726C6B7bC94b9,9 +1419.0,ANARCHY-Ce8c,ANARCHY,Anarchy,0x53fD2342B43eCD24AEf1535BC3797F509616Ce8c,9 +1420.0,STORJ-b8aC,STORJ,StorjToken,0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC,8 +1421.0,SWM-ca39,SWM,SWARM,0x3505F494c3f0fed0B594E01Fa41Dd3967645ca39,18 +1422.0,MOD-1D71,MOD,Modefi,0xEA1ea0972fa092dd463f2968F9bB51Cc4c981D71,18 +1423.0,TACO-2557,TACO,Tacos,0x00D1793D7C3aAE506257Ba985b34C76AaF642557,18 +1424.0,YASHA-D753,YASHA,YASHA,0xD75f1f81B69bDd4Df8EfbB70e9C6F4609009D753,18 +1425.0,REDPANDA-44b9,REDPANDA,RedPanda Earth,0x9ba4CBcBb920F67f54A8F8f0001D721E0B8944b9,9 +1426.0,PKN-9503,PKN,Poken,0xdf09a216Fac5ADC3e640Db418C0b956076509503,18 +1427.0,Totoro-2F12,Totoro,Totoro Inu,0xfc09c7cFD9c175DD9423ca02aE1249579AB12F12,9 +1428.0,FTRB-81D7,FTRB,Faith Tribe,0x2596825a84888E8f24b747DF29e11b5dd03C81D7,18 +1429.0,CAT+-fbd6,CAT+,Capital Aggregator Token,0x686c77609aFe6A2fac50421888530288B441fbd6,18 +1430.0,XCN-fb18,XCN,Chain,0xA2cd3D43c775978A96BdBf12d733D5A1ED94fb18,18 +1431.0,SHINJI-0afd,SHINJI,Shinji Inu,0x1F31DD60b84ea2a273cfC56876437E069aE80afd,9 +1432.0,SAITAMA-27B2,SAITAMA,SAITAMA,0xCE3f08e664693ca792caCE4af1364D5e220827B2,9 +1433.0,KTO-F8fC,KTO,Kounotori,0x616ef40D55C0D2c506f4d6873Bda8090b79BF8fC,9 +1434.0,GYOKUTO-612D,GYOKUTO,Tsuki no Usagi,0x166D45e55143ea15032672Ac9f591A4401CC612D,9 +1435.0,SHINTAMA-76dA,SHINTAMA,Shintama,0x7e794eD35788b698AE60cefC98eE48015C4876dA,9 +1436.0,$CWI-ba5D,$CWI,Crypto Wrestling Inu,0xE2d310CB8992b3Fa1051BA4710F41c43eB5Bba5D,18 +1437.0,GAMMA-e197,GAMMA,Gamma,0x6BeA7CFEF803D1e3d5f7C0103f7ded065644e197,18 +1438.0,GVC-58Bf,GVC,Galaxy Villains,0x8dc89F4716E027394Bba225b82328C1ea2Ea58Bf,18 +1439.0,SHIBN-B3B3,SHIBN,Shibnaut,0xd346E8ADA104093ADcf5f4186087E1AD309BB3B3,18 +1440.0,GHX-387d,GHX,GamerCoin,0x728f30fa2f100742C7949D1961804FA8E0B1387d,18 +1441.0,CONV-8B50,CONV,Convergence,0xc834Fa996fA3BeC7aAD3693af486ae53D8aA8B50,18 +1442.0,DAFI-6439,DAFI,DAFI Token,0xFc979087305A826c2B2a0056cFAbA50aad3E6439,18 +1443.0,yShori-d69b,yShori,Shori 勝利,0x25644eA5bE09d1266B5df3F96559Ecdc2D0ad69b,18 +1444.0,ELongD-4d1B,ELongD,Elongate Deluxe,0x348B7f3106B5Da47405332534d06069fF9CE4d1B,9 +1445.0,eMax-7FF6,eMax,EthereumMax,0x15874d65e649880c2614e7a480cb7c9A55787FF6,18 +1446.0,RBC-3333,RBC,RUBIC TOKEN,0x3330BFb7332cA23cd071631837dC289B09C33333,18 +1447.0,LAEEB-863d,LAEEB,Laeeb Inu,0x3B1a3C5d9D5C60651D4841C7814aA0FbB45A863d,18 +1448.0,$colR-4415,$colR,colR Coin,0x14b40AD2EBA6c1B31db2bA817b07578AFB414415,18 +1449.0,Happy-3378,Happy,HappyBear,0x651e44D0df89055c00513d0efb9E8d1A0C843378,18 +1450.0,WHL-a46A,WHL,WhaleRoom,0x2aF72850c504dDD3c1876C66a914cAee7Ff8a46A,18 +1451.0,SHUEY-5E5D,SHUEY,Shuey Rhon Inu,0xcDcA1B81DbB543BAA92c97b701396Cd3bA315E5D,18 +1452.0,iFUND-b0f0,iFUND,UNIFUND,0x04B5E13000C6e9A3255Dc057091F3e3Eeee7b0f0,18 +1453.0,TST-9B53,TST,Standard Token,0xa0b93B9e90aB887E53F9FB8728c009746e989B53,18 +1454.0,YPIE-CE31,YPIE,Yearn Ecosystem Pie,0x17525E4f4Af59fbc29551bC4eCe6AB60Ed49CE31,18 +1455.0,XED-fd86,XED,Exeedme,0xee573a945B01B788B9287CE062A0CFC15bE9fd86,18 +1456.0,PICKLE-1Ca5,PICKLE,PickleToken,0x429881672B9AE42b8EbA0E26cD9C73711b891Ca5,18 +1457.0,SHUNAV2-8dd1,SHUNAV2,Shuna Inuverse,0xDE72a052cBB212eFf11A4A33d61dF9C5A2De8dd1,9 +1458.0,NFP-0834,NFP,New Frontier Presents,0x299698B4B44BD6d023981A7317798dEe12860834,9 +1459.0,PAWTH-367F,PAWTH,Pawthereum,0xAEcc217a749c2405b5ebC9857a16d58Bdc1c367F,9 +1460.0,TRENDX-c936,TRENDX,Trend X,0xC89d9aa9D9E54bb196319c6195AEA1038d2bc936,18 +1461.0,POOLZ-4e23,POOLZ,$Poolz Finance,0x69A95185ee2a045CDC4bCd1b1Df10710395e4e23,18 +1462.0,HULK-f3aa,HULK,HULK INU,0x91a5de30e57831529a3c1aF636A78a7E4E83f3aa,18 +1463.0,RINIA-FD7D,RINIA,Rinia Inu,0x8f828a0644f12Fa352888E645a90333d30f6FD7D,9 +1464.0,KYL-b99C,KYL,Kylin Network,0x67B6D479c7bB412C54e03dCA8E1Bc6740ce6b99C,18 +1465.0,BabyShiba-1A1D,BabyShiba,Baby Shiba Coin,0x66A64a8A9cdc54EF97e45a051bA1c8f3D4b41A1D,18 +1467.0,DIS-cDC6,DIS,TosDis,0x220B71671b649c03714dA9c621285943f3cbcDC6,18 +1468.0,FETCH-c66b,FETCH,Fetch,0xcC779bbBD17b2E68ECdCCaeA3d8C791B1573c66b,18 +1469.0,TSANGNYON-C242,TSANGNYON,TSANGNYON HERUKA,0xd031edafac6a6ae5425e77F936022E506444C242,18 +1470.0,BIRD-7Ce0,BIRD,Bird.Money,0x70401dFD142A16dC7031c56E862Fc88Cb9537Ce0,18 +1471.0,MLT-521d,MLT,Media Licensing Token,0x9506d37f70eB4C3d79C398d326C871aBBf10521d,18 +1472.0,GTH-3674,GTH,Gather,0xeb986DA994E4a118d5956b02d8b7c3C7CE373674,18 +1473.0,DOGEGF-6Bc5,DOGEGF,DogeGF,0xfb130d93E49DcA13264344966A611dc79a456Bc5,18 +1474.0,HT-a161,HT,HuobiToken,0x6f259637dcD74C767781E37Bc6133cd6A68aa161,18 +1475.0,DGTX-eC09,DGTX,DigitexFutures,0xc666081073E8DfF8D3d1c2292A29aE1A2153eC09,18 +1476.0,AIR-cCeA,AIR,Ape In Records,0xF725f73CAEe250AE384ec38bB2C77C38ef2CcCeA,18 +1477.0,WCHI-4605,WCHI,Wrapped CHI,0x6DC02164d75651758aC74435806093E421b64605,8 +1478.0,SHIT-469F,SHIT,ShitCoin,0x4e4a47cAC6A28A62dcC20990ed2cdA9BC659469F,18 +1479.0,WAGIE-a3Ec,WAGIE,WAGIE,0x492baa7A6450712D4bbCCa01B87F029DEe3Ea3Ec,9 +1480.0,DMT-AE6c,DMT,Dark Matter Token,0x79126d32a86e6663F3aAac4527732d0701c1AE6c,18 +1481.0,SAITOKI-87Fa,SAITOKI,Saitoki Inu,0xa3c56427683a19F7574b9fc219CFD27d5d6e87Fa,9 +1482.0,FIRE-2D43,FIRE,Fire Protocol,0xF921ae2DAC5fa128DC0F6168Bf153ea0943d2D43,8 +1483.0,HEY-F7Ee,HEY,Hey,0xE61F6e39711cEc14f8D6c637c2f4568bAA9FF7Ee,18 +1484.0,KOMPETE-46E9,KOMPETE,KOMPETE Token,0x1E0b2992079B620AA13A7c2E7c88D2e1E18E46E9,10 +1485.0,RLY-E49b,RLY,Rally,0xf1f955016EcbCd7321c7266BccFB96c68ea5E49b,18 +1486.0,MDX-1788,MDX,MANDALA EXCHANGE TOKEN,0x947AEb02304391f8fbE5B25D7D98D649b57b1788,18 +1487.0,YFIII-2A45,YFIII,DiFy.Finance,0x4be40bc9681D0A7C24A99b4c92F85B9053Fc2A45,18 +1488.0,SIPHER-F511,SIPHER,Sipher Token,0x9F52c8ecbEe10e00D9faaAc5Ee9Ba0fF6550F511,18 +1489.0,$DG-78a0,$DG,decentral.games,0xEE06A81a695750E71a662B51066F2c74CF4478a0,18 +1490.0,CDS-6e5e,CDS,Capital DAO Starter Token,0x3c48Ca59bf2699E51d4974d4B6D284AE52076e5e,18 +1491.0,OPTIMUS-215d,OPTIMUS,Optimus,0x562E362876c8Aee4744FC2c6aaC8394C312d215d,9 +1492.0,Metis-ed8e,Metis,Metis Token,0x9E32b13ce7f2E80A01932B42553652E053D6ed8e,18 +1493.0,PEEP$-9892,PEEP$,The Peoples Coin,0x5919DeA604631016c15c805e3D948A0384879892,9 +1494.0,CLAW-1D1C,CLAW,Claw,0x41B25Ff6431074959532dB7435DAdacA65a21D1C,18 +1495.0,TheAD-6189,TheAD,The Akragas Decadrachm,0xCB056A2f3cA0B82aB69dcbd677875D68B74D6189,8 +1496.0,TAP-db5D,TAP,Tapmydata,0x7f1F2D3dFa99678675ECE1C243d3f7bC3746db5D,18 +1497.0,EPAN-Bafc,EPAN,Paypolitan Token,0x72630B1e3B42874bf335020Ba0249e3E9e47Bafc,18 +1498.0,AFY-6A21,AFY,Artify,0xa41161AF8D4Ee421ba5fED4328F2B12034796A21,18 +1499.0,ERA-01EB,ERA,ERA,0x67776f14E5E9e7845e33fB0c2a3C709d259D01EB,18 +1500.0,KOI-856C,KOI,The Dragon Gate,0x8AE340d333fFB274969f505A6520b91024BC856C,9 +1501.0,CoShi-B00A,CoShi,CoShi Inu,0x668C50B1c7f46EFFBE3f242687071d7908AAB00A,9 +1502.0,WVG0-b611,WVG0,Wrapped Virgin Gen 0,0x25C7b64A93Eb1261E130eC21a3e9918CaA38b611,18 +1503.0,AKITA-23E6,AKITA,Akita Inu,0x3301Ee63Fb29F863f2333Bd4466acb46CD8323E6,18 +1504.0,KEY-96E7,KEY,SelfKey,0x4CC19356f2D37338b9802aa8E8fc58B0373296E7,18 +1505.0,EPIK-dF75,EPIK,Epik Prime,0x4da0C48376C277cdBd7Fc6FdC6936DEE3e4AdF75,18 +1506.0,BLES-31Cd,BLES,Blind Boxes Token,0xE796d6ca1ceb1b022EcE5296226BF784110031Cd,18 +1507.0,NFY-42bC,NFY,Non-Fungible Yearn,0x1cBb83EbcD552D5EBf8131eF8c9CD9d9BAB342bC,18 +1508.0,HRD-3445,HRD,Hoard,0x461B71cff4d4334BbA09489acE4b5Dc1A1813445,9 +1509.0,SHPING-1BEC,SHPING,Shping Coin,0x7C84e62859D0715eb77d1b1C4154Ecd6aBB21BEC,18 +1510.0,VSP-8421,VSP,VesperToken,0x1b40183EFB4Dd766f11bDa7A7c3AD8982e998421,18 +1511.0,NFTP-2465,NFTP,NFT Platform Index,0x68bB81B3F67f7AAb5fd1390ECB0B8e1a806F2465,18 +1512.0,STAK-6D13,STAK,Jigstack,0x1F8A626883d7724DBd59eF51CBD4BF1Cf2016D13,18 +1513.0,SIGIL-40E4,SIGIL,Sigil Finance,0xF029Fd6b5ED35C825Dd02B7A02952C30002840E4,18 +1514.0,CAP-3142,CAP,Cap,0x43044f861ec040DB59A7e324c40507adDb673142,18 +1515.0,RIDGE-3165,RIDGE,Ridge,0x64609A845Ad463d07ee51e91a88D1461C3Dc3165,9 +1516.0,TAXHAVENINU-bD01,TAXHAVENINU,Tax Haven Inu,0x664C6E221c77313307467B121528ad563107bD01,9 +1517.0,VEE-13B7,VEE,BLOCKv Token,0x340D2bdE5Eb28c1eed91B2f790723E3B160613B7,18 +1518.0,WNK-8Eba,WNK,Winkies,0xE1BDA0c3Bfa2bE7f740f0119B6a34F057BD58Eba,18 +1519.0,NFTL-F2DD,NFTL,NFTLAUNCH.network,0xe7F72Bc0252cA7B16dBb72eEee1AfcDb2429F2DD,18 +1520.0,SWINGBY-b13A,SWINGBY,SWINGBY token,0x8287C7b963b405b7B8D467DB9d79eEC40625b13A,18 +1521.0,SXP-b6A9,SXP,Swipe,0x8CE9137d39326AD0cD6491fb5CC0CbA0e089b6A9,18 +1522.0,KISHU-817D,KISHU,Kishu Inu,0xA2b4C0Af19cC16a6CfAcCe81F192B024d625817D,9 +1523.0,GAME-2437,GAME,GAME Credits,0x63f88A2298a5c4AEE3c216Aa6D926B184a4b2437,18 +1524.0,1MIL-A016,1MIL,1MILNFT,0xa4eF4b0B23C1fc81d3f9ecF93510e64f58A4A016,18 +1525.0,DGMAN-d7C9,DGMAN,DogeMan,0x3cc1020aCDCd64b11Dd417d2C28388E71605d7C9,9 +1526.0,MatsuSwap-26C4,MatsuSwap,MatsuSwap,0x2F0F622a93c85C43Fd47f4Ab119360f5846026C4,9 +1527.0,LEAP-a134,LEAP,LEAP Token,0x53263d9EF74Db583b15fbC6D5D4e8B83833fa134,18 +1528.0,WHITE-6B44,WHITE,Whiteheart Token,0x5F0E628B693018f639D10e4A4F59BD4d8B2B6B44,18 +1529.0,imgnAI-CBe0,imgnAI,Image Generation AI | imgnAI.com,0xA735A3AF76CC30791C61c10d585833829d36CBe0,9 +1530.0,X7R-ca54,X7R,X7R,0x70008F18Fc58928dcE982b0A69C2c21ff80Dca54,18 +1531.0,FOX-e52d,FOX,FOX,0xc770EEfAd204B5180dF6a14Ee197D99d808ee52d,18 +1532.0,BOTTO-5BBA,BOTTO,Botto,0x9DFAD1b7102D46b1b197b90095B5c4E9f5845BBA,18 +1533.0,DACT-EBec,DACT,Dact Coin,0x343c6de13833bc7d9890eb6B1cd3FBeBC730EBec,9 +1534.0,MMAI-a90F,MMAI,MetamonkeyAi,0xaa0c5B3567fd1bac8a2a11EB16c3F81a49eea90F,7 +1535.0,CINO-6090,CINO,Cino Token,0x9b0B23b35AD8136E6181F22b346134cE5f426090,18 +1536.0,DOKI-7544,DOKI,DokiDokiFinance,0x9cEB84f92A0561fa3Cc4132aB9c0b76A59787544,18 +1537.0,TECH-5698,TECH,Cryptomeda,0x6286A9e6f7e745A6D884561D88F94542d6715698,18 +1538.0,CENT-35bc,CENT,Centaurify,0x08ba718F288c3b12B01146816bef9FA03cC635bc,18 +1539.0,MOON-4824,MOON,MoonToken,0x68a3637bA6E75c0f66B61A42639c4e9fCD3D4824,18 +1540.0,SWT-c29A,SWT,ShibWallet,0x1f05DeE43dF9fd0Cd7F4b011B20b04870a30c29A,18 +1541.0,TRADE-4fB1,TRADE,UniTrade,0x6F87D756DAf0503d08Eb8993686c7Fc01Dc44fB1,18 +1542.0,GENART-BaC8,GENART,GEN.ART,0x12E56851Ec22874520Dc4c7fa0A8a8d7DBa1BaC8,18 +1543.0,BASE-5fDC,BASE,Base Protocol,0x07150e919B4De5fD6a63DE1F9384828396f25fDC,9 +1544.0,SPHRI-b3Ec,SPHRI,Spherium Token,0x8A0cdfaB62eD35b836DC0633482798421C81b3Ec,18 +1545.0,LPT-B239,LPT,Livepeer Token,0x58b6A8A3302369DAEc383334672404Ee733aB239,18 +1546.0,MITx-1Db6,MITx,Morpheus Infrastructure Token,0x4a527d8fc13C5203AB24BA0944F4Cb14658D1Db6,18 +1547.0,CLIQ-6767,CLIQ,Cliq,0x0Def8d8addE14c9eF7c2a986dF3eA4Bd65826767,18 +1548.0,SHIBO-CDa2,SHIBO,Shibosu,0x38e3b07D607dEF629b4f3f46a0082006fdd6CDa2,18 +1549.0,ankrETH-c3cb,ankrETH,Ankr Staked ETH,0xE95A203B1a91a908F9B9CE46459d101078c2c3cb,18 +1550.0,STOS-Bdcc,STOS,Stratos Token,0x08c32b0726C5684024ea6e141C50aDe9690bBdcc,18 +1551.0,FCL-0EB3,FCL,Fractal Protocol Token,0xF4d861575ecC9493420A3f5a14F85B13f0b50EB3,18 +1552.0,SWAI-7eAe,SWAI,SchwiftAI,0x3540DFCaD7CF102a2E44AA0e2132FAb1c89d7eAe,18 +1553.0,TSX-9Bfd,TSX,TradeStars TSX,0x734C90044a0bA31B3F2e640c10dC5d3540499Bfd,18 +1554.0,RARE-6350,RARE,SuperRare,0xba5BDe662c17e2aDFF1075610382B9B691296350,18 +1555.0,A Birds Nest-873A,A Birds Nest,HOOT,0x12A7530D6f9e1a9B0351D78aB711f7C2c033873A,18 +1556.0,MoFi-7544,MoFi,MobiFi,0xB2dbF14D0b47ED3Ba02bDb7C954e05A72deB7544,18 +1557.0,$TRDL-188a,$TRDL,Strudel Finance,0x297D33e17e61C2Ddd812389C2105193f8348188a,18 +1558.0,DODO-4DDd,DODO,DODO bird,0x43Dfc4159D86F3A37A5A4B3D4580b888ad7d4DDd,18 +1559.0,Fortune-B015,Fortune,Fortune,0x9F009D03E1b7F02065017C90e8e0D5Cb378eB015,9 +1560.0,wLITI-5f93,wLITI,wLitiCapital,0x0b63128C40737B13647552e0C926bCFEccC35f93,18 +1561.0,GSWAP-f8B2,GSWAP,gameswap.org,0xaac41EC512808d64625576EDdd580e7Ea40ef8B2,18 +1562.0,HELIOS-01a1,HELIOS,Mission Helios,0xC6d1f1D5a46de07E73091f1c8793293B203f01a1,18 +1563.0,TEN-40E4,TEN,Tokenomy,0xDD16eC0F66E54d453e6756713E533355989040E4,18 +1564.0,LABRA-d600,LABRA,Labra,0x106d3C66d22D2DD0446df23D7F5960752994d600,9 +1565.0,SCAN-871b,SCAN,CoinScan,0x234D51eE02be808A0160b19b689660Fb7BFA871b,9 +1566.0,TXL-4b41,TXL,Tixl Token,0x8eEF5a82E6Aa222a60F009ac18c24EE12dBf4b41,18 +1567.0,ROGE-c80A,ROGE,Rogue Doge,0x45734927Fa2f616FbE19E65f42A0ef3d37d1c80A,9 +1568.0,SAITANOBI-F1C6,SAITANOBI,Saitanobi,0x5e9F35E8163c44cD7e606BdD716AbED32AD2F1C6,9 +1569.0,TONE-03c4,TONE,TE-FOOD/TustChain,0x2Ab6Bb8408ca3199B8Fa6C92d5b455F820Af03c4,18 +1570.0,GRC-53c6,GRC,GreenCoin,0x46D886887B6908183032c75dee1b731B26D653c6,18 +1571.0,HOKK-21E8,HOKK,Hokkaido Inu,0xe87e15B9c7d989474Cb6d8c56b3DB4eFAD5b21E8,18 +1572.0,HOICHI-d2b6,HOICHI,Hoichi 芳一,0xC4EE0aA2d993ca7C9263eCFa26c6f7e13009d2b6,18 +1573.0,BBANK-f267,BBANK,BlockBank,0xF4b5470523cCD314C6B9dA041076e7D79E0Df267,18 +1574.0,RIOT-2Eb4,RIOT,RIOT,0xf56408077487cB879c992909C5b5C66D68c02Eb4,18 +1575.0,PZ-38E0,PZ,Paradigm Zero,0x578Dc16c47327429fF1594fA3eB77A96F38438E0,9 +1576.0,WOLVERINU-5f14,WOLVERINU,WOLVERINU,0x7Cc97Bf17C5AdaBe25F9D19D15A1eC8A1ad65f14,18 +1577.0,EGGS-82e0,EGGS,Eggs,0x2e516BA5Bf3b7eE47fb99B09eaDb60BDE80a82e0,18 +1578.0,CARDS-52d9,CARDS,CARD.STARTER,0x3d6F0DEa3AC3C607B3998e6Ce14b6350721752d9,18 +1579.0,LFT-3F82,LFT,LendFlare DAO Token,0xB620Be8a1949AA9532e6a3510132864EF9Bc3F82,18 +1580.0,BUH-4427,BUH,BUHUND,0x66bcD0C22Bb15cD1bA7199C7a383DC89528f4427,18 +1581.0,$CHOO-F8A0,$CHOO,Chooky Inu,0x9c5476Af06590A9277C7706fe70c0a42A480F8A0,18 +1582.0,DFYN-9023,DFYN,DFYN Token,0x9695e0114e12C0d3A3636fAb5A18e6b737529023,18 +1583.0,ZINU-d508,ZINU,ZINU,0xC5FDf3569af74f3B3e97E46A187a626352D2d508,9 +1584.0,SHIBORG-a741,SHIBORG,Shibrobi,0x372C95CE229a7Af37D141F627d09f6Df1DbAa741,9 +1585.0,VALUE-8E5c,VALUE,Value Liquidity,0x49E833337ECe7aFE375e44F4E3e8481029218E5c,18 +1586.0,KEI-A842,KEI,keisukeinu.finance,0xc0114F14638a333A4D5C3b04F09b96372348A842,9 +1587.0,RDT-fCa3,RDT,Ridotto,0x4740735AA98Dc8aa232BD049f8F0210458E7fCa3,18 +1588.0,OIN-1259,OIN,oinfinance,0x9aeB50f542050172359A0e1a25a9933Bc8c01259,8 +1589.0,SWRV-D433,SWRV,Swerve DAO Token,0xB8BAa0e4287890a5F79863aB62b7F175ceCbD433,18 +1590.0,QSP-b80d,QSP,Quantstamp Token,0x99ea4dB9EE77ACD40B119BD1dC4E33e1C070b80d,18 +1591.0,RR-68eD,RR,Red Rabbit,0xfe98C2B85cAaFE841ca7Fa8b3B912a178A3f68eD,18 +1592.0,GDAO-86Bc,GDAO,Governor,0x515d7E9D75E2b76DB60F8a051Cd890eBa23286Bc,18 +1593.0,PTF-39F7,PTF,PowerTrade Fuel Token,0xC57d533c50bC22247d49a368880fb49a1caA39F7,18 +1594.0,HOGE-7607,HOGE,hoge.finance,0xfAd45E47083e4607302aa43c65fB3106F1cd7607,9 +1595.0,WWY-E322,WWY,WeWay Token,0x9Ab70e92319f0b9127df78868Fd3655fB9f1E322,18 +1596.0,WIZ-06B2,WIZ,WIZ,0x603778e5e07e180E300bD10df7fA626313a206B2,4 +1597.0,SHR-a964,SHR,ShareToken,0xd98F75b1A3261dab9eEd4956c93F33749027a964,2 +1598.0,KEEP-aFEC,KEEP,KEEP Token,0x85Eee30c52B0b379b046Fb0F85F4f3Dc3009aFEC,18 +1599.0,ARTEQ-c787,ARTEQ,arteQ NFT Investment Fund,0x805C2077f3ab224D889f9c3992B41B2F4722c787,0 +1600.0,NET-A71F,NET,DEFINET,0x77A9B858aA8417fd318ecEE01C1d6D9fEF31A71F,18 +1601.0,GME-5590,GME,GameStop.Finance,0x9eb6bE354d88fD88795a04DE899a57A77C545590,18 +1602.0,VADER-0983,VADER,Vader,0x2602278EE1882889B946eb11DC0E810075650983,18 +1603.0,BARD-14DF,BARD,Bard Protocol,0x9E7e87608A34Bc66396D53e69B9495Bd8f5414DF,9 +1604.0,THEOS-Da1d,THEOS,THEOS,0x9e10f61749c4952C320412A6B26901605Ff6Da1d,18 +1605.0,BLOCK-E-0a60,BLOCK-E,BLOCK-E,0xa9f9aCB92E4E2f16410511D56839A5Bd1d630a60,9 +1606.0,CINU-8c32,CINU,CheemsInu,0xA64D5d1eB67748226d84812B45711453f1118c32,9 +1607.0,VOLT-58Ac,VOLT,Volt Inu,0x7db5af2B9624e1b3B4Bb69D6DeBd9aD1016A58Ac,9 +1608.0,oDOGE-EaBC,oDOGE,Ordinal Doge,0x796a4503b444A71b331c9556bEF0815237ddEaBC,18 +1609.0,BC-2Ae9,BC,Bitcoin,0xe03B2642A5111aD0EFc0cbCe766498c2dd562Ae9,9 +1610.0,DANDY-9B82,DANDY,dandy.dego,0x9Dfc4B433D359024Eb3E810d77d60fbE8B0d9B82,18 +1611.0,SIDUS-1102,SIDUS,SIDUS,0x549020a9Cb845220D66d3E9c6D9F9eF61C981102,18 +1612.0,TheRadio-622C,TheRadio,Radioreum,0xAA2DEd323944b25C0B6f1F891Bc96F010b65622C,18 +1613.0,HXRO-38f3,HXRO,Hxro,0x4bD70556ae3F8a6eC6C4080A0C327B24325438f3,18 +1614.0,NORD-a0DE,NORD,Nord Token,0x6e9730EcFfBed43fD876A264C982e254ef05a0DE,18 +1615.0,PoA-B8cE,PoA,Proof Of Apes,0x1d2d542e6D9d85A712deB4D1a7D96a16CE00B8cE,18 +1616.0,LEAD-C4ce,LEAD,Lead Token,0x1dD80016e3d4ae146Ee2EBB484e8edD92dacC4ce,18 +1617.0,imBTC-8923,imBTC,The Tokenized Bitcoin,0x3212b29E33587A00FB1C83346f5dBFA69A458923,8 +1618.0,AXL-C0E0,AXL,AXL INU,0x25b24B3c47918b7962B3e49C4F468367F73CC0E0,18 +1619.0,BCUBE-0A93,BCUBE,b-cube.ai Token,0x93C9175E26F57d2888c7Df8B470C9eeA5C0b0A93,18 +1620.0,TOR-7056,TOR,Tor Wallet,0x35073CA7bAC0c2eDf58fb34A2CBC39Ea2fbB7056,18 +1621.0,SCX-bF21,SCX,Scarcity,0x1B8568FbB47708E9E9D31Ff303254f748805bF21,18 +1622.0,MAGIC-Ac9A,MAGIC,MAGIC,0xB0c7a3Ba49C7a6EaBa6cD4a96C55a1391070Ac9A,18 +1623.0,SARCO-F51A,SARCO,Sarcophagus,0x7697B462A7c4Ff5F8b55BDBC2F4076c2aF9cF51A,18 +1624.0,BRIGHT-af55,BRIGHT,Bright Union,0xBEaB712832112bd7664226db7CD025B153D3af55,18 +1625.0,wSIENNA-64f9,wSIENNA,Sienna (ERC20),0x9b00e6E8D787b13756eb919786c9745054DB64f9,18 +1626.0,BALTO-8dBC,BALTO,Balto Token,0x5955f7d312c5d84B004d259D55072C4F0A478dBC,18 +1627.0,SHIH-1465,SHIH,Shih Tzu,0x841FB148863454A3b3570f515414759BE9091465,18 +1628.0,SWIFY-f2fB,SWIFY,Swapify,0x9C7376b5060C47E555f5F53005aA3D5A7C66f2fB,9 +1629.0,EVN-A7ec,EVN,Evn Token,0x9aF15D7B8776fa296019979E70a5BE53c714A7ec,18 +1630.0,mefi-Ec07,mefi,The meme finance,0xe13879194578C6F1A591a96C45B65022c43CEc07,9 +1631.0,PLSB-8D06,PLSB,PulseBitcoin,0x5EE84583f67D5EcEa5420dBb42b462896E7f8D06,12 +1632.0,TOKU-BD82,TOKU,Toku,0x9eEC1A4814323a7396c938bc86aeC46b97F1BD82,18 +1633.0,MRI-c977,MRI,Marshall Rogan Inu,0x0913dDAE242839f8995c0375493f9a1A3Bddc977,18 +1634.0,ALPA-514A,ALPA,AlpaToken,0x7cA4408137eb639570F8E647d9bD7B7E8717514A,18 +1635.0,TOKE-8C94,TOKE,Tokemak,0x2e9d63788249371f1DFC918a52f8d799F4a38C94,18 +1636.0,TOS-7B48,TOS,TOSA INU,0x34748FEDAd669C788aaBe4fb325A4587941F7B48,18 +1637.0,DOWS-c559,DOWS,Shadows Network,0x661Ab0Ed68000491d98C796146bcF28c20d7c559,18 +1638.0,MIKAWA-6A26,MIKAWA,Mikawa Inu,0x0888Fd2960Ddf57Cfb561B59d73Dd2b9524F6A26,9 +1639.0,DOV-79b1,DOV,DOVU,0xac3211a5025414Af2866FF09c23FC18bc97e79b1,18 +1640.0,eQUAD-7DF2,eQUAD,QuadrantProtocol,0xC28e931814725BbEB9e670676FaBBCb694Fe7DF2,18 +1641.0,RVP-D48a,RVP,RevolutionPopuli ERC20 Token,0x17EF75AA22dD5f6C2763b8304Ab24f40eE54D48a,18 +1642.0,NAME-d842,NAME,Polkadomain Token,0xe1A4c5BBb704a92599FEdB191f451E0d3a1ed842,18 +1643.0,DGVC-7b30,DGVC,DegenVC,0x26E43759551333e57F073bb0772F50329A957b30,18 +1644.0,EQX-8B15,EQX,EQIFi Token,0xBd3de9a069648c84d27d74d701C9fa3253098B15,18 +1645.0,cETH-0ED5,cETH,Compound Ether,0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5,8 +1646.0,AXI-c39a,AXI,Axioms,0x73EE6D7e6b203125aDd89320E9F343d65ec7c39a,18 +1647.0,ZERO-9bf8,ZERO,ZERO,0x0eC78ED49C2D27b315D462d43B5BAB94d2C79bf8,18 +1648.0,BNF-1057,BNF,BonFi,0x1DE5e000C41C8d35b9f1f4985C23988f05831057,18 +1649.0,TIGER-337F,TIGER,TigerCoin,0xB83c27805aAcA5C7082eB45C868d955Cf04C337F,18 +1650.0,SHINJA-84ed,SHINJA,Shibnobi,0x7DAc25b1A665e1c70F25F1fC37d88C99274984ed,9 +1651.0,WOLFY-e36f,WOLFY,WOLFYCOIN,0x7DbbCaE15d4DB168e01673400D7844870cc1e36f,9 +1652.0,INV-FB68,INV,Inverse DAO,0x41D5D79431A913C4aE7d69a668ecdfE5fF9DFB68,18 +1653.0,REVO-1409,REVO,Revomon,0x155040625D7ae3e9caDA9a73E3E44f76D3Ed1409,18 +1654.0,( ͡° ͜ʖ ͡°)-1c4c,( ͡° ͜ʖ ͡°),Lenny Face,0xDadb4aE5B5D3099Dd1f586f990B845F2404A1c4c,18 +1655.0,DEGEN-c855,DEGEN,DEGEN Index,0x126c121f99e1E211dF2e5f8De2d96Fa36647c855,18 +1656.0,GFARM2-1e1B,GFARM2,Gains V2,0x831091dA075665168E01898c6DAC004A867f1e1B,18 +1657.0,GUM-0f24,GUM,GourmetGalaxy,0x4f5fa8f2d12e5eB780f6082Dd656C565C48E0f24,18 +1658.0,ROCKI-aa04,ROCKI,ROCKI,0xFf44b937788215ecA197BAaf9AF69dbdC214aa04,18 +1659.0,LOCG-27d0,LOCG,LOCGame,0x60Eb57d085C59932d5fAa6c6026268A4386927d0,18 +1660.0,ZRO-E5e0,ZRO,PROTOCOL ZERO,0xd79F43113B22D1eA9F29cfcC7BB287489F8EE5e0,18 +1661.0,PBR-d695,PBR,PolkaBridge,0x298d492e8c1d909D3F63Bc4A36C66c64ACB3d695,18 +1662.0,MVI-34D7,MVI,Metaverse Index,0x72e364F2ABdC788b7E918bc238B21f109Cd634D7,18 +1663.0,DOUGH-7b2D,DOUGH,PieDAO DOUGH v2,0xad32A8e6220741182940c5aBF610bDE99E737b2D,18 +1664.0,RFuel-36E5,RFuel,Rio Fuel Token,0xaf9f549774ecEDbD0966C52f250aCc548D3F36E5,18 +1665.0,CTCN-1FD8,CTCN,Contracoin,0xFD6C31bb6F05Fc8dB64F4b740Ab758605c271FD8,18 +1666.0,aDAI-f85d,aDAI,Aave Interest bearing DAI,0xfC1E690f61EFd961294b3e1Ce3313fBD8aa4f85d,18 +1667.0,LKT-BA69,LKT,Locker Token,0xd3E133a0A14Bb8B595e5Fbf9851c7c783685BA69,18 +1668.0,KIBA-af3c,KIBA,Kiba Inu,0x005D1123878Fc55fbd56b54C73963b234a64af3c,18 +1669.0,GIGA-9cea,GIGA,GigaSwap,0x83249c6794BCa5a77Eb8c0AF9F1A86E055459cea,9 +1670.0,ADX-B7c3,ADX,AdEx Network,0xADE00C28244d5CE17D72E40330B1c318cD12B7c3,18 +1671.0,DOBE-A3d5,DOBE,Dobermann,0xe7aB45162f5979F09B0bDa1CC7DfC97C270EA3d5,18 +1672.0,VAI-395c,VAI,VAIOT Token,0xD13cfD3133239a3c73a9E535A5c4DadEE36b395c,18 +1673.0,YMNT-C254,YMNT,Yamanote-Sen,0xe59A1fe295f940E5226DcF6411Ef2Bdf3089C254,9 +1674.0,DOGGER-5Cbe,DOGGER,Dogger Token,0xb3Cc3d7E656893F22d2372b0aE57106F6b155Cbe,18 +1675.0,rHEGIC2-eE5f,rHEGIC2,HEGICTokenIOU Phase II,0xAd7Ca17e23f13982796D27d1E6406366Def6eE5f,18 +1676.0,BITE-D88D,BITE,DragonBite,0x4eED0fa8dE12D5a86517f214C2f11586Ba2ED88D,18 +1677.0,SHINSHU-cC0A,SHINSHU,Shinshu Inu,0x2965395F71B7d97ede251E9B63e44dfA9647cC0A,18 +1678.0,TRIB-5Af0,TRIB,Contribute,0xe09216F1d343Dd39D6Aa732a08036fee48555Af0,18 +1679.0,ASTRAL-28a1,ASTRAL,Astral AI Project,0xC74B43cC61b627667a608c3F650c2558F88028a1,18 +1680.0,SMI-2214,SMI,SafeMoon Inu,0xCd7492db29E2ab436e819b249452EE1bbDf52214,8 +1681.0,DREAM-7d02,DREAM,DREAM,0xb44377B74Ef1773639B663d0754cB8410A847d02,18 +1682.0,SAT-1332,SAT,SoMee Advertising Token V2,0xc9F1016d336ef77AeE75Fc11Ad64C5Ecf9121332,18 +1683.0,JSHIBA-4c7c,JSHIBA,Jomon Shiba,0x1426cC6D52D1B14e2B3b1Cb04d57ea42B39c4c7c,9 +1684.0,DTH-c924,DTH,DeathWolf,0x0cf75471B0FbF76A315A75eBDa6600ab92Fdc924,18 +1685.0,KEL-5432,KEL,KelVpn Token,0x4ABB9cC67BD3da9Eb966d1159A71a0e68BD15432,18 +1686.0,BLANK-9666,BLANK,GoBlank Token,0x41A3Dba3D677E573636BA691a70ff2D606c29666,18 +1687.0,NAOS-4496,NAOS,NAOSToken,0x4a615bB7166210CCe20E6642a6f8Fb5d4D044496,18 +1688.0,MOAR-701a,MOAR,MOAR Finance,0x187Eff9690E1F1A61d578C7c492296eaAB82701a,18 +1689.0,VAL-d1E4,VAL,Sora Validator Token,0xe88f8313e61A97cEc1871EE37fBbe2a8bf3ed1E4,18 +1690.0,LKR-CDcf,LKR,Polkalokr,0x80CE3027a70e0A928d9268994e9B85d03Bd4CDcf,18 +1691.0,ARCHIE-8f90,ARCHIE,Archie Neko,0xFE5F69dfa2d4501E78078266F6d430c079098f90,9 +1692.0,DZOO-ca83,DZOO,DegenZoo,0xc97d6C52F3ADD91Fa1c5287a453d7444aECBca83,18 +1693.0,ZAP-b104,ZAP,ZAP TOKEN,0x6781a0F84c7E9e846DCb84A9a5bd49333067b104,18 +1694.0,INSURE-393E,INSURE,InsureToken,0xd83AE04c9eD29d6D3E6Bf720C71bc7BeB424393E,18 +1695.0,TQUEEN-73fC,TQUEEN,TigerQueen,0x1C720999A4F8B2B0E9199039D353D2c9A77A73fC,18 +1696.0,DMTR-4fdB,DMTR,Dimitra Token,0x51cB253744189f11241becb29BeDd3F1b5384fdB,18 +1697.0,BABYSAITAMA-f045,BABYSAITAMA,Baby Saitama Inu,0xf79F9020560963422eCC9C0c04D3a21190BBf045,9 +1698.0,AllIn-3Ebe,AllIn,All In,0x9B2b931d6AB97B6A887b2C5d8529537E6FE73Ebe,9 +1699.0,DBUY-5782,DBUY,Doont Buy,0x4EcE5C5CfB9B960A49aAe739E15cDB6cfDcc5782,9 +1700.0,OKAGE-89eC,OKAGE,Okage Inu,0x8dfc8cc3201425669FaE803e1eB125cddd4189eC,18 +1701.0,NU-A4Cc,NU,NuCypher,0x4fE83213D56308330EC302a8BD641f1d0113A4Cc,18 +1702.0,LIT-9723,LIT,Litentry,0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723,18 +1703.0,ARC-e7c2,ARC,ARC,0xC82E3dB60A52CF7529253b4eC688f631aad9e7c2,18 +1704.0,KALLY-AD07,KALLY,Polkally,0xfd30C9BEA1A952FEeEd2eF2C6B2Ff8A8FC4aAD07,18 +1705.0,LSS-E320,LSS,Lossless Token,0x3B9BE07d622aCcAEd78f479BC0EDabFd6397E320,18 +1706.0,MFC-5820,MFC,Marshall Fighting Championship,0x337DD23d05c27bff099d3604938BFc23A9B25820,18 +1707.0,DIGI-d848,DIGI,Digi,0x3CbF23c081fAA5419810ce0F6BC1ECb73006d848,18 +1708.0,SNOW-79AE,SNOW,SnowSwap,0xfe9A29aB92522D14Fc65880d817214261D8479AE,18 +1709.0,RVF-96D2,RVF,Rocket Vault,0xdc8aF07A7861bedD104B8093Ae3e9376fc8596D2,18 +1710.0,BOWL-5794,BOWL,BOWL SHIBARIUM,0x760Ea31711aC14cb9Ba81aC25453C6f378fA5794,9 +1711.0,KENNEL-039a,KENNEL,Kennel,0x25d4e7fe624FcC6E7F0b52D142F40c9ACEcF039a,18 +1712.0,SYN-8BD9,SYN,SynLev,0x1695936d6a953df699C38CA21c2140d497C08BD9,18 +1713.0,TNGL-C1C2,TNGL,Tangle,0x5aF28EB9deC75e86CDFBD2e41a474b54B211C1C2,9 +1714.0,SHFT-6d19,SHFT,Shibcraft,0xF5a56bD9Ee4a3E2D493ab8e072658794B38b6d19,18 +1715.0,MEL-4892,MEL,Melalie,0xed0889F7E1c7C7267407222Be277e1f1Ef4d4892,18 +1716.0,AVG-311f,AVG,Avocado DAO Token,0xa41F142b6eb2b164f8164CAE0716892Ce02f311f,18 +1717.0,BTFA-C133,BTFA,Banana Task Force Ape,0xC631bE100F6Cf9A7012C23De5a6ccb990EAFC133,9 +1718.0,ROBO-3061,ROBO,Robo Token,0x6FC2f1044A3b9bB3e43A43EC8F840843Ed753061,18 +1719.0,URQA-3136,URQA,UREEQA Token,0x1735Db6AB5BAa19eA55d0AdcEeD7bcDc008B3136,18 +1720.0,BAO-9F3A,BAO,Bao Token V2,0xCe391315b414D4c7555956120461D21808A69F3A,18 +1721.0,X7103-c105,X7103,X7103,0x7103eBdbF1f89be2d53EFF9B3CF996C9E775c105,18 +1722.0,IAG-1Fc8,IAG,IAGON,0x40EB746DEE876aC1E78697b7Ca85142D178A1Fc8,18 +1723.0,HIKARI-4e39,HIKARI,HIKARI,0xd4126f195a8de772EeFfa61a4aB6dd43462F4e39,18 +1724.0,Shibgun-929c,Shibgun,Shibagun,0xa3BA969DD831D4eFf2bAF930e7F66D2eef5D929c,18 +1725.0,rushAI-c45B,rushAI,AlphaRushAI,0x69d47846bb7B884062FaBc08A4A7dEADCd98c45B,18 +1726.0,FND-f17e,FND,Foundation,0xB13d747d783BF1A9F1D65Df74C080C890045f17e,7 +1727.0,RAMP-Ed9f,RAMP,RAMP DEFI,0x33D0568941C0C64ff7e0FB4fbA0B11BD37deEd9f,18 +1728.0,ZORA-5ae6,ZORA,Zoracles,0xD8E3FB3b08eBA982F2754988d70D57eDc0055ae6,9 +1729.0,VXL-2b31,VXL,Voxel X Network,0x16CC8367055aE7e9157DBcB9d86Fd6CE82522b31,18 +1730.0,KEYS-86ff,KEYS,Keys,0xe0a189C975e4928222978A74517442239a0b86ff,9 +1731.0,SER-8fDC,SER,Serum,0xb19189Fb36c816f3e0f16065057B07B790998fDC,18 +1732.0,NEURONI-f332,NEURONI,Neuroni.AI,0x922e2708462c7a3d014D8344F7C4d92b27ECf332,18 +1733.0,TTX-4D9B,TTX,TTX NFT,0xeF2e239b21A81719abAabC6239e2e90859B44D9B,18 +1734.0,BabyDoge-460B,BabyDoge,Baby Doge Coin,0xAC57De9C1A09FeC648E93EB98875B212DB0d460B,9 +1735.0,wALV-D497,wALV,Alvey Chain,0x256D1fCE1b1221e8398f65F9B36033CE50B2D497,18 +1736.0,BNSD-0188,BNSD,bns.finance,0x668DbF100635f593A3847c0bDaF21f0a09380188,18 +1737.0,ODA-5d90,ODA,Eiichiro Oda,0x0C6Bf55F60143Fa1dA202AC8c9b8Ce484b5a5d90,18 +1738.0,CVP-DcA1,CVP,Concentrated Voting Power,0x38e4adB44ef08F22F5B5b76A8f0c2d0dCbE7DcA1,18 +1739.0,RABBIT-Fd35,RABBIT,Rabbit2023,0x706f280Cdb92260fe2D50EDA545F834ff1fbFd35,9 +1740.0,$XMU-D2cF,$XMU,Mushe,0x56123908ACA89bf60cE9659aE9F4589E46c8D2cF,9 +1741.0,KIT-B4F4,KIT,DexKit,0x7866E48C74CbFB8183cd1a929cd9b95a7a5CB4F4,18 +1742.0,RAZOR-d2cd,RAZOR,RAZOR,0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd,18 +1743.0,DOP-A2ef,DOP,Drops Ownership Power,0x6bB61215298F296C55b19Ad842D3Df69021DA2ef,18 +1744.0,GZLR-7632,GZLR,Guzzler,0x9f4909Cc95FB870BF48C128C1Fdbb5F482797632,18 +1745.0,DINERO-Be79,DINERO,DINERO,0xa3ad8c7AB6b731045b5b16E3fDf77975c71ABe79,18 +1746.0,IND-3705,IND,Indorse Token,0xf8e386EDa857484f5a12e4B5DAa9984E06E73705,18 +1747.0,AVS-b3b2,AVS,AlgoVest,0x94d916873B22C9C1b53695f1c002F78537B9b3b2,18 +1748.0,BFIGHT-d657,BFIGHT,BARFIGHT,0x6B5DDe2c94EcC10C93e8A44288bEFAD2a89bd657,9 +1749.0,XY-50DE,XY,XY Token,0x77777777772cf0455fB38eE0e75f38034dFa50DE,18 +1750.0,TON-520a,TON,TONToken,0x6a6c2adA3Ce053561C2FbC3eE211F23d9b8C520a,18 +1751.0,IC-6457,IC,Icy,0xA876f27F13A9eB6E621202cEFDD5AFc4a90E6457,9 +1752.0,HOBBES-4140,HOBBES,Hobbes,0x819c1A1568934Ee59d9F3C8B9640908556c44140,18 +1753.0,SMOL-030e,SMOL,smolting inu,0x553539d40AE81FD0d9C4b991B0b77bE6f6Bc030e,18 +1754.0,NFT-850a,NFT,APENFT,0x198d14F2Ad9CE69E76ea330B374DE4957C3F850a,6 +1755.0,BTCP-f5Ab,BTCP,BitcoinPro,0x723CbfC05e2cfcc71d3d89e770D32801A5eEf5Ab,8 +1756.0,UPI-B67c,UPI,Pawtocol Network UPI Token,0x70D2b7C19352bB76e4409858FF5746e500f2B67c,18 +1757.0,WIZ-edF2,WIZ,BlueWizard,0x33d20575f20C6A1881F8ab08E69F6fbAFfAEedF2,12 +1758.0,IPOR-9090,IPOR,IPOR Token,0x1e4746dC744503b53b4A082cB3607B169a289090,18 +1759.0,INUBIS-604c,INUBIS,Inubis,0x3667d6B1AEE4f96b608EE365FdA9fa5BA866604c,9 +1760.0,UCO-21fa,UCO,UnirisToken,0x8a3d77e9d6968b780564936d15B09805827C21fa,18 +1761.0,Dubbz-Da17,Dubbz,Dubbz,0x38029C62DfA30D9FD3CaDf4C64e9b2ab21DbDa17,18 +1762.0,FREN-583A,FREN,FrenChain,0x8e14c88aB0644eF41bd7138ab91C0160D8c1583A,18 +1763.0,BitANT-D1a6,BitANT,BitANT,0x15Ee120fD69BEc86C1d38502299af7366a41D1a6,18 +1764.0,KAWA-60Ec,KAWA,Kawakami,0x5552E5a89A70cB2eF5AdBbC45a6BE442fE7160Ec,9 +1765.0,ALOHA-FabE,ALOHA,ALOHA,0x455F7Ef6D8BCfc35f9337e85aEe1B0600a59FabE,18 +1766.0,HUSL-26be,HUSL,The HUSL,0xa2881F7F441267042f9778fFA0d4F834693426be,18 +1767.0,RVST-d4bA,RVST,Revest,0x120a3879da835A5aF037bB2d1456beBd6B54d4bA,18 +1768.0,DPX-dC81,DPX,Dopex Governance Token,0xEec2bE5c91ae7f8a338e1e5f3b5DE49d07AfdC81,18 +1769.0,$ADS-001f,$ADS,Alkimi Exchange,0x3106a0a076BeDAE847652F42ef07FD58589E001f,18 +1770.0,MXC-386e,MXC,MXCToken,0x5Ca381bBfb58f0092df149bD3D243b08B9a8386e,18 +1771.0,YORI-4661,YORI,The Path Of Light,0x1Ab052Db3216835182926A6d516762B0f1634661,9 +1772.0,ETH2.0-9fE8,ETH2.0,Proof of Memes,0x04A6b6DE116Fb8bF57e5eE8b05e0293EA3639fE8,18 +1773.0,CHAIN-81c4,CHAIN,Chain Games,0xC4C2614E694cF534D407Ee49F8E44D125E4681c4,18 +1774.0,CATAI-8d17,CATAI,Catgirl AI,0xBC1A4555745e9C5334eBF9DcfEC0B51285aF8d17,18 +1775.0,BPTL-62BF,BPTL,BPTL,0x3a1BC4014C4C493DB3dBfBDD8ee1417113b462BF,18 +1776.0,FMT-A54C,FMT,Finminity,0x99c6e435eC259A7E8d65E1955C9423DB624bA54C,18 +1777.0,PUBLX-33E8,PUBLX,PUBLX,0x1a6658F40e51b372E593B7d2144c1402d5cf33E8,18 +1778.0,STARS-180D,STARS,StarShip,0x7CCFeEF4F0Ff48B0E0abD19bBBebae90939f180D,18 +1779.0,WINRY-9F30,WINRY,Winry Inu,0x1a87077C4F834884691B8ba4fc808D2eC93A9F30,9 +1780.0,WILD-0e34,WILD,Wilder,0x2a3bFF78B79A009976EeA096a51A948a3dC00e34,18 +1781.0,SMBR-62Dd,SMBR,SOMBRA,0x16B3E050e9e2f0Ac4f1BEA1b3E4fdc43d7f062Dd,9 +1782.0,IDRT-b48A,IDRT,Rupiah Token,0x998FFE1E43fAcffb941dc337dD0468d52bA5b48A,2 +1783.0,SENATE-4470,SENATE,SENATE,0x34Be5b8C30eE4fDe069DC878989686aBE9884470,18 +1784.0,KONO-7Df4,KONO,Konomi,0x850aAB69f0e0171A9a49dB8BE3E71351c8247Df4,18 +1785.0,MP3-e7a0,MP3,mp3,0x018fb5Af9d015Af25592a014C4266a84143De7a0,18 +1786.0,TKINU-9F14,TKINU,Tsuki Inu,0xda23d301761E4e2bF474951f978f6DFB6F3C9F14,9 +1787.0,GINU-B306,GINU,GiveWell Inu,0x74bE64B45D394FA57816c1950E94dBB8d7A7B306,9 +1788.0,M-b2d5,M,M,0xC3E486F614e297d8E016aC2805e81707C627b2d5,18 +1789.0,EXRT-9925,EXRT,EXRT,0xb20043F149817bff5322F1b928e89aBFC65A9925,8 +1790.0,WAIF-4b20,WAIF,Waifu,0xB2279B6769CFBa691416F00609b16244c0cF4b20,18 +1791.0,RJV-adaB,RJV,Rejuve Token,0x02c3296C6eb50249f290AE596F2bE9454bFfadaB,6 +1792.0,LITH-4a42,LITH,Lithium,0x188E817B02e635D482AE4D81e25DdA98A97C4a42,18 +1793.0,HEROS-6f62,HEROS,Heros Token,0xb622400807765e73107B7196F444866D7EdF6f62,9 +1794.0,STRNGR-CF38,STRNGR,Stronger,0xDc0327D50E6C73db2F8117760592C8BBf1CDCF38,18 +1795.0,SHFT-2D85,SHFT,Shyft [ Wrapped ],0xb17C88bDA07D28B3838E0c1dE6a30eAfBCF52D85,18 +1796.0,BETTER-319A,BETTER,Better Money,0xA7925aA2A6e4575ab0C74D169f3BC3e03D4C319A,4 +1797.0,Mikaboshi-63f4,Mikaboshi,Amatsu-Mikaboshi,0xaE86f48c0B00F2a3eaeF4ba4c23d17368f0f63f4,18 +1798.0,SNT-5B9E,SNT,Status Network Token,0x744d70FDBE2Ba4CF95131626614a1763DF805B9E,18 +1799.0,FREE-f526,FREE,Ross Ulbricht Genesis Collection,0x4CD0c43B0D53bc318cc5342b77EB6f124E47f526,18 +1800.0,dKUMA-A3a8,dKUMA,KumaDex Token,0x3f5dd1A1538a4F9f82E543098f01F22480B0A3a8,18 +1801.0,ITS-21C4,ITS,IterationSyndicate,0xC32cC5b70BEe4bd54Aa62B9Aefb91346d18821C4,18 +1802.0,MOUSEWORM-5dA8,MOUSEWORM,MouseWorm,0xA848a1D33D8ef1633397A6acf617620fab8E5dA8,6 +1803.0,VERSE-dC0a,VERSE,Shibaverse,0x7aE0d42f23C33338dE15bFa89C7405c068d9dC0a,18 +1804.0,ALEX-5315,ALEX,AlexMasmej,0x8BA6DcC667d3FF64C1A2123cE72FF5F0199E5315,4 +1805.0,UMI-C69C,UMI,UmiToken,0x61107a409fFFe1965126aa456Af679719695C69C,18 +1806.0,milkAI-4F39,milkAI,milkAI,0x9f826324bb9BdcF7E7Eb274BEDc417BD45D74F39,8 +1807.0,JULIEN-332B,JULIEN,Julien,0xe6710e0CdA178f3D921f456902707B0d4C4A332B,4 +1808.0,STOP-f4Ee,STOP,SatoPay,0x8c3eE4F778E282B59D42d693A97b80b1ed80f4Ee,18 +1809.0,DRYP-b027,DRYP,Dripto,0xBE1fa1303e2979Ab4d4e5dF3D1c6e3656ACAb027,18 +1810.0,TLOS-AC88,TLOS,pTokens TLOS,0x7825e833D495F3d1c28872415a4aee339D26AC88,18 +1811.0,MUTE-400c,MUTE,Mute.io,0xA49d7499271aE71cd8aB9Ac515e6694C755d400c,18 +1812.0,LTX-d092,LTX,Lattice Token,0xa393473d64d2F9F026B60b6Df7859A689715d092,8 +1813.0,TWOPAW-47e8,TWOPAW,TWOPAW Token,0xf7de6DEf3D319811418d69Bf56c532A815FC47e8,18 +1814.0,BEZOGE-f695,BEZOGE,Bezoge Earth,0xDC349913d53b446485E98b76800b6254f43Df695,9 +1815.0,ESS-40f7,ESS,ESSENTIA,0xfc05987bd2be489ACCF0f509E44B0145d68240f7,18 +1816.0,KAI-C093,KAI,KardiaChain Token,0xD9Ec3ff1f8be459Bb9369b4E79e9Ebcf7141C093,18 +1817.0,VIDT-7Bb1,VIDT,VIDT Datalink,0xfeF4185594457050cC9c23980d301908FE057Bb1,18 +1818.0,CHIRO-775c,CHIRO,Chihiro Inu,0x35156b404C3f9bdaf45ab65Ba315419bcDe3775c,9 +1819.0,YAE-1EAF,YAE,Cryptonovae,0x4eE438be38F8682ABB089F2BFeA48851C5E71EAF,18 +1820.0,DEP-8163,DEP,DEAPCOIN,0x1A3496C18d558bd9C6C8f609E1B129f67AB08163,18 +1821.0,YAX-A289,YAX,yAxis,0xb1dC9124c395c1e97773ab855d66E879f053A289,18 +1822.0,REKT-362b,REKT,RektSkulls,0x8a7664E782860E856031D6c31EB3bde721Bc362b,18 +1823.0,YUP-BCC9,YUP,YUP,0x69bBC3F8787d573F1BBDd0a5f40C7bA0Aee9BCC9,18 +1824.0,wBAN-A034,wBAN,Wrapped Banano,0xe20B9e246db5a0d21BF9209E4858Bc9A3ff7A034,18 +1825.0,ZKP-c5B3,ZKP,zkProof,0x09637E374Ec5baB8C9e9654a97C9593e3038c5B3,9 +1826.0,ARCAI-b5E9,ARCAI,Archive AI,0x5c8190b76E90B4DD0702740cF6Eb0F7eE01Ab5E9,9 +1827.0,GETH-74B8,GETH,Guarded Ether,0x3802c218221390025BCEABBaD5D8C59F40eB74B8,18 +1828.0,BCUG-E9AF,BCUG,Blockchain Cuties Universe Governance Token,0x14Da7b27b2E0FedEfe0a664118b0c9bc68e2E9AF,18 +1829.0,VAB-9a04,VAB,Vabble,0xe7aE6D0C56CACaf007b7e4d312f9af686a9E9a04,18 +1830.0,T-Bba1,T,T,0x5b985B4F827072FebE33091b42729522B557Bba1,18 +1831.0,UNN-3a9D,UNN,UNION Protocol Governance Token,0x226f7b842E0F0120b7E194D05432b3fd14773a9D,18 +1832.0,DHP-920d,DHP,dHealth,0xc40F23A3E9613E012944f7957edCe97899Fa920d,18 +1833.0,PHNX-F2f7,PHNX,PhoenixDAO,0x38A2fDc11f526Ddd5a607C1F251C065f40fBF2f7,18 +1834.0,PERL-0318,PERL,Perlin,0xeca82185adCE47f39c684352B0439f030f860318,18 +1835.0,AST-A75a,AST,AirSwap Token,0x27054b13b1B798B345b591a4d22e6562d47eA75a,4 +1836.0,DONUT-54A9,DONUT,Donut,0xC0F9bD5Fa5698B6505F643900FFA515Ea5dF54A9,18 +1837.0,kSEED-0850,kSEED,KUSH.FINANCE,0x3F09400313e83d53366147e3ea0e4e2279D80850,18 +1838.0,MTHD-a169,MTHD,Method,0x84bA4aEcfDe39D69686a841BAb434C32d179a169,18 +1839.0,MIMIR-383C,MIMIR,Mimir Token,0x71dc40668682a124231301414167E4CF7f55383C,18 +1840.0,ESS-8b3e,ESS,Empty Set Share,0x24aE124c4CC33D6791F8E8B63520ed7107ac8b3e,18 +1841.0,FTM-7870,FTM,Fantom Token,0x4E15361FD6b4BB609Fa63C81A2be19d873717870,18 +1842.0,WQT-95bF,WQT,Work Quest Token,0x06677Dc4fE12d3ba3C7CCfD0dF8Cd45e4D4095bF,18 +1843.0,STREETH-DfA5,STREETH,STREETH,0xB840d10D840eF47c233FEC1fd040F5B145a6DfA5,18 +1844.0,ROCK-42BC,ROCK,MoonRock,0x1a6921F7B92113c79306f1A9E148D83445ac42BC,9 +1845.0,MEME-a8Db,MEME,MEME Inu.,0x74B988156925937bD4E082f0eD7429Da8eAea8Db,18 +1846.0,GWD-A56b,GWD,GreenWorld,0x674c964AC0E89d847d6B0aBd144b797bf78BA56b,6 +1847.0,NCT-246E,NCT,NameChangeToken,0x8A9c4dfe8b9D8962B31e4e16F8321C44d48e246E,18 +1848.0,BDS-1100,BDS,Black Dragon Society,0x1856BC58f5511269aFE2CA1e89Bf08CBDCD01100,18 +1849.0,buidl-63db,buidl,dfohub,0x7b123f53421b1bF8533339BFBdc7C98aA94163db,18 +1850.0,LAYER-366b,LAYER,Unilayer,0x0fF6ffcFDa92c53F615a4A75D982f399C989366b,18 +1851.0,HANDY-684c,HANDY,Handy Token,0x8bbe1a2961B41340468D0548c2cd5B7DFA9b684c,18 +1852.0,dART-dDBF,dART,dART Token,0x5a4623F305A8d7904ED68638AF3B4328678edDBF,18 +1853.0,FIFTY-c3aa,FIFTY,FIFTYONEFIFTY,0xf7DD746A613Fb6362D44eCEDEB743f62ade6c3aa,9 +1854.0,AI-7D80,AI,Chat AI,0xa89Bf95c5f15a847c8Eb8D348cd7feD719AD7D80,18 +1855.0,ORN-434a,ORN,Orion Protocol,0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a,8 +1856.0,FST-3606,FST,Futureswap Token,0x0E192d382a36De7011F795Acc4391Cd302003606,18 +1857.0,WELD-6dE0,WELD,Weld.Money,0xDD2a36AE937bc134ea694d77fC7e2E36f5d86dE0,18 +1858.0,ERN-3505,ERN,@EthernityChain $ERN Token,0xBBc2AE13b23d715c30720F079fcd9B4a74093505,18 +1859.0,Gold 1-E5B0,Gold 1,Teh Golden One,0x0Ec72CD6690db40B16be166858299F19D4f8E5B0,9 +1860.0,YourWallet-C429,YourWallet,YourWallet,0xDa70FBaC9e1C9Ac3475c24A3A847f85f1388C429,18 +1861.0,GTR-61c6,GTR,Ghost Trader,0x32DebF31D5ED90ca2e287D306fc23FaFAD9361c6,18 +1862.0,arNXM-b1dD,arNXM,Armor NXM,0x1337DEF18C680aF1f9f45cBcab6309562975b1dD,18 +1863.0,PIF-6513,PIF,Play It Forward DAO,0xB30F5d11b94efBBfDeaa4de38eDFFCeEc0bE6513,18 +1864.0,KMT-0f0f,KMT,FiveKM KMT,0x184b6f31aeAa6a19Eb207dFeA01F4289629e0f0f,18 +1865.0,NCT-33d1,NCT,Nectar,0x9E46A38F5DaaBe8683E10793b06749EEF7D733d1,18 +1866.0,DGRN-8115,DGRN,Degrain,0x71E368Ed06814Bf35d4E663eFf946400a5BC8115,18 +1867.0,STACY-B327,STACY,Stacy,0xf12EC0D3Dab64DdEfBdC96474bDe25af3FE1B327,18 +1868.0,eSOV-F7a5,eSOV,eSOV,0xbdab72602e9AD40FC6a6852CAf43258113B8F7a5,18 +1869.0,GALA-03dA,GALA,Gala,0x15D4c048F83bd7e37d49eA4C83a07267Ec4203dA,8 +1870.0,DPI-3C2b,DPI,DefiPulse Index,0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b,18 +1871.0,OPENAI-5041,OPENAI,OpenAI,0x6A6AA13393B7d1100c00a57c76c39e8B6C835041,9 +1872.0,VRX-B4e5,VRX,Verox,0x87DE305311D5788e8da38D19bb427645b09CB4e5,18 +1873.0,XI-Ec8c,XI,Xi Token,0x295B42684F90c77DA7ea46336001010F2791Ec8c,18 +1874.0,KOMBAT-C7fA,KOMBAT,Crypto Kombat Token,0x878CF148ccBb50426043a9AFFe54Ba408221C7fA,8 +1875.0,MSI-6fde,MSI,Martin Shkreli Inu,0xc4C75F2A0cB1a9ACc33929512dc9733EA1Fd6fde,18 +1876.0,METANO-1afb,METANO,METANO,0x9D9e399e5385e2b9A58d4F775A1E16441b571afb,18 +1877.0,BST-34FC,BST,BlockStar Token,0x4E4bFfAA8df6F0dC3e5600bBACf7DA55f37134FC,18 +1878.0,DEXT-C75a,DEXT,DEXTools,0xfB7B4564402E5500dB5bB6d63Ae671302777C75a,18 +1879.0,BURP-4A7c,BURP,Burp,0x33f391F4c4fE802b70B77AE37670037A92114A7c,18 +1880.0,INNIT-7c18,INNIT,InnitForTheTECH,0x62A8C2818BD7034DC24CD22368C3E53E8eB47c18,18 +1881.0,DEFX-8eDa,DEFX,DeFinity,0x5F474906637bdCDA05f29C74653F6962bb0f8eDa,18 +1882.0,RAGE-886F,RAGE,RageToken,0x94804dc4948184fFd7355f62Ccbb221c9765886F,18 +1883.0,WARP-Dd71,WARP,Warp Token,0xEd40834A13129509A89be39a9bE9C0E96A0DDd71,18 +1884.0,QUAD-77EE,QUAD,Quadency Token,0xAB2A7B5876D707e0126B3A75EF7781c77c8877EE,18 +1885.0,PUSSY-a1ad,PUSSY,PUSSY token,0x9196E18Bc349B1F64Bc08784eaE259525329a1ad,18 +1886.0,SKT-a8C1,SKT,Sukhavati Network Token,0x012E0e6342308b247F36Ee500ECb14dc77a7a8C1,8 +1887.0,ABI-77CD,ABI,Abachi,0xa31DFe74cDA04de990CafC6a0aB2BB6d6C9077CD,9 +1888.0,AiWallet-8B19,AiWallet,AiWallet Token,0xc5A927AD2d1a92Dc5f9662Ce03F7140a8B738B19,18 +1889.0,XOR-F677,XOR,Sora Token,0x40FD72257597aA14C7231A7B1aaa29Fce868F677,18 +1890.0,AISC-B9d9,AISC,Ai Smart Chain,0xB7Df0f42FAe30acf30C9A5BA147D6B792b5eB9d9,18 +1891.0,KAT-509C,KAT,Kambria Token,0x14da230d6726C50F759Bc1838717F8CE6373509C,18 +1892.0,MAD-d875,MAD,MADToken,0x5B09A0371C1DA44A8E24D36Bf5DEb1141a84d875,18 +1893.0,SKL-a7A7,SKL,SKALE,0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7,18 +1894.0,NCDT-3C1B,NCDT,NCDToken,0xE0C8b298db4cfFE05d1bEA0bb1BA414522B33C1B,18 +1895.0,VRA-7255,VRA,VERA,0xF411903cbC70a74d22900a5DE66A2dda66507255,18 +1896.0,KP3R-5A44,KP3R,Keep3rV1,0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44,18 +1897.0,DIE-4aC7,DIE,Die Protocol,0x6Ef6610d24593805144d73b13d4405E00A4E4aC7,18 +1898.0,ONIGI-1582,ONIGI,Onigiri Neko,0xb4615AAD766f6De3c55330099E907fF7F13f1582,9 +1899.0,STATE-8eB1,STATE,New World Order,0x00C2999c8B2AdF4ABC835cc63209533973718eB1,18 +1900.0,STG-2Cd6,STG,StargateToken,0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6,18 +1901.0,GAIN-F614,GAIN,GainDAO Token,0x874CB28A655e0Ef827d810E211aE4b9cBcbaF614,18 +1902.0,BBW-8F69,BBW,BabyWhale,0xd2287a52287dd64AE2c690D74322E2e345dC8F69,18 +1903.0,ECT-6783,ECT,Echain Token,0xda4Dd9586D27202A338843Dd6B9824d267006783,9 +1904.0,HBOT-e9CB,HBOT,Hummingbot Governance Token,0xE5097D9baeAFB89f9bcB78C9290d545dB5f9e9CB,18 +1905.0,IMX-79fF,IMX,Immutable X,0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF,18 +1906.0,YCO-0893,YCO,Y Coin,0x3D0293f06daF4311B482564330D57C8Db6C10893,8 +1907.0,HOODIE-FE75,HOODIE,CryptoPunk #7171,0xdffA3a7f5B40789C7A437DbE7B31b47F9B08FE75,18 +1908.0,eMAID-a303,eMAID,MaidSafeCoin,0x329c6E459FFa7475718838145e5e85802Db2a303,18 +1909.0,AGRS-bdDa,AGRS,Agoras Token,0x738865301A9b7Dd80Dc3666dD48cF034ec42bdDa,8 +1910.0,BOSON-0de9,BOSON,Boson Token,0xC477D038d5420C6A9e0b031712f61c5120090de9,18 +1911.0,IDEAS-cC02,IDEAS,IDEAS,0x443b29fc978058Abe3Fc2f4c3c6b76c57fdecC02,18 +1912.0,BIT-a4C5,BIT,BitDAO,0x1A4b46696b2bB4794Eb3D4c26f1c55F9170fa4C5,18 +1913.0,PRVG-8E3d,PRVG,Privilege,0x2Ec3275f7aCe4044e499823F511cd58250be8E3d,8 +1914.0,FLP-BcD3,FLP,FLIP Token,0x3a1Bda28AdB5B0a812a7CF10A1950c920F79BcD3,18 +1915.0,INST-03eb,INST,Instadapp,0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb,18 +1916.0,BOB-1B0B,BOB,BOB,0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0B,18 +1917.0,GGTK-EF76,GGTK,GGToken,0xFA99A87b14B02e2240C79240C5a20F945ca5EF76,18 +1918.0,SOL-b89c,SOL,Wrapped SOL,0xD31a59c85aE9D8edEFeC411D448f90841571b89c,9 +1919.0,arte-87b9,arte,ethart,0x34612903Db071e888a4dADcaA416d3EE263a87b9,18 +1920.0,LQTY-c54D,LQTY,LQTY,0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D,18 +1921.0,sifu-C313,sifu,Sifu,0x29127fE04ffa4c32AcAC0fFe17280ABD74eAC313,18 +1922.0,OGV-12D0,OGV,Origin Dollar Governance,0x9c354503C38481a7A7a51629142963F98eCC12D0,18 +1923.0,DINO-c68F,DINO,DinoLFG,0x49642110B712C1FD7261Bc074105E9E44676c68F,18 +1924.0,NYM-90e1,NYM,NYM,0x525A8F6F3Ba4752868cde25164382BfbaE3990e1,6 +1925.0,ITP-DE31,ITP,Interport Token,0x2b1D36f5B61AdDAf7DA7ebbd11B35FD8cfb0DE31,18 +1926.0,auraBAL-608d,auraBAL,Aura BAL,0x616e8BfA43F920657B3497DBf40D6b1A02D4608d,18 +1927.0,RAE-8756,RAE,RAE Token,0xE5a3229CCb22b6484594973A03a3851dCd948756,18 +1928.0,wCFG-34F0,wCFG,Wrapped Centrifuge,0xc221b7E65FfC80DE234bbB6667aBDd46593D34F0,18 +1929.0,cvxCRV-0Aa7,cvxCRV,Convex CRV,0x62B9c7356A2Dc64a1969e19C23e4f579F9810Aa7,18 +1930.0,T-beE5,T,Threshold Network Token,0xCdF7028ceAB81fA0C6971208e83fa7872994beE5,18 +1931.0,VINU-52c9,VINU,Vita Inu,0xAFCdd4f666c84Fed1d8BD825aA762e3714F652c9,18 +1932.0,NUTS-0bc0,NUTS,NutsDAO,0x981dc247745800bD2cA28a4bF147f0385Eaa0bc0,18 +1933.0,TPRO-4D15,TPRO,TPRO,0x3540abE4f288B280A0740ad5121aEc337c404D15,18 +1934.0,PUNK-232A,PUNK,CryptoPunks,0x269616D549D7e8Eaa82DFb17028d0B212D11232A,18 +1935.0,RADAR-4DbE,RADAR,DappRadar,0x44709a920fCcF795fbC57BAA433cc3dd53C44DbE,18 +1936.0,ACH-143d,ACH,Alchemy,0xEd04915c23f00A313a544955524EB7DBD823143d,8 +1937.0,MEME-b760,MEME,MEME,0x60c7AEa107EA3cDAb21455e187cFB7e54E09b760,18 +1938.0,VXV-bFCe,VXV,VectorspaceAI,0x7D29A64504629172a429e64183D6673b9dAcbFCe,18 +1939.0,MEZZ-4bC3,MEZZ,MEZZ Token,0xC4c346eDc55504574cCEB00AA1091d22404A4bC3,18 +1940.0,Pomi-77DA,Pomi,Pomi Coin,0x96ef7f9cF1B6eCC66E482A6598fc9F009E9277DA,8 +1941.0,TRIO-3308,TRIO,Maximus Trio,0xF55cD1e399e1cc3D95303048897a680be3313308,8 +1942.0,FPIS-1fdb,FPIS,Frax Price Index Share,0xc2544A32872A91F4A553b404C6950e89De901fdb,18 +1943.0,COW-5Ea8,COW,CoinWind Token,0x34965f73Cfa05Bf8d8aF37cB4af64Fa950605Ea8,18 +1944.0,WBNB-7605,WBNB,Wrapped BNB,0x418D75f65a02b3D53B2418FB8E1fe493759c7605,18 +1945.0,VOLT-9b25,VOLT,VOLTAGE,0xfFbF315f70E458e49229654DeA4cE192d26f9b25,18 +1946.0,FOREX-259B,FOREX,handleFOREX,0xDb298285FE4C5410B05390cA80e8Fbe9DE1F259B,18 +1947.0,frxETH-Aa1f,frxETH,Frax Ether,0x5E8422345238F34275888049021821E8E08CAa1f,18 +1948.0,🌐-3953,🌐,QAO,0x3402E15b3EA0f1aEC2679c4Be4c6d051ceF93953,18 +1949.0,DCHF-7A36,DCHF,Defi Franc,0x045da4bFe02B320f4403674B3b7d121737727A36,18 +1950.0,NSFW-BF19,NSFW,Pleasure Coin,0x8f006D1e1D9dC6C98996F50a4c810F17a47fBF19,18 +1951.0,FACTR-B9D5,FACTR,Defactor,0xe0bCEEF36F3a6eFDd5EEBFACD591423f8549B9D5,18 +1952.0,ZMT-62b2,ZMT,Zipmex Token,0xaa602dE53347579f86b996D2Add74bb6F79462b2,18 +1953.0,DECI-4eA6,DECI,Maximus Decimus,0x6b32022693210cD2Cfc466b9Ac0085DE8fC34eA6,8 +1954.0,ISHND-5dbf,ISHND,Stronghands Finance,0x9e6b19874e97fe8E8CAD77f2c0AB5E7a693E5dbf,18 +1955.0,gtcETH-065e,gtcETH,Gitcoin Staked ETH Index (gtcETH),0x36c833Eed0D376f75D1ff9dFDeE260191336065e,18 +1956.0,SDL-6871,SDL,Saddle DAO,0xf1Dc500FdE233A4055e25e5BbF516372BC4F6871,18 +1957.0,PRIME-28CF,PRIME,Prime,0xb23d80f5FefcDDaa212212F028021B41DEd428CF,18 +1958.0,BZR-BA8F,BZR,BAZAARS,0x8d96B4ab6C741a4C8679AE323a100d74f085BA8F,18 +1959.0,COM-34A8,COM,Communis,0x5A9780Bfe63f3ec57f01b087cD65BD656C9034A8,12 +1960.0,LUCKY-6140,LUCKY,Maximus Lucky,0x6B0956258fF7bd7645aa35369B55B61b8e6d6140,8 +1961.0,NXRA-EF9e,NXRA,AllianceBlock Nexera Token,0x644192291cc835A93d6330b24EA5f5FEdD0eEF9e,18 +1962.0,WAMPL-49Ef,WAMPL,Wrapped Ampleforth,0xEDB171C18cE90B633DB442f2A6F72874093b49Ef,18 +1963.0,sILV2-b068,sILV2,Escrowed Illuvium 2,0x7E77dCb127F99ECe88230a64Db8d595F31F1b068,18 +1964.0,BTRFLY-e5Da,BTRFLY,BTRFLY,0xc55126051B22eBb829D00368f4B12Bde432de5Da,18 +1965.0,HAIR-6f42,HAIR,HairDAO Token,0x9Ce115f0341ae5daBC8B477b74E83db2018A6f42,18 +1966.0,MS-908F,MS,Morphswap,0x6d6554939D646f274d0FC3cEcB7dab5d76bc908F,18 +1967.0,SGT-EcDD,SGT,Sharedstake.finance,0x24C19F7101c1731b85F1127EaA0407732E36EcDD,18 +1968.0,D2T-7A76,D2T,Dash 2 Trade,0x4Dd942bAa75810a3C1E876e79d5cD35E09C97A76,18 +1969.0,TGBP-00a5,TGBP,TrueGBP,0x00000000441378008EA67F4284A57932B1c000a5,18 +1970.0,FCC-e079,FCC,Freechat Coin,0x171b1DAefac13A0A3524Fcb6BEDdC7B31E58e079,18 +1971.0,ALICE-63E8,ALICE,ALICE,0xAC51066d7bEC65Dc4589368da368b212745d63E8,6 +1972.0,EFI-3733,EFI,Efinity Token,0x656C00e1BcD96f256F224AD9112FF426Ef053733,18 +1973.0,XDEFI-B777,XDEFI,XDEFI,0x72B886d09C117654aB7dA13A14d603001dE0B777,18 +1974.0,MNW-f6E4,MNW,Morpheus.Network,0xd3E4Ba569045546D09CF021ECC5dFe42b1d7f6E4,18 +1975.0,HOPR-81dA,HOPR,HOPR Token,0xF5581dFeFD8Fb0e4aeC526bE659CFaB1f8c781dA,18 +1976.0,SPUME-5283,SPUME,Spume,0xa16a609fF4e1A15b6cCb469E7a5dD14E89305283,18 +1977.0,GEAR-Ab5D,GEAR,Gearbox,0xBa3335588D9403515223F109EdC4eB7269a9Ab5D,18 +1978.0,OMI-749e,OMI,OMI Token,0xeD35af169aF46a02eE13b9d79Eb57d6D68C1749e,18 +1979.0,EURe-273f,EURe,Monerium EUR emoney,0x3231Cb76718CDeF2155FC47b5286d82e6eDA273f,18 +1980.0,MRPH-56c8,MRPH,Morpheus.Network,0x7B0C06043468469967DBA22d1AF33d77d44056c8,4 +1981.0,TKING-DAFA,TKING,Tiger King,0x24E89bDf2f65326b94E36978A7EDeAc63623DAFA,18 +1982.0,RSR-5d70,RSR,Reserve Rights,0x320623b8E4fF03373931769A31Fc52A4E78B5d70,18 +1983.0,DUST-c5F0,DUST,DUST Token,0xe2E109f1b4eaA8915655fE8fDEfC112a34ACc5F0,18 +1984.0,MAHA-49B0,MAHA,MahaDAO,0x745407c86DF8DB893011912d3aB28e68B62E49B0,18 +1985.0,ARIA20-4aF9,ARIA20,ARIANEE,0xeDF6568618A00C6F0908Bf7758A16F76B6E04aF9,18 +1986.0,CNG-44bf,CNG,Changer,0x5C1d9aA868a30795F92fAe903eDc9eFF269044bf,18 +1987.0,PRBLY-F7E7,PRBLY,Probably Nothing,0x6361F338Ab8DEf2AF3f2A1Be7BD8A7dB3156F7E7,18 +1988.0,XOY-9e52,XOY,XOYCoin,0xe9F1d62c671EFe99896492766c0B416bD3FB9e52,8 +1989.0,ccBCH-b789,ccBCH,Cross-Chain BCH,0xdB792B1D8869A7CFc34916d6c845Ff05A7C9b789,8 +1990.0,BANANA-F03a,BANANA,Banana,0x94e496474F1725f1c1824cB5BDb92d7691A4F03a,18 +1991.0,PUNKS-12EA,PUNKS,PUNKS,0x30c084890FC07D78F3499ffc818B3225bC8812EA,18 +1992.0,WEB3-e601,WEB3,Arch Ethereum Web3,0xe8e8486228753E01Dbc222dA262Aa706Bd67e601,18 +1993.0,XIDR-aa52,XIDR,XIDR,0xebF2096E01455108bAdCbAF86cE30b6e5A72aa52,6 +1994.0,₡ABIN-F830,₡ABIN,₡ABIN,0x1934E252f840aA98dfCe2b6205B3E45c41AeF830,18 +1995.0,STMX-D71C,STMX,StormX,0xa62cc35625B0C8dc1fAEA39d33625Bb4C15bD71C,18 +1996.0,AMKT-aE8D,AMKT,Alongside Crypto Market Index,0xF17A3fE536F8F7847F1385ec1bC967b2Ca9caE8D,18 +1997.0,FUND-7f75,FUND,Unification,0xe9B076B476D8865cDF79D1Cf7DF420EE397a7f75,9 +1998.0,NGC-f131,NGC,NAGA Coin,0x72dD4b6bd852A3AA172Be4d6C5a6dbEc588cf131,18 +1999.0,JPG-249c,JPG,JPG NFT Index,0x02e7Ac540409D32C90BfB51114003a9E1fF0249c,18 +2000.0,ZUSD-04fA,ZUSD,Z.com USD,0xc56c2b7e71B54d38Aab6d52E94a04Cbfa8F604fA,6 +2001.0,WRAB-C285,WRAB,White Rabbit,0x45D74446748fB432F05E7a85bD974aBB7af5C285,18 +2002.0,UTU-189B,UTU,UTU Coin,0xa58a4f5c4Bb043d2CC1E170613B74e767c94189B,18 +2003.0,GLQ-4D24,GLQ,GraphLinq,0x9F9c8ec3534c3cE16F928381372BfbFBFb9F4D24,18 +2004.0,KROM-d789,KROM,Kromatika,0x3af33bEF05C2dCb3C7288b77fe1C8d2AeBA4d789,18 +2005.0, SHOP-4B8b, SHOP,SHOP,0x64b78325d7495D6d4be92f234fa3f3B8d8964B8b,18 +2006.0,CERES-0aDA,CERES,Ceres,0x2e7B0d4F9B2EaF782eD3D160e3a0a4b1a7930aDA,18 +2007.0,ELA-1867,ELA,ELA on Ethereum,0xe6fd75ff38Adca4B97FBCD938c86b98772431867,18 +2008.0,PILOT-9525,PILOT,Unipilot,0x37C997B35C619C21323F3518B9357914E8B99525,18 +2009.0,UNBNK-442f,UNBNK,Unbanked,0x06B884e60794Ce02AafAb13791B59A2e6A07442f,18 +2010.0,KUJI-3fe7,KUJI,Kuji,0x96543ef8d2C75C26387c1a319ae69c0BEE6f3fe7,6 +2011.0,EUL-E07b,EUL,Euler,0xd9Fcd98c322942075A5C3860693e9f4f03AAE07b,18 +2012.0,UNT-fdFe,UNT,Unity Network,0x8d610E20481F4C4f3aCB87bBa9c46BeF7795fdFe,18 +2013.0,MIDAS-66A5,MIDAS,Midas,0x97e6e31aFb2d93d437301e006D9DA714616766A5,18 +2014.0,BCNT-2CD9,BCNT,Bincentive Token,0x9669890e48f330ACD88b78D63E1A6b3482652CD9,18 +2015.0,QRDO-2463,QRDO,Qredo Token,0x4123a133ae3c521FD134D7b13A2dEC35b56c2463,8 +2016.0,MVRS-f8c1,MVRS,Meta MVRS,0xBEDE1F59Fa4412556fEF69f1B9969F2003E3f8c1,18 +2017.0,XFT-45aE,XFT,Offshift,0x76BC677d444f1E9d57dAf5187ee2b7dC852745aE,18 +2018.0,UST-87a5,UST,UST,0xa693B19d2931d498c5B318dF961919BB4aee87a5,6 +2019.0,VEGA-bc6e,VEGA,VEGA,0xcB84d72e61e383767C4DFEb2d8ff7f4FB89abc6e,18 +2020.0,iZi-c200,iZi,izumi Token,0x9ad37205d608B8b219e6a2573f922094CEc5c200,18 +2021.0,TRG-4928,TRG,The Rug Game,0x93eEB426782BD88fCD4B48D7b0368CF061044928,18 +2022.0,WOMBAT-F9dd,WOMBAT,Wombat,0x0C9c7712C83B3C70e7c5E11100D33D9401BdF9dd,18 +2023.0,HARAMBE-38c6,HARAMBE,Harambe,0xADe6FDAba1643E4D1eeF68Da7170F234470938c6,18 +2024.0,THOL-0618,THOL,Tholos,0x207e14389183A94343942de7aFbC607F57460618,18 +2025.0,ACRIA-c58A,ACRIA,Acria Token,0x44F5909E97E1CBf5FBbDF0FC92FD83cde5d5c58A,18 +2026.0,POLY-fdad,POLY,Poly Maximus,0x9d93692E826A4bd9e903e2A27D7FbD1e116efdad,9 +2027.0,GRPFT-364A,GRPFT,GRAPEFRUIT,0x64B986211c0CC675143F895C437b79c3cadf364A,8 +2028.0,BTRFLY-eC3A,BTRFLY,BTRFLY,0xC0d4Ceb216B3BA9C3701B291766fDCbA977ceC3A,9 +2029.0,sETH2-043A,sETH2,StakeWise Staked ETH2,0xFe2e637202056d30016725477c5da089Ab0A043A,18 +2030.0,ZURR-e08D,ZURR,ZURRENCY,0x89509aA1D14a8E1E5364Ec4C3B041213bcDbe08D,18 +2031.0,AIN-0385,AIN,AI Network,0x3A810ff7211b40c4fA76205a14efe161615d0385,18 +2032.0,ALCA-8F8b,ALCA,AliceNet Staking Token,0xBb556b0eE2CBd89ed95DdEA881477723A3Aa8F8b,18 +2033.0,CADC-2Eef,CADC,CAD Coin,0xcaDC0acd4B445166f12d2C07EAc6E2544FbE2Eef,18 +2034.0,BYTES-8c95,BYTES,BYTES,0x7d647b1A0dcD5525e9C6B3D14BE58f27674f8c95,18 +2035.0,LOOMI-2451,LOOMI,LOOMI,0xEb57Bf569Ad976974C1F861a5923A59F40222451,18 +2036.0,AGLD-9A20,AGLD,Adventure Gold,0x32353A6C91143bfd6C7d363B546e62a9A2489A20,18 +2037.0,SPELL-e5F6,SPELL,Spell Token,0x090185f2135308BaD17527004364eBcC2D37e5F6,18 +2038.0,NFD-5346,NFD,Feisty Doge NFT,0xDFDb7f72c1F195C5951a234e8DB9806EB0635346,18 +2039.0,BANK-2921,BANK,Float Bank,0x24A6A37576377F63f194Caa5F518a60f45b42921,18 +2040.0,TERA2-3231,TERA2,Terareum,0x33909C9CE97Ce509daB3A038B3eC7ac3d1Be3231,4 +2041.0,BLOCKS-24eB,BLOCKS,BLOCKS,0x8a6D4C8735371EBAF8874fBd518b56Edd66024eB,18 +2042.0,ATH-C8F6,ATH,Athens,0x2F9411088cEF82Fd9fB904Eb8092f28eB485C8F6,18 +2043.0,LIT-C341,LIT,Liquidity Incentive Token,0xfd0205066521550D7d7AB19DA8F72bb004b4C341,18 +2044.0,H2O-1701,H2O,H2O,0x0642026E7f0B6cCaC5925b4E7Fa61384250e1701,18 +2045.0,CenX-cf79,CenX,Centralex Token,0x504cDe95dBC5d90d09B802F43B371971adbEcf79,18 +2046.0,SOON-B771,SOON,NONbeta,0x6100dd79fCAA88420750DceE3F735d168aBcB771,18 +2047.0,XIV-392C,XIV,INVERSE,0x44f262622248027f8E2a8Fb1090c4Cf85072392C,18 +2048.0,ETHMAXY-69E2,ETHMAXY,ETH Max Yield Index,0x0FE20E0Fa9C78278702B05c333Cc000034bb69E2,18 +2049.0,SWEAT-3A35,SWEAT,SWEAT,0xB4b9DC1C77bdbb135eA907fd5a08094d98883A35,18 +2050.0,PRNT-15FD,PRNT,PrimeNumbers,0x7Cfea0DD176651E7B5a1CeD9c4fAf8Ee295315FD,18 +2051.0,QANX-3AAA,QANX,QANX Token,0xAAA9214F675316182Eaa21C85f0Ca99160CC3AAA,18 +2052.0,PDI-8B48,PDI,Phuture DeFi Index,0x632806BF5c8f062932Dd121244c9fbe7becb8B48,18 +2053.0,SYN-9F29,SYN,Synapse,0x0f2D719407FdBeFF09D87557AbB7232601FD9F29,18 +2054.0,BETA-9D28,BETA,Beta Token,0xBe1a001FE942f96Eea22bA08783140B9Dcc09D28,18 +2055.0,FLUX-B1d9,FLUX,FLUX,0x469eDA64aEd3A3Ad6f868c44564291aA415cB1d9,18 +2056.0,DON-92c6,DON,Donkey,0x4576E6825B462b6916D2a41E187626E9090A92c6,18 +2057.0,DOG-8899,DOG,The Doge NFT,0xBAac2B4491727D78D2b78815144570b9f2Fe8899,18 +2058.0,MET-89aa,MET,Metronome2,0x2Ebd53d035150f328bd754D6DC66B99B0eDB89aa,18 +2059.0,IZE-327B,IZE,Galvan,0xf7e945FcE8F19302AaCc7E1418b0A0bdef89327B,8 +2060.0,MCRT-478D,MCRT,MagicCraft,0xde16Ce60804a881e9F8c4eBB3824646EDecd478D,9 +2061.0,LORDS-18b0,LORDS,Lords,0x686f2404e77Ab0d9070a46cdfb0B7feCDD2318b0,18 +2062.0,WOOF-d0a3,WOOF,WoofWork.io,0x6BC08509B36A98E829dFfAD49Fde5e412645d0a3,18 +2063.0,USDD-b5c6,USDD,Decentralized USD,0x0C10bF8FcB7Bf5412187A595ab97a3609160b5c6,18 +2064.0,WSTRAX-A51B,WSTRAX,WrappedStrax,0xa3C22370de5f9544f0c4De126b1e46cEadF0A51B,18 +2065.0,MON-fc17,MON,Moneta,0x1EA48B9965bb5086F3b468E50ED93888a661fc17,18 +2066.0,MORE-85D0,MORE,More,0xbEEf3bB9dA340EbdF0f5bae2E85368140d7D85D0,18 +2067.0,PXP-314f,PXP, PointPay Crypto Banking Token V2 ,0x95aA5d2DbD3c16ee3fdea82D5C6EC3E38CE3314f,18 +2068.0,JPYC-7BDB,JPYC,JPY Coin,0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB,18 +2069.0,LUNA-Fa3d,LUNA,LUNA,0xbd31EA8212119f94A611FA969881CBa3EA06Fa3d,6 +2070.0,PEBBLE-a4A8,PEBBLE,Etherrock #72,0xDC98c5543F3004DEBfaad8966ec403093D0aa4A8,18 +2071.0,RUSH-9eC7,RUSH,Rush coin,0x382A1667C9062F0621362F49076Ef6e4fE4C9eC7,18 +2072.0,IGG-caeA,IGG,IG Gold,0x8FfE40A3D0f80C0CE6b203D5cDC1A6a86d9AcaeA,6 +2073.0,ORC-2F51,ORC,Orbit Chain,0x662b67d00A13FAf93254714DD601F5Ed49Ef2F51,18 +2074.0,QDT-2Ef3,QDT,QuadransToken,0x9Adc7710E9d1b29d8a78c04d52D32532297C2Ef3,18 +2075.0,HMX-3a88,HMX,Hermes,0xb012Be90957D70D9a070918027655F998C123a88,18 +2076.0,$HACHI-AAFf,$HACHI,HACHI,0x967B0c95295ead8fAef70d26A7846AeCD349AAFf,18 +2077.0,MAP-28e4,MAP,MAP Protocol,0x9E976F211daea0D652912AB99b0Dc21a7fD728e4,18 +2078.0,GRAIN-e58e,GRAIN,GRAIN Token,0x6589fe1271A0F29346796C6bAf0cdF619e25e58e,18 +2079.0,HPO-1a84,HPO,Hippopotamus,0xa0ED3C520dC0632657AD2EaaF19E26C4fD431a84,18 +2080.0,MTO-324F,MTO,Merchant Token,0xE66b3AA360bB78468c00Bebe163630269DB3324F,18 +2081.0,SWISE-2FA2,SWISE,StakeWise,0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2,18 +2082.0,ANFD-211b,ANFD,Angry Doge,0x4F14cDBd815B79E9624121f564f24685c6B1211b,18 +2083.0,DVF-1918,DVF,DeversiFi Token,0xDDdddd4301A082e62E84e43F474f044423921918,18 +2084.0,TIA-Ea26,TIA,Tia Token,0x824E35f7A75324f99300aFAC75ECF7354E17Ea26,9 +2085.0,MEMAG-7AF6,MEMAG,Meta Masters Guild,0x6E39A587691b8c9D4341cE0A960998ED6F537AF6,18 +2086.0,BASE-04e0,BASE,Maximus Base,0xe9f84d418B008888A992Ff8c6D22389C2C3504e0,8 +2087.0,EUROC-C33c,EUROC,Euro Coin,0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c,6 +2088.0,WMATIC-2D43,WMATIC,Wrapped Matic,0x7c9f4C87d911613Fe9ca58b579f737911AAD2D43,18 +2089.0,BZZ-F8Cb,BZZ,BZZ,0x19062190B1925b5b6689D7073fDfC8c2976EF8Cb,16 +2090.0,UwU-5257,UwU,UwU Lend,0x55C08ca52497e2f1534B59E2917BF524D4765257,18 +2091.0,WAIT-19F7,WAIT,Wait,0xb5588C411ba0bb7D38865fdC51D082d004e519F7,0 +2092.0,TCAP-aFa4,TCAP,TCAP Token,0x16c52CeeCE2ed57dAd87319D91B5e3637d50aFa4,18 +2093.0,vETH-21Ab,vETH,Voucher Ethereum,0xc3D088842DcF02C13699F936BB83DFBBc6f721Ab,18 +2094.0,BOBA-Efbc,BOBA,Boba Token,0x42bBFa2e77757C645eeaAd1655E0911a7553Efbc,18 +2095.0,ankrMATIC-480C,ankrMATIC,Ankr Staked MATIC,0x26dcFbFa8Bc267b250432c01C982Eaf81cC5480C,18 +2096.0,PRINTS-cb95,PRINTS,Fingerprints,0x4dd28568D05f09b02220b09C2cb307bFd837cb95,18 +2097.0,PYR-9682,PYR,PYR Token,0x430EF9263E76DAE63c84292C3409D61c598E9682,18 +2098.0,$MECHA-9Ef5,$MECHA,Mechanium,0xC5bcc8BA3F33Ab0d64f3473e861BDC0685b19Ef5,18 +2099.0,WAVAX-Eda3,WAVAX,Wrapped AVAX,0x85f138bfEE4ef8e540890CFb48F620571d67Eda3,18 +2100.0,CRI-3E4d,CRI,Crypto International,0x12E951934246186F50146235d541D3bD1D463E4d,18 +2101.0,SKEB-C810,SKEB,Skeb Coin,0x6D614686550B9E1c1DF4b2cD8f91C9D4df66C810,18 +2102.0,SPOT-bafE,SPOT,SPOT,0xC1f33e0cf7e40a67375007104B929E49a581bafE,9 +2103.0,ELAND-3205,ELAND,Etherland,0x33E07f5055173cF8FeBedE8B21B12D1e2b523205,18 +2104.0,dsETH-B3BE,dsETH,Diversified Staked ETH Index (dsETH),0x341c05c0E9b33C0E38d64de76516b2Ce970bB3BE,18 +2105.0,MAI-f609,MAI,MindsyncAI,0x75387e1287Dd85482aB66102DA9f6577E027f609,18 +2106.0,ZERO-5eCC,ZERO,ZeroLiquid,0xB0Ed33f79D89541dfdCb04A8f04Bc2c6be025eCC,18 +2107.0,NFTL-9638,NFTL,Nifty League,0x3c8D2FCE49906e11e71cB16Fa0fFeB2B16C29638,18 +2108.0,CNC-5cFC,CNC,Conic Finance Token,0x9aE380F0272E2162340a5bB646c354271c0F5cFC,18 +2109.0,DVI-9770,DVI,Dvision,0x10633216E7E8281e33c86F02Bf8e565a635D9770,18 +2110.0,icETH-6A84,icETH,Interest Compounding ETH Index,0x7C07F7aBe10CE8e33DC6C5aD68FE033085256A84,18 +2111.0,THX-4B31,THX,THX Network,0xe632ea2eF2CFD8Fc4a2731C76F99078Aef6a4B31,18 +2112.0,cvxFPIS-7Df6,cvxFPIS,Convex FPIS,0xa2847348b58CEd0cA58d23c7e9106A49f1427Df6,18 +2113.0,GRG-C964,GRG,Rigo Token,0x4FbB350052Bca5417566f188eB2EBCE5b19BC964,18 +2114.0,Nvir-6804,Nvir,NvirWorld,0x9d71CE49ab8A0E6D2a1e7BFB89374C9392FD6804,18 +2115.0,GFI-8D2b,GFI,Goldfinch,0xdab396cCF3d84Cf2D07C4454e10C8A6F5b008D2b,18 +2116.0,EASE-c61c,EASE,Ease Token,0xEa5eDef1287AfDF9Eb8A46f9773AbFc10820c61c,18 +2117.0,ASTRA-3E23,ASTRA,Astra DAO,0x7E9c15C43f0D6C4a12E6bdfF7c7D55D0f80e3E23,18 +2118.0,CITIZEN-A8Ea,CITIZEN,KONG Land Alpha Citizenship,0x77F0cc420dEa0aE726Db6Bef1460A4B69176A8Ea,18 +2119.0,GODS-FD97,GODS,Gods Unchained,0xccC8cb5229B0ac8069C51fd58367Fd1e622aFD97,18 +2120.0,rETH2-86c5,rETH2,StakeWise Reward ETH2,0x20BC832ca081b91433ff6c17f85701B6e92486c5,18 +2121.0,GDC-aF31,GDC,Global Digital Content,0x301C755bA0fcA00B1923768Fffb3Df7f4E63aF31,18 +2122.0,LOVE-A27C,LOVE,UkraineDAO Flag NFT,0x5380442d3C4EC4f5777f551f5EDD2FA0F691A27C,18 +2123.0,LAKE-C400,LAKE,Data Lake Token,0xF9Ca9523E5b5A42C3018C62B084Db8543478C400,18 +2124.0,OUSD-5e86,OUSD,Origin Dollar,0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86,18 +2125.0,KXA-Cd89,KXA,Kryxivia Coin,0x2223bF1D7c19EF7C06DAB88938EC7B85952cCd89,18 +2126.0,FPI-E08E,FPI,Frax Price Index,0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E,18 +2127.0,MEGA-B10E,MEGA,MegaWorld $MEGA Token,0x1892F6ff5FBE11c31158F8c6f6F6e33106c5B10E,18 +2128.0,PENDLE-a827,PENDLE,Pendle,0x808507121B80c02388fAd14726482e061B8da827,18 +2129.0,FOLD-5921,FOLD,Manifold Finance,0xd084944d3c05CD115C09d072B9F44bA3E0E45921,18 +2130.0,WALLET-94Ae,WALLET,Ambire Wallet,0x88800092fF476844f74dC2FC427974BBee2794Ae,18 +2131.0,rETH-3593,rETH,StaFi,0x9559Aaa82d9649C7A7b220E7c461d2E74c9a3593,18 +2132.0,ALLUO-0B09,ALLUO,Alluo Token,0x1E5193ccC53f25638Aa22a940af899B692e10B09,18 +2133.0,BRIGHT-0DfE,BRIGHT,Bright,0x5dD57Da40e6866C9FcC34F4b6DDC89F1BA740DfE,18 +2134.0,GPOOL-A09d,GPOOL,Genesis Pool,0x797de1Dc0b9fAf5E25c1f7Efe8dF9599138fA09d,18 +2135.0,BOO-Fa58,BOO,SpookyToken,0x55aF5865807b196bD0197e0902746F31FBcCFa58,18 +2136.0,OHM-a899,OHM,Olympus,0x383518188C0C6d7730D91b2c03a03C837814a899,9 +2137.0,XAI-bEAc,XAI,XAI Stablecoin,0xd7C9F0e536dC865Ae858b0C0453Fe76D13c3bEAc,18 +2138.0,MTRM-7581,MTRM,Materium,0xcd17fA52528f37FACB3028688E62ec82d9417581,0 +2139.0,SUMMER-CA5c,SUMMER,Summer Token,0x4D4f3715050571A447FfFa2Cd4Cf091C7014CA5c,18 +2140.0,AUTUMN-3a99,AUTUMN,Autumn Token,0x4c3bAe16c79c30eEB1004Fb03C878d89695e3a99,18 +2141.0,JUSTICE-90B5,JUSTICE,AssangeDAO,0x59d1e836F7b7210A978b25a855085cc46fd090B5,18 +2142.0,RTH-8bC8,RTH,Rotharium,0x3FD8f39A962eFDA04956981C31AB89FAB5FB8bC8,18 +2143.0,DEO-cf8e,DEO,Demeter,0x5E7F20e72C21f6D0Bf0A2814FD4164176401cf8e,18 +2144.0,GIV-0DA0,GIV,Giveth,0x900dB999074d9277c5DA2A43F252D74366230DA0,18 +2145.0,OM-c95d,OM,MANTRA DAO,0x3593D125a4f7849a1B059E64F4517A86Dd60c95d,18 +2146.0,CTSI-6B5D,CTSI,Cartesi Token,0x491604c0FDF08347Dd1fa4Ee062a822A5DD06B5D,18 +2147.0,KCS-8811,KCS,KuCoin Token,0xf34960d9d60be18cC1D5Afc1A6F012A723a28811,6 +2148.0,PDT-9893,PDT,Paragons DAO Token,0x375aBB85C329753b1Ba849a601438AE77eEc9893,18 +2149.0,PAW-5136,PAW,PAWZONE,0x1AA51bc7eb181ce48CE626Bf62f8956Fa9555136,18 +2150.0,CQT-6240,CQT,Covalent Query Token,0xD417144312DbF50465b1C641d016962017Ef6240,18 +2151.0,COW-97aB,COW,CoW Protocol Token,0xDEf1CA1fb7FBcDC777520aa7f396b4E015F497aB,18 +2152.0,SOUL-f07F,SOUL,Phantasma Stake,0x75858677e27C930FB622759FeafFeE2b754Af07F,8 +2153.0,WSTR-12B1,WSTR,WrappedStar,0xF0dC76C22139ab22618dDFb498BE1283254612B1,18 +2154.0,X8X-fa4c,X8X,X8XToken,0x910Dfc18D6EA3D6a7124A6F8B5458F281060fa4c,18 +2155.0,PSTAKE-7006,PSTAKE,pSTAKE Finance,0xfB5c6815cA3AC72Ce9F5006869AE67f18bF77006,18 +2156.0,GEL-EA05,GEL,Gelato Network Token,0x15b7c0c907e4C6b9AdaAaabC300C08991D6CEA05,18 +2157.0,SHI-AD5a,SHI,Shina Inu,0x243cACb4D5fF6814AD668C3e225246efA886AD5a,18 +2158.0,NABOX-77Fb,NABOX,Nabox Token,0x03D1E72765545729A035e909eDd9371a405f77Fb,18 +2159.0,TOWN-Ab7F,TOWN,TownCoin,0x3Dd98C8A089dBCFF7e8FC8d4f532BD493501Ab7F,8 +2160.0,3Crv-E490,3Crv,Curve.fi DAI/USDC/USDT,0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490,18 +2161.0,SSV-7f54,SSV,SSV Token,0x9D65fF81a3c488d585bBfb0Bfe3c7707c7917f54,18 +2162.0,BKR-58Fd,BKR,Balkari Token,0x77271813bd9167e75B5DF9c230cf58d64f0A58Fd,18 +2163.0,FX-5057,FX,Function X,0x8c15Ef5b4B21951d50E53E4fbdA8298FFAD25057,18 +2164.0,KAPPA-BeF4,KAPPA,Kappa Token,0x5D2C6545d16e3f927a25b4567E39e2cf5076BeF4,18 +2165.0,FLOOR-455e,FLOOR,Floor,0xf59257E961883636290411c11ec5Ae622d19455e,9 +2166.0,GPT-47F8,GPT,CryptoGPT Token,0xD04E772BC0d591fBD288f2E2a86aFA3D3CB647F8,18 +2167.0,LSETH-d048,LSETH,Liquid Staked ETH,0x628eBC64A38269E031AFBDd3C5BA857483B5d048,18 +2168.0,LEAN-99F8,LEAN,Lean Management Token,0xFb83869f7EE52AEBadDEA254F647953AfB1F99F8,18 +2169.0,MYC-F5Ba,MYC,Mycelium,0x4b13006980aCB09645131b91D259eaA111eaF5Ba,18 +2170.0,TCR-F050,TCR,Tracer,0x9C4A4204B79dd291D6b6571C5BE8BbcD0622F050,18 +2171.0,SOLID-0990,SOLID,Solidly,0x777172D858dC1599914a1C4c6c9fC48c99a60990,18 +2172.0,AXS-B28b,AXS,Axie Infinity Shard,0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b,18 +2173.0,NFTI-4a81,NFTI,Scalara NFT Index,0x525eF76138Bf76118d786DbedeaE5F87aaBf4a81,18 +2174.0,CRETH2-dB64,CRETH2,Cream ETH Token,0x49D72e3973900A195A155a46441F0C08179FdB64,18 +2175.0,NATION-2069,NATION,Nation3,0x333A4823466879eeF910A04D473505da62142069,18 +2176.0,WINTER-845f,WINTER,Winter Token,0xCcbA0b2bc4BAbe4cbFb6bD2f1Edc2A9e86b7845f,18 +2177.0,wMEMO-af57,wMEMO,Wrapped MEMO,0x3b79a28264fC52c7b4CEA90558AA0B162f7Faf57,18 +2178.0,WGRLC-5BE9,WGRLC,Wrapped GRLC,0x58f7345b5295E43aA454911571f13be186655BE9,8 +2179.0,LM-bec9,LM,LeisureMeta,0x7BEC98609cB6378D6F995e8f8097Ee78376fbec9,18 +2180.0,GMT-1989,GMT,GoMining Token,0x7Ddc52c4De30e94Be3A6A0A2b259b2850f421989,18 +2181.0,UDT-1517,UDT,Unlock Discount Token,0x90DE74265a416e1393A450752175AED98fe11517,18 +2182.0,SOS-aEe0,SOS,SOS,0x3b484b82567a09e2588A13D54D032153f0c0aEe0,18 +2183.0,SBECOM-0A28,SBECOM,SheBollETH Commerce,0x888E88E71378133b7ADa5A90c08Bc97D772A0A28,18 +2184.0,GBPT-bA98,GBPT,poundtoken,0x86B4dBE5D203e634a12364C0e428fa242A3FbA98,18 +2185.0,TOS-8153,TOS,TONStarter,0x409c4D8cd5d2924b9bc5509230d16a61289c8153,18 +2186.0,POW-9258,POW,POW,0x43Ab765ee05075d78AD8aa79dcb1978CA3079258,18 +2187.0,CODE-8f11,CODE,Developer DAO,0xb24cd494faE4C180A89975F1328Eab2a7D5d8f11,18 +2188.0,SWTH-20bB,SWTH,Switcheo Token,0xB4371dA53140417CBb3362055374B10D97e420bB,8 +2189.0,NFTX-f776,NFTX,NFTX,0x87d73E916D7057945c9BcD8cdd94e42A6F47f776,18 +2190.0,WOOFY-57f1,WOOFY,Woofy,0xD0660cD418a64a1d44E9214ad8e459324D8157f1,12 +2191.0,UWL-8Df5,UWL,UniWhales.io,0xdbDD6F355A37b94e6C7D32fef548e98A280B8Df5,18 +2192.0,WPC-6746,WPC,WePiggy Coin,0x6F620EC89B8479e97A6985792d0c64F237566746,18 +2193.0,WAR-1543,WAR,Wrapped AR,0x4FaDC7A98f2Dc96510e42dD1A74141eEae0C1543,12 +2194.0,IPISTR-348e,IPISTR,IPI Shorter,0x888888888888f195E27A2E0F98D712952aB9348e,18 +2195.0,LED-BF6D,LED,LedgerScore,0x72De803b67B6AB05B61EFab2Efdcd414D16eBF6D,18 +2196.0,KRX-7922,KRX,KRYZA Exchange,0x93ad9b819C88D98B4c9641470A96E24769Ae7922,9 +2197.0,CNFI-2Ae9,CNFI,Connect Financial,0xEABB8996eA1662cAd2f7fB715127852cd3262Ae9,18 +2198.0,DAM-86Df,DAM,Datamine,0xF80D589b3Dbe130c270a69F1a69D050f268786Df,18 +2199.0,KCT-A27E,KCT,Konnect,0x4c601dc69AfFb0D4Fc8dE1Ac303705e432A4A27E,18 +2200.0,PAL-f4BF,PAL,Paladin Token,0xAB846Fb6C81370327e784Ae7CbB6d6a6af6Ff4BF,18 +2201.0,DAR-62a3,DAR,Dalarnia,0x081131434f93063751813C619Ecca9C4dC7862a3,6 +2202.0,GAL-9875,GAL,Project Galaxy,0x5fAa989Af96Af85384b8a938c2EdE4A7378D9875,18 +2203.0,GMM-c279,GMM,Gamium [via ChainPort.io],0x4B19C70Da4c6fA4bAa0660825e889d2F7eaBc279,18 +2204.0,FORT-Ec29,FORT,Forta,0x41545f8b9472D758bB669ed8EaEEEcD7a9C4Ec29,18 +2205.0,GOG-9c62,GOG,Guild of Guardians,0x9AB7bb7FdC60f4357ECFef43986818A2A3569c62,18 +2206.0,ALIS-4fAB,ALIS,AlisToken,0xEA610B1153477720748DC13ED378003941d84fAB,18 +2207.0,GBYTE-cc2a,GBYTE,Imported GBYTE,0x31F69dE127C8A0fF10819C0955490a4Ae46fcc2a,18 +2208.0,XOLO-B252,XOLO,Xoloitzcuintli,0x3252d4221f92b7Af3774Da8312F01600eC84B252,18 +2209.0,GEM-F806,GEM,NFTmall GEM Token,0x9b17bAADf0f21F03e35249e0e59723F34994F806,18 +2210.0,QUA-88B7,QUA,Quarashi,0xd35c06a2781f648c75290976ecF71E71582188B7,18 +2211.0,BXR-D695,BXR,Blockster,0x97A3BD8a445cC187c6A751F392e15C3B2134D695,18 +2212.0,$PAPER-9397,$PAPER,PaperToken,0x21018CBC9ad730542130bE180b577b74DB2a9397,18 +2213.0,KRAUSE-603b,KRAUSE,KRAUSE,0x9F6F91078A5072A8B54695DAfA2374Ab3cCd603b,18 +2214.0,PLOT-66Bb,PLOT,PLOT,0x72F020f8f3E8fd9382705723Cd26380f8D0c66Bb,18 +2215.0,INXT-16D4,INXT,Internxt,0x4A8f5F96D5436e43112c2fBC6a9f70DA9e4E16D4,8 +2216.0,WACME-1170,WACME,Wrapped ACME,0xDF4Ef6EE483953fE3B84ABd08C6A060445c01170,8 +2217.0,JPEG-45a3,JPEG,JPEG’d Governance Token,0xE80C0cd204D654CEbe8dd64A4857cAb6Be8345a3,18 +2218.0,PLQ-BB7B,PLQ,PlanQ,0xd23Ed8cA350CE2631F7EcDC5E6bf80D0A1DeBB7B,18 +2219.0,MDT-7d26,MDT,Measurable Data Token,0x814e0908b12A99FeCf5BC101bB5d0b8B5cDf7d26,18 +2220.0,ILV-ca0E,ILV,Illuvium,0x767FE9EDC9E0dF98E07454847909b5E959D7ca0E,18 +2221.0,KNIGHT-16bC,KNIGHT,CitaDAO,0x3541A5C1b04AdABA0B83F161747815cd7B1516bC,18 +2222.0,USDS-2eBe,USDS,StableUSD,0xA4Bdb11dc0a2bEC88d24A3aa1E6Bb17201112eBe,6 +2223.0,PET-5C5F,PET,Pet Token,0xB870679a7Fa65b924026F496De7f27c1DD0e5C5F,18 +2224.0,CSX-9C8c,CSX,Coinstox Token,0x3aadc3BCe49724ce299fD9F3850211211c399C8c,18 +2225.0,BOOP-3Ce1,BOOP,Boop,0x8013266cb5c9dd48bE3Ad7D1CE832874d64B3Ce1,18 +2226.0,MNTL-3295,MNTL,AssetMantle,0x2C4F1DF9c7DE0C59778936C9b145fF56813F3295,6 +2227.0,KCAL-79F9,KCAL,Phantasma Energy,0x47C1178F49140ECdBfbdF0aE2935cDB640D579F9,10 +2228.0,EXD-6560,EXD,Exorde Network Token,0x02dE007D412266a2e0Fa9287C103474170F06560,18 +2229.0,BENT-C375,BENT,Bent Token,0x01597E397605Bf280674Bf292623460b4204C375,18 +2230.0,LUCHOW-7C57,LUCHOW,LunaChow,0xA5Ef74068d04ba0809B7379dD76Af5Ce34Ab7C57,18 +2231.0,JBX-6f66,JBX,Juicebox,0x3abF2A4f8452cCC2CF7b4C1e4663147600646f66,18 +2232.0,anonUSD-1eFd,anonUSD,anonUSD,0x5a7E6C8204A1359DB9AAcab7bA5Fc309B7981eFd,18 +2233.0,AGOV-280c,AGOV,Answer Governance,0xd1420AF453Fd7bf940573431D416cAcE7fF8280c,18 +2234.0,MOVE-324C,MOVE,Mover,0x3FA729B4548beCBAd4EaB6EF18413470e6D5324C,18 +2235.0,BTC2x-FLI-1c2b,BTC2x-FLI,BTC 2x Flexible Leverage Index,0x0B498ff89709d3838a063f1dFA463091F9801c2b,18 +2236.0,LIT-783b,LIT,LIT,0xC5b3D3231001a776123194Cf1290068e8b0C783b,18 +2237.0,cV-5683,cV,cVToken,0x50bC2Ecc0bfDf5666640048038C1ABA7B7525683,18 +2238.0,SPRING-d4FE,SPRING,Spring Token,0xf04aF3f4E4929F7CD25A751E6149A3318373d4FE,18 +2239.0,MOONEY-1395,MOONEY,MOONEY,0x20d4DB1946859E2Adb0e5ACC2eac58047aD41395,18 +2240.0,SBLX-5F80,SBLX,SocialBlox,0xf6af18F94d55B8888B557cb3da0Ec623BA245F80,18 +2241.0,CHO-3099,CHO,choise.com Token,0xBBa39Fd2935d5769116ce38d46a71bde9cf03099,18 +2242.0,MNE-d0E0,MNE,Minereum,0x426CA1eA2406c07d75Db9585F22781c096e3d0E0,8 +2243.0,MILADY-EB48,MILADY,Milady Maker,0x227c7DF69D3ed1ae7574A1a7685fDEd90292EB48,18 +2244.0,bLUSD-79C3,bLUSD,bLUSD,0xB9D7DdDca9a4AC480991865EfEf82E01273F79C3,18 +2245.0,ARTIC-731e,ARTIC,ARTIC,0xE83D5FB2c60B3A2597452e248CF7b2f52a7E731e,18 +2246.0,PHONON-03Ec,PHONON,Phonon DAO,0x758B4684BE769E92eeFeA93f60DDA0181eA303Ec,18 +2247.0,NEC-7A5e,NEC,Ethfinex Nectar Token,0xCc80C051057B774cD75067Dc48f8987C4Eb97A5e,18 +2248.0,UNIDX-D96C,UNIDX,UniDex,0x95b3497bBcCcc46a8F45F5Cf54b0878b39f8D96C,18 +2249.0,SURE-416E,SURE,inSure,0xcb86c6A22CB56B6cf40CaFEDb06BA0DF188a416E,18 +2250.0,BOLLY-ea99,BOLLY,Bollycoin,0x6bd361e10c1afed0d95259e7C0115f3A60e4ea99,18 +2251.0,IMPT-1f85,IMPT,IMPT,0x04C17b9D3b29A78F7Bd062a57CF44FC633e71f85,18 +2252.0,AIOZ-BF18,AIOZ,AIOZ Network,0x626E8036dEB333b408Be468F951bdB42433cBF18,18 +2253.0,FF-94CD,FF,Forefront,0x7E9D8f07A64e363e97A648904a89fb4cd5fB94CD,18 +2254.0,TSCT-5035,TSCT,Transient,0x805EA9c07B49dd23cE11ec66dC6d8a2957385035,18 +2255.0,CPOOL-FaC5,CPOOL,Clearpool,0x66761Fa41377003622aEE3c7675Fc7b5c1C2FaC5,18 +2256.0,CDT-85Cc,CDT,CheckDot,0xCdB37A4fBC2Da5b78aA4E41a432792f9533e85Cc,18 +2257.0,$MNB-A366,$MNB,Mineable,0x42b91f1d05afeA671a2dA3c780eDa2aBf0A2A366,18 +2258.0,TAIL-77c4,TAIL,Tail Finance,0x4384b85FE228AE727B129230211194E4A50877c4,9 +2259.0,BED-7dc6,BED,Bankless BED Index,0x2aF1dF3AB0ab157e1E2Ad8F88A7D04fbea0c7dc6,18 +2260.0,HFT-cADC,HFT,Hashflow,0xb3999F658C0391d94A37f7FF328F3feC942BcADC,18 +2261.0,PUNDIX-0C38,PUNDIX,Pundi X Token,0x0FD10b9899882a6f2fcb5c371E17e70FdEe00C38,18 +2262.0,MVDG-9750,MVDG,Metaverse Dog,0x2eE543b8866F46cC3dC93224C6742a8911a59750,18 +2263.0,ANT-5A2e,ANT,Aragon Network Token,0xa117000000f279D81A1D3cc75430fAA017FA5A2e,18 +2264.0,BTU-cc9f,BTU,BTU Protocol,0xb683D83a532e2Cb7DFa5275eED3698436371cc9f,18 +2265.0,PANDA-00DC,PANDA,PandaDAO,0x3cBb7f5d7499Af626026E96a2f05df806F2200DC,18 +2266.0,BLOOD-B50c,BLOOD,Blood,0x95392f142Af1c12F6e39897Ff9B09c599666B50c,18 +2267.0,BAM-4AaB,BAM,Bambi,0x9DB0FB0Aebe6A925B7838D16e3993A3976A64AaB,18 +2268.0,ETH2x_FLI-65BD,ETH2x_FLI,ETH 2x Flexible Leverage Index,0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD,18 +2269.0,UNIBOT-5040,UNIBOT,Unibot,0x25127685dC35d4dc96C7fEAC7370749d004C5040,18 +2270.0,LHINU-038d,LHINU,Love Hate Inu,0xCeDefE438860D2789dA6419b3a19cEcE2A41038d,18 +2271.0,RIBBIT-5fFe,RIBBIT,Ribbit,0xb794Ad95317f75c44090f64955954C3849315fFe,18 +2272.0,TURBO-20D3,TURBO,Turbo,0xA35923162C49cF95e6BF26623385eb431ad920D3,18 +2273.0,SFOX-76d5,SFOX,StonedFox,0xdfba8e8fFCc348B006e893e78De233B8597076d5,18 +2274.0,wjAURA-Cd1F,wjAURA,Wrapped Jones AURA,0x198d7387Fa97A73F05b8578CdEFf8F2A1f34Cd1F,18 +2275.0,BEE-307c,BEE,Babylon Bee,0x4C4F2B9DEB3c91006719Bb3232DD4eb39977307c,18 +2276.0,BIAO-5D8a,BIAO,Biaocoin,0x00282FD551D03dC033256C4bf119532e8C735D8a,2 +2277.0,TUCKER-A84f,TUCKER,Tucker Carlson,0x6f49694827d46A14Baf2a7b1eAC3e6eB3526A84f,9 +2276.0,Auction-9096,Auction,Auction,0xA9B1Eb5908CfC3cdf91F9B8B3a74108598009096,18 +2277.0,ANGLE-14c2,ANGLE,ANGLE,0x31429d1856aD1377A8A0079410B297e1a9e214c2,18 +2278.0,WXRP-e1B9,WXRP,WXRP,0x39fBBABf11738317a448031930706cd3e612e1B9,18 +2279.0,WIZARD-D8Fb,WIZARD,WIZARD,0x87931E7AD81914e7898d07c68F145fC0A553D8Fb,18 +2280.0,USH-EC48,USH,USH,0xE60779CC1b2c1d0580611c526a8DF0E3f870EC48,18 +2281.0,GENE-D67E,GENE,GENE,0x21413c119b0C11C5d96aE1bD328917bC5C8ED67E,18 +2282.0,SDL-8C23,SDL,SDL,0xA95C5ebB86E0dE73B4fB8c47A45B792CFeA28C23,18 +2283.0,AURA-16bE,AURA,AURA,0x6047e101aaa9Ab9b02fe5Cbc1DD03c2C7C8516bE,18 +2284.0,RAD-06FB,RAD,RAD,0xdDc6625FEcA10438857DD8660C021Cd1088806FB,18 +2285.0,OXO-09fc,OXO,OXO,0x47daC6BD80f024575a6d367aF5Ba8e89202A09fc,18 +2286.0,OETH-8dC3,OETH,OETH,0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3,18 +2287.0,FUMO-5aa6,FUMO,FUMO,0x2890dF158D76E584877a1D17A85FEA3aeeB85aa6,18 +2288.0,BITCOIN-EEa9,BITCOIN,BITCOIN,0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9,8 +2289.0,PEPE2.0-62AD,PEPE2.0,PEPE2.0,0xfb66321D7C674995dFcC2cb67A30bC978dc862AD,18 +2290.0,PEPE3.0-5398,PEPE3.0,PEPE3.0,0x0e92C90867bF82ebbE66ae0352a4C6D876Fb5398,18 +2291.0,RLB-3f3d,RLB,RLB,0x046EeE2cc3188071C02BfC1745A6b17c656e3f3d,18 +2292.0,RLB-3f3d,RLB,RLB,0x046EeE2cc3188071C02BfC1745A6b17c656e3f3d,18 +2293.0,eUSD-A371,eUSD,eUSD,0x97de57eC338AB5d51557DA3434828C5DbFaDA371,18 +2294.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 +2295.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 +2296.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 +2297.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 +2298.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 +2299.0,pETH-78c7,pETH,pETH,0x836A808d4828586A69364065A1e064609F5078c7,18 +2300.0,DXN-cB6F,DXN,DXN,0x80f0C1c49891dcFDD40b6e0F960F84E6042bcB6F,18 +2301.0,swETH-Ed78,swETH,swETH,0xf951E335afb289353dc249e82926178EaC7DEd78,18 +2302.0,swETH-Ed78,swETH,swETH,0xf951E335afb289353dc249e82926178EaC7DEd78,18 +2303.0,PSYOP-53D3,PSYOP,PSYOP,0x3007083EAA95497cD6B2b809fB97B6A30bdF53D3,18 +2304.0,FROGDOG-e16C,FROGDOG,FROGDOG,0x3cda61B56278842876e7fDD56123d83DBAFAe16C,18 +2305.0,BAZED-8F4a,BAZED,BAZED,0x3eE4B152824b657644c7A9B50694787e80EB8F4a,18 +2306.0,SHIBIE-a98F,SHIBIE,SHIBIE,0x4965b3b90f3a63Fc72F74e53322f66b2a174a98F,18 +2307.0,SHIBIE-a98F,SHIBIE,SHIBIE,0x4965b3b90f3a63Fc72F74e53322f66b2a174a98F,18 +2308.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 +2309.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 +2310.0,RVT-2244,RVT,RVT,0x3d1BA9be9f66B8ee101911bC36D3fB562eaC2244,18 +2311.0,Homer Pepe-ea3c,Homer Pepe,Homer Pepe,0x86803e2012CBA1Ca09d87393f5C739FA9E58ea3c,9 +2312.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 +2313.0,CBot-a71C,CBot,CBot,0xf49311af05a4Ffb1dbf33d61e9b2d4f0a7d4a71C,9 +2314.0,CBot-a71C,CBot,CBot,0xf49311af05a4Ffb1dbf33d61e9b2d4f0a7d4a71C,9 +2315.0,GUISE-AFb8,GUISE,GUISE,0x7721A4cb6190EDB11d47f51C20968436ECcDAFb8,18 +2316.0,HODL-FecE,HODL,HODL,0x7b5FD0BB4154292173807aE6ae05153787e3FecE,18 +2317.0,HVH-0E0E,HVH,HVH,0xd076C4Ba62c57b3Fa10800bcfD8dA66742110E0E,18 +2318.0,GUISE-AFb8,GUISE,GUISE,0x7721A4cb6190EDB11d47f51C20968436ECcDAFb8,18 +2319.0,LBR-1ebd,LBR,LBR,0xed1167b6Dc64E8a366DB86F2E952A482D0981ebd,18 +2320.0,BITCOIN-EEa9,BITCOIN,BITCOIN,0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9,8 +2321.0,FGATE-2E92,FGATE,FGATE,0x97808Df7Afb14134d37a91576bDb8b95dFCD2E92,18 +2322.0,CAL-36E1,CAL,CAL,0x20561172f791f915323241E885b4f7D5187c36E1,18 +2323.0,CAL-36E1,CAL,CAL,0x20561172f791f915323241E885b4f7D5187c36E1,18 +2324.0,DORKL-aCf3,DORKL,DORKL,0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3,18 +2325.0,DORKL-aCf3,DORKL,DORKL,0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3,18 +2326.0,DORKL-aCf3,DORKL,DORKL,0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3,18 +2327.0,WAGMI-3a67,WAGMI,WAGMI,0x92CC36D66e9d739D50673d1f27929a371FB83a67,18 +2328.0,USDB-f060,USDB,USDB,0x309627af60F0926daa6041B8279484312f2bf060,18 +2329.0,PB-03Dc,PB,PB,0x996Ca7e71C37D70132889e29d17d2e44427A03Dc,18 diff --git a/fastlane_bot/events/managers/contracts.py b/fastlane_bot/events/managers/contracts.py index 79bb8c033..8c9be5e3a 100644 --- a/fastlane_bot/events/managers/contracts.py +++ b/fastlane_bot/events/managers/contracts.py @@ -263,16 +263,17 @@ def _get_and_save_token_info_from_contract(self, contract: Contract, addr: str, decimals = contract.functions.decimals().call() key = self.get_tkn_key(symbol=symbol, addr=addr) new_data = { - "key": key, - "symbol": symbol, - "name": symbol, - "address": addr, - "decimals": decimals + "id": [len(token_data) + 1], + "key": [key], + "symbol": [symbol], + "name": [symbol], + "address": [addr], + "decimals": [decimals] } self.cfg.logger.info(f"Adding new token {key} to {tokens_filepath}") - row = pd.DataFrame(new_data, index=max(token_data.index) + 1, columns=token_data.columns) - token_data = pd.concat([token_data, row]) - token_data.to_csv(tokens_filepath) + row = pd.DataFrame(new_data) + token_data = pd.concat([token_data, row], ignore_index=True) + token_data.to_csv(tokens_filepath, index=False) return ( symbol, decimals From cd32ac573649825ec2bdd3ac9e7c66b4d6ec8a6f Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Thu, 28 Sep 2023 01:33:22 -0700 Subject: [PATCH 23/33] fixes bug in replay_from_block --- main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.py b/main.py index 66829fe33..125933791 100644 --- a/main.py +++ b/main.py @@ -278,7 +278,7 @@ def main( if replay_from_block or tenderly_fork_id: polling_interval, reorg_delay, use_cached_events = handle_replay_from_block( - polling_interval + replay_from_block ) # Set config From 7bd4e058d5c0256425e44029afd0d55f09b287ae Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Thu, 28 Sep 2023 02:54:24 -0700 Subject: [PATCH 24/33] bugfixes for replay_from_block and tenderly_fork_id configs --- fastlane_bot/bot.py | 19 +- fastlane_bot/config/provider.py | 6 +- fastlane_bot/events/multicall_utils.py | 2 +- fastlane_bot/events/utils.py | 321 ++++--------------------- fastlane_bot/utils.py | 11 - main.py | 292 +++++++++++----------- 6 files changed, 186 insertions(+), 465 deletions(-) diff --git a/fastlane_bot/bot.py b/fastlane_bot/bot.py index 357ef926b..76da6bb88 100644 --- a/fastlane_bot/bot.py +++ b/fastlane_bot/bot.py @@ -52,6 +52,7 @@ from typing import List, Dict, Tuple, Any, Callable from typing import Optional +from web3 import Web3 from web3.datastructures import AttributeDict from fastlane_bot.config import Config @@ -1344,24 +1345,10 @@ def _ensure_connection(self, tenderly_fork: str): The Tenderly fork ID """ - from fastlane_bot.config.connect import EthereumNetwork tenderly_uri = f"https://rpc.tenderly.co/fork/{tenderly_fork}" - connection = EthereumNetwork( - network_id="tenderly", - network_name="Tenderly (Alchemy)", - provider_url=tenderly_uri, - provider_name="alchemy", - ) - connection.connect_network() - self.db.cfg.w3 = connection.web3 - self.ConfigObj.w3 = connection.web3 - - assert ( - self.db.cfg.w3.provider.endpoint_uri - == self.ConfigObj.w3.provider.endpoint_uri - == tenderly_uri - ), f"Failed to connect to Tenderly fork at {tenderly_uri} - got {self.db.cfg.w3.provider.endpoint_uri} instead" + self.db.cfg.w3 = Web3(Web3.HTTPProvider(tenderly_uri)) + self.ConfigObj.w3 = Web3(Web3.HTTPProvider(tenderly_uri)) def run( self, diff --git a/fastlane_bot/config/provider.py b/fastlane_bot/config/provider.py index 789aadcfe..841a07414 100644 --- a/fastlane_bot/config/provider.py +++ b/fastlane_bot/config/provider.py @@ -134,13 +134,11 @@ def __init__(self, network: ConfigNetwork, **kwargs): self.w3 = self.connection.web3 self.LOCAL_ACCOUNT = self.w3.eth.account.from_key(ETH_PRIVATE_KEY_BE_CAREFUL) - self.BANCOR_NETWORK_INFO_CONTRACT = Contract.from_abi( - name=N.BANCOR_V3_NAME, + self.BANCOR_NETWORK_INFO_CONTRACT = self.w3.eth.contract( address=N.BANCOR_V3_NETWORK_INFO_ADDRESS, abi=BANCOR_V3_NETWORK_INFO_ABI, ) - self.CARBON_CONTROLLER_CONTRACT = Contract.from_abi( - name=N.CARBON_V1_NAME, + self.CARBON_CONTROLLER_CONTRACT = self.w3.eth.contract( address=N.CARBON_CONTROLLER_ADDRESS, abi=CARBON_CONTROLLER_ABI, ) diff --git a/fastlane_bot/events/multicall_utils.py b/fastlane_bot/events/multicall_utils.py index e2f4d3696..5ab6bef9d 100644 --- a/fastlane_bot/events/multicall_utils.py +++ b/fastlane_bot/events/multicall_utils.py @@ -135,7 +135,7 @@ def multicall_helper(exchange: str, rows_to_update: List, multicall_contract: An The current block. """ - multicaller = MultiCaller(contract=multicall_contract) + multicaller = MultiCaller(contract=multicall_contract, block_identifier=current_block) with multicaller as mc: for row in rows_to_update: pool_info = mgr.pool_data[row] diff --git a/fastlane_bot/events/utils.py b/fastlane_bot/events/utils.py index c6c969cd9..fa2b9641a 100644 --- a/fastlane_bot/events/utils.py +++ b/fastlane_bot/events/utils.py @@ -278,6 +278,33 @@ def get_static_data( return static_pool_data, tokens, uniswap_v2_event_mappings +def handle_tenderly_event_exchanges(cfg: Config, exchanges: str, tenderly_fork_id: str) -> List[str]: + """ + Handles the exchanges parameter. + + Parameters + ---------- + cfg : Config + The config object. + exchanges : str + A comma-separated string of exchanges to fetch data for. + tenderly_fork_id : str + The Tenderly fork ID. + + Returns + ------- + List[str] + A list of exchanges to fetch data for. + + """ + if not tenderly_fork_id: + return [] + + exchanges = exchanges.split(",") if exchanges else [] + cfg.logger.info(f"Running data fetching for exchanges: {exchanges}") + return exchanges + + def handle_exchanges(cfg: Config, exchanges: str) -> List[str]: """ Handles the exchanges parameter. @@ -669,7 +696,7 @@ def init_bot(mgr: Any) -> CarbonBot: def update_pools_from_contracts( mgr: Any, n_jobs: int, - rows_to_update: List[int], + rows_to_update: List[int] or List[Hashable], multicall_contract: MultiProviderContractWrapper or web3.contract.Contract = None, token_address: bool = False, current_block: int = None, @@ -745,7 +772,6 @@ def handle_subsequent_iterations( logging_path: str = None, replay_from_block: int = None, tenderly_uri: str = None, - forks_to_cleanup: List[str] = None, mgr: Any = None, forked_from_block: int = None, ): @@ -776,14 +802,10 @@ def handle_subsequent_iterations( The block number to replay from, by default None tenderly_uri : str, optional The Tenderly URI, by default None - forks_to_cleanup : List[str], optional - A list of forks to cleanup, by default None mgr : Any The manager object. forked_from_block : int The block number to fork from. - limit_pairs_for_replay : List[str], optional - A list of pairs to limit replay to, by default None """ if loop_idx > 0 or replay_from_block: @@ -801,6 +823,7 @@ def handle_subsequent_iterations( mgr.cfg.logger.info( f"Submitting bot.run with forked_from_block: {forked_from_block}, replay_from_block {replay_from_block}" ) + mgr.cfg.w3 = Web3(Web3.HTTPProvider(tenderly_uri)) # Run the bot bot.run( @@ -934,218 +957,6 @@ def handle_initial_iteration( current_block=current_block, ) - # TODO THIS NEEDS TO BE UNCOMMENTED FOR MAINNET - # if mgr.cfg.BANCOR_POL_NAME in mgr.exchanges: - # update_pools_from_contracts( - # mgr, - # n_jobs=n_jobs, - # rows_to_update=[i for i, pool_info in enumerate(mgr.pool_data) if pool_info["exchange_name"] == mgr.cfg.BANCOR_POL_NAME], - # current_block=current_block, - # token_address=True - # ) - -# -# def get_erc20_tkn_balance( -# contract: Contract, tkn0: str, w3_tenderly: Web3 = None, w3: Web3 = None -# ) -> int: -# """ -# Get the ERC20 token balance of the POL contract -# -# Parameters -# ---------- -# contract: Contract -# The contract object -# tkn0: str -# The token address -# w3_tenderly: Web3 -# The tenderly web3 object -# w3: Web3 -# The web3 object -# -# Returns -# ------- -# int -# The token balance -# -# """ -# if w3_tenderly: -# erc20_contract = w3_tenderly.eth.contract(abi=ERC20_ABI, address=tkn0) -# else: -# erc20_contract = w3.eth.contract(abi=ERC20_ABI, address=tkn0) -# return erc20_contract.functions.balanceOf(contract.address).call() -# # -# -# ONE = 2 ** 48 -# -# -# @staticmethod -# def bitLength(value): -# return len(bin(value).lstrip("0b")) if value > 0 else 0 -# -# -# def encodeFloat(value): -# exponent = bitLength(value // ONE) -# mantissa = value >> exponent -# return mantissa | (exponent * ONE) -# -# -# def encodeRate(value): -# data = int(value.sqrt() * ONE) -# length = bitLength(data // ONE) -# return (data >> length) << length -# -# -# def encode_token_price(price): -# return encodeFloat(encodeRate((price))) - -# -# def multicall_every_iteration( -# current_block: int, -# mgr: Any, -# n_jobs: int, -# ): -# """ -# Handles the initial iteration of the bot. -# -# Parameters -# ---------- -# current_block : int -# The current block number. -# mgr : Any -# The manager object. -# n_jobs : int -# The number of jobs to run in parallel. -# -# """ -# multicallable_exchanges = [exchange for exchange in mgr.cfg.MULTICALLABLE_EXCHANGES if exchange in mgr.exchanges] -# multicallable_pool_rows = [ -# list(set(get_pools_for_exchange(mgr=mgr, exchange=ex_name))) -# for ex_name in mgr.cfg.MULTICALLABLE_EXCHANGES -# if ex_name in mgr.exchanges -# ] -# -# for idx, exchange in enumerate(multicallable_exchanges): -# multicall_contract = None -# rows_to_update = multicallable_pool_rows[idx] -# -# if exchange == "bancor_v3": -# multicall_contract = mgr.pool_contracts[exchange][ -# mgr.cfg.BANCOR_V3_NETWORK_INFO_ADDRESS -# ] -# multicaller = MultiCaller(contract=multicall_contract) -# with multicaller as mc: -# for row in rows_to_update: -# pool_info = mgr.pool_data[row] -# pool_info["last_updated_block"] = current_block -# mc.add_call(multicall_contract.functions.tradingLiquidity, pool_info["tkn1_address"]) -# pool_balance_list = mc.multicall() -# for row, pool_balances in zip(rows_to_update, pool_balance_list): -# pool_info = mgr.pool_data[row] -# params = { -# "fee": "0.000", -# "fee_float": 0.000, -# "tkn0_balance": pool_balances[0], -# "tkn1_balance": pool_balances[1], -# "exchange_name": exchange, -# "address": pool_info["address"], -# } -# try: -# pool = mgr.get_or_init_pool(pool_info) -# except Exception as e: -# print(f"pool_info: {pool_info}") -# raise e -# for key, value in params.items(): -# pool_info[key] = value -# pool.state[key] = value -# mgr.pool_data[row] = pool_info -# unique_key = pool.unique_key() -# unique_key_value = pool_info[unique_key] -# exchange_pool_idx = [idx for idx in range(len(mgr.exchanges[exchange].pools)) if -# mgr.exchanges[exchange].pools[unique_key_value].state[unique_key] == pool_info[unique_key]][0] -# mgr.exchanges[exchange].pools[exchange_pool_idx] = pool -# -# elif exchange == "bancor_pol": -# multicall_contract = mgr.pool_contracts[exchange][ -# mgr.cfg.BANCOR_POL_ADDRESS -# ] -# multicaller = MultiCaller(contract=multicall_contract) -# with multicaller as mc: -# for row in rows_to_update: -# pool_info = mgr.pool_data[row] -# pool_info["last_updated_block"] = current_block -# mc.add_call(multicall_contract.functions.tokenPrice, pool_info["tkn0_address"]) -# prices_list = mc.multicall() -# for row, prices in zip(rows_to_update, prices_list): -# pool_info = mgr.pool_data[row] -# p0, p1 = prices -# token_price = Decimal(p1) / Decimal(p0) -# tkn0_address = pool_info["tkn0_address"] -# tkn_contract = mgr.token_contracts.get(tkn0_address, -# mgr.w3.eth.contract(abi=ERC20_ABI, address=tkn0_address) -# ) -# if tkn0_address not in mgr.token_contracts: -# mgr.token_contracts[tkn0_address] = tkn_contract -# tkn_balance = tkn_contract.functions.balanceOf(tkn0_address).call() -# params = { -# "fee": "0.000", -# "fee_float": 0.000, -# "tkn0_balance": 0, -# "tkn1_balance": 0, -# "exchange_name": pool_info["exchange_name"], -# "address": pool_info["address"], -# "y_0": tkn_balance, -# "z_0": tkn_balance, -# "A_0": 0, -# "B_0": int(str(encode_token_price(token_price))), -# } -# pool = mgr.get_or_init_pool(pool_info) -# for key, value in params.items(): -# pool_info[key] = value -# pool.state[key] = value -# mgr.pool_data[row] = pool_info -# unique_key = pool.unique_key() -# unique_key_value = pool_info[unique_key] -# exchange_pool_idx = [idx for idx in range(len(mgr.exchanges[exchange].pools)) if -# mgr.exchanges[exchange].pools[unique_key_value].state[unique_key] == pool_info[unique_key]][0] -# mgr.exchanges[exchange].pools[exchange_pool_idx] = pool -# elif exchange == 'carbon_v1': -# multicall_contract = mgr.pool_contracts[exchange][ -# mgr.cfg.CARBON_CONTROLLER_ADDRESS -# ] -# multicaller = MultiCaller(contract=multicall_contract) -# with multicaller as mc: -# for row in rows_to_update: -# pool_info = mgr.pool_data[row] -# pool_info["last_updated_block"] = current_block -# mc.add_call(multicall_contract.functions.strategy, pool_info["cid"]) -# strategy_list = mc.multicall() -# for row, strategy in zip(rows_to_update, strategy_list): -# pool_info = mgr.pool_data[row] -# fake_event = { -# "args": { -# "id": strategy[0], -# "order0": strategy[3][0], -# "order1": strategy[3][1], -# } -# } -# pool = mgr.get_or_init_pool(pool_info) -# -# params = CarbonV1Pool.parse_event(pool.state, fake_event, "None") -# params["exchange_name"] = exchange -# -# for key, value in params.items(): -# pool_info[key] = value -# pool.state[key] = value -# mgr.pool_data[row] = pool_info -# unique_key = pool.unique_key() -# unique_key_value = pool_info[unique_key] -# exchange_pool_idx = [idx for idx in range(len(mgr.exchanges[exchange].pools)) if -# mgr.exchanges[exchange].pools[unique_key_value].state[unique_key] == pool_info[unique_key]][0] -# mgr.exchanges[exchange].pools[exchange_pool_idx] = pool -# else: -# raise ValueError(f"Exchange {exchange} not supported for multicall. Add contract to [" -# f"managers.contract.init_exchange_contracts]") - def get_tenderly_pol_events( mgr, @@ -1370,7 +1181,7 @@ def setup_replay_from_block(mgr: Any, block_number: int) -> Tuple[str, int]: tenderly_project = os.getenv("TENDERLY_PROJECT") # Base URL for Tenderly's API - base_url = "https://api.tenderly.co/api/v2" + base_url = "https://api.tenderly.co/api/v1" # Define the headers for the request headers = {"X-Access-Key": tenderly_access_key, "Content-Type": "application/json"} @@ -1392,30 +1203,6 @@ def setup_replay_from_block(mgr: Any, block_number: int) -> Tuple[str, int]: # Extract the fork id from the response fork_id = fork_data["simulation_fork"]["id"] - def replace_tenderly_fork_id(file_path, fork_id): - # Read the file content - with open(file_path, "r") as f: - content = f.readlines() - - # Perform replacement operation - replaced = False - for i, line in enumerate(content): - if line.startswith("TENDERLY_FORK_ID="): - content[i] = f"TENDERLY_FORK_ID={fork_id}\n" - replaced = True - break - - # If the TENDERLY_FORK_ID was not found, append it - if not replaced: - content.append(f"TENDERLY_FORK_ID={fork_id}\n") - - # Write the modified content back to the file - with open(file_path, "w") as f: - f.writelines(content) - - # Replace the TENDERLY_FORK_ID in the .env file - replace_tenderly_fork_id(".env", fork_id) - # Log the fork id mgr.cfg.logger.info(f"Forked with fork id: {fork_id}") @@ -1463,28 +1250,13 @@ def set_network_connection_to_tenderly( ), "Cannot replay from block and use cached events at the same time" if not tenderly_uri and not tenderly_fork_id: return mgr, forked_from_block - elif not tenderly_uri: + elif tenderly_fork_id: tenderly_uri = f"https://rpc.tenderly.co/fork/{tenderly_fork_id}" forked_from_block = None mgr.cfg.logger.info( f"Using Tenderly fork id: {tenderly_fork_id} at {tenderly_uri}" ) - - if mgr.cfg.connection.network.is_connected: - with contextlib.suppress(Exception): - mgr.cfg.connection.network.disconnect() - - importlib.reload(sys.modules["fastlane_bot.config.connect"]) - from fastlane_bot.config.connect import EthereumNetwork - - connection = EthereumNetwork( - network_id="tenderly", - network_name="Tenderly (Alchemy)", - provider_url=tenderly_uri, - provider_name="alchemy", - ) - connection.connect_network() - mgr.cfg.w3 = connection.web3 + mgr.cfg.w3 = Web3(Web3.HTTPProvider(tenderly_uri)) if tenderly_fork_id and not forked_from_block: forked_from_block = mgr.cfg.w3.eth.blockNumber @@ -1492,7 +1264,7 @@ def set_network_connection_to_tenderly( assert ( mgr.cfg.w3.provider.endpoint_uri == tenderly_uri ), f"Failed to connect to Tenderly fork at {tenderly_uri} - got {mgr.cfg.w3.provider.endpoint_uri} instead" - mgr.cfg.logger.info(f"Successfully connected to Tenderly fork at {tenderly_uri}") + mgr.cfg.logger.info(f"Successfully connected to Tenderly fork at {tenderly_uri}, forked from block: {forked_from_block}") mgr.cfg.NETWORK = mgr.cfg.NETWORK_TENDERLY return mgr, forked_from_block @@ -1520,21 +1292,7 @@ def set_network_connection_to_mainnet( not use_cached_events ), "Cannot replay from block and use cached events at the same time" - if mgr.cfg.connection.network.is_connected: - with contextlib.suppress(Exception): - mgr.cfg.connection.network.disconnect() - - importlib.reload(sys.modules["fastlane_bot.config.connect"]) - from fastlane_bot.config.connect import EthereumNetwork - - connection = EthereumNetwork( - network_id="mainnet", - network_name="Ethereum Mainnet", - provider_url=mainnet_uri, - provider_name="alchemy", - ) - connection.connect_network() - mgr.cfg.w3 = connection.web3 + mgr.cfg.w3 = Web3(Web3.HTTPProvider(mainnet_uri)) assert ( mgr.cfg.w3.provider.endpoint_uri == mainnet_uri @@ -1584,7 +1342,7 @@ def set_network_to_tenderly_if_replay( loop_idx: int, mgr: Any, replay_from_block: int, - tenderly_uri: str, + tenderly_uri: str or None, use_cached_events: bool, forked_from_block: int = None, tenderly_fork_id: str = None, @@ -1648,6 +1406,8 @@ def set_network_to_tenderly_if_replay( return mgr, tenderly_uri, forked_from_block else: + tenderly_uri, forked_from_block = setup_replay_from_block(mgr=mgr, block_number=replay_from_block) + mgr.cfg.NETWORK = mgr.cfg.NETWORK_TENDERLY return mgr, tenderly_uri, forked_from_block @@ -1829,9 +1589,10 @@ def handle_replay_from_block(replay_from_block: int) -> (int, int, bool): The time interval at which the bot polls for new events. """ - assert ( - replay_from_block > 0 - ), "The block number to replay from must be greater than 0." + if replay_from_block: + assert ( + replay_from_block > 0 + ), "The block number to replay from must be greater than 0." reorg_delay = 0 use_cached_events = False polling_interval = 0 diff --git a/fastlane_bot/utils.py b/fastlane_bot/utils.py index 5fc1db610..ddc8dba14 100644 --- a/fastlane_bot/utils.py +++ b/fastlane_bot/utils.py @@ -119,17 +119,6 @@ def initialize_contract(web3, address: str, abi=None) -> Contract: return initialize_contract_with_abi(address=address, abi=abi, web3=web3) -def get_contract_from_abi(address: str, exchange_name: str) -> Contract: - """ - The contract of the exchange. - """ - return Contract.from_abi( - name=f"{address}", - address=f"{address}", - abi=get_abi_and_router(exchange_name)[0], - ) - - def convert_decimals(amt: Decimal, n: int) -> Decimal: """ Utility function to convert to Decimaling point value of a specific precision. diff --git a/main.py b/main.py index 125933791..56796fbc3 100644 --- a/main.py +++ b/main.py @@ -9,19 +9,6 @@ from fastlane_bot.events.multicall_utils import multicall_every_iteration -try: - env_var = "TENDERLY_FORK_ID" - with open(".env", "r") as file: - lines = file.readlines() - - with open(".env", "w") as file: - for line in lines: - if line.startswith(f"{env_var}=") or line.startswith(f"export {env_var}="): - line = f"{env_var}=" - file.write(line) -except: - pass - import time from typing import List @@ -52,7 +39,7 @@ verify_min_bnt_is_respected, handle_target_token_addresses, handle_replay_from_block, - update_pools_from_contracts, get_current_block, + update_pools_from_contracts, get_current_block, handle_tenderly_event_exchanges, ) from fastlane_bot.tools.cpc import T from fastlane_bot.utils import find_latest_timestamped_folder @@ -200,7 +187,7 @@ ) @click.option( "--tenderly_event_exchanges", - default="", + default="bancor_pol", type=str, help="A comma-separated string of exchanges to include for the Tenderly event fetcher.", ) @@ -306,7 +293,7 @@ def main( exchanges = handle_exchanges(cfg, exchanges) # Format the tenderly event exchanges - tenderly_event_exchanges = handle_exchanges(cfg, tenderly_event_exchanges) + tenderly_event_exchanges = handle_tenderly_event_exchanges(cfg, tenderly_event_exchanges, tenderly_fork_id) # Log the run configuration cfg.logger.info( @@ -463,157 +450,156 @@ def run( mainnet_uri = mgr.cfg.w3.provider.endpoint_uri forks_to_cleanup = [] while True: - try: + # try: - # Save initial state of pool data to assert whether it has changed - initial_state = mgr.pool_data.copy() + # Save initial state of pool data to assert whether it has changed + initial_state = mgr.pool_data.copy() - # Get current block number, then adjust to the block number reorg_delay blocks ago to avoid reorgs - start_block, replay_from_block = get_start_block( - alchemy_max_block_fetch, last_block, mgr, reorg_delay, replay_from_block - ) + # Get current block number, then adjust to the block number reorg_delay blocks ago to avoid reorgs + start_block, replay_from_block = get_start_block( + alchemy_max_block_fetch, last_block, mgr, reorg_delay, replay_from_block + ) - # Get all events from the last block to the current block - current_block = get_current_block(last_block, mgr, reorg_delay, replay_from_block, tenderly_fork_id) + # Get all events from the last block to the current block + current_block = get_current_block(last_block, mgr, reorg_delay, replay_from_block, tenderly_fork_id) - # Log the current start, end and last block - mgr.cfg.logger.info( - f"Fetching events from {start_block} to {current_block}... {last_block}" - ) + # Log the current start, end and last block + mgr.cfg.logger.info( + f"Fetching events from {start_block} to {current_block}... {last_block}" + ) - # Set the network connection to Mainnet if replaying from a block - mgr = set_network_to_mainnet_if_replay( - last_block, - loop_idx, - mainnet_uri, + # Set the network connection to Mainnet if replaying from a block + mgr = set_network_to_mainnet_if_replay( + last_block, + loop_idx, + mainnet_uri, + mgr, + replay_from_block, + use_cached_events, + ) + + # Get the events + latest_events = ( + get_cached_events(mgr, logging_path) + if use_cached_events + else get_latest_events( + current_block, mgr, - replay_from_block, - use_cached_events, + n_jobs, + start_block, + cache_latest_only, + logging_path, ) + ) - # Get the events - latest_events = ( - get_cached_events(mgr, logging_path) - if use_cached_events - else get_latest_events( - current_block, - mgr, - n_jobs, - start_block, - cache_latest_only, - logging_path, - ) - ) + # Update the pools from the latest events + update_pools_from_events(n_jobs, mgr, latest_events) + + # Set the network connection to Tenderly if replaying from a block + mgr, tenderly_uri, forked_from_block = set_network_to_tenderly_if_replay( + last_block=last_block, + loop_idx=loop_idx, + mgr=mgr, + replay_from_block=replay_from_block, + tenderly_uri=tenderly_uri, + use_cached_events=use_cached_events, + tenderly_fork_id=tenderly_fork_id, + ) - # Update the pools from the latest events - update_pools_from_events(n_jobs, mgr, latest_events) - - # Set the network connection to Tenderly if replaying from a block - mgr, tenderly_uri, forked_from_block = set_network_to_tenderly_if_replay( - last_block=last_block, - loop_idx=loop_idx, - mgr=mgr, - replay_from_block=replay_from_block, - tenderly_uri=tenderly_uri, - use_cached_events=use_cached_events, - tenderly_fork_id=tenderly_fork_id, - ) + # Handle the initial iteration (backdate pools, update pools from contracts, etc.) + handle_initial_iteration( + backdate_pools=backdate_pools, + current_block=current_block, + last_block=last_block, + mgr=mgr, + n_jobs=n_jobs, + start_block=start_block + ) - # Handle the initial iteration (backdate pools, update pools from contracts, etc.) - handle_initial_iteration( - backdate_pools=backdate_pools, - current_block=current_block, - last_block=last_block, - mgr=mgr, - n_jobs=n_jobs, - start_block=start_block - ) + # Run multicall every iteration + multicall_every_iteration(current_block=current_block, mgr=mgr) + + # Update the last block number + last_block = current_block + + # Write the pool data to disk + write_pool_data_to_disk(cache_latest_only=cache_latest_only, logging_path=logging_path, mgr=mgr, current_block=current_block) + + # Handle/remove duplicates in the pool data + handle_duplicates(mgr) + + # Delete the bot (if it exists) to avoid memory leaks + del bot + + # Re-initialize the bot + bot = init_bot(mgr) + + # Verify that the state has changed + verify_state_changed(bot=bot, initial_state=initial_state, mgr=mgr) + + # Verify that the minimum profit in BNT is respected + verify_min_bnt_is_respected(bot=bot, mgr=mgr) + + # Handle subsequent iterations + handle_subsequent_iterations( + arb_mode=arb_mode, + bot=bot, + flashloan_tokens=flashloan_tokens, + polling_interval=polling_interval, + randomizer=randomizer, + run_data_validator=run_data_validator, + target_tokens=target_tokens, + loop_idx=loop_idx, + logging_path=logging_path, + replay_from_block=replay_from_block, + tenderly_uri=tenderly_uri, + mgr=mgr, + forked_from_block=forked_from_block, + ) - # Run multicall every iteration - multicall_every_iteration(current_block=current_block, mgr=mgr) - - # Update the last block number - last_block = current_block - - # Write the pool data to disk - write_pool_data_to_disk(cache_latest_only=cache_latest_only, logging_path=logging_path, mgr=mgr, current_block=current_block) - - # Handle/remove duplicates in the pool data - handle_duplicates(mgr) - - # Delete the bot (if it exists) to avoid memory leaks - del bot - - # Re-initialize the bot - bot = init_bot(mgr) - - # Verify that the state has changed - verify_state_changed(bot=bot, initial_state=initial_state, mgr=mgr) - - # Verify that the minimum profit in BNT is respected - verify_min_bnt_is_respected(bot=bot, mgr=mgr) - - # Handle subsequent iterations - handle_subsequent_iterations( - arb_mode=arb_mode, - bot=bot, - flashloan_tokens=flashloan_tokens, - polling_interval=polling_interval, - randomizer=randomizer, - run_data_validator=run_data_validator, - target_tokens=target_tokens, - loop_idx=loop_idx, - logging_path=logging_path, - replay_from_block=replay_from_block, - tenderly_uri=tenderly_uri, - forks_to_cleanup=forks_to_cleanup, - mgr=mgr, - forked_from_block=forked_from_block, - ) + # Increment the loop index + loop_idx += 1 - # Increment the loop index - loop_idx += 1 - - # Sleep for the polling interval - if not replay_from_block: - time.sleep(polling_interval) - - # Check if timeout has been hit, and if so, break the loop for tests - if timeout is not None and time.time() - start_timeout > timeout: - mgr.cfg.logger.info("Timeout hit... stopping bot") - break - - # Delete all Tenderly forks except the most recent one - if replay_from_block and not tenderly_fork_id: - break - - if loop_idx == 1: - mgr.cfg.logger.info( - """ - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - - Finished first iteration of data sync. Now starting main loop arbitrage search. - - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - """ - ) - - if tenderly_fork_id: - w3 = Web3(HTTPProvider(tenderly_uri)) - - # Increase time and blocks - params = [w3.toHex(increment_time)] # number of seconds - w3.provider.make_request(method="evm_increaseTime", params=params) - - params = [w3.toHex(increment_blocks)] # number of blocks - w3.provider.make_request(method="evm_increaseBlocks", params=params) - - except Exception as e: - mgr.cfg.logger.error(f"Error in main loop: {e}") + # Sleep for the polling interval + if not replay_from_block: time.sleep(polling_interval) + # Check if timeout has been hit, and if so, break the loop for tests + if timeout is not None and time.time() - start_timeout > timeout: + mgr.cfg.logger.info("Timeout hit... stopping bot") + break + + # Delete all Tenderly forks except the most recent one + if replay_from_block and not tenderly_fork_id: + break + + if loop_idx == 1: + mgr.cfg.logger.info( + """ + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + Finished first iteration of data sync. Now starting main loop arbitrage search. + + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + """ + ) + + if tenderly_fork_id: + w3 = Web3(HTTPProvider(tenderly_uri)) + + # Increase time and blocks + params = [w3.toHex(increment_time)] # number of seconds + w3.provider.make_request(method="evm_increaseTime", params=params) + + params = [w3.toHex(increment_blocks)] # number of blocks + w3.provider.make_request(method="evm_increaseBlocks", params=params) + + # except Exception as e: + # mgr.cfg.logger.error(f"Error in main loop: {e}") + # time.sleep(polling_interval) + if __name__ == "__main__": main() From ff2cd507bf24aa700d60c8386b27a9b70bd0be67 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Thu, 28 Sep 2023 02:54:43 -0700 Subject: [PATCH 25/33] adds new token static data --- fastlane_bot/data/tokens.csv | 4670 +++++++++++++++++----------------- 1 file changed, 2341 insertions(+), 2329 deletions(-) diff --git a/fastlane_bot/data/tokens.csv b/fastlane_bot/data/tokens.csv index b51363994..382946280 100644 --- a/fastlane_bot/data/tokens.csv +++ b/fastlane_bot/data/tokens.csv @@ -1,2330 +1,2342 @@ id,key,symbol,name,address,decimals -1.0,OCTO-2BA3,OCTO,OCTO,0x7240aC91f01233BaAf8b064248E80feaA5912BA3,18 -2.0,USDC-eB48,USDC,USDC,0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48,6 -3.0,ECO-5727,ECO,ECO,0x8dBF9A4c99580fC7Fd4024ee08f3994420035727,18 -4.0,WBTC-C599,WBTC,WBTC,0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599,8 -5.0,DIGG-01C3,DIGG,DIGG,0x798D1bE841a82a273720CE31c822C61a67a601C3,9 -6.0,SPIRAL-1C3c,SPIRAL,SPIRAL,0x01792e1548Dc317bDE6123fe92da1Fe6d7311C3c,9 -7.0,DYP-ef17,DYP,DYP,0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17,18 -8.0,FTG-7659,FTG,FTG,0x3A4CaB3DcfaB144FE7eB2B5a3e288Cc03dC07659,18 -9.0,USDT-1ec7,USDT,USDT,0xdAC17F958D2ee523a2206206994597C13D831ec7,6 -10.0,ORE-782A,ORE,ORE,0x4f640F2529ee0cF119A2881485845FA8e61A782A,18 -11.0,CWEB-Bf04,CWEB,CWEB,0x505B5eDa5E25a67E1c24A2BF1a527Ed9eb88Bf04,18 -12.0,BigSB-b6F6,BigSB,BigSB,0x131157c6760f78f7dDF877C0019Eba175BA4b6F6,18 -13.0,FRAX-b99e,FRAX,FRAX,0x853d955aCEf822Db058eb8505911ED77F175b99e,18 -14.0,USDx-23E3,USDx,USDx,0x2F6081E3552b1c86cE4479B80062A1ddA8EF23E3,9 -15.0,RFOX-8262,RFOX,RFOX,0xa1d6Df714F91DeBF4e0802A542E13067f31b8262,18 -16.0,DAI-1d0F,DAI,DAI,0x6B175474E89094C44Da98b954EedeAC495271d0F,18 -17.0,IDLE-D39e,IDLE,IDLE,0x875773784Af8135eA0ef43b5a374AaD105c5D39e,18 -18.0,HAI-9a63,HAI,HAI,0x05Fb86775Fd5c16290f1E838F5caaa7342bD9a63,8 -19.0,PULSE-97cE,PULSE,PULSE,0x52A047Ee205701895Ee06A375492490EC9C597cE,18 -20.0,GUILD-475A,GUILD,GUILD,0x83E9F223e1edb3486F876EE888d76bFba26c475A,18 -21.0,SPDR-0Fdd,SPDR,SPDR,0xbcD4b7dE6fde81025f74426D43165a5b0D790Fdd,18 -22.0,SNP-FA9d,SNP,SNP,0x6911F552842236bd9E8ea8DDBB3fb414e2C5FA9d,18 -23.0,OCC-7207,OCC,OCC,0x2F109021aFe75B949429fe30523Ee7C0D5B27207,18 -24.0,DAWN-9aFa,DAWN,DAWN,0x580c8520dEDA0a441522AEAe0f9F7A5f29629aFa,18 -25.0,Shird-695f,Shird,Shird,0x8916187112fd6e3624a80C42FA354Cd9756E695f,9 -26.0,PEAK-Ad78,PEAK,PEAK,0x630d98424eFe0Ea27fB1b3Ab7741907DFFEaAd78,8 -27.0,HGET-5148,HGET,HGET,0x7968bc6a03017eA2de509AAA816F163Db0f35148,6 -28.0,bluSGD-db22,bluSGD,bluSGD,0x92830ef7c8d651Ed3A708053c602E807bAd7db22,18 -29.0,ZRX-F498,ZRX,ZRX,0xE41d2489571d322189246DaFA5ebDe1F4699F498,18 -30.0,NineFi-2f1d,NineFi,NineFi,0xe78BFF28D3c5195C752E734E95421bb4bd742f1d,18 -31.0,RBIS-9D7D,RBIS,RBIS,0xf34B1Db61ACa1a371fE97BAd2606c9f534fb9D7D,18 -32.0,WFAIR-8972,WFAIR,WFAIR,0xC6065B9fc8171Ad3D29bad510709249681758972,18 -33.0,SST-9868,SST,SST,0x2863916C6ebDBBf0c6f02F87b7eB478509299868,18 -34.0,UNI-F984,UNI,UNI,0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984,18 -35.0,DSD-66e3,DSD,DSD,0xBD2F0Cd039E0BFcf88901C98c0bFAc5ab27566e3,18 -36.0,NKN-c9eb,NKN,NKN,0x5Cf04716BA20127F1E2297AdDCf4B5035000c9eb,18 -37.0,PLR-9C17,PLR,PLR,0xe3818504c1B32bF1557b16C238B2E01Fd3149C17,18 -38.0,UNKAI-B73D,UNKAI,UNKAI,0x8a34D707189fBFa46930ABFDe3D22abDC48AB73D,9 -39.0,DPR-07a1,DPR,DPR,0xf3AE5d769e153Ef72b4e3591aC004E89F48107a1,18 -40.0,DOGZ-33eF,DOGZ,DOGZ,0x82A77710495A35549D2aDD797412b4a4497D33eF,18 -41.0,ALD-2a8D,ALD,ALD,0xb26C4B3Ca601136Daf98593feAeff9E0CA702a8D,18 -42.0,ONIGIRI-30D0,ONIGIRI,ONIGIRI,0xcf9c692F7e62Af3c571D4173fd4ABf9A3E5330D0,18 -43.0,EYE-1c65,EYE,EYE,0x155ff1A85F440EE0A382eA949f24CE4E0b751c65,18 -44.0,XPR-A2af,XPR,XPR,0xD7EFB00d12C2c13131FD319336Fdf952525dA2af,4 -45.0,MARK-4253,MARK,MARK,0x67c597624B17b16fb77959217360B7cD18284253,9 -46.0,TANGO-3Bef,TANGO,TANGO,0x182F4c4C97cd1c24E1Df8FC4c053E5C47bf53Bef,18 -47.0,GENI-6a39,GENI,GENI,0xAAC1abdb4fB7a91a0e2E036dFacC45F708ed6a39,18 -48.0,GMEE-2373,GMEE,GMEE,0xD9016A907Dc0ECfA3ca425ab20B6b785B42F2373,18 -49.0,MFI-355B,MFI,MFI,0xAa4e3edb11AFa93c41db59842b29de64b72E355B,18 -50.0,KOL-d414,KOL,KOL,0x1CC30e2EAc975416060Ec6FE682041408420d414,18 -51.0,CE-EecE,CE,CE,0x8F12Dfc7981DE79A8A34070a732471f2D335EecE,18 -52.0,ACR-E3CF,ACR,ACR,0x76306F029f8F99EFFE509534037Ba7030999E3CF,18 -53.0,DLTA-D823,DLTA,DLTA,0x0000000DE40dfa9B17854cBC7869D80f9F98D823,18 -54.0,HEX-eb39,HEX,HEX,0x2b591e99afE9f32eAA6214f7B7629768c40Eeb39,8 -55.0,VPAD-4EDc,VPAD,VPAD,0x51FE2E572e97BFEB1D719809d743Ec2675924EDc,18 -56.0,BASv2-5287,BASv2,BASv2,0x106538CC16F938776c7c180186975BCA23875287,18 -57.0,FLy-1472,FLy,FLy,0x85f6eB2BD5a062f5F8560BE93FB7147e16c81472,4 -58.0,XIO-5704,XIO,XIO,0x0f7F961648aE6Db43C75663aC7E5414Eb79b5704,18 -59.0,PLUG-976a,PLUG,PLUG,0x47DA5456bC2e1ce391b645Ce80F2E97192e4976a,18 -60.0,NOW-693b,NOW,NOW,0xE9A95d175a5f4C9369f3b74222402eB1b837693b,8 -61.0,RCN-75A6,RCN,RCN,0xF970b8E36e23F7fC3FD752EeA86f8Be8D83375A6,18 -62.0,VIS-E863,VIS,VIS,0x469084939d1c20Fae3C73704FE963941C51bE863,18 -63.0,KAP-8569,KAP,KAP,0x9625cE7753ace1fa1865A47aAe2c5C2Ce4418569,18 -64.0,SLICE-16D1,SLICE,SLICE,0x0AeE8703D34DD9aE107386d3eFF22AE75Dd616D1,18 -65.0,CSM-8861,CSM,CSM,0x2620638EDA99F9e7E902Ea24a285456EE9438861,18 -66.0,GRO-74D7,GRO,GRO,0x3Ec8798B81485A254928B70CDA1cf0A2BB0B74D7,18 -67.0,FORTH-0ce0,FORTH,FORTH,0x77FbA179C79De5B7653F68b5039Af940AdA60ce0,18 -68.0,DORA-c81d,DORA,DORA,0xbc4171f45EF0EF66E76F979dF021a34B46DCc81d,18 -69.0,DENA-a1DA,DENA,DENA,0x15F0EEDF9Ce24fc4b6826E590A8292CE5524a1DA,18 -70.0,ZEUM-8190,ZEUM,ZEUM,0x436dA116249044E8B4464F0Cf21Dd93311d88190,18 -71.0,WOZX-b79F,WOZX,WOZX,0x34950Ff2b487d9E5282c5aB342d08A2f712eb79F,18 -72.0,TGL-4e92,TGL,TGL,0xCc4450EDEfbBEb450E2f205f4ECEfF7232D54e92,18 -73.0,CORN-ea5E,CORN,CORN,0xa456b515303B2Ce344E9d2601f91270f8c2Fea5E,18 -74.0,JGN-e041,JGN,JGN,0x73374Ea518De7adDD4c2B624C0e8B113955ee041,18 -75.0,CP-CFCa,CP,CP,0x5BDC32663Ec75E85ff4abc2CAe7ae8B606A2CFCa,18 -76.0,FARM-A14D,FARM,FARM,0xa0246c9032bC3A600820415aE600c6388619A14D,18 -77.0,JOY-1FB5,JOY,JOY,0x4E114d405b9Ba2F59524941733e505Ae03Fb1FB5,18 -78.0,PEPE-E35F,PEPE,PEPE,0x4A27e9aAb8F8bA9de06766C8476eD1D16494E35F,18 -79.0,WETH-6Cc2,WETH,WETH,0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2,18 -80.0,X2Y2-EBC9,X2Y2,X2Y2,0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9,18 -81.0,FANC-c045,FANC,FANC,0xbB126042235E6bD38B17744cb31a8bF4A206c045,18 -82.0,ANB-9692,ANB,ANB,0x2c9acEb63181cd08a093d052ec041e191f229692,18 -83.0,REVV-A8Ca,REVV,REVV,0x557B933a7C2c45672B610F8954A3deB39a51A8Ca,18 -84.0,Mars-70B7,Mars,Mars,0x66C0DDEd8433c9EA86C8cf91237B14e10b4d70B7,18 -85.0,REL-05ec,REL,REL,0xb6c4267C4877BB0D6b1685Cfd85b0FBe82F105ec,18 -86.0,MTL-355e,MTL,MTL,0xF433089366899D83a9f26A773D59ec7eCF30355e,8 -87.0,DOG-868D,DOG,DOG,0x47D920a911cB9a0Ad4618698bA3feF800aBC868D,18 -88.0,WAVES-f29a,WAVES,WAVES,0x1cF4592ebfFd730c7dc92c1bdFFDfc3B9EfCf29a,18 -89.0,BUSD-7C53,BUSD,BUSD,0x4Fabb145d64652a948d72533023f6E7A623C7C53,18 -90.0,NGL-66aE,NGL,NGL,0x2653891204F463fb2a2F4f412564b19e955166aE,18 -91.0,ELON-60F3,ELON,ELON,0x761D38e5ddf6ccf6Cf7c55759d5210750B5D60F3,18 -92.0,GAME-1d1c,GAME,GAME,0xD567B5F02b9073aD3a982a099a23Bf019FF11d1c,5 -93.0,SRK-74E6,SRK,SRK,0x0488401c3F535193Fa8Df029d9fFe615A06E74E6,18 -94.0,$LSVR-c09B,$LSVR,$LSVR,0x79A06aCb8bdd138BEEECcE0f1605971f3AC7c09B,18 -95.0,MGG-8740,MGG,MGG,0x7237C0B30B1355f1B76355582f182F6f04B08740,18 -96.0,wOXEN-bcc5,wOXEN,wOXEN,0xd1e2d5085b39B80C9948AeB1b9aA83AF6756bcc5,9 -97.0,GEM-efcC,GEM,GEM,0x9008064E6cf73e27a3Aba4B10E69f855A4F8efcC,18 -98.0,UBI-E9a4,UBI,UBI,0xDd1Ad9A21Ce722C151A836373baBe42c868cE9a4,18 -99.0,LINK-86CA,LINK,LINK,0x514910771AF9Ca656af840dff83E8264EcF986CA,18 -100.0,DEXG-436D,DEXG,DEXG,0xB81D70802a816B5DacBA06D708B5acF19DcD436D,18 -101.0,XEN-6Fb8,XEN,XEN,0x06450dEe7FD2Fb8E39061434BAbCFC05599a6Fb8,18 -102.0,PEPES-7E12,PEPES,PEPES,0x6BF765C43030387a983f429c1438e9D2025B7E12,18 -103.0,SPWN-1126,SPWN,SPWN,0xe516D78d784C77D479977BE58905B3f2b1111126,18 -104.0,GYEN-D911,GYEN,GYEN,0xC08512927D12348F6620a698105e1BAac6EcD911,6 -105.0,TOAD-eD1e,TOAD,TOAD,0xBfB2b6870501a6Ff17121D676A0A45a38c9eeD1e,9 -106.0,ARPA-b71a,ARPA,ARPA,0xBA50933C268F567BDC86E1aC131BE072C6B0b71a,18 -107.0,EVA-8707,EVA,EVA,0xd6cAF5Bd23CF057f5FcCCE295Dcc50C01C198707,18 -108.0,BAG-14b0,BAG,BAG,0x28A06c02287e657ec3F8e151A13C36A1D43814b0,18 -109.0,ABR-8C7C,ABR,ABR,0xa11bD36801d8fa4448F0ac4ea7A62e3634cE8C7C,18 -110.0,OXAI-Fe9d,OXAI,OXAI,0x428dca9537116148616a5A3E44035Af17238Fe9d,18 -111.0,UBXN-1065,UBXN,UBXN,0x7A73839bd0e5cdED853cB01aa9773F8989381065,18 -112.0,OIL-88a5,OIL,OIL,0x0275E1001e293C46CFe158B3702AADe0B99f88a5,18 -113.0,ESD-d723,ESD,ESD,0x36F3FD68E7325a35EB768F1AedaAe9EA0689d723,18 -114.0,LXF-772A,LXF,LXF,0xA799C4ADcf62E025cE4D8aBE6A77CebC487d772A,18 -115.0,ERP-2267,ERP,ERP,0x0a0e3bfD5a8cE610E735D4469Bc1b3b130402267,18 -116.0,IOEN-893A,IOEN,IOEN,0x1e4E46b7BF03ECE908c88FF7cC4975560010893A,18 -117.0,VNDC-b5DE,VNDC,VNDC,0x1F3F677Ecc58F6A1F9e2CF410dF4776a8546b5DE,0 -118.0,BACON-38e7,BACON,BACON,0x34f797e7190C131cF630524655A618b5BD8738e7,18 -119.0,DTX-3F75,DTX,DTX,0x765f0C16D1Ddc279295c1a7C24B0883F62d33F75,18 -120.0,LINA-1937,LINA,LINA,0x3E9BC21C9b189C09dF3eF1B824798658d5011937,18 -121.0,PINA-780D,PINA,PINA,0x02814F435dD04e254Be7ae69F61FCa19881a780D,18 -122.0,PEPEBET-0350,PEPEBET,PEPEBET,0x33Cf519030235F75A13F29aFcFF5D6ff4Fd10350,18 -123.0,ARMOR-E46a,ARMOR,ARMOR,0x1337DEF16F9B486fAEd0293eb623Dc8395dFE46a,18 -124.0,MATIC-eBB0,MATIC,MATIC,0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0,18 -125.0,SOTU-9162,SOTU,SOTU,0xa91c82B6933105C23298E631A0C1Be751D239162,18 -126.0,HEZ-8dEE,HEZ,HEZ,0xEEF9f339514298C6A857EfCfC1A762aF84438dEE,18 -127.0,STRONG-017c,STRONG,STRONG,0x990f341946A3fdB507aE7e52d17851B87168017c,18 -128.0,PPAY-3Bb2,PPAY,PPAY,0x054D64b73d3D8A21Af3D764eFd76bCaA774f3Bb2,18 -129.0,GST-1404,GST,GST,0x473037de59cf9484632f4A27B509CFE8d4a31404,8 -130.0,FNK-48Ad,FNK,FNK,0xB5FE099475d3030DDe498c3BB6F3854F762A48Ad,18 -131.0,ICE-7DF9,ICE,ICE,0xf16e81dce15B08F326220742020379B855B87DF9,18 -132.0,REEF-5ACf,REEF,REEF,0xFE3E6a25e6b192A42a44ecDDCd13796471735ACf,18 -133.0,FRONT-793f,FRONT,FRONT,0xf8C3527CC04340b208C854E985240c02F7B7793f,18 -134.0,FMTA-9AB4,FMTA,FMTA,0xAa9D866666C2A3748d6B23Ff69E63E52f08d9AB4,18 -135.0,ZERO-a574,ZERO,ZERO,0xF0939011a9bb95c3B791f0cb546377Ed2693a574,18 -136.0,SHROOM-f183,SHROOM,SHROOM,0xEd0439EACf4c4965AE4613D77a5C2Efe10e5f183,18 -137.0,FLASH-F2F8,FLASH,FLASH,0xB1f1F47061A7Be15C69f378CB3f69423bD58F2F8,18 -138.0,NAO-53dc,NAO,NAO,0xd049206fB408a611E543791F2d8F102a8bC253dc,18 -139.0,MPL-35e6,MPL,MPL,0x33349B282065b0284d756F0577FB39c158F935e6,18 -140.0,DOE-d7eF,DOE,DOE,0xf8E9F10c22840b613cdA05A0c5Fdb59A4d6cd7eF,18 -141.0,DERC-a9aE,DERC,DERC,0x9fa69536d1cda4A04cFB50688294de75B505a9aE,18 -142.0,BLU-1FfD,BLU,BLU,0xe5D2e173B120341face9e9970889C9FE64081FfD,18 -143.0,PRE-2A0F,PRE,PRE,0xEC213F83defB583af3A000B1c0ada660b1902A0F,18 -144.0,DBI-0EcE,DBI,DBI,0x2dE509bf0014ddF697b220bE628213034d320EcE,18 -145.0,XFIT-7441,XFIT,XFIT,0x4aa41bC1649C9C3177eD16CaaA11482295fC7441,18 -146.0,ELFI-16f4,ELFI,ELFI,0x4dA34f8264CB33A5c9F17081B9EF5Ff6091116f4,18 -147.0,ASW-2a11,ASW,ASW,0x56694577564FdD577a0ABB20FE95C1E2756C2a11,18 -148.0,BEL-7e14,BEL,BEL,0xA91ac63D040dEB1b7A5E4d4134aD23eb0ba07e14,18 -149.0,HORD-3448,HORD,HORD,0x43A96962254855F16b925556f9e97BE436A43448,18 -150.0,DIGITS-404F,DIGITS,DIGITS,0xBE56ab825fD35678A32dc35bc4EB17e238e1404F,18 -151.0,FWT-a295,FWT,FWT,0x20e7125677311Fca903A8897042b9983f22Ea295,18 -152.0,CLS-de37,CLS,CLS,0x675BBC7514013E2073DB7a919F6e4cbeF576de37,18 -153.0,SAKURA-FeD6,SAKURA,SAKURA,0xb208b1a5664574F72d22E9e9981837310cACFeD6,9 -154.0,REQ-938a,REQ,REQ,0x8f8221aFbB33998d8584A2B05749bA73c37a938a,18 -155.0,BOND-750f,BOND,BOND,0x0391D2021f89DC339F60Fff84546EA23E337750f,18 -156.0,ZKS-58c6,ZKS,ZKS,0xe4815AE53B124e7263F08dcDBBB757d41Ed658c6,18 -157.0,ROUTE-3dB4,ROUTE,ROUTE,0x16ECCfDbb4eE1A85A33f3A9B21175Cd7Ae753dB4,18 -158.0,CRU-3c41,CRU,CRU,0x32a7C02e79c4ea1008dD6564b35F131428673c41,18 -159.0,CIRUS-8756,CIRUS,CIRUS,0xA01199c61841Fce3b3daFB83FeFC1899715c8756,18 -160.0,SYNR-490a,SYNR,SYNR,0xbc6E06778708177a18210181b073DA747C88490a,18 -161.0,GLM-6429,GLM,GLM,0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429,18 -162.0,DEC-E7F3,DEC,DEC,0x9393fdc77090F31c7db989390D43F454B1A6E7F3,3 -163.0,SD-D10f,SD,SD,0x30D20208d987713f46DFD34EF128Bb16C404D10f,18 -164.0,BLZ-D668,BLZ,BLZ,0x5732046A883704404F284Ce41FfADd5b007FD668,18 -165.0,MTLX-1d14,MTLX,MTLX,0x2e1E15C44Ffe4Df6a0cb7371CD00d5028e571d14,18 -166.0,NFTY-3208,NFTY,NFTY,0xE1D7C7a4596B038CEd2A84bF65B8647271C53208,18 -167.0,DXP-B745,DXP,DXP,0x88aa4a6C5050b9A1b2Aa7e34D0582025cA6AB745,18 -168.0,OCT-c6DC,OCT,OCT,0xF5cFBC74057C610c8EF151A439252680AC68c6DC,18 -169.0,DG-dEDE,DG,DG,0x53C8395465A84955c95159814461466053DedEDE,18 -170.0,iAI-2122,iAI,iAI,0x6dDe4fFD6dB302Bc9a46850f61399e082f6c2122,18 -171.0,SPOOL-0976,SPOOL,SPOOL,0x40803cEA2b2A32BdA1bE61d3604af6a814E70976,18 -172.0,MASK-3074,MASK,MASK,0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074,18 -173.0,ASTO-4689,ASTO,ASTO,0x823556202e86763853b40e9cDE725f412e294689,18 -174.0,XCAD-6Aa0,XCAD,XCAD,0x7659CE147D0e714454073a5dd7003544234b6Aa0,18 -175.0,STABLZ-F7cd,STABLZ,STABLZ,0xA4Eb9C64eC359D093eAc7B65F51Ef933D6e5F7cd,18 -176.0,SNP-E873,SNP,SNP,0x795dBF627484F8248D3d6c09c309825c1563E873,18 -177.0,RACA-9040,RACA,RACA,0x12BB890508c125661E03b09EC06E404bc9289040,18 -178.0,ARCH-1011,ARCH,ARCH,0x73C69d24ad28e2d43D03CBf35F79fE26EBDE1011,18 -179.0,VOW-46Fb,VOW,VOW,0x1BBf25e71EC48B84d773809B4bA55B6F4bE946Fb,18 -180.0,TSUKA-69eD,TSUKA,TSUKA,0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD,9 -181.0,eXRD-9414,eXRD,eXRD,0x6468e79A80C0eaB0F9A2B574c8d5bC374Af59414,18 -182.0,RAD-64A3,RAD,RAD,0x31c8EAcBFFdD875c74b94b077895Bd78CF1E64A3,18 -183.0,BDT-d5Cf,BDT,BDT,0x4Efe8665e564bF454cCF5C90Ee16817F7485d5Cf,18 -184.0,PROS-4B56,PROS,PROS,0x8642A849D0dcb7a15a974794668ADcfbe4794B56,18 -185.0,OPUL-6444,OPUL,OPUL,0x80D55c03180349Fff4a229102F62328220A96444,18 -186.0,FLX-0770,FLX,FLX,0x3Ea8ea4237344C9931214796d9417Af1A1180770,18 -187.0,POLAR-075E,POLAR,POLAR,0x58fcAa970339a9b1f8c0a5b4F3Fcd7af2bA3075E,18 -188.0,Z3-61a6,Z3,Z3,0x50Eec6D765792dCfB0913C8403ef2A12e1B861a6,18 -189.0,Okinami-4121,Okinami,Okinami,0x1C4853Ec0d55e420002c5eFaBc7Ed8e0bA7A4121,9 -190.0,HDRN-5e06,HDRN,HDRN,0x3819f64f282bf135d62168C1e513280dAF905e06,9 -191.0,FLEX-bc0A,FLEX,FLEX,0xFcF8eda095e37A41e002E266DaAD7efC1579bc0A,18 -192.0,DAO-09Ad,DAO,DAO,0x0f51bb10119727a7e5eA3538074fb341F56B09Ad,18 -193.0,WOO-5D4B,WOO,WOO,0x4691937a7508860F876c9c0a2a617E7d9E945D4B,18 -194.0,O-c40f,O,O,0xb53ecF1345caBeE6eA1a65100Ebb153cEbcac40f,18 -195.0,POND-D26C,POND,POND,0x57B946008913B82E4dF85f501cbAeD910e58D26C,18 -196.0,ALI-4181,ALI,ALI,0x6B0b3a982b4634aC68dD83a4DBF02311cE324181,18 -197.0,NRFX-94a4,NRFX,NRFX,0x01b443495834D667b42f54d2b77eEd6951eD94a4,18 -198.0,XDEX-6c83,XDEX,XDEX,0x000000000000d0151E748d25b766e77efe2A6c83,18 -199.0,OTHR-C334,OTHR,OTHR,0x407a3E019c655B779ccD098Ff50377E4C5F1C334,9 -200.0,UNIX-7aC8,UNIX,UNIX,0xDDD6A0ECc3c6F6C102E5eA3d8Af7B801d1a77aC8,18 -201.0,INSUR-7429,INSUR,INSUR,0x544c42fBB96B39B21DF61cf322b5EDC285EE7429,18 -202.0,GR-575c,GR,GR,0xcE593a29905951E8Fc579bC092ecA72577dA575c,6 -203.0,FLUT-1870,FLUT,FLUT,0x4F08705FB8F33AffC231ed66e626B40E84A71870,11 -204.0,SYLO-dcd4,SYLO,SYLO,0xf293d23BF2CDc05411Ca0edDD588eb1977e8dcd4,18 -205.0,BAC-A69a,BAC,BAC,0x3449FC1Cd036255BA1EB19d65fF4BA2b8903A69a,18 -206.0,MYTH-2003,MYTH,MYTH,0xBA41Ddf06B7fFD89D1267b5A93BFeF2424eb2003,18 -207.0,HDAO-fF2D,HDAO,HDAO,0xdaC657ffD44a3B9d8aba8749830Bf14BEB66fF2D,18 -208.0,BNT-FF1C,BNT,BNT,0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C,18 -209.0,DNXC-f03a,DNXC,DNXC,0x20a8CEC5fffea65Be7122BCaB2FFe32ED4Ebf03a,18 -210.0,BRKL-9ff8,BRKL,BRKL,0x4674a4F24C5f63D53F22490Fb3A08eAAAD739ff8,18 -211.0,FEAR-1E83,FEAR,FEAR,0x88A9A52F944315D5B4e917b9689e65445C401E83,18 -212.0,UDO-dC06,UDO,UDO,0xea3983Fc6D0fbbC41fb6F6091f68F3e08894dC06,18 -213.0,MUSK-2Cd8,MUSK,MUSK,0x6069c9223e8a5DA1ec49ac5525d4BB757Af72Cd8,18 -214.0,SALT-0581,SALT,SALT,0x4156D3342D5c385a87D264F90653733592000581,8 -215.0,RPG-e251,RPG,RPG,0x0E5C8C387C5EBa2eCbc137aD012aeD5Fe729e251,18 -216.0,OBOT-0c32,OBOT,OBOT,0xeDADeB5fAa413e6c8623461849DFD0B7C3790c32,18 -217.0,DUCK-305F,DUCK,DUCK,0xC0bA369c8Db6eB3924965e5c4FD0b4C1B91e305F,18 -218.0,BAMBOO-2e89,BAMBOO,BAMBOO,0xf56842Af3B56Fd72d17cB103f92d027bBa912e89,18 -219.0,O3-7d28,O3,O3,0xEe9801669C6138E84bD50dEB500827b776777d28,18 -220.0,KYOKO-BaC2,KYOKO,KYOKO,0x14a32f050FACF226Ec60882398A9BF36d91DBaC2,18 -221.0,CHANGE-2754,CHANGE,CHANGE,0x7051faED0775f664a0286Af4F75ef5ed74e02754,18 -222.0,MDF-B411,MDF,MDF,0x1a57367C6194199e5D9aEa1cE027431682dfB411,18 -223.0,TIDAL-33B7,TIDAL,TIDAL,0x29CbD0510EEc0327992CD6006e63F9Fa8E7f33B7,18 -224.0,Daruma-f704,Daruma,Daruma,0xA888D9616C2222788fa19f05F77221A290eEf704,9 -225.0,SDAO-875F,SDAO,SDAO,0x993864E43Caa7F7F12953AD6fEb1d1Ca635B875F,18 -226.0,NFTD-B379,NFTD,NFTD,0x8E0fE2947752BE0d5ACF73aaE77362Daf79cB379,18 -227.0,PNL-B459,PNL,PNL,0x9FC8f0ca1668E87294941b7f627e9C15eA06B459,18 -228.0,DDX-Ed3A,DDX,DDX,0x3A880652F47bFaa771908C07Dd8673A787dAEd3A,18 -229.0,RPL-Bd93,RPL,RPL,0xB4EFd85c19999D84251304bDA99E90B92300Bd93,18 -230.0,BADGER-E53d,BADGER,BADGER,0x3472A5A71965499acd81997a54BBA8D852C6E53d,18 -231.0,SENT-556F,SENT,SENT,0x97AbEe33Cd075c58BFdd174e0885e08E8f03556F,18 -232.0,ALBT-0Eb0,ALBT,ALBT,0x00a8b738E453fFd858a7edf03bcCfe20412f0Eb0,18 -233.0,AKRO-53d7,AKRO,AKRO,0x8Ab7404063Ec4DBcfd4598215992DC3F8EC853d7,18 -234.0,ERC20-EPK-40c4,ERC20-EPK,ERC20-EPK,0xDaF88906aC1DE12bA2b1D2f7bfC94E9638Ac40c4,18 -235.0,BTTY-3D0A,BTTY,BTTY,0x9cc83D580180f0d37d00e5d86ce868f73b6E3D0A,18 -236.0,icc-a177,icc,icc,0x70E67ec0939ec87c3a77b089CA08E0443ea4a177,18 -237.0,DON-c88a,DON,DON,0x217ddEad61a42369A266F1Fb754EB5d3EBadc88a,18 -238.0,MPS-D47D,MPS,MPS,0x96c645D3D3706f793Ef52C19bBACe441900eD47D,0 -239.0,Umoon-C5da,Umoon,Umoon,0x71de2285ec83BB6517D2B3eC8DEb2A6c44D8C5da,18 -240.0,IOI-1d81,IOI,IOI,0x8B3870Df408fF4D7C3A26DF852D41034eDa11d81,6 -241.0,BUMP-2168,BUMP,BUMP,0x785c34312dfA6B74F6f1829f79ADe39042222168,18 -242.0,CRF-219d,CRF,CRF,0x508df5aa4746bE37b5b6A69684DfD8BDC322219d,18 -243.0,WDOGE-98E7,WDOGE,WDOGE,0x35a532d376FFd9a705d0Bb319532837337A398E7,18 -244.0,HILO-5ff6,HILO,HILO,0xbb9FD9Fa4863C03c574007fF3370787B9cE65ff6,18 -245.0,VR-8cdD,VR,VR,0x7d5121505149065b562C789A0145eD750e6E8cdD,18 -246.0,NUM-3079,NUM,NUM,0x3496B523e5C00a4b4150D6721320CdDb234c3079,18 -247.0,BTBS-4356,BTBS,BTBS,0x32E6C34Cd57087aBBD59B5A4AECC4cB495924356,18 -248.0,CPRX-978f,CPRX,CPRX,0xc6e145421FD494B26dCF2BFeB1b02b7c5721978f,18 -249.0,FORM-FA2a,FORM,FORM,0x21381e026Ad6d8266244f2A583b35F9E4413FA2a,18 -250.0,EAG8-EeE4,EAG8,EAG8,0x0A8b16b27D5219c8C6b57D5442CE31D81573EeE4,8 -251.0,HAN-511F,HAN,HAN,0x0c90C57aaf95A3A87eadda6ec3974c99D786511F,18 -252.0,AGIX-b542,AGIX,AGIX,0x5B7533812759B45C2B44C19e320ba2cD2681b542,8 -253.0,VENDETTA-53c3,VENDETTA,VENDETTA,0x3A529A8d4f2ea64D206339fA12A3aF4D431F53c3,18 -254.0,DFI-358A,DFI,DFI,0x8Fc8f8269ebca376D046Ce292dC7eaC40c8D358A,8 -255.0,Dejitaru Shirudo-16AC,Dejitaru Shirudo,Dejitaru Shirudo,0xcf4C68Db4C2FA0bf58dF07B14f45cE7709a716AC,18 -256.0,SHIB-C4cE,SHIB,SHIB,0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE,18 -257.0,CHSB-35Ba,CHSB,CHSB,0xba9d4199faB4f26eFE3551D490E3821486f135Ba,8 -258.0,XETA-3550,XETA,XETA,0x967Fb0D760ED3ce53AfE2f0A071674cccAe73550,18 -259.0,XMT-721e,XMT,XMT,0x3E5D9D8a63CC8a88748f229999CF59487e90721e,18 -260.0,ZAM-f4c6,ZAM,ZAM,0xd373576a9e738F37Dc6882328358Ff69c4cAf4c6,18 -261.0,MAXI-e84b,MAXI,MAXI,0x0d86EB9f43C57f6FF3BC9E23D8F9d82503f0e84b,8 -262.0,NRFB-f9E8,NRFB,NRFB,0x00281dFCe4cfD72c0b6FDA2AAaF077258743f9E8,0 -263.0,BLID-56A5,BLID,BLID,0x8A7aDc1B690E81c758F1BD0F72DFe27Ae6eC56A5,18 -264.0,ARW-34E4,ARW,ARW,0x351cAa9045D65107b9d311D922D15887cfd634E4,18 -265.0,FEI-87CA,FEI,FEI,0x956F47F50A910163D8BF957Cf5846D573E7f87CA,18 -266.0,ZENIQ-7233,ZENIQ,ZENIQ,0x5b52bfB8062Ce664D74bbCd4Cd6DC7Df53Fd7233,18 -267.0,cDAI-3643,cDAI,cDAI,0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643,8 -268.0,CMT-Dc18,CMT,CMT,0xE910c2a090516Fb7a7Be07f96a464785f2D5Dc18,18 -269.0,DEGENS-8B71,DEGENS,DEGENS,0xDd039990Bd551Ce7437d3bF54d155220B7988B71,18 -270.0,LBlock-D329,LBlock,LBlock,0x2b867efD2dE4Ad2B583Ca0CB3dF9C4040Ef4D329,9 -271.0,ID-6406,ID,ID,0x2dfF88A56767223A5529eA5960Da7A3F5f766406,18 -272.0,SCOIN-0EB4,SCOIN,SCOIN,0x3f5DF2F90DF67E10974fBcB1729c00D3f87c0EB4,6 -273.0,SPC-Ad20,SPC,SPC,0x86ed939B500E121C0C5f493F399084Db596dAd20,18 -274.0,TEAM-dE02,TEAM,TEAM,0xB7c9E99Da8A857cE576A830A9c19312114d9dE02,8 -275.0,NCR-ed9c,NCR,NCR,0xDB5C3C46E28B53a39C255AA39A411dD64e5fed9c,18 -276.0,STFX-Db2d,STFX,STFX,0x9343e24716659A3551eB10Aff9472A2dcAD5Db2d,18 -277.0,GRT-44a7,GRT,GRT,0xc944E90C64B2c07662A292be6244BDf05Cda44a7,18 -278.0,TONCOIN-def1,TONCOIN,TONCOIN,0x582d872A1B094FC48F5DE31D3B73F2D9bE47def1,9 -279.0,BEAR-A26a,BEAR,BEAR,0x17837004eA685690b32dbEaD02a274Ec4333A26a,18 -280.0,LDO-1B32,LDO,LDO,0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32,18 -281.0,CRV-cd52,CRV,CRV,0xD533a949740bb3306d119CC777fa900bA034cd52,18 -282.0,MKR-79A2,MKR,MKR,0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2,18 -283.0,RNDR-eb24,RNDR,RNDR,0x6De037ef9aD2725EB40118Bb1702EBb27e4Aeb24,18 -284.0,ICHI-A881,ICHI,ICHI,0x903bEF1736CDdf2A537176cf3C64579C3867A881,9 -285.0,FXS-64D0,FXS,FXS,0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0,18 -286.0,RAINI-d5eD,RAINI,RAINI,0xeB953eDA0DC65e3246f43DC8fa13f35623bDd5eD,18 -287.0,IPT-FC3d,IPT,IPT,0xd909C5862Cdb164aDB949D92622082f0092eFC3d,18 -288.0,XDAO-Ad28,XDAO,XDAO,0x71eebA415A523F5C952Cc2f06361D5443545Ad28,18 -289.0,ICHI-C4d6,ICHI,ICHI,0x111111517e4929D3dcbdfa7CCe55d30d4B6BC4d6,18 -290.0,TR3-5F98,TR3,TR3,0xF61BF4d1A948487d61b8fa63808AAC06bda55F98,18 -291.0,LOOKS-421E,LOOKS,LOOKS,0xf4d2888d29D722226FafA5d9B24F9164c092421E,18 -292.0,BONE-18d9,BONE,BONE,0x9813037ee2218799597d83D4a5B6F3b6778218d9,18 -293.0,SWASH-2F80,SWASH,SWASH,0xA130E3a33a4d84b04c3918c4E5762223Ae252F80,18 -294.0,CELL-e099,CELL,CELL,0x26c8AFBBFE1EBaca03C2bB082E69D0476Bffe099,18 -295.0,CLB-3c84,CLB,CLB,0x0AD896863ce4Cd84f10a9D30D4f509cefFd53c84,18 -296.0,PP-CfD0,PP,PP,0x9565c2036963697786705120Fc59310F747bCfD0,18 -297.0,SMTX-419b,SMTX,SMTX,0x102203517ce35AC5Cab9a2cda80DF03f26c7419b,18 -298.0,WMLX-1AAd,WMLX,WMLX,0x77D0cb0ab54F9E74b9405a5B3f60DA06A78F1AAd,0 -299.0,TRB-78a0,TRB,TRB,0x88dF592F8eb5D7Bd38bFeF7dEb0fBc02cf3778a0,18 -300.0,MM-c611,MM,MM,0x6B4c7A5e3f0B99FCD83e9c089BDDD6c7FCe5c611,18 -301.0,HOME-1F62,HOME,HOME,0xb8919522331C59f5C16bDfAA6A121a6E03A91F62,6 -302.0,XYO-E758,XYO,XYO,0x55296f69f40Ea6d20E478533C15A6B08B654E758,18 -303.0,oneICHI-1e07,oneICHI,oneICHI,0x4db2c02831c9ac305FF9311Eb661f80f1dF61e07,18 -304.0,HYVE-f7d4,HYVE,HYVE,0xd794DD1CAda4cf79C9EebaAb8327a1B0507ef7d4,18 -305.0,B2M-0a1f,B2M,B2M,0xd7c302fc3ac829C7E896a32c4Bd126f3e8Bd0a1f,18 -306.0,rETH-6393,rETH,rETH,0xae78736Cd615f374D3085123A210448E74Fc6393,18 -307.0,XTP-50fc,XTP,XTP,0x6368e1E18c4C419DDFC608A0BEd1ccb87b9250fc,18 -308.0,AVINOC-A3EF,AVINOC,AVINOC,0xF1cA9cb74685755965c7458528A36934Df52A3EF,18 -309.0,DOLA-9ce4,DOLA,DOLA,0x865377367054516e17014CcdED1e7d814EDC9ce4,18 -310.0,OHM-f1D5,OHM,OHM,0x64aa3364F17a4D01c6f1751Fd97C2BD3D7e7f1D5,9 -311.0,UCOIL-9a13,UCOIL,UCOIL,0x549044000a94870ab7c5017cd8fB0AEfa9239a13,18 -312.0,SPH-a406,SPH,SPH,0xA0CF46eb152656C7090e769916eb44a138aaa406,18 -313.0,ASH-0b92,ASH,ASH,0x64D91f12Ece7362F91A6f8E7940Cd55F05060b92,18 -314.0,LUSD-8bA0,LUSD,LUSD,0x5f98805A4E8be255a32880FDeC7F6728C6568bA0,18 -315.0,PINE-3a51,PINE,PINE,0x569424c5EE13884A193773fDC5d1c5f79C443a51,18 -316.0,eLunr-Aa5A,eLunr,eLunr,0xA87135285Ae208e22068AcDBFf64B11Ec73EAa5A,4 -317.0,SWAP-4EFe,SWAP,SWAP,0xCC4304A31d09258b0029eA7FE63d032f52e44EFe,18 -318.0,RELAY-841c,RELAY,RELAY,0x5D843Fa9495d23dE997C394296ac7B4D721E841c,18 -319.0,CHEQ-4de7,CHEQ,CHEQ,0x70EDF1c215D0ce69E7F16FD4E6276ba0d99d4de7,9 -320.0,CPD-5355,CPD,CPD,0x9b31bb425D8263fA1b8B9d090b83CF0C31665355,18 -321.0,CGG-5e43,CGG,CGG,0x1fE24F25b1Cf609B9c4e7E12D802e3640dFA5e43,18 -322.0,Y2B-0650,Y2B,Y2B,0xF9C12B27cE5058ab98ce11BD53900f84E18C0650,18 -323.0,cbETH-9704,cbETH,cbETH,0xBe9895146f7AF43049ca1c1AE358B0541Ea49704,18 -324.0,DSU-7109,DSU,DSU,0x605D26FBd5be761089281d5cec2Ce86eeA667109,18 -325.0,CRPT-6d8B,CRPT,CRPT,0x08389495D7456E1951ddF7c3a1314A4bfb646d8B,18 -326.0,LEXE-6833,LEXE,LEXE,0x53011E93F21EC7A74cdfBB7E6548F1ABCE306833,18 -327.0,POLA-2CED,POLA,POLA,0xc691bc298a304d591Ad9b352c7A8D216dE9f2CED,18 -328.0,MANA-C942,MANA,MANA,0x0F5D2fB29fb7d3CFeE444a200298f468908cC942,18 -329.0,one1INCH-3857,one1INCH,one1INCH,0x853Bb55c1f469902F088A629db8C8803A9BE3857,18 -330.0,GENI-FCc8,GENI,GENI,0x444444444444C1a66F394025Ac839A535246FCc8,9 -331.0,IDV-8840,IDV,IDV,0x45448E05020576929fcDEabC228E35b420098840,18 -332.0,L2-4D24,L2,L2,0xBbff34E47E559ef680067a6B1c980639EEb64D24,18 -333.0,ARTH-8a71,ARTH,ARTH,0x8CC0F052fff7eaD7f2EdCCcaC895502E884a8a71,18 -334.0,DRGN-A05E,DRGN,DRGN,0x419c4dB4B9e25d6Db2AD9691ccb832C8D9fDA05E,18 -335.0,BTRST-2824,BTRST,BTRST,0x799ebfABE77a6E34311eeEe9825190B9ECe32824,18 -336.0,FAKT-dC48,FAKT,FAKT,0xC3FFbE26E9446aC52008FfC8C1191d60A12bdC48,18 -337.0,GNO-6b96,GNO,GNO,0x6810e776880C02933D47DB1b9fc05908e5386b96,18 -338.0,DIA-9419,DIA,DIA,0x84cA8bc7997272c7CfB4D0Cd3D55cd942B3c9419,18 -339.0,SWIV-6f2d,SWIV,SWIV,0xbf30461210b37012783957D90dC26B95Ce3b6f2d,18 -340.0,USDC-1130,USDC,USDC,0x566957eF80F9fd5526CD2BEF8BE67035C0b81130,6 -341.0,wPPC-2958,wPPC,wPPC,0x044d078F1c86508e13328842Cc75AC021B272958,6 -342.0,TOL-2cFA,TOL,TOL,0xd07D9Fe2d2cc067015E2b4917D24933804f42cFA,18 -343.0,ALEPH-F628,ALEPH,ALEPH,0x27702a26126e0B3702af63Ee09aC4d1A084EF628,18 -344.0,GF-E238,GF,GF,0xAaEf88cEa01475125522e117BFe45cF32044E238,18 -345.0,CND-95fa,CND,CND,0xd4c435F5B09F855C3317c8524Cb1F586E42795fa,18 -346.0,ECOx-736a,ECOx,ECOx,0xcccD1Ba9f7acD6117834E0D28F25645dECb1736a,18 -347.0,SNX-2a6F,SNX,SNX,0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F,18 -348.0,RAIL-A33D,RAIL,RAIL,0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D,18 -349.0,OK-4189,OK,OK,0xd3Ac016b1B8C80EeAdDe4D186A9138C9324e4189,18 -350.0,ALCX-c8DF,ALCX,ALCX,0xdBdb4d16EdA451D0503b854CF79D55697F90c8DF,18 -351.0,ROYA-48DB,ROYA,ROYA,0x7eaF9C89037e4814DC0d9952Ac7F888C784548DB,18 -352.0,HOP-a3CC,HOP,HOP,0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC,18 -353.0,CVX-9D2B,CVX,CVX,0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B,18 -354.0,DAMM-16b8,DAMM,DAMM,0xb3207935FF56120f3499e8aD08461Dd403bF16b8,18 -355.0,BPLC-21b4,BPLC,BPLC,0x426FC8BE95573230f6e6bc4af91873F0c67b21b4,18 -356.0,GTC-163F,GTC,GTC,0xDe30da39c46104798bB5aA3fe8B9e0e1F348163F,18 -357.0,GPO-3aCE,GPO,GPO,0x4ad7a056191F4c9519fAcd6D75FA94CA26003aCE,18 -358.0,QLT-c87c,QLT,QLT,0x0173661769325565d4f011b2e5Cda688689Cc87c,9 -359.0,IOTX-4d69,IOTX,IOTX,0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69,18 -360.0,APE-4381,APE,APE,0x4d224452801ACEd8B2F0aebE155379bb5D594381,18 -361.0,AGV-382B,AGV,AGV,0xf4F618Eff5eF36Cde2FCa4FBD86554c62Fb1382B,18 -362.0,DREP-b4c2,DREP,DREP,0x3Ab6Ed69Ef663bd986Ee59205CCaD8A20F98b4c2,18 -363.0,QNT-4675,QNT,QNT,0x4a220E6096B25EADb88358cb44068A3248254675,18 -364.0,BLOCKIFY-3C21,BLOCKIFY,BLOCKIFY,0x7D608CfAa805a752788847e5C46Ce9C03Fb43C21,18 -365.0,UNV-A673,UNV,UNV,0xf009f5531dE69067435e32c4b9D36077F4C4A673,18 -366.0,HBTC-d380,HBTC,HBTC,0x0316EB71485b0Ab14103307bf65a021042c6d380,18 -367.0,SLD-a084,SLD,SLD,0x1ef6A7e2c966fb7C5403EFEFdE38338b1a95a084,18 -368.0,SYL-eb9C,SYL,SYL,0x92925Acf2771Bc59143228499f9610FE5176eb9C,18 -369.0,JASMY-03EC,JASMY,JASMY,0x7420B4b9a0110cdC71fB720908340C03F9Bc03EC,18 -370.0,NBT-824c,NBT,NBT,0x446F2A8A39Cc730ef378Be759A3c57f1a3fE824c,18 -371.0,BRD-9aD6,BRD,BRD,0x558EC3152e2eb2174905cd19AeA4e34A23DE9aD6,18 -372.0,ULX-636F,ULX,ULX,0x5Aa158404fEd6b4730C13F49d3a7F820e14A636F,18 -373.0,AMPL-A161,AMPL,AMPL,0xD46bA6D942050d489DBd938a2C909A5d5039A161,9 -374.0,XMON-Bf74,XMON,XMON,0x3aaDA3e213aBf8529606924d8D1c55CbDc70Bf74,18 -375.0,REN-2a38,REN,REN,0x408e41876cCCDC0F92210600ef50372656052a38,18 -376.0,UFO-DC3B,UFO,UFO,0x249e38Ea4102D0cf8264d3701f1a0E39C4f2DC3B,18 -377.0,TAMA-88c8,TAMA,TAMA,0x12b6893cE26Ea6341919FE289212ef77e51688c8,18 -378.0,HOT-26E2,HOT,HOT,0x6c6EE5e31d828De241282B9606C8e98Ea48526E2,18 -379.0,EGG-6a0c,EGG,EGG,0x65cCD72c0813CE6f2703593B633202a0F3Ca6a0c,18 -380.0,PHA-2f4E,PHA,PHA,0x6c5bA91642F10282b576d91922Ae6448C9d52f4E,18 -381.0,agEUR-Bce8,agEUR,agEUR,0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8,18 -382.0,FIEF-a02D,FIEF,FIEF,0xeA068Fba19CE95f12d252aD8Cb2939225C4Ea02D,18 -383.0,ETHO-7096,ETHO,ETHO,0x0b5326Da634f9270FB84481DD6F94d3dC2cA7096,18 -384.0,SPANK-6a18,SPANK,SPANK,0x42d6622deCe394b54999Fbd73D108123806f6a18,18 -385.0,ATC-5c9e,ATC,ATC,0x0fAD86Cc1b412b330494E350Bf1dC1994AC55c9e,6 -386.0,SUM-40b1,SUM,SUM,0x043C308BB8a5aE96D0093444be7f56459F1340b1,18 -387.0,CPI-ec53,CPI,CPI,0x2b67D1a87A8D8B280A23e97bC55095215eE0ec53,18 -388.0,PAPER-0e8C,PAPER,PAPER,0x7aE1D57b58fA6411F32948314BadD83583eE0e8C,18 -389.0,EURT-E491,EURT,EURT,0xC581b735A1688071A1746c968e0798D642EDE491,6 -390.0,GOB-8A80,GOB,GOB,0xd6929179D752d5D25c5efe2d9729eb77D7138A80,18 -391.0,oSQTH-E86B,oSQTH,oSQTH,0xf1B99e3E573A1a9C5E6B2Ce818b617F0E664E86B,18 -392.0,SDEX-BEeF,SDEX,SDEX,0x5DE8ab7E27f6E7A1fFf3E5B337584Aa43961BEeF,18 -393.0,XCM-8e25,XCM,XCM,0x36ac219f90f5A6A3C77f2a7B660E3cC701f68e25,18 -394.0,BRZ-2e2B,BRZ,BRZ,0x420412E765BFa6d85aaaC94b4f7b708C89be2e2B,4 -395.0,0xBTC-5B31,0xBTC,0xBTC,0xB6eD7644C69416d67B522e20bC294A9a9B405B31,8 -396.0,XAUt-2F38,XAUt,XAUt,0x68749665FF8D2d112Fa859AA293F07A622782F38,6 -397.0,ETHV-aC76,ETHV,ETHV,0xC53342fd7575f572b0fF4569e31941A5B821aC76,18 -398.0,FET-Ad85,FET,FET,0xaea46A60368A7bD060eec7DF8CBa43b7EF41Ad85,18 -399.0,RAI-4919,RAI,RAI,0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919,18 -400.0,USDP-89E1,USDP,USDP,0x8E870D67F660D95d5be530380D0eC0bd388289E1,18 -401.0,stETH-fE84,stETH,stETH,0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84,18 -402.0,CHZ-b4AF,CHZ,CHZ,0x3506424F91fD33084466F402d5D97f05F8e3b4AF,18 -403.0,TXA-A830,TXA,TXA,0x4463e6A3dEd0dBE3F6e15bC8420dFc55e5FeA830,18 -404.0,DENT-A258,DENT,DENT,0x3597bfD533a99c9aa083587B074434E61Eb0A258,8 -405.0,SUDO-B7F9,SUDO,SUDO,0x3446Dd70B2D52A6Bf4a5a192D9b0A161295aB7F9,18 -406.0,sUSD-5f51,sUSD,sUSD,0x57Ab1ec28D129707052df4dF418D58a2D46d5f51,18 -407.0,ELT-1B02,ELT,ELT,0xc0AE17Eb994fa828540FFa53776B3830233A1B02,18 -408.0,ELAN-28B5,ELAN,ELAN,0x1b5036bEc1B82D44d52Fa953A370b3c6Cd9328B5,18 -409.0,INNBC-8c42,INNBC,INNBC,0xB67718b98d52318240c52E71A898335da4A28c42,6 -410.0,MLP-1152,MLP,MLP,0xE22020F47B7378dfedcedd2C81d4137c22fE1152,18 -411.0,DYDX-Eff5,DYDX,DYDX,0x92D6C1e31e14520e676a687F0a93788B716BEff5,18 -412.0,ACX-F82F,ACX,ACX,0x44108f0223A3C3028F5Fe7AEC7f9bb2E66beF82F,18 -413.0,BAT-87EF,BAT,BAT,0x0D8775F648430679A709E98d2b0Cb6250d2887EF,18 -414.0,CTX-f98D,CTX,CTX,0x321C2fE4446C7c963dc41Dd58879AF648838f98D,18 -415.0,STC-7e7E,STC,STC,0x15B543e986b8c34074DFc9901136d9355a537e7E,18 -416.0,RDX-9ecD,RDX,RDX,0xd8C4ef2D99c9F962180008418a5665Fcc4b99ecD,18 -417.0,OLY-Fb1f,OLY,OLY,0x6595b8fD9C920C81500dCa94e53Cdc712513Fb1f,18 -418.0,APM-BA6c,APM,APM,0xC8C424B91D8ce0137bAB4B832B7F7D154156BA6c,18 -419.0,CRAB-b735,CRAB,CRAB,0x24BCeC1AFda63E622a97F17cFf9a61FFCfd9b735,18 -420.0,CTO-6C47,CTO,CTO,0xa5e48a6E56e164907263e901B98D9b11CCB46C47,18 -421.0,AAVE-DaE9,AAVE,AAVE,0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9,18 -422.0,LYXe-be6D,LYXe,LYXe,0xA8b919680258d369114910511cc87595aec0be6D,18 -423.0,CXO-7143,CXO,CXO,0xb6EE9668771a79be7967ee29a63D4184F8097143,18 -424.0,AXL-E5f3,AXL,AXL,0x467719aD09025FcC6cF6F8311755809d45a5E5f3,6 -425.0,GUSD-d5Cd,GUSD,GUSD,0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd,2 -426.0,THEO-eac2,THEO,THEO,0xfAc0403a24229d7e2Edd994D50F5940624CBeac2,9 -427.0,FUN-711b,FUN,FUN,0x419D0d8BdD9aF5e606Ae2232ed285Aff190E711b,8 -428.0,ZZ-55ad,ZZ,ZZ,0xC91a71A1fFA3d8B22ba615BA1B9c01b2BBBf55ad,18 -429.0,ADS-d22A,ADS,ADS,0xcfcEcFe2bD2FED07A9145222E8a7ad9Cf1Ccd22A,11 -430.0,RBN-fA6B,RBN,RBN,0x6123B0049F904d730dB3C36a31167D9d4121fA6B,18 -431.0,wTAO-0A44,wTAO,wTAO,0x77E06c9eCCf2E797fd462A92B6D7642EF85b0A44,9 -432.0,HUNT-6fa5,HUNT,HUNT,0x9AAb071B4129B083B01cB5A0Cb513Ce7ecA26fa5,18 -433.0,gOHM-a52f,gOHM,gOHM,0x0ab87046fBb341D058F17CBC4c1133F25a20a52f,18 -434.0,BBTC-2541,BBTC,BBTC,0x9BE89D2a4cd102D8Fecc6BF9dA793be995C22541,8 -435.0,XSGD-cA96,XSGD,XSGD,0x70e8dE73cE538DA2bEEd35d14187F6959a8ecA96,6 -436.0,ASIC-3047,ASIC,ASIC,0x347a96a5BD06D2E15199b032F46fB724d6c73047,12 -437.0,ICSA-69ed,ICSA,ICSA,0xfc4913214444aF5c715cc9F7b52655e788A569ed,9 -438.0,wstETH-2Ca0,wstETH,wstETH,0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0,18 -439.0,PLSD-36A7,PLSD,PLSD,0x34F0915a5f15a66Eba86F6a58bE1A471FB7836A7,12 -440.0,EUROe-2974,EUROe,EUROe,0x820802Fa8a99901F52e39acD21177b0BE6EE2974,6 -441.0,BLUR-8b44,BLUR,BLUR,0x5283D291DBCF85356A21bA090E6db59121208b44,18 -442.0,PAR-4703,PAR,PAR,0x68037790A0229e9Ce6EaA8A99ea92964106C4703,18 -443.0,SAITO-B57B,SAITO,SAITO,0xFa14Fa6958401314851A17d6C5360cA29f74B57B,18 -444.0,DUSK-A551,DUSK,DUSK,0x940a2dB1B7008B6C776d4faaCa729d6d4A4AA551,18 -445.0,ISK-a75C,ISK,ISK,0x17d2628D30F8e9E966c9Ba831c9B9b01ea8Ea75C,18 -446.0,WFLOW-3B2b,WFLOW,WFLOW,0x5c147e74D63B1D31AA3Fd78Eb229B65161983B2b,18 -447.0,MIM-17F3,MIM,MIM,0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3,18 -448.0,CoreDAO-Dd58,CoreDAO,CoreDAO,0xf66Cd2f8755a21d3c8683a10269F795c0532Dd58,18 -449.0,SEURO-9A00,SEURO,SEURO,0xb399511642FE1666c6a07f83483e6E4feAed9A00,18 -450.0,TEXAN-88d7,TEXAN,TEXAN,0xcFCFfE432A48dB53F59c301422d2EdD77B2A88d7,18 -451.0,DEXE-Cbd6,DEXE,DEXE,0xde4EE8057785A7e8e800Db58F9784845A5C2Cbd6,18 -452.0,COMP-6888,COMP,COMP,0xc00e94Cb662C3520282E6f5717214004A7f26888,18 -453.0,COT-9ff8,COT,COT,0x5c872500c00565505F3624AB435c222E558E9ff8,18 -454.0,DAPP-1649,DAPP,DAPP,0x939B462ee3311f8926c047D2B576C389092b1649,4 -455.0,BORING-92CA,BORING,BORING,0xBC19712FEB3a26080eBf6f2F7849b417FdD792CA,18 -456.0,eRSDL-D3A6,eRSDL,eRSDL,0x5218E472cFCFE0b64A064F055B43b4cdC9EfD3A6,18 -457.0,DIP-cD83,DIP,DIP,0xc719d010B63E5bbF2C0551872CD5316ED26AcD83,18 -458.0,DRC-e606,DRC,DRC,0xa150Db9b1Fa65b44799d4dD949D922c0a33Ee606,0 -459.0,DXD-5521,DXD,DXD,0xa1d65E8fB6e87b60FECCBc582F7f97804B725521,18 -460.0,EDEN-1559,EDEN,EDEN,0x1559FA1b8F28238FD5D76D9f434ad86FD20D1559,18 -461.0,ENJ-3B9c,ENJ,ENJ,0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c,18 -462.0,BBS-B430,BBS,BBS,0xFe459828c90c0BA4bC8b42F5C5D44F316700B430,18 -463.0,BMI-E688,BMI,BMI,0x725C263e32c72dDC3A19bEa12C5a0479a81eE688,18 -464.0,ANKR-EDD4,ANKR,ANKR,0x8290333ceF9e6D528dD5618Fb97a76f268f3EDD4,18 -465.0,bBADGER-fC28,bBADGER,bBADGER,0x19D97D8fA813EE2f51aD4B4e04EA08bAf4DFfC28,18 -466.0,FRM-A68C,FRM,FRM,0xE5CAeF4Af8780E59Df925470b050Fb23C43CA68C,6 -467.0,ETH-EEeE,ETH,ETH,0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE,18 -468.0,1INCH-C302,1INCH,1INCH,0x111111111117dC0aa78b770fA6A738034120C302,18 -469.0,ALPHA-0975,ALPHA,ALPHA,0xa1faa113cbE53436Df28FF0aEe54275c13B40975,18 -470.0,AMP-95C2,AMP,AMP,0xfF20817765cB7f73d4bde2e66e067E58D11095C2,18 -471.0,ANT-88C0,ANT,ANT,0x960b236A07cf122663c4303350609A66A7B288C0,18 -472.0,APW-60c8,APW,APW,0x4104b135DBC9609Fc1A9490E61369036497660c8,18 -473.0,ARCONA-52B3,ARCONA,ARCONA,0x0f71B8De197A1C84d31de0F1fA7926c365F052B3,18 -474.0,AUC-5663,AUC,AUC,0xc12d099be31567add4e4e4d0D45691C3F58f5663,18 -475.0,FODL-b9C3,FODL,FODL,0x4C2e59D098DF7b6cBaE0848d66DE2f8A4889b9C3,18 -476.0,PHTR-22dA,PHTR,PHTR,0xE1Fc4455f62a6E89476f1072530C20CF1A0622dA,18 -477.0,RLC-7375,RLC,RLC,0x607F4C5BB672230e8672085532f7e901544a7375,9 -478.0,ROOK-3d4a,ROOK,ROOK,0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a,18 -479.0,RPL-A51f,RPL,RPL,0xD33526068D116cE69F19A9ee46F0bd304F21A51f,18 -480.0,RUNE-49cb,RUNE,RUNE,0x3155BA85D5F96b2d030a4966AF206230e46849cb,18 -481.0,SFI-902c,SFI,SFI,0xb753428af26E81097e7fD17f40c88aaA3E04902c,18 -482.0,SHEESHA-E768,SHEESHA,SHEESHA,0x232FB065D9d24c34708eeDbF03724f2e95ABE768,18 -483.0,TEMP-1aB9,TEMP,TEMP,0xA36FDBBAE3c9d55a1d67EE5821d53B50B63A1aB9,18 -484.0,TRAC-0A6F,TRAC,TRAC,0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F,18 -485.0,UOS-5C8c,UOS,UOS,0xD13c7342e1ef687C5ad21b27c2b65D772cAb5C8c,4 -486.0,vBNT-7f94,vBNT,vBNT,0x48Fb253446873234F2fEBbF9BdeAA72d9d387f94,18 -487.0,VITA-A321,VITA,VITA,0x81f8f0bb1cB2A06649E51913A151F0E7Ef6FA321,18 -488.0,VLX-Edb9,VLX,VLX,0x8C543AED163909142695f2d2aCd0D55791a9Edb9,18 -489.0,wNXM-2bDE,wNXM,wNXM,0x0d438F3b5175Bebc262bF23753C1E53d03432bDE,18 -490.0,WXT-E915,WXT,WXT,0xa02120696c7B8fE16C09C749E4598819b2B0E915,18 -491.0,YFI-d93e,YFI,YFI,0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e,18 -492.0,ZCN-3B78,ZCN,ZCN,0xb9EF770B6A5e12E45983C5D80545258aA38F3B78,10 -493.0,LYRA-05Bf,LYRA,LYRA,0x01BA67AAC7f75f647D94220Cc98FB30FCc5105Bf,18 -494.0,OCEAN-9F48,OCEAN,OCEAN,0x967da4048cD07aB37855c090aAF366e4ce1b9F48,18 -495.0,renBTC-B27D,renBTC,renBTC,0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D,8 -496.0,HEGIC-8430,HEGIC,HEGIC,0x584bC13c7D411c00c01A62e8019472dE68768430,18 -497.0,INDEX-4cab,INDEX,INDEX,0x0954906da0Bf32d5479e25f46056d22f08464cab,18 -498.0,KNC-D200,KNC,KNC,0xdd974D5C2e2928deA5F71b9825b8b646686BD200,18 -499.0,KTN-FC1C,KTN,KTN,0x491E136FF7FF03E6aB097E54734697Bb5802FC1C,18 -500.0,LPL-75B8,LPL,LPL,0x99295f1141d58A99e939F7bE6BBe734916a875B8,18 -501.0,LRC-EafD,LRC,LRC,0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD,18 -502.0,RARI-41CF,RARI,RARI,0xFca59Cd816aB1eaD66534D82bc21E7515cE441CF,18 -503.0,MLN-1892,MLN,MLN,0xec67005c4E498Ec7f55E092bd1d35cbC47C91892,18 -504.0,MONA-412A,MONA,MONA,0x275f5Ad03be0Fa221B4C6649B8AeE09a42D9412A,18 -505.0,MPH-35C5,MPH,MPH,0x8888801aF4d980682e47f1A9036e589479e835C5,18 -506.0,NDX-5F83,NDX,NDX,0x86772b1409b61c639EaAc9Ba0AcfBb6E238e5F83,18 -507.0,NEXO-5206,NEXO,NEXO,0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206,18 -508.0,NMR-6671,NMR,NMR,0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671,18 -509.0,NOIA-b6ca,NOIA,NOIA,0xa8c8CfB141A3bB59FEA1E2ea6B79b5ECBCD7b6ca,18 -510.0,OPIUM-eC11,OPIUM,OPIUM,0x888888888889C00c67689029D7856AAC1065eC11,18 -511.0,POWR-1269,POWR,POWR,0x595832F8FC6BF59c85C527fEC3740A1b7a361269,6 -512.0,PSP-3dE5,PSP,PSP,0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5,18 -513.0,DATA-8b76,DATA,DATA,0x8f693ca8D21b157107184d29D398A8D082b38b76,18 -514.0,xSUSHI-4272,xSUSHI,xSUSHI,0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272,18 -515.0,ENS-9D72,ENS,ENS,0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72,18 -516.0,UMA-F828,UMA,UMA,0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828,18 -517.0,RNB-e743,RNB,RNB,0x2A039B1D9bBDccBb91be28691b730ca893e5e743,18 -518.0,SATA-bEe1,SATA,SATA,0x3ebb4A4e91Ad83BE51F8d596533818b246F4bEe1,18 -519.0,ACRE-FC21,ACRE,ACRE,0xb2cABf797bc907B049e4cCB5b84d13be3a8CFC21,18 -520.0,CROWN-E0fa,CROWN,CROWN,0x444d6088B0F625f8C20192623B3C43001135E0fa,18 -521.0,SHIBGF-65d6,SHIBGF,SHIBGF,0x505a84a03e382331A1Be487b632Cf357748b65d6,18 -522.0,MFG-0312,MFG,MFG,0x6710c63432A2De02954fc0f851db07146a6c0312,18 -523.0,EWTB-6054,EWTB,EWTB,0x178c820f862B14f316509ec36b13123DA19A6054,18 -524.0,FTX Token-a4c9,FTX Token,FTX Token,0x50D1c9771902476076eCFc8B2A83Ad6b9355a4c9,18 -525.0,1ONE-f9D3,1ONE,1ONE,0xD5cd84D6f044AbE314Ee7E414d37cae8773ef9D3,18 -526.0,BZRX-f4b3,BZRX,BZRX,0x56d811088235F11C8920698a204A5010a788f4b3,18 -527.0,bDIGG-8e1a,bDIGG,bDIGG,0x7e7E112A68d8D2E221E11047a72fFC1065c38e1a,18 -528.0,SUSHI-0fE2,SUSHI,SUSHI,0x6B3595068778DD592e39A122f4f5a5cF09C90fE2,18 -529.0,PEPE-1933,PEPE,PEPE,0x6982508145454Ce325dDbE47a25d4ec3d2311933,18 -530.0,XCHF-fc08,XCHF,XCHF,0xB4272071eCAdd69d933AdcD19cA99fe80664fc08,18 -531.0,ARB-4ad1,ARB,ARB,0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1,18 -532.0,LBR-aCcA,LBR,LBR,0xC98835e792553e505AE46e73a6fD27a23985aCcA,18 -533.0,HRP-12Bf,HRP,HRP,0xbd15Ad921e1B480209AF549874a2fCb80DC312Bf,18 -534.0,Silo-B1f8,Silo,Silo,0x6f80310CA7F2C654691D1383149Fa1A57d8AB1f8,18 -535.0,0x0-1AD5,0x0,0x0,0x5a3e6A77ba2f983eC0d371ea3B475F8Bc0811AD5,9 -536.0,SMT-7173,SMT,SMT,0xB17548c7B510427baAc4e267BEa62e800b247173,18 -537.0,pepecoin-489A,pepecoin,pepecoin,0xA9E8aCf069C58aEc8825542845Fd754e41a9489A,18 -538.0,JAY-CA6E,JAY,JAY,0xDA7C0810cE6F8329786160bb3d1734cf6661CA6E,18 -539.0,WYD-8991,WYD,WutYuDoin?,0xbae9992488AE7f7c1EDB34Ed74c213B28d928991,18 -540.0,WSB-0c49,WSB,WSB Coin,0x0414D8C87b271266a5864329fb4932bBE19c0c49,18 -541.0,TRU-3784,TRU,TrueFi,0x4C19596f5aAfF459fA38B0f7eD92F11AE6543784,8 -542.0,BAL-4e3D,BAL,Balancer,0xba100000625a3754423978a60c9317c58a424e3D,18 -543.0,MTA-AcD2,MTA,Meta,0xa3BeD4E1c75D00fa6f4E5E6922DB7261B5E9AcD2,18 -544.0,QUICK-6F2f,QUICK,Quickswap,0x6c28AeF8977c9B773996d0e8376d2EE379446F2f,18 -545.0,BOR-c1A9,BOR,BoringDAO,0x3c9d6c1C73b31c837832c72E04D3152f051fc1A9,18 -546.0,STAKE-95e6,STAKE,STAKE,0x0Ae055097C6d159879521C384F1D2123D1f195e6,18 -547.0,CRO-450b,CRO,CRO,0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b,8 -548.0,BNB-DD52,BNB,BNB,0xB8c77482e45F1F44dE1745F52C74426C631bDD52,18 -549.0,PATH-7588,PATH,PathDao,0x2a2550e0A75aCec6D811AE3930732F7f3ad67588,18 -550.0,PERP-3447,PERP,Perpetual,0xbC396689893D065F41bc2C6EcbeE5e0085233447,18 -551.0,POOL-844e,POOL,PoolTogether,0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e,18 -552.0,SMARTCREDIT-DA13,SMARTCREDIT,SMARTCREDIT Token,0x72e9D9038cE484EE986FEa183f8d8Df93f9aDA13,18 -553.0,CEL-D42d,CEL,Celsius,0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d,4 -554.0,renZEC-37C2,renZEC,renZEC,0x1C5db575E2Ff833E46a2E9864C22F4B22E0B37C2,8 -555.0,OMG-0C07,OMG,OMGToken,0xd26114cd6EE289AccF82350c8d8487fedB8A0C07,18 -556.0,INSAI-4674,INSAI,Insight,0xceec4aE5CF5300aC9A49a816961Af9393b214674,6 -557.0,$DGTV-966D,$DGTV,Doge-TV,0xFEb6d5238Ed8F1d59DCaB2db381AA948e625966D,18 -558.0,MATRIX-1C36,MATRIX,MatrixSwapToken,0xc8D3DCb63C38607Cb0c9d3F55E8eccE628A01C36,18 -559.0,CREAM-B200,CREAM,Cream,0x2ba592F78dB6436527729929AAf6c908497cB200,18 -560.0,INU-Bda5,INU,Inu.,0x050D94685c6B0477E1Fc555888AF6e2bB8dFBda5,18 -561.0,CHEW-7Cb3,CHEW,CHEW,0xf5d126077096e5b01BC30FFa5d9324D7202d7Cb3,18 -562.0,N1-C16D,N1,NFTify,0xaCbd826394189Cf2623C6DF98a18b41fC8fFC16D,18 -563.0,FLX-91F4,FLX,Flex Ungovernance Token,0x6243d8CEA23066d098a15582d81a598b4e8391F4,18 -564.0,MUSE-fc81,MUSE,Muse,0xB6Ca7399B4F9CA56FC27cBfF44F4d2e4Eef1fc81,18 -565.0,BST-7F4a,BST,BlocksquareToken,0x509A38b7a1cC0dcd83Aa9d06214663D9eC7c7F4a,18 -566.0,SAND-a5d0,SAND,SAND,0x3845badAde8e6dFF049820680d1F14bD3903a5d0,18 -567.0,PLAY-45bC,PLAY,InfinityGaming,0x95b4e47025372Ded4B73F9b5F0671B94a81445bC,9 -568.0,WG0-C057,WG0,Wrapped Gen 0,0xa10740ff9FF6852eac84cdcfF9184e1D6d27C057,18 -569.0,HEAL-541a,HEAL,Heal The World,0x383B0b2ce2e1757b5e1D087D8f36013eA595541a,9 -570.0,CNTR-064B,CNTR,Centaur Token,0x03042482d64577A7bdb282260e2eA4c8a89C064B,18 -571.0,AMAS-4f52,AMAS,Amasa Token,0x65a8fbA02F641a13Bb7B01d5E1129b0521004f52,18 -572.0,ASIA-6011,ASIA,ASIA COIN,0xF519381791C03DD7666C142D4E49Fd94d3536011,18 -573.0,KoaCombat-544C,KoaCombat,KoaCombat,0x6769D86f9C430f5AC6d9c861a0173613F1C5544C,9 -574.0,DUCKER-01A7,DUCKER,Duckereum,0xa52bfFAD02B1FE3f86A543a4e81962d3B3bB01A7,18 -575.0,HKBY-d7D4,HKBY,Huckleberry Inu,0x645C52CF6c5C58AA4064494f5b5FFE9C7EC0d7D4,18 -576.0,LSD-d9fd,LSD,Liquid Staking Derivatives,0x97D4F49eEb0E2c96d5EbAA71AB8418e563ecd9fd,9 -577.0,SHIB0.5-dE1b,SHIB0.5,Half Shiba Inu,0x8Eb94A06b4716093DBfE335cbdb098DEb2dcdE1b,18 -578.0,XDB-9d27,XDB,digitalbits,0xB9EefC4b0d472A44be93970254Df4f4016569d27,7 -579.0,DC-9180,DC,Dogechain Token,0x7B4328c127B85369D9f82ca0503B000D09CF9180,18 -580.0,Shibmerican-5609,Shibmerican,Shibmerican | t.me/Shibmerican,0x440238CC07186aDEA6653a2E8cb9a24737615609,9 -581.0,HONR-79B8,HONR,DeltaFlare,0x39Ea10E507720783C27eDd5F96Bf2D6e199579B8,18 -582.0,NIIFI-BCb8,NIIFI,NiiFiToken,0x852e5427c86A3b46DD25e5FE027bb15f53c4BCb8,15 -583.0,LETSGO-BB95,LETSGO,Lets Go Brandon,0xA6586E19EF681b1AC0ED3D46413D199a555dBB95,18 -584.0,FEG-C945,FEG,FEGtoken,0x389999216860AB8E0175387A0c90E5c52522C945,9 -585.0,FEG-2A11,FEG,FEG Token,0xbededDf2eF49E87037c4fb2cA34d1FF3D3992A11,18 -586.0,DDOS-02C3,DDOS,Disbalancer,0x7FBEC0bb6A7152e77C30D005B5D49cbC08A602C3,18 -587.0,OVR-3697,OVR,OVR,0x21BfBDa47A0B4B5b1248c767Ee49F7caA9B23697,18 -588.0,DOGPAD-9C1c,DOGPAD,DogPad,0x6f3277ad0782a7DA3eb676b85a8346A100BF9C1c,18 -589.0,LTO-294D,LTO,LTO Network Token,0x3DB6Ba6ab6F95efed1a6E794caD492fAAabF294D,8 -590.0,IONX-4217,IONX,Charged Particles - IONX,0x02D3A27Ac3f55d5D91Fb0f52759842696a864217,18 -591.0,FOTO-C49F,FOTO,FOTO,0xF6eA0E60cee427B90aA36f327eE61d1d4CABC49F,18 -592.0,QMALL-2198,QMALL,Qmall Token,0x2217e5921B7edfB4BB193a6228459974010D2198,18 -593.0,WAGMIGAMES-00F0,WAGMIGAMES,WAGMI GAMES,0x3B604747ad1720C01ded0455728b62c0d2F100F0,18 -594.0,KINE-F05D,KINE,Kine Governance Token,0xCbfef8fdd706cde6F208460f2Bf39Aa9c785F05D,18 -595.0,FXF-0f12,FXF,Finxflo,0x8a40c222996f9F3431f63Bf80244C36822060f12,18 -596.0,SAN-f098,SAN,SANtiment network token,0x7C5A0CE9267ED19B22F8cae653F198e3E8daf098,18 -597.0,⚗️-b7aB,⚗️,Alchemist,0x88ACDd2a6425c3FaAE4Bc9650Fd7E27e0Bebb7aB,18 -598.0,SHIBDAO-b9A8,SHIBDAO,Shibarium DAO,0xB197a6Fdd8AB825332eDEbA1AB5C4D1Bf97fb9A8,18 -599.0,XP-b2Ac,XP,PolkaFantasy,0x948c70Dc6169Bfb10028FdBE96cbC72E9562b2Ac,18 -600.0,$WEAPON-762d,$WEAPON,Megaweapon,0x0b8057C3Cc676C329c25C1d0Cd27776efA73762d,9 -601.0,LAIKA-EC0b,LAIKA,LAIKA,0x77f9CF0bd8C500CfFdF420e72343893aeCC2EC0b,18 -602.0,IMX-4a00,IMX,Impermax,0x7b35Ce522CB72e4077BaeB96Cb923A5529764a00,18 -603.0,STREAMERINU-259a,STREAMERINU,Streamer Inu,0x0e8D2EB7D6bDF28393c25a1966385Ad32Ff0259a,18 -604.0,BFLY-c063,BFLY,Butterfly Protocol Governance Token,0xf680429328caaaCabee69b7A9FdB21a71419c063,18 -605.0,SUKU-E4d7,SUKU,SUKU,0x0763fdCCF1aE541A5961815C0872A8c5Bc6DE4d7,18 -606.0,CUDOS-dB35,CUDOS,CudosToken,0x817bbDbC3e8A1204f3691d14bB44992841e3dB35,18 -607.0,SASHIMI-64c2,SASHIMI,SashimiToken,0xC28E27870558cF22ADD83540d2126da2e4b464c2,18 -608.0,AAG-8F97,AAG,AAG,0x5ba19d656B65f1684cFea4Af428C23B9f3628F97,18 -609.0,dogep-80b9,dogep,Doge Protocol,0xE7eaec9Bca79d537539C00C58Ae93117fB7280b9,18 -610.0,STRP-ADc9,STRP,Strips Token,0x97872EAfd79940C7b24f7BCc1EADb1457347ADc9,18 -611.0,STA-eED1,STA,Statera,0xa7DE087329BFcda5639247F96140f9DAbe3DeED1,18 -612.0,KIBSHI-2361,KIBSHI,KiboShib,0x02e7F808990638E9e67E1f00313037EDe2362361,18 -613.0,Ichigo-78B5,Ichigo,Ichigo Inu,0x8254C1C134436F74047F79eaAeA97E3324eF78B5,9 -614.0,PACK-1Ab2,PACK,Pack,0xb186035490C8602EaD853EC98bE05E3461521Ab2,18 -615.0,SWFTC-fC1e,SWFTC,SwftCoin,0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e,8 -616.0,BZN-35d4,BZN,Benzene,0x6524B87960c2d573AE514fd4181777E7842435d4,18 -617.0,LOOT-8335,LOOT,LOOT Token,0x721A1B990699eE9D90b6327FaaD0A3E840aE8335,18 -618.0,kitty-52a2,kitty,Kitty Inu,0x044727e50ff30DB57fad06Ff4F5846eAb5eA52a2,9 -619.0,CVC-4E45,CVC,Civic,0x41e5560054824eA6B0732E656E3Ad64E20e94E45,8 -620.0,TOON-EF02,TOON,PontoonToken,0xaeE433ADeBe0FBB88dAa47eF0C1A513CaA52EF02,18 -621.0,FLONA-524A,FLONA,FLONA,0xEf27252B567F6B3fe35b34A85bE322917abE524A,18 -622.0,BOTZ-2F80,BOTZ,Beep,0x3475fC1D0d2e03761C19D5C7601fe476f0E02F80,18 -623.0,TRXC-7d8e,TRXC,TRONCLASSIC,0xaD5Fe5B0B8eC8fF4565204990E4405B2Da117d8e,0 -624.0,PPDEX-0cf7,PPDEX,Pepedex,0xf1F508c7C9f0d1b15a76fbA564eEf2d956220cf7,18 -625.0,DEPAY-55eb,DEPAY,DePay,0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb,18 -626.0,FABRIC-e523,FABRIC,MetaFabric,0x8c6Fa66c21aE3fC435790E451946a9Ea82E6e523,18 -627.0,LUNA-1ea9,LUNA,Wrapped LUNA Token,0xd2877702675e6cEb975b4A1dFf9fb7BAF4C91ea9,18 -628.0,GHST-1550,GHST,Aavegotchi GHST Token,0x3F382DbD960E3a9bbCeaE22651E88158d2791550,18 -629.0,CAPS-15e2,CAPS,Capsule Coin,0x03Be5C903c727Ee2C8C4e9bc0AcC860Cca4715e2,18 -630.0,MCONTENT-b3F4,MCONTENT,MContent,0xD3c51de3E6DD9b53D7f37699AFB3EE3Bf9B9b3F4,6 -631.0,QUID-B6D4,QUID,Quid Ika,0x9d38F670D15C14716BE1F109a4F453E966A2B6D4,9 -632.0,SPELLFIRE-7C91,SPELLFIRE,SPELLFIRE Token,0x3A0b022f32b3191D44E5847da12dc0B63fb07C91,18 -633.0,GEO-6750,GEO,GeoDB Coin,0x147faF8De9d8D8DAAE129B187F0D02D819126750,18 -634.0,BPRO-5f61,BPRO,B.Protocol,0xbbBBBBB5AA847A2003fbC6b5C16DF0Bd1E725f61,18 -635.0,RBIF-5ceB,RBIF,ROBO INU,0x7B32e70e8D73ac87c1B342e063528B2930b15ceB,9 -636.0,BITE-43BA,BITE,Bite,0x34103e1190b824a44C6a638438d425cbA21143BA,18 -637.0,QOM-4974,QOM,Shiba Predator,0xa71d0588EAf47f12B13cF8eC750430d21DF04974,18 -638.0,SMTY-3283,SMTY,SMTYToken,0xbF776e4FCa664D791C4Ee3A71e2722990E003283,18 -639.0,PIKA-3578,PIKA,PIKA,0x60F5672A271C7E39E787427A18353ba59A4A3578,18 -640.0,PUSH-EEEE,PUSH,Ethereum Push Notification Service,0xf418588522d5dd018b425E472991E52EBBeEEEEE,18 -641.0,$FLUFFY-4c31,$FLUFFY,FLUFFY TOKEN,0xc2a2E9B87b37938D934Fd51CfEC0C5Fd5cB14c31,18 -642.0,ibETH-9c7A,ibETH,Interest Bearing ETH,0x67B66C99D3Eb37Fa76Aa3Ed1ff33E8e39F0b9c7A,18 -643.0,GEN-Addf,GEN,DAOstack,0x543Ff227F64Aa17eA132Bf9886cAb5DB55DCAddf,18 -644.0,$VXON-67b3,$VXON,VoxNET,0x048Aa6E69D5117BD665aF4128383a6982B8367b3,4 -645.0,ETHM-3794,ETHM,Ethereum Meta,0xFD957F21bd95E723645C07C48a2d8ACB8Ffb3794,18 -646.0,ITGR-Bc98,ITGR,Integral,0xD502F487e1841Fdc805130e13eae80c61186Bc98,18 -647.0,MUNCH-a301,MUNCH,MUNCH Token,0x944eeE930933BE5E23b690c8589021Ec8619a301,9 -648.0,BabyFloki-f956,BabyFloki,BabyFloki,0xdF35988d795d90711e785B488Bb2127692e6f956,9 -649.0,RBX-3299,RBX,RBX,0x8254e26e453EB5aBd29B3c37AC9E8Da32E5d3299,18 -650.0,ZEON-0532,ZEON,ZEON,0xE5B826Ca2Ca02F09c1725e9bd98d9a8874C30532,18 -651.0,ALPHA-940B,ALPHA,Alpha,0x138C2F1123cF3f82E4596d097c118eAc6684940B,18 -652.0,RAC-a3e9,RAC,RAC,0xc22B30E4cce6b78aaaADae91E44E73593929a3e9,18 -653.0,SPROUT-219E,SPROUT,SPROUT,0x9b8e9d523D1D6bC8EB209301c82C7D64D10b219E,18 -654.0,PNT-AAeD,PNT,pNetwork Token,0x89Ab32156e46F46D02ade3FEcbe5Fc4243B9AAeD,18 -655.0,DGMV-960c,DGMV,DigiMetaverse,0x8EEdEFe828A0f16C8fc80e46a87Bc0f1De2d960c,18 -656.0,OXT-3Deb,OXT,Orchid,0x4575f41308EC1483f3d399aa9a2826d74Da13Deb,18 -657.0,WISE-5bd6,WISE,Wise Token,0x66a0f676479Cee1d7373f3DC2e2952778BfF5bd6,18 -658.0,KFT-b207,KFT,Knit Finance,0xEF53462838000184F35f7D991452e5f25110b207,18 -659.0,2CRZ-F3fA,2CRZ,2CrazyToken,0x2C9C19cE3b15ae77C6d80aEc3C1194Cfd6F7F3fA,18 -660.0,METADOGE-62eD,METADOGE,Meta Doge,0x8530b66ca3DDf50E0447eae8aD7eA7d5e62762eD,18 -661.0,YIELD-db9B,YIELD,Yield Protocol,0xa8B61CfF52564758A204F841E636265bEBC8db9B,18 -662.0,٨-91e6,٨,Dentacoin,0x08d32b0da63e2C3bcF8019c9c5d849d7a9d791e6,0 -663.0,UMX-bC15,UMX,https://unimex.network/,0x10Be9a8dAe441d276a5027936c3aADEd2d82bC15,18 -664.0,PINU-9670,PINU,Piccolo Inu,0x3a1311B8C404629E38f61D566cefEFed083B9670,9 -665.0,FYT-8ca7,FYT,Flora Yield Token,0x77F2BE773CA0887ba2b3Ef8344C8CF13C98d8ca7,18 -666.0,AWC-13f4,AWC,Atomic Wallet Token,0xaD22f63404f7305e4713CcBd4F296f34770513f4,8 -667.0,K9-C3Fc,K9,K9,0x2bD0FB740e403B505A3146F9aC02df883Fd5C3Fc,18 -668.0,SHIK-5572,SHIK,SHIKOKU INU,0x24dA31e7BB182cb2cABfEF1d88db19C2AE1f5572,18 -669.0,TX-5Fdf,TX,Tradix,0x8954D907520532c1f0d89d42569232Fd0f995Fdf,8 -670.0,DNT-04ea,DNT,district0x Network Token,0x0AbdAce70D3790235af448C88547603b945604ea,18 -671.0,ELONONE-0aa2,ELONONE,ASTROELON,0x97b65710D03E12775189F0D113202cc1443b0aa2,9 -672.0,DNS-d73D,DNS,Dot Names,0x6C5Aa4244113E77414386630B7F963dbE1B4d73D,18 -673.0,ZOGI-2A0C,ZOGI,Zogi,0x7e80e4d7d5725499791CF8b17A4586F1f0672A0C,18 -674.0,ePING-8E47,ePING,ePING,0xC7B89491Bb148551547837ea6ccB4Bb5144d8E47,9 -675.0,PERI-8492,PERI,Peri Finance Token,0x5d30aD9C6374Bf925D0A75454fa327AACf778492,18 -676.0,EJS-79C2,EJS,Enjinstarter,0x96610186F3ab8d73EBEe1CF950C750f3B1Fb79C2,18 -677.0,KOYO-c9d4,KOYO,Yofune Nushi,0x9dAeF41E08Bc88183572b03796C96a7ace1Ec9d4,18 -678.0,REP-E862,REP,Reputation,0x1985365e9f78359a9B6AD760e32412f4a445E862,18 -679.0,F9-CC1F,F9,Falcon 9,0x38A94e92A19E970c144DEd0B2DD47278CA11CC1F,9 -680.0,CHR-bAA2,CHR,Chroma,0x8A2279d4A90B6fe1C4B30fa660cC9f926797bAA2,6 -681.0,YLD-6F48,YLD,Yield,0xF94b5C5651c888d928439aB6514B93944eEE6F48,18 -682.0,ANGEL-d5A1,ANGEL,Angel,0x6C7B97c7e09E790D161769a52F155125FAc6d5A1,18 -683.0,CPTINU-6971,CPTINU,Captain Inu,0x7Cca2e1c9B0519f52029467914A15E782BF66971,18 -684.0,PSWAP-21BB,PSWAP,Polkaswap,0x519C1001D550C0a1DaE7d1fC220f7d14c2A521BB,18 -685.0,BOXA-0110,BOXA,BOXA,0x7662c015D845EF487fDe32cb884653bE9c9E0110,9 -686.0,MINER-f016,MINER,Meta Miner,0x2B645A57e82123796c3EA7d78DE27c3e3ff7f016,18 -687.0,Rhllor-7238,Rhllor,Token of Fire,0x90E2Fa98DfC518317600Dd3DC571DE8D071a7238,9 -688.0,FVT-5e32,FVT,Finance.Vote Token,0x45080a6531d671DDFf20DB42f93792a489685e32,18 -689.0,DRC-5Ef8,DRC,Dracula Token,0xb78B3320493a4EFaa1028130C5Ba26f0B6085Ef8,18 -690.0,BTSG-54A9,BTSG,BitSong,0x05079687D35b93538cbd59fe5596380cae9054A9,18 -691.0,ZOOT-926c,ZOOT,Zoo Token,0x1341A2257fa7b770420Ef70616f888056f90926c,9 -692.0,CORX-CF97,CORX,CorionX utility token,0x26a604DFFE3ddaB3BEE816097F81d3C4a2A4CF97,8 -693.0,CRE-478e,CRE,CarryToken,0x115eC79F1de567eC68B7AE7eDA501b406626478e,18 -694.0,VLT-4d11,VLT,Bankroll Vault,0x6b785a0322126826d8226d77e173d75DAfb84d11,18 -695.0,STND-999d,STND,Standard,0x9040e237C3bF18347bb00957Dc22167D0f2b999d,18 -696.0,FLOKI-6a2E,FLOKI,FLOKI,0xcf0C122c6b73ff809C693DB761e7BaeBe62b6a2E,9 -697.0,UBX-09f3,UBX,UBX,0xF5B5eFc906513b4344EbAbCF47A04901f99F09f3,0 -698.0,LIT-46B2,LIT,LITION,0x763Fa6806e1acf68130D2D0f0df754C93cC546B2,18 -699.0,DODI-7665,DODI,DoubleDice Token,0x4E08F03079c5CD3083eA331Ec61bCC87538B7665,18 -700.0,CWS-33e0,CWS,Crowns,0xaC0104Cca91D167873B8601d2e71EB3D4D8c33e0,18 -701.0,XTK-AdEB,XTK,xToken,0x7F3EDcdD180Dbe4819Bd98FeE8929b5cEdB3AdEB,18 -702.0,NOONE-f0cf,NOONE,No one,0x296233E84c1D7bfF11121BF6D60f0FFA39C3f0cf,9 -703.0,PROXY-fF29,PROXY,PROXY,0x82089a9c7c4a07352F7433fBce1D4Ee9a722fF29,9 -704.0,ORD-E4Ec,ORD,ordinex,0xBe00734799A67a62Af2819825580318aC1B1E4Ec,18 -705.0,ARES-d523,ARES,Ares Protocol,0x358AA737e033F34df7c54306960a38d09AaBd523,18 -706.0,MNY-586f,MNY,MoonieNFT Token,0xA6F7645ed967FAF708A614a2fcA8D4790138586f,18 -707.0,UPP-f652,UPP,SENTINEL PROTOCOL,0xC86D054809623432210c107af2e3F619DcFbf652,18 -708.0,VIDYA-2C30,VIDYA,Vidya,0x3D3D35bb9bEC23b06Ca00fe472b50E7A4c692C30,18 -709.0,DXY-E9dB,DXY,DXY.FINANCE,0x39Fa206c1648944f92E8F7B626e1CBdf78d7E9dB,18 -710.0,:ZKT:-3966,:ZKT:,ZkTsunami,0x76fcA1adb104770B38581B64d55e67fA5A0f3966,9 -711.0,MONGOOSE-f156,MONGOOSE,Mongoose,0xa1817B6d8D890F3943b61648992730373B71f156,9 -712.0,PAN-7c44,PAN,Panvala pan,0xD56daC73A4d6766464b38ec6D91eB45Ce7457c44,18 -713.0,MCB-Ce42,MCB,MCDEX Token,0x4e352cF164E64ADCBad318C3a1e222E9EBa4Ce42,18 -714.0,AGFI-451f,AGFI,Aggregated Finance,0x4D0F56d728c5232ab07fAA0BdcbA23670A35451f,9 -715.0,DOKE-A128,DOKE,Doke Inu,0x517ABf1fCDBD76BC75B532683ada9113E313A128,9 -716.0,COC-3caf,COC,CocktailBar,0x22B6C31c2bEB8f2d0d5373146Eed41Ab9eDe3caf,8 -717.0,RESTAURANTS-D491,RESTAURANTS,Devour Token,0xDffC63f92c939deB112D88735ade3B4D21B6D491,18 -718.0,cUSDC-7563,cUSDC,Compound USD Coin,0x39AA39c021dfbaE8faC545936693aC917d5E7563,8 -719.0,FAI-87F5,FAI,Fairum Community,0xCda2f16C6Aa895D533506B426AFF827b709c87F5,18 -720.0,Skey-D442,Skey,SmartKey,0x06A01a4d579479Dd5D884EBf61A31727A3d8D442,8 -721.0,UTK-F99c,UTK,Utrust Token,0xdc9Ac3C20D1ed0B540dF9b1feDC10039Df13F99c,18 -722.0,GN-d044,GN,GN,0xc5019E129b75D380d3d837B8e609dEc6c8f5d044,9 -723.0,TUSD-b376,TUSD,TrueUSD,0x0000000000085d4780B73119b644AE5ecd22b376,18 -724.0,SVX-a13C,SVX,Savix,0xc434b27736A6882D33094d34792999702860a13C,9 -725.0,DRCT-07Ca,DRCT,Direct,0x9d561d63375672ABd02119b9Bc4FB90EB9E307Ca,18 -726.0,$Dwagon-294a,$Dwagon,Dwagon,0xdf1A2f85F3af80E85d14DdAAB2933C8caA09294a,18 -727.0,CUMINU-7536,CUMINU,Cum Inu,0xd6327ce1fb9D6020E8C2c0E124A1eC23DCAb7536,18 -728.0,COLLAR-5486,COLLAR,Collar,0x1a16B2B93B37A7EF5cB0A4F978CeD45FE14a5486,18 -729.0,LMY-851f,LMY,Lunch Money,0x66fD97a78d8854fEc445cd1C80a07896B0b4851f,18 -730.0,EVOAI-c696,EVOAI,EvolveAI,0x6Fbc20483b53CEa47839Bb8e171Abd6D67C3c696,9 -731.0,SNS-19DB,SNS,Shibarium Name Service,0xEa4a2327E75252517535fd013b7C6706609819DB,18 -732.0,XRT-1cb7,XRT,Robonomics,0x7dE91B204C1C737bcEe6F000AAA6569Cf7061cb7,9 -733.0,SUPER-0A55,SUPER,SuperFarm,0xe53EC727dbDEB9E2d5456c3be40cFF031AB40A55,18 -734.0,MATH-DD30,MATH,MATH Token,0x08d967bb0134F2d07f7cfb6E246680c53927DD30,18 -735.0,METR-03f0,METR,Metria,0x405CE8B2eAeeA7D4Ba5Fc160848cB2A6569e03f0,18 -736.0,PARA-EF1E,PARA,ParaWerx,0xD16fd95D949F996e3808EeEa0e3881C59E76EF1E,18 -737.0,INUINU-eB5f,INUINU,Inu Inu,0xC6bDb96E29c38DC43f014Eed44dE4106A6A8eB5f,18 -738.0,JPYC-cD53,JPYC,JPY Coin,0x2370f9d504c7a6E775bf6E14B3F12846b594cD53,18 -739.0,GS-3112,GS,Gen Shards,0xe0B9a2C3E9f40CF74B2C7F591B2b0CCa055c3112,18 -740.0,OHMI-533C,OHMI,One Hundred Million Inu,0x4159862bcF6B4393A80550b1ed03DFfa6f90533C,18 -741.0,WHALE-38e0,WHALE,WHALE,0x9355372396e3F6daF13359B7b607a3374cc638e0,4 -742.0,INJ-ca30,INJ,Injective Token,0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30,18 -743.0,CyOp-2f31,CyOp,CyOp | Protocol,0xddaC9C604BA6Bc4ACEc0FBB485B83f390ECF2f31,9 -744.0,ABYSS-8DA6,ABYSS,ABYSS,0x0E8d6b471e332F140e7d9dbB99E5E3822F728DA6,18 -745.0,$SHIBP-9235,$SHIBP,Shibarium Pad,0xC90906d45046059221e908de5Cc8fcfaCA859235,18 -746.0,$EVCoin-6E11,$EVCoin,EverestCoin,0x06fCe0DAB5b26e503E1C4Db48aa165DcaAAa6E11,9 -747.0,mUSD-35a5,mUSD,mStable USD,0xe2f2a5C287993345a840Db3B0845fbC70f5935a5,18 -748.0,BCDT-62a5,BCDT,Blockchain Certified Data Token,0xAcfa209Fb73bF3Dd5bBfb1101B9Bc999C49062a5,18 -749.0,BTE-80Ef,BTE,Betero,0x73B708E84837FFCcDE2933e3A1531fe61D5e80Ef,18 -750.0,WLEO-3998,WLEO,Wrapped LEO,0x73A9fb46e228628f8f9BB9004eCa4f4F529D3998,3 -751.0,ARTX-7710,ARTX,ARTX Token,0x741b0428Efdf4372A8DF6FB54B018dB5e5aB7710,18 -752.0,WOOL-e525,WOOL,WOOL,0x8355DBE8B0e275ABAd27eB843F3eaF3FC855e525,18 -753.0,DWEB-285F,DWEB,DecentraWeb,0xE7f58A92476056627f9FdB92286778aBd83b285F,18 -754.0,APEFI-278D,APEFI,Ape Finance,0x4332f8A38f14BD3D8D1553aF27D7c7Ac6C27278D,18 -755.0,RADAR-DEa8,RADAR,Radar,0xf9FBE825BFB2bF3E387af0Dc18caC8d87F29DEa8,18 -756.0,AIDI-d1b8,AIDI,Aidi Inu,0xdA1E53E088023Fe4D1DC5a418581748f52CBd1b8,9 -757.0,FROGEX-Def1,FROGEX,FrogeX,0x5fA54fdDF1870C344DbFaBb37dFab8700Ec0Def1,9 -758.0,PXT-B262,PXT,Populous XBRL token,0xc14830E53aA344E8c14603A91229A0b925b0B262,8 -759.0,BLAST-2Eda,BLAST,SafeBLAST,0x614D7f40701132E25fe6fc17801Fbd34212d2Eda,9 -760.0,ZIG-4f01,ZIG,ZigCoin,0xb2617246d0c6c0087f18703d576831899ca94f01,18 -761.0,VEMP-6eEC,VEMP,vEmpire Gamer Token,0xcFEB09C3c5F0f78aD72166D55f9e6E9A60e96eEC,18 -762.0,MC-E5d6,MC,Merit Circle,0x949D48EcA67b17269629c7194F4b727d4Ef9E5d6,18 -763.0,DDDD-48E0,DDDD,People's Punk,0x8cA9a0fbd8DB501F013F2e9e33a1B9dC129A48E0,18 -764.0,DG-588D,DG,Decentral Games,0x4b520c812E8430659FC9f12f6d0c39026C83588D,18 -765.0,CULT-5A13,CULT,Cult DAO,0xf0f9D895aCa5c8678f706FB8216fa22957685A13,18 -766.0,SEFI-B8Ac,SEFI,Secret Finance,0x773258b03c730F84aF10dFcB1BfAa7487558B8Ac,6 -767.0,BIGCAP-6181,BIGCAP,BIGCAP,0xE29F1241E6015A4949cb7E3f07234BA794006181,18 -768.0,RYOSHI-618e,RYOSHI,Ryoshis Vision,0x777E2ae845272a2F540ebf6a3D03734A5a8f618e,18 -769.0,POS32-2aB0,POS32,PoS-32,0x8eb5bD8c9Ab0F8ad28e94693F3c889F490bE2aB0,18 -770.0,JIZZ-a352,JIZZ,JizzRocket,0x8b937AF714aC7E2129bD33D93641F52b665Ca352,18 -771.0,USHIBA-7c9A,USHIBA,American Shiba,0xB893A8049f250b57eFA8C62D51527a22404D7c9A,9 -772.0,PRQ-d7D2,PRQ,Parsiq Token,0x362bc847A3a9637d3af6624EeC853618a43ed7D2,18 -773.0,NBNG-8ea2,NBNG,NOBUNAGA,0x9275e8386A5BDdA160c0e621e9A6067b8fd88ea2,18 -774.0,LST-4405,LST,Lendroid Support Token,0x4de2573e27E648607B50e1Cfff921A33E4A34405,18 -775.0,LDN-a158,LDN,Ludena Protocol,0xb29663Aa4E2e81e425294193616c1B102B70a158,18 -776.0,PIE-e842,PIE,DeFiPIE Token,0x607C794cDa77efB21F8848B7910ecf27451Ae842,18 -777.0,INUS-8c00,INUS,MultiPlanetary Inus,0x39207D2E2fEEF178FBdA8083914554C59D9f8c00,18 -778.0,HVN-2D9D,HVN,Hive Project Token,0xC0Eb85285d83217CD7c891702bcbC0FC401E2D9D,8 -779.0,QUAI-5c89,QUAI,QUAI,0x40821CD074dfeCb1524286923bC69315075b5c89,18 -780.0,HUSD-87e1,HUSD,HUSD,0xdF574c24545E5FfEcb9a659c229253D4111d87e1,8 -781.0,MEVFree-498a,MEVFree,MEVFree,0x1936C91190E901B7dD55229A574AE22B58Ff498a,18 -782.0,CORE-23D7,CORE,cVault.finance,0x62359Ed7505Efc61FF1D56fEF82158CcaffA23D7,18 -783.0,MOONS-6A56,MOONS,MoonTools.io,0x260e63d91fCCC499606BAe3FE945c4ed1CF56A56,18 -784.0,DOMI-f83F,DOMI,Domi,0x45C2F8c9B4c0bDC76200448cc26C48ab6ffef83F,18 -785.0,UNDEAD-7947,UNDEAD,Undead Blocks,0x310C8F00b9dE3c31Ab95ea68feb6C877538f7947,18 -786.0,KIRO-b137,KIRO,Kirobo,0xB1191F691A355b43542Bea9B8847bc73e7Abb137,18 -787.0,KISHIMOTO-1dB5,KISHIMOTO,Kishimoto,0xAE36155a55F04a696b8362777620027882B31dB5,9 -788.0,GEEQ-1b78,GEEQ,Geeq,0x6B9f031D718dDed0d681c20cB754F97b3BB81b78,18 -789.0,DEV-5b26,DEV,Dev,0x5cAf454Ba92e6F2c929DF14667Ee360eD9fD5b26,18 -790.0,BASAN-b2bF,BASAN,BASAN,0x970cf867Ca0530a989f222bE01FdD67C1ab5b2bF,18 -791.0,BREED-702e,BREED,BreederDAO,0x94E9EB8b5Ab9fd6B9ea3169D55FFAde62a01702e,18 -792.0,MATTER-FEBe,MATTER,Antimatter.Finance Governance Token,0x9B99CcA871Be05119B2012fd4474731dd653FEBe,18 -793.0,M87-B462,M87,MESSIER,0x8AF5FedC0f263841C18F31D9DbCC97A47e1aB462,18 -794.0,MOETA-a55B,MOETA,Moeta,0x238A1FcC2F65ed50c1e1797cF5857CBA3E82a55B,9 -795.0,PRT-2892,PRT,Portion Token,0x6D0F5149c502faf215C89ab306ec3E50b15e2892,18 -796.0,UMAD-326f,UMAD,UMAD,0x31c2415c946928e9FD1Af83cdFA38d3eDBD4326f,8 -797.0,UNCX-B1D0,UNCX,UniCrypt,0xaDB2437e6F65682B85F814fBc12FeC0508A7B1D0,18 -798.0,CATE-136c,CATE,Cash Tech,0xa42F266684ac2aD6ecb00df95b1c76EFbb6f136c,18 -799.0,B20-EfD8,B20,B.20,0xc4De189Abf94c57f396bD4c52ab13b954FebEfD8,18 -800.0,OGN-Ae26,OGN,OriginToken,0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26,18 -801.0,BCMC-93F9,BCMC,Blockchain Monster Coin,0x2BA8349123de45E931a8C8264c332E6e9CF593F9,18 -802.0,LCS-dBA8,LCS,LocalCoinSwap Cryptoshare,0xAA19961b6B858D9F18a115f25aa1D98ABc1fdBA8,18 -803.0,TERRAFORM-f1E4,TERRAFORM,Terraform DAO,0x9C5673002d854de18e9F6Feb7f9825F88c5bf1E4,18 -804.0,Ly-99F2,Ly,Lilly Finance,0x8686525d6627A25C68De82c228448f43c97999F2,9 -805.0,UST-1acD,UST,Wrapped UST Token,0xa47c8bf37f92aBed4A126BDA807A7b7498661acD,18 -806.0,LIEN-557E,LIEN,lien,0xaB37e1358b639Fd877f015027Bb62d3ddAa7557E,8 -807.0,SHKOOBY-11fb,SHKOOBY,SHKOOBY INU,0x29A5c1Db7321C5c9EaE57F9366eE8eef00cA11fb,18 -808.0,LON-c952,LON,Tokenlon,0x0000000000095413afC295d19EDeb1Ad7B71c952,18 -809.0,OKB-a86c,OKB,OKB,0x75231F58b43240C9718Dd58B4967c5114342a86c,18 -810.0,APY-6611,APY,APY Governance Token,0x95a4492F028aa1fd432Ea71146b433E7B4446611,18 -811.0,CIV-361d,CIV,Civilization,0x37fE0f067FA808fFBDd12891C0858532CFE7361d,18 -812.0,0NE-f4C2,0NE,Stone,0x73A83269b9bbAFC427E76Be0A2C1a1db2a26f4C2,18 -813.0,YAXIS-FE73,YAXIS,yAxis V2,0x0adA190c81b814548ddC2F6AdC4a689ce7C1FE73,18 -814.0,TOMOE-FaBa,TOMOE,TomoChain,0x05D3606d5c81EB9b7B18530995eC9B29da05FaBa,18 -815.0,MANDOX-86B6,MANDOX,Mandox,0x33D203FA03bb30b133De0fE2d6533C268bA286B6,9 -816.0,Kabosu Inu-0E55,Kabosu Inu,Kabosu Inu,0xD34A2051aC17BDD44D76AA84EA7Fcf8419130E55,18 -817.0,PPBLZ-97b8,PPBLZ,Pepemon,0x4D2eE5DAe46C86DA2FF521F7657dad98834f97b8,18 -818.0,RBXSamurai-c647,RBXSamurai,RBXS,0xA9639160481b625ba43677bE753E0A70bf58c647,18 -819.0,QUIDD-7c07,QUIDD,QUIDD,0xDA9FDAb21bC4A5811134A6E0Ba6CA06624e67c07,18 -820.0,KRL-DAC0,KRL,Kryll,0x464eBE77c293E473B48cFe96dDCf88fcF7bFDAC0,18 -821.0,OJA-291A,OJA,Ojamu Token,0x0aA7eFE4945Db24d95cA6E117BBa65Ed326e291A,18 -822.0,BAO-61C1,BAO,BaoToken,0x374CB8C27130E2c9E04F44303f3c8351B9De61C1,18 -823.0,ISP-9014,ISP,Ispolink Token,0xC8807f0f5BA3fa45FfBdc66928d71c5289249014,18 -824.0,DHT-Fa84,DHT,dHedge DAO Token,0xca1207647Ff814039530D7d35df0e1Dd2e91Fa84,18 -825.0,MUST-288f,MUST,Must,0x9C78EE466D6Cb57A4d01Fd887D2b5dFb2D46288f,18 -826.0,Dione-D697,Dione,Dione,0x89B69F2d1adffA9A253d40840B6Baa7fC903D697,9 -827.0,CITADEL-C1BB,CITADEL,The Citadel,0x6caDf6ABBCeb53e631C288778DAAcF125481C1BB,18 -828.0,TWT-F5cF,TWT,TwitFi Token,0xd4Df22556e07148e591B4c7b4f555a17188CF5cF,9 -829.0,BANK-A198,BANK,Bankless Token,0x2d94AA3e47d9D5024503Ca8491fcE9A2fB4DA198,18 -830.0,SYNC-FD32,SYNC,SYNC,0xB6ff96B8A8d214544Ca0dBc9B33f7AD6503eFD32,18 -831.0,MOPS-D967,MOPS,Mops,0x602f65BB8B8098Ad804E99DB6760Fd36208cD967,18 -832.0,NPXS-e5B3,NPXS,Pundi X Token,0xA15C7Ebe1f07CaF6bFF097D8a589fb8AC49Ae5B3,18 -833.0,MOOV-56a7,MOOV,dotmoovs,0x24EC2Ca132abf8F6f8a6E24A1B97943e31f256a7,18 -834.0,DHV-4b2A,DHV,DeHive.finance,0x62Dc4817588d53a056cBbD18231d91ffCcd34b2A,18 -835.0,RGT-C623,RGT,Rari Governance Token,0xD291E7a03283640FDc51b121aC401383A46cC623,18 -836.0,SLP-Aa25,SLP,Smooth Love Potion,0xCC8Fa225D80b9c7D42F96e9570156c65D6cAAa25,0 -837.0,POOF-f57A,POOF,Poof Token,0x888ceA2BBDD5D47a4032cf63668D7525C74af57A,18 -838.0,ONG-4dAe,ONG,onG,0xd341d1680Eeee3255b8C4c75bCCE7EB57f144dAe,18 -839.0,ARNC-8EE4,ARNC,Arnoya classic,0x7495e5Cc8F27e0bd5bD4cb86d17F0D841cA58EE4,18 -840.0,TKP-AcaC,TKP,TOKPIE,0xd31695a1d35E489252CE57b129FD4b1B05E6AcaC,18 -841.0,PRARE-C796,PRARE,PolkaRareToken,0x2C2f7e7C5604D162d75641256b80F1Bf6f4dC796,18 -842.0,AUTH-bD80,AUTH,Authencity.,0x0107C4aAa31940eF88760aCb1F32424CA8d8bD80,8 -843.0,Shiryo-Inu-8F02,Shiryo-Inu,Shiryo-Inu,0x1E2F15302B90EddE696593607b6bD444B64e8F02,9 -844.0,CPU-6626,CPU,CPUcoin,0x6D52DfeFb16BB9Cdc78bfCA09061e44574886626,18 -845.0,ROKO-FF98,ROKO,ROKO,0x6f222E04F6c53Cc688FfB0Abe7206aAc66A8FF98,18 -846.0,LEND-ab03,LEND,EthLend Token,0x80fB784B7eD66730e8b1DBd9820aFD29931aab03,18 -847.0,POCHI-4d90,POCHI,Pochi Inu,0x8eB1779A32678452eB273A22d413207299904d90,18 -848.0,PP-010B,PP,Pension Plan,0xf14b9ADF84812bA463799357f4dc716b4384010B,8 -849.0,CCv2-8F11,CCv2,CryptoCart V2,0x612E1726435fE38dD49A0B35b4065B56f49c8F11,18 -850.0,CUT-Ab9e,CUT,Ctrl-X,0x135783B60cf5d71DAFF7a377f9eb7dB8D2dEAb9e,18 -851.0,CURRY-de77,CURRY,CURRYSWAP,0xc2D3AE29c8309c14994D02Ecd228cf86f3Efde77,18 -852.0,HAKA-2210,HAKA,TribeOne,0xD85AD783cc94bd04196a13DC042A3054a9B52210,18 -853.0,NRG-2069,NRG,Energi,0x1416946162B1C2c871A73B07E932D2fB6C932069,18 -854.0,XEND-4903,XEND,XEND,0xE4CFE9eAa8Cdb0942A80B7bC68fD8Ab0F6D44903,18 -855.0,UNO-1A77,UNO,UnoRe,0x474021845C4643113458ea4414bdb7fB74A01A77,18 -856.0,BAG-5726,BAG,tehBag,0x235C8EE913d93c68D2902a8e0b5a643755705726,18 -857.0,KUMA-3E02,KUMA,Kuma Inu,0x48C276e8d03813224bb1e55F953adB6d02FD3E02,18 -858.0,SAUDISHIB-e23d,SAUDISHIB,SAUDI SHIBA INU,0x34d31446a522252270b89b09016296ec4c98e23d,8 -859.0,DELREY-28dd,DELREY,Delrey Inu,0xfca89d55A768375Ab7cA04485A35a964BEA828dd,18 -860.0,SEEN-Fd33,SEEN,seen.haus,0xCa3FE04C7Ee111F0bbb02C328c699226aCf9Fd33,18 -861.0,SHOE-32c9,SHOE,ShoeFy,0x0fD67B4ceb9b607Ef206904eC73459c4880132c9,18 -862.0,HACHI-ccFe,HACHI,HACHI,0x2a7e415C169cE3a580c6F374Dc26f6Aaad1EccFe,18 -863.0,VOICE-C6A9,VOICE,Voice Token,0x2e2364966267B5D7D2cE6CD9A9B5bD19d9C7C6A9,18 -864.0,BFT-326f,BFT,BF Token,0x01fF50f8b7f74E4f00580d9596cd3D0d6d6E326f,18 -865.0,FUND-996b,FUND,Teh Fund,0x7d8d7c26179b7A6aebbF66A91C38ED92d5B4996b,18 -866.0,BONDLY-68c9,BONDLY,Bondly,0x91dFbEE3965baAEE32784c2d546B7a0C62F268c9,18 -867.0,SHIL-fCe1,SHIL,Shila Inu,0x20c3fa331A385b63EE39137e99d0cF2db142fCe1,18 -868.0,BLXM-1a08,BLXM,bloXmove Token,0x38d9eb07A7b8Df7D86F440A4A5c4a4c1a27E1a08,18 -869.0,COIN-a850,COIN,Coin Utility Token,0xE61fDAF474Fac07063f2234Fb9e60C1163Cfa850,18 -870.0,COLL-0eF3,COLL,Collateral,0x957891C11616D3E0B0A76a76fb42724C382E0eF3,18 -871.0,SHAKE-6189,SHAKE,SHAKE token by SpaceSwap v2,0x6006FC2a849fEdABa8330ce36F5133DE01F96189,18 -872.0,K21-04AF,K21,k21.kanon.art,0xB9d99C33eA2d86EC5eC6b8A4dD816EBBA64404AF,18 -873.0,KEANU-c952,KEANU,Keanu Inu,0x106552C11272420aAd5d7e94f8AcAb9095A6c952,9 -874.0,sETH-31cb,sETH,Synth sETH,0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb,18 -875.0,PHTK-Ae7b,PHTK,PhunToken,0x1FEE5588cb1De19c70B6aD5399152D8C643FAe7b,18 -876.0,LCX-fe41,LCX,LCX,0x037A54AaB062628C9Bbae1FDB1583c195585fe41,18 -877.0,SHIN-660b,SHIN,Shinsekai,0xa27A6FA698a63f82e559914c11C6Cd888060660b,18 -878.0,CMOS-2a8e,CMOS,CoinMerge OS,0x87869A9789291A6cEC99f3c3Ef2fF71fcEb12a8e,9 -879.0,DINGO-4614,DINGO,Dingo Token,0x1f961BCEAEF8eDF6fb2797C0293FfBDe3E994614,9 -880.0,IMP-6FE2,IMP,Imperial Obelisk,0x42A0D24Cb5c423EAAF926cE3984aAfF0C4ff6FE2,9 -881.0,LUFFY-EBd7,LUFFY,LUFFY,0x54012cDF4119DE84218F7EB90eEB87e25aE6EBd7,9 -882.0,BULK-9593,BULK,Bulk Token,0xa143ac515dCA260A46C742C7251eF3B268639593,18 -883.0,PAYT-e2E2,PAYT,PayAccept,0x8EF47555856f6Ce2E0cd7C36AeF4FAb317d2e2E2,18 -884.0,LOCK-9EE9,LOCK,LiquidLock,0xb48EE8F8FA3885Fc08831ff366ec8df608159EE9,18 -885.0,PIP-8707,PIP,Pi-Protocol,0x37613D64258c0FE09d5E53EeCb091DA5b8fA8707,18 -886.0,NUME-F1C3,NUME,NumisMe Token,0x34769D3e122C93547836AdDD3eb298035D68F1C3,18 -887.0,ZCX-8804,ZCX,ZEN Exchange Token,0xC52C326331E9Ce41F04484d3B5E5648158028804,18 -888.0,VISION-3996,VISION,Vision Token,0xF406F7A9046793267bc276908778B29563323996,18 -889.0,GenBlok-82A8,GenBlok,The Genesis Block,0x83C141Ee88c502cB9654DE93598e9F16555082A8,9 -890.0,wPE-881b,wPE,OPES Finance,0xd075e95423C5c4BA1E122CaE0f4CdFA19b82881b,18 -891.0,API3-B88a,API3,API3,0x0b38210ea11411557c13457D4dA7dC6ea731B88a,18 -892.0,GVT-2a0c,GVT,Gro Vault Token,0x3ADb04E127b9C0a5D36094125669d4603AC52a0c,18 -893.0,EXRN-6e75,EXRN,EXRP Network,0xe469c4473af82217B30CF17b10BcDb6C8c796e75,0 -894.0,FRY-bE69,FRY,Foundry Logistics Token,0x6c972b70c533E2E045F333Ee28b9fFb8D717bE69,18 -895.0,ETHY-08B5,ETHY,Ethereum Yield,0xd1AFBCCC9A2c2187ea544363B986EA0AB6EF08B5,18 -896.0,cBSN-B25B,cBSN,BSNcommunitynet,0x7d4B1d793239707445305D8d2456D2c735F6B25B,18 -897.0,NEKO-341F,NEKO,MANEKI-NEKO,0x1E9D0bB190Ac34492aa11B80D28c1C86487a341F,18 -898.0,VFY-e922,VFY,Venify,0x00DD5Ad8F5d9c5118BcEeb526c55eA6b2C07e922,18 -899.0,EGT-3170,EGT,ElonGoat,0x450E7F6e3a2f247A51b98C39297a9a5BfbDb3170,9 -900.0,VERA-e468,VERA,Vera,0xd7f0cC50AD69408aE58be033F4f85D2367C2e468,18 -901.0,BFC-Ab9c,BFC,Bifrost,0x0c7D5ae016f806603CB1782bEa29AC69471CAb9c,18 -902.0,YFII-aB83,YFII,YFII.finance,0xa1d0E215a23d7030842FC67cE582a6aFa3CCaB83,18 -903.0,TEL-790F,TEL,Telcoin,0x467Bccd9d29f223BcE8043b84E8C8B282827790F,2 -904.0,SFG-90dd,SFG,SafeGrow,0xA71DCaaf5ba390B1B2012323A8810fAc121F90dd,18 -905.0,KDOE-82C5,KDOE,Kudoe,0x5f190F9082878cA141F858c1c90B4C59fe2782C5,18 -906.0,PIXIA-69Ae,PIXIA,PixiaAI,0x67675239Fa58c84e75f947c14f566842Dccb69Ae,18 -907.0,POLI-6Db9,POLI,Polinate,0xa1a36D3537bBe375Cc9694795F663DDC8D516Db9,18 -908.0,SOMEE-1447,SOMEE,SoMee.Social,0x65F9A292f1AEED5D755Aa2fD2Fb17AB2E9431447,18 -909.0,BSL-53Ac,BSL,BankSocial,0x0AF55d5fF28A3269d69B98680Fd034f115dd53Ac,8 -910.0,SpillWays-7b47,SpillWays,SpillWays,0x8790f2fc7Ca2e7Db841307FB3f4e72a03Baf7b47,18 -911.0,DGCL-B851,DGCL,DigiCol Token,0x63B8b7d4A3EFD0735c4BFFBD95B332a55e4eB851,18 -912.0,IMPACTXP-49aE,IMPACTXP,ImpactXP,0xb12494C8824fc069757F47d177E666c571Cd49aE,9 -913.0,NFTI-7F4C,NFTI,NFT INDEX,0xe5feeaC09D36B18b3FA757E5Cf3F8dA6B8e27F4C,18 -914.0,BUSY-3f4a,BUSY,Busy,0x5CB3ce6D081fB00d5f6677d196f2d70010EA3f4a,18 -915.0,COTI-55c5,COTI,COTI Token,0xDDB3422497E61e13543BeA06989C0789117555c5,18 -916.0,pBTC-733b,pBTC,pTokens BTC,0x5228a22e72ccC52d415EcFd199F99D0665E7733b,18 -917.0,DSD-8658,DSD,DeFi Nation Signals DAO,0x1e3a2446C729D34373B87FD2C9CBb39A93198658,18 -918.0,AURA-3DBF,AURA,Aura,0xC0c293ce456fF0ED870ADd98a0828Dd4d2903DBF,18 -919.0,TRL-Ec41,TRL,Triall,0x58f9102bF53Cf186682Bd9a281d3Cd3c616eEc41,18 -920.0,TVK-3988,TVK,Terra Virtua Kolect,0xd084B83C305daFD76AE3E1b4E1F1fe2eCcCb3988,18 -921.0,X7105-D105,X7105,X7105,0x7105FAA4a26eD1c67B8B2b41BEc98F06Ee21D105,18 -922.0,LGB-1288,LGB,Let's Go Brandon,0x21E783bcf445B515957A10E992aD3c8E9FF51288,18 -923.0,ETHV-24d6,ETHV,Ethverse Token,0xEeEeeeeEe2aF8D0e1940679860398308e0eF24d6,18 -924.0,SHUSKY-3a75,SHUSKY,Siberian Husky,0x236d53148F83706C3d670064809577385f923a75,9 -925.0,JRT-343A,JRT,Jarvis Reward Token,0x8A9C67fee641579dEbA04928c4BC45F66e26343A,18 -926.0,ADAPAD-0289,ADAPAD,ADAPAD.io,0xDB0170e2d0c1CC1b2E7a90313d9B9afA4f250289,18 -927.0,CIMO-667a,CIMO,Cinnamoon,0xC3f65b1c45B0D42a472CD0Fbd37dD6678AEf667a,9 -928.0,TROVE-E114,TROVE,Trove DAO,0x59c6900949aD1835f07a04321f4d9934a054E114,18 -929.0,PP-9483,PP,PP,0xeCe8531550Fc599ccB2c7734494FBc358d0a9483,18 -930.0,MAGE-2B15,MAGE,MetaBrands,0xd52AAE39a2b5CC7812F7B9450EBB61DfEf702B15,18 -931.0,BEPRO-d36A,BEPRO,BetProtocolToken,0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A,18 -932.0,ALN-5748,ALN,Aluna,0x8185Bc4757572Da2a610f887561c32298f1A5748,18 -933.0,MYOBU-Fb07,MYOBU,Myōbu,0xDfDd3459D4F87234751696840092ee20C970Fb07,9 -934.0,DDIM-8E20,DDIM,DuckDaoDime,0xFbEEa1C75E4c4465CB2FCCc9c6d6afe984558E20,18 -935.0,ZEE-d4c5,ZEE,ZeroSwapToken,0x2eDf094dB69d6Dcd487f1B3dB9febE2eeC0dd4c5,18 -936.0,eYe-2E89,eYe,eYe on Ethereum,0x9A257C90Fa239fBA07771ef7da2d554D148c2E89,18 -937.0,DOGEZ-8617,DOGEZ,Dogezilla,0x4D8046B2f7986FEB5a4b0781EbF5Fa2D7a808617,18 -938.0,ECC-Ac55,ECC,Empire Capital,0xC84D8d03aA41EF941721A4D77b24bB44D7C7Ac55,9 -939.0,CHEDDA-837D,CHEDDA,Chedda Token,0x16756EC1DEb89A2106C35E0B586a799D0A61837D,18 -940.0,Pacha-0d4E,Pacha,Kay Pacha,0x2Dd1B9410c73E16b60240E529e38E30425F00d4E,10 -941.0,CGT-EAA0,CGT,CACHE Gold,0xF5238462E7235c7B62811567E63Dd17d12C2EAA0,8 -942.0,VST-472C,VST,VentiSwap Token,0xb7C2fcD6d7922eddd2A7A9B0524074A60D5b472C,18 -943.0,GAINS-5Ce9,GAINS,Gains,0xd9b312D77Bc7BEd9B9CecB56636300bED4Fe5Ce9,18 -944.0,WHITE-0fe1,WHITE,White Ethereum,0xFe4BEb9217cdDf2422d4bd65449b76d807b30fe1,9 -945.0,AIPAD-8AAf,AIPAD,AIPAD.tech,0xE55d97A97ae6A17706ee281486E98A84095d8AAf,18 -946.0,YDF-E66a,YDF,Yieldification,0x30dcBa0405004cF124045793E1933C798Af9E66a,18 -947.0,CHADS-5c5E,CHADS,chads.vc,0x69692D3345010a207b759a7D1af6fc7F38b35c5E,18 -948.0,BXX-7898,BXX,Baanx,0x6b1a8f210Ec6b7B6643cea3583Fb0c079f367898,18 -949.0,BOMB-6714,BOMB,BOMB,0x1C95b093d6C236d3EF7c796fE33f9CC6b8606714,0 -950.0,SHAMAN-FA5a,SHAMAN,Shaman,0x5fCe9Fc9B5d62aF082A59D0823A062F7529eFA5a,18 -951.0,FOAM-C121,FOAM,FOAM Token,0x4946Fcea7C692606e8908002e55A582af44AC121,18 -952.0,DOGS-ba21,DOGS,Dogcoin,0xBcCD27062ae1A2BeA5731c904b96EDfb163Aba21,9 -953.0,UBT-ee5e,UBT,UniBright,0x8400D94A5cb0fa0D041a3788e395285d61c9ee5e,8 -954.0,ICNQ-390A,ICNQ,Iconiq Lab Token,0xB3e2Cb7CccfE139f8FF84013823Bf22dA6B6390A,18 -955.0,ADEL-A182,ADEL,Akropolis Delphi,0x94d863173EE77439E4292284fF13fAD54b3BA182,18 -956.0,CMS-4F82,CMS,CryptoMoonShots,0x1f22AD99C334e6689bAe751CC225bCC38fe54F82,18 -957.0,SDG-9a01,SDG,SyncDAO Governance,0xCF8829AE9384540c886A151fac3a865794cB9a01,18 -958.0,ORAO-d035,ORAO,ORAO Network,0xEE1CeA7665bA7aa97e982EdeaeCb26B59a04d035,18 -959.0,TORA-7670,TORA,Tora Inu,0x7a3f7F6675514D4d611b442A4B76752f6AB77670,18 -960.0,POWER-E509,POWER,UniPower,0xF2f9A7e93f845b3ce154EfbeB64fB9346FCCE509,18 -961.0,OFI-97dC,OFI,Ordinals Finance,0x419E35E3515c2fDB652C898bF7A0B21FB20497dC,9 -962.0,INSTAR-DAF3,INSTAR,INSTAR,0x8193711b2763Bc7DfD67Da0d6C8c26642eafDAF3,4 -963.0,MTAO-0f71,MTAO,MEME TAO,0x1E8E29CA51363D923725aB9DaC73Bd7e9C440f71,9 -964.0,OPTIG-F44b,OPTIG,Catgirl Optimus,0xD5DF655087d99B7B720A5bc8711F296180A4F44b,18 -965.0,POM-e7E4,POM,Pomeranian,0x24ffe459F51ea20C5d8ad49843529fc33654e7E4,9 -966.0,MIR-E608,MIR,Wrapped MIR Token,0x09a3EcAFa817268f77BE1283176B946C4ff2E608,18 -967.0,COLI-8437,COLI,Coliquidity Token,0xd49EFA7BC0D339D74f487959C573d518BA3F8437,18 -968.0,CRNO-ca8E,CRNO,Chronoly,0xE23311294467654E0CaB14cD32A169A41be5ca8E,18 -969.0,SANI-342F,SANI,Sanin Inu,0x4521C9aD6A3D4230803aB752Ed238BE11F8B342F,18 -970.0,Dogefather-8c06,Dogefather,Dogefather,0x73C61dD9E121dE834A4f3ed607263EE33b308c06,9 -971.0,METRIC-14AC,METRIC,Metric.exchange,0xEfc1C73A3D8728Dc4Cf2A18ac5705FE93E5914AC,18 -972.0,COMFI-F1e4,COMFI,CompliFi,0x752Efadc0a7E05ad1BCCcDA22c141D01a75EF1e4,18 -973.0,4SHIBA-984d,4SHIBA,FOREVER SHIBA,0xB04bf60E468743418E87291d7c9301a5299d984d,18 -974.0,TRDG-68b5,TRDG,Tardigrades.Finance,0x92a42Db88Ed0F02c71D439e55962Ca7CAB0168b5,9 -975.0,DVD-9582,DVD,DAOventuresDeFi,0x77dcE26c03a9B833fc2D7C31C22Da4f42e9d9582,18 -976.0,HAUS-f687,HAUS,DAOhaus Token,0xf2051511B9b121394FA75B8F7d4E7424337af687,18 -977.0,CAW-e452,CAW,A Hunters Dream,0xf3b9569F82B18aEf890De263B84189bd33EBe452,18 -978.0,MARSH-cF37,MARSH,UnmarshalToken,0x5a666c7d92E5fA7Edcb6390E4efD6d0CDd69cF37,18 -979.0,MX-7f36,MX,MX Token,0x11eeF04c884E24d9B7B4760e7476D06ddF797f36,18 -980.0,MARVIN-8C8a,MARVIN,Marvin Inu,0xcAa9Ed6D7502595B555113D4517668aE24038C8a,18 -981.0,FWB-99A8,FWB,Friends With Benefits Pro,0x35bD01FC9d6D5D81CA9E055Db88Dc49aa2c699A8,18 -982.0,TICKR-0d24,TICKR,Tickr,0xf0a163a26601D9dc8Aef26b388Eadb7B1c620d24,9 -983.0,FNT-9D59,FNT,Falcon,0xDc5864eDe28BD4405aa04d93E05A0531797D9D59,6 -984.0,MILK2-c1de,MILK2,MilkyWay Token by SpaceSwap v2,0x80c8C3dCfB854f9542567c8Dac3f44D709eBc1de,18 -985.0,H-d17a,H,H,0xc6956b78e036b87Ba2aB9810BF081eb76EEDd17a,18 -986.0,TIME-A260,TIME,ChronoTech Token,0x485d17A6f1B8780392d53D64751824253011A260,8 -987.0,SLM-686e,SLM,SolomonDefi,0x07a0AD7a9dfc3854466F8F29A173bf04bbA5686e,18 -988.0,CCX-8B59,CCX,ClearCryptos,0x1D6405138A335cE5FD7364086334EfB3E4F28B59,18 -989.0,USHI-ec55,USHI,Ushi,0x6Dca182ac5E3f99985bC4Ee0f726d6472aB1ec55,18 -990.0,BT-Ca3a,BT,BT.Finance,0x76c5449F4950f6338A393F53CdA8b53B0cd3Ca3a,18 -991.0,FOLO-122a,FOLO,Follow,0xB2a63A5Dd36C91eC2DA59B188ff047F66fac122a,18 -992.0,ROOT-570E,ROOT,RootKit,0xCb5f72d37685C3D5aD0bB5F982443BC8FcdF570E,18 -993.0,LPOOL-Df5B,LPOOL,Launchpool token,0x6149C26Cd2f7b5CCdb32029aF817123F6E37Df5B,18 -994.0,KIMCHI-eDa0,KIMCHI,KIMCHI.finance,0x1E18821E69B9FAA8e6e75DFFe54E7E25754beDa0,18 -995.0,HELLSING-6EAD,HELLSING,Hellsing Inu,0xB087C2180e3134Db396977065817aed91FEa6EAD,9 -996.0,CUBE-39f4,CUBE,Somnium Space Cubes,0xDf801468a808a32656D2eD2D2d80B72A129739f4,8 -997.0,YFL-c0be,YFL,YFLink,0x28cb7e841ee97947a86B06fA4090C8451f64c0be,18 -998.0,ETHIX-0D3e,ETHIX,Ethix,0xFd09911130e6930Bf87F2B0554c44F400bD80D3e,18 -999.0,CIA-817d,CIA,CIA,0x52F4D5EE6c91e01Be67CA1F64b11eD0EE370817d,9 -1000.0,NODE-0DA0,NODE,DAppNode DAO Token,0xDa007777D86AC6d989cC9f79A73261b3fC5e0DA0,18 -1001.0,REPv2-C9bB,REPv2,Reputation,0x221657776846890989a759BA2973e427DfF5C9bB,18 -1002.0,ODDZ-5Bf6,ODDZ,OddzToken,0xCd2828fc4D8E8a0eDe91bB38CF64B1a81De65Bf6,18 -1003.0,MCHC-ECC3,MCHC,MCHCoin,0xD69F306549e9d96f183B1AecA30B8f4353c2ECC3,18 -1004.0,HAKKA-3bcd,HAKKA,Hakka Finance,0x0E29e5AbbB5FD88e28b2d355774e73BD47dE3bcd,18 -1005.0,PLANB-499B,PLANB,PlanB DAO,0xe77f82f288A6a7EB4Ac295a86FccB1F6D240499B,18 -1006.0,CVR-e6c6,CVR,PolkaCover,0x3C03b4EC9477809072FF9CC9292C9B25d4A8e6c6,18 -1007.0,$DOSA-1b8a,$DOSA,Dosa,0xeE2B297408063E0967096bafDCfD1278d5BF1b8a,18 -1008.0,IDEX-cfAE,IDEX,IDEX Token,0xB705268213D593B8FD88d3FDEFF93AFF5CbDcfAE,18 -1009.0,PMON-D0b2,PMON,Polkamon,0x1796ae0b0fa4862485106a0de9b654eFE301D0b2,18 -1010.0,DINGER-fA68,DINGER,Dinger Token,0x9e5BD9D9fAd182ff0A93bA8085b664bcab00fA68,9 -1011.0,ISLA-702d,ISLA,Defiville Island Token,0x20a68F9e34076b2dc15ce726d7eEbB83b694702d,18 -1012.0,ZEUS-F867,ZEUS,ZEUS,0x6ef460EB3563CfCc73F8147B0A77DAFFeE71F867,18 -1013.0,FSW-26DB,FSW,FalconSwap Token,0xfffffffFf15AbF397dA76f1dcc1A1604F45126DB,18 -1014.0,RELAX-3001,RELAX,Relaxable,0x801dE502C493aa9d3F9F79A0348fbc00521b3001,18 -1015.0,UZUMAKI-9aa3,UZUMAKI,Uzumaki Inu,0xD4c64f0Fe38ecdaF0Baefd7859E18185a73b9aa3,9 -1016.0,BCB-eb7e,BCB,Blockchain Bets,0x2d886570A0dA04885bfD6eb48eD8b8ff01A0eb7e,9 -1017.0,FINU-Ca1C,FINU,Formula Inu,0x2c022e58C5E3Ee213F06f975fd8a0d3a6fE9Ca1C,18 -1018.0,ASKO-8603,ASKO,Askobar Network,0xeEEE2a622330E6d2036691e983DEe87330588603,18 -1019.0,HEEL-B366,HEEL,Good Dog,0xf941D3AAbf2EE0F5589E68Ba6047b8329592B366,9 -1020.0,INFI-848C,INFI,INFI,0x159751323A9E0415DD3d6D42a1212fe9F4a0848C,18 -1021.0,BLT-B82e,BLT,Bloom Token,0x107c4504cd79C5d2696Ea0030a8dD4e92601B82e,18 -1022.0,VOLT-C597,VOLT,Volt Inu,0x3F7Aff0EF20AA2E646290DfA4E67611B2220C597,9 -1023.0,RWS-7802,RWS,Robonomics Web Services :: V1,0x08AD83D779BDf2BBE1ad9cc0f78aa0D24AB97802,18 -1024.0,TORN-116C,TORN,TornadoCash,0x77777FeDdddFfC19Ff86DB637967013e6C6A116C,18 -1025.0,KAINET-FC8a,KAINET,KAINET,0xB097Dd6a23175C10eAA45A1F410d7eB4cFDAFC8a,9 -1026.0,CTR-d375,CTR,Creator Chain,0x923b83c26B3809d960fF80332Ed00aA46D7Ed375,18 -1027.0,BiFi-BA81,BiFi,BiFi,0x2791BfD60D232150Bff86b39B7146c0eaAA2BA81,18 -1028.0,Suki-18d5,Suki,Sukiyaki,0xD212046F89680aC9F106B9c63f314cc9808e18d5,18 -1029.0,Gorilla Inu-3908,Gorilla Inu,Gorilla Inu | Apes Together Strong,0x68257309fCdfE1e6eDb592DA97aC8215fe583908,9 -1030.0,GET-6A1B,GET,GET,0x8a854288a5976036A725879164Ca3e91d30c6A1B,18 -1031.0,ALERT-c1fB,ALERT,ALERT,0xaE377ed00DF9b9663B253bE93035EF1CfECBc1fB,9 -1032.0,SHIDO-a703,SHIDO,Shido Inu,0x173E552Bf97BBD50b455514ac52991Ef639ba703,9 -1033.0,VPP-5e6e,VPP,Virtue Player Points,0x5EeAA2DCb23056F4E8654a349E57eBE5e76b5e6e,18 -1034.0,EHIVE-6C75,EHIVE,Ethereum Hive,0x10B506Ae42b5466d548EdC4C02a4CE9828386C75,18 -1035.0,KEYFI-9052,KEYFI,KeyFi Token,0xB8647e90C0645152Fccf4d9AbB6B59Eb4AA99052,18 -1036.0,WGMI-6f75,WGMI,WGMI,0xE23FaEfcdAAe646527eb86b1C746A25Ae4a36f75,18 -1037.0,CRAMER-8ee0,CRAMER,Cramer Coin,0x64Df3aAB3b21cC275bB76c4A581Cf8B726478ee0,18 -1038.0,BITT-6D51,BITT,BITTOKEN,0x9F9913853f749b3fE6D6D4e16a1Cc3C1656B6D51,18 -1039.0,AZK-1A99,AZK,AnonZK,0x5408245a4D7c685F59cE6D3b8B35916dd6c11A99,18 -1040.0,POWER-F093,POWER,Kingmaker,0x0263994554Ec08cc60473dbf8ceE60f9EedbF093,18 -1041.0,BIST-093F,BIST,Bistroo Token,0x6e8908cfa881C9f6f2C64d3436E7b80b1bf0093F,18 -1042.0,KARMA-951C,KARMA,Karma,0xdfe691F37b6264a90Ff507EB359C45d55037951C,4 -1043.0,YETIC-6E6F,YETIC,YetiCoin,0xdF96bDE075d59e9143b325C75aF38e208c986E6F,9 -1044.0,PANTO-aA9d,PANTO,PANTOMIME,0x54B8D105aA09342FAD6b352D41a0bAd3E1a9aA9d,18 -1045.0,COGE-6806,COGE,Cogecoin,0xC382e04099A435439725BB40647e2B32dC136806,18 -1046.0,IMPACTX-2669,IMPACTX,ImpactX,0x5aF6ad286C8Ed6633284f2F135C4716057d52669,9 -1047.0,MYST-f361,MYST,Mysterium,0x4Cf89ca06ad997bC732Dc876ed2A7F26a9E7f361,18 -1048.0,MR-29Aa,MR,METARUFFY,0xa4Cb3ef5f41a4D89D6FCed22ea8a1C57957629Aa,18 -1049.0,X7101-E105,X7101,X7101,0x7101a9392EAc53B01e7c07ca3baCa945A56EE105,18 -1050.0,HID-9c9D,HID,Hypersign Identity Token,0xB14eBF566511B9e6002bB286016AB2497B9b9c9D,18 -1051.0,RIO-4097,RIO,Realio Network,0xf21661D0D1d76d3ECb8e1B9F1c923DBfffAe4097,18 -1052.0,TRIBE-212B,TRIBE,Tribe,0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B,18 -1053.0,NeRF-76c5,NeRF,Neural Radiance Field,0xaF8942831F3A096f708b8b31F191B8958Cf176c5,18 -1054.0,RDN-c8e6,RDN,Raiden Token,0x255Aa6DF07540Cb5d3d297f0D0D4D84cb52bc8e6,18 -1055.0,wOMI-A670,wOMI,Wrapped OMI Token,0x04969cD041C0cafB6AC462Bd65B536A5bDB3A670,18 -1056.0,xFUND-7881,xFUND,unification.com/xfund,0x892A6f9dF0147e5f079b0993F486F9acA3c87881,9 -1057.0,Z-e491,Z,ZINJA,0x1BE56412c9606E7285280F76A105EBa56996e491,9 -1058.0,meh-c981,meh,meh,0xBA98C0FbebC892F5b07a42B0FeBD606913EBc981,18 -1059.0,GRUMPY-021b,GRUMPY,Grumpy Cat,0x93B2FfF814FCaEFFB01406e80B4Ecd89Ca6A021b,9 -1060.0,LSD-31FF,LSD,LSD Coin,0xfAC77A24E52B463bA9857d6b758ba41aE20e31FF,18 -1061.0,PLA-b430,PLA,PlayDapp Token,0x3a4f40631a4f906c2BaD353Ed06De7A5D3fCb430,18 -1062.0,LINU-D581,LINU,Luna Inu,0x78132543D8E20D2417d8a07D9ae199D458A0D581,18 -1063.0,wMBX-432d,wMBX,wMBX Token,0x71ba91dC68C6a206Db0A6A92B4b1De3f9271432d,18 -1064.0,MANDOX-a4a4,MANDOX,MandoX,0xAFbF03181833aB4E8DEc24D708a2a24c2bAaa4a4,9 -1065.0,yDAI+yUSDC+yUSDT+yTUSD-06A8,yDAI+yUSDC+yUSDT+yTUSD,Curve.fi yDAI/yUSDC/yUSDT/yTUSD,0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8,18 -1066.0,MINDS-c068,MINDS,Minds,0xB26631c6dda06aD89B93C71400D25692de89c068,18 -1067.0,X7102-A105,X7102,X7102,0x7102DC82EF61bfB0410B1b1bF8EA74575bf0A105,18 -1068.0,X7104-C105,X7104,X7104,0x7104D1f179Cc9cc7fb5c79Be6Da846E3FBC4C105,18 -1069.0,TRU-276c,TRU,Truebit,0xf65B5C5104c4faFD4b709d9D60a185eAE063276c,18 -1070.0,IM-a936,IM,Internet Money,0x0A58153a0CD1cfaea94cE1f7FdC5D7E679eCa936,18 -1071.0,KTLYO-27c8,KTLYO,Katalyo Token,0x24E3794605C84E580EEA4972738D633E8a7127c8,18 -1072.0,FRIN-1D15,FRIN,Fringe,0xC9fE6E1C76210bE83DC1B5b20ec7FD010B0b1D15,18 -1073.0,KODACHI-fd16,KODACHI,Kodachi Token,0x57c411e9a358e2d2d0a6b058cEDb709175e8fd16,18 -1074.0,ziot-796a,ziot,ziot,0xfB22cED41B1267dA411F68c879f4Defd0bD4796a,18 -1075.0,XCUR-86bd,XCUR,Curate,0xE1c7E30C42C24582888C758984f6e382096786bd,8 -1076.0,TYRANT-ec27,TYRANT,Fable Of The Dragon,0x8EE325AE3E54e83956eF2d5952d3C8Bc1fa6ec27,9 -1077.0,NFT-7042,NFT,NFT Protocol,0xcB8d1260F9c92A3A545d409466280fFdD7AF7042,18 -1078.0,REM-6B6d,REM,REMME token,0x83984d6142934bb535793A82ADB0a46EF0F66B6d,4 -1079.0,SATS-Abf8,SATS,SATOSHIS VISION,0x6C22910c6F75F828B305e57c6a54855D8adeAbf8,9 -1080.0,Kusunoki-0308,Kusunoki,Kusunoki Samurai,0x36919a60a2B67B6d2329863093D180d23d5A0308,18 -1081.0,WBUY-3ed8,WBUY,Wrapped BUY Token,0x396eC402B42066864C406d1ac3bc86B575003ed8,2 -1082.0,RENA-9b76,RENA,Rena,0x56de8BC61346321D4F2211e3aC3c0A7F00dB9b76,18 -1083.0,DMOD-18d7,DMOD,Demodyfi Token,0x5f6c5C2fB289dB2228d159C69621215e354218d7,18 -1084.0,CAT-7dB3,CAT,Cat Token,0x56015BBE3C01fE05bc30A8a9a9Fd9A88917e7dB3,18 -1085.0,Nsure-2114,Nsure,Nsure Network Token,0x20945cA1df56D237fD40036d47E866C7DcCD2114,18 -1086.0,rUSD-C8F6,rUSD,Realio Network USD Stablecoin,0xF9A2D7E60a3297E513317AD1d7Ce101CC4C6C8F6,18 -1087.0,MFT-7428,MFT,Mainframe Token,0xDF2C7238198Ad8B389666574f2d8bc411A4b7428,18 -1088.0,EMPIRE-3665,EMPIRE,Empire Network,0xf124eD9Ec309907808b1FBc6BEdB2a76927B3665,18 -1089.0,BETA-dbE2,BETA,Beta Token,0x35F67c1D929E106FDfF8D1A55226AFe15c34dbE2,18 -1090.0,CTI-f244,CTI,ClinTex,0x8c18D6a985Ef69744b9d57248a45c0861874f244,18 -1091.0,RAID-97C9,RAID,Raider Inu - The AI Raid Leader,0x2022760aCDe82079cbEDa17D3afC67dC1F3D97C9,18 -1092.0,PYRO-Cd72,PYRO,PYROmatic,0x1e2D230C7A7F4C679Fb1378F1f51dEDeAe85Cd72,18 -1093.0,$NOWAI-7956,$NOWAI,NOWAI,0x987441856BA4f463544FC68ccBF6a80F434a7956,18 -1094.0,LIF-6465,LIF,Lif,0x9C38688E5ACB9eD6049c8502650db5Ac8Ef96465,18 -1095.0,$ANRX-09E0,$ANRX,AnRKey X,0xCae72A7A0Fd9046cf6b165CA54c9e3a3872109E0,18 -1096.0,HANU-BCC0,HANU,Hanu Yokia,0x72E5390EDb7727E3d4e3436451DADafF675dBCC0,12 -1097.0,GLCH-D564,GLCH,Glitch,0x038a68FF68c393373eC894015816e33Ad41BD564,18 -1098.0,APYS-3615,APYS,APYSwap,0xf7413489c474ca4399eeE604716c72879Eea3615,18 -1099.0,SERP-5Eec,SERP,SHIBARIUM PERPETUALS,0xFd414e39155F91E94443a9Fe97E856569d0F5Eec,9 -1100.0,TAIL-1e31,TAIL,Tail,0xFeeeef4D7b4Bf3cc8BD012D02D32Ba5fD3D51e31,18 -1101.0,ADD-7d56,ADD,ADD,0x635d081fD8F6670135D8a3640E2cF78220787d56,18 -1102.0,RAIN-4D57,RAIN,Rainmaker Games,0x71Fc1F555a39E0B698653AB0b475488EC3c34D57,18 -1103.0,ADVT-9b72,ADVT,Advantis Token,0x69e37422cB87d963367F73A119C8ce9a4D529b72,9 -1104.0,POLK-cfbF,POLK,Polkamarkets,0xD478161C952357F05f0292B56012Cd8457F1cfbF,18 -1105.0,CLAW-8cc3,CLAW,Claw,0xe115401B985306837B9f1495c8e9d7f8f8328cc3,18 -1106.0,DEC-b9b3,DEC,Decentr,0x30f271C9E86D2B7d00a6376Cd96A1cFBD5F0b9b3,18 -1107.0,JAM-5A72,JAM,Geojam,0x23894DC9da6c94ECb439911cAF7d337746575A72,18 -1108.0,SPICE-8193,SPICE,SPICE,0x9b6dB7597a74602a5A806E33408e7E2DAFa58193,18 -1109.0,Yf-DAI-9577,Yf-DAI,YfDAI.finance,0xf4CD3d3Fda8d7Fd6C5a500203e38640A70Bf9577,18 -1110.0,UFARM-af88,UFARM,UNIFARM Token,0x40986a85B4cFCDb054A6CBFB1210194fee51af88,18 -1111.0,GAI-78BF,GAI,GeneraitivAI,0x0d8ca4b20b115D4DA5c13DC45Dd582A5de3e78BF,18 -1112.0,TUF-c8f1,TUF,TUF Token,0x6f8b23296394d20eC048FbDec8eBc0CA90f5c8f1,18 -1113.0,SCIFI-2CB4,SCIFI,ScifiToken,0xfDC4a3FC36df16a78edCAf1B837d3ACAaeDB2CB4,18 -1114.0,BART-63Ba,BART,BarterTrade,0x54C9EA2E9C9E8eD865Db4A4ce6711C2a0d5063Ba,18 -1115.0,KEK-6a82,KEK,KeKChain,0x67954768E721FAD0f0f21E33e874497C73ED6a82,18 -1116.0,ORBS-B0FA,ORBS,Orbs,0xff56Cc6b1E6dEd347aA0B7676C85AB0B3D08B0FA,18 -1117.0,ZEFU-1229,ZEFU,Zenfuse Trading Platform Token,0xB1e9157c2Fdcc5a856C8DA8b2d89b6C32b3c1229,18 -1118.0,BKING-aF04,BKING,King Arthur,0x1cA02DD95f3F1e33DA7F5AfE15EA866dAb07aF04,9 -1119.0,WallStreetInu-eA26,WallStreetInu,Wall Street Inu,0xd68Cb7a643079311B8645ED90F2D5267CfA6eA26,9 -1120.0,BAKT-1C0B,BAKT,BACKED,0x8379f52d09b9998eCbA731288EE4fE532fD91C0B,18 -1121.0,ALCAZAR-9bFe,ALCAZAR,Alcazar,0x10f44a834097469AC340592d28c479c442E99bFe,18 -1122.0,THE-2861,THE,The Protocol,0x0cbA60Ca5eF4D42f92A5070A8fEDD13BE93E2861,18 -1123.0,wBIND-0115,wBIND,Wrapped BIND,0x15334DCb171e8b65D6650321581dcA83bE870115,8 -1124.0,STACK-0Ba4,STACK,StackOS,0x56A86d648c435DC707c8405B78e2Ae8eB4E60Ba4,18 -1125.0,VIBE-Dfba,VIBE,Vibe Coin,0xe8Ff5C9c75dEb346acAc493C463C8950Be03Dfba,18 -1126.0,FLOKI-827c,FLOKI,Floki Musk,0x67Cc621AB2d086a101Cff3340df0A065Ac75827c,18 -1127.0,BRO-8771,BRO,BRO Token,0x1C84656Cb4c286DaA16f27D8B305F1053B5a8771,18 -1128.0,α-69f5,α,.alpha,0x48AF7b1c9dac8871C064f62FcEC0d9d6F7c269f5,18 -1129.0,LUNCH-e7e0,LUNCH,LunchDao,0x71a28feAEe902966DC8D355e7B8Aa427D421e7e0,18 -1130.0,GOVI-6107,GOVI,GOVI,0xeEAA40B28A2d1b0B08f6f97bB1DD4B75316c6107,18 -1131.0,ACAP-6A41,ACAP,Alpha Capital,0xd5A98E77d1fEB091344096301Ea336a5C07a6A41,18 -1132.0,BNS-E07C,BNS,BNS Token,0x695106Ad73f506f9D0A9650a78019A93149AE07C,8 -1133.0,TOWER-7d0B,TOWER,TOWER,0x1C9922314ED1415c95b9FD453c3818fd41867d0B,18 -1134.0,JEJUDOGE-79B9,JEJUDOGE,Jejudoge,0x939A7A577D93ad29B64C1595B1284ce660A479B9,18 -1135.0,BDP-480e,BDP,BDPToken,0xf3dcbc6D72a4E1892f7917b7C43b74131Df8480e,18 -1136.0,ORAI-c1b5,ORAI,Oraichain Token,0x4c11249814f11b9346808179Cf06e71ac328c1b5,18 -1137.0,uDOO-2ffB,uDOO,uDOO,0x12f649A9E821F90BB143089a6e56846945892ffB,18 -1138.0,ATRI-FB62,ATRI,AtariToken,0xdacD69347dE42baBfAEcD09dC88958378780FB62,0 -1139.0,Coval-76Df,Coval,CircuitsOfValue,0x3D658390460295FB963f54dC0899cfb1c30776Df,8 -1140.0,SUZUME-7E43,SUZUME,Shita-Kiri Suzume,0x0B452278223D3954F4AC050949D7998e373e7E43,18 -1141.0,QRX-14D8,QRX,QuiverX,0x6e0daDE58D2d89eBBe7aFc384e3E4f15b70b14D8,18 -1142.0,WAIT-EDd7,WAIT,HOURGLASS,0x2559813BBb508C4C79e9CCCE4703Bcb1f149EDd7,9 -1143.0,HIGH-0282,HIGH,Highstreet token,0x71Ab77b7dbB4fa7e017BC15090b2163221420282,18 -1144.0,TOSHI-6BdC,TOSHI,Toshi Tools,0x77a90B04d64189d4D09508612C09219bC6816BdC,9 -1145.0,LOOM-3DB0,LOOM,LoomToken,0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0,18 -1146.0,UMB-83B2,UMB,Umbrella,0x6fC13EACE26590B80cCCAB1ba5d51890577D83B2,18 -1147.0,GEAR-F5a9,GEAR,Bitgear,0x1b980e05943dE3dB3a459C72325338d327B6F5a9,18 -1148.0,SUNC-C56F,SUNC,Sunrise Token,0x692aCCdD8b86692427E0aa4752AE917Df01CC56F,18 -1149.0,$EARN-D79c,$EARN,EARN,0xA87Ed75C257f1ec38393bEA0A83d55Ac2279D79c,9 -1150.0,PAXG-Af78,PAXG,Paxos Gold,0x45804880De22913dAFE09f4980848ECE6EcbAf78,18 -1151.0,EQZ-0Bb0,EQZ,Equalizer,0x1Da87b114f35E1DC91F72bF57fc07A768Ad40Bb0,18 -1152.0,TYC-658F,TYC,Tycoon Token,0x3A82D3111aB5faF39d847D46023d9090261A658F,18 -1153.0,SIG-6517,SIG,xSigma,0x7777777777697cFEECF846A76326dA79CC606517,18 -1154.0,$SHARBI-c9a9,$SHARBI,SHARBI,0xF3A3023e6Dede84AD88a656A3269F2A36e83c9a9,9 -1155.0,EBOX-15c5,EBOX,ethbox Token,0x33840024177A7DacA3468912363BeD8b425015c5,18 -1156.0,XTM-62Fe,XTM,Torum,0xCd1fAFf6e578Fa5cAC469d2418C95671bA1a62Fe,18 -1157.0,SKRT-77f6,SKRT,Sekuritance,0x887168120cb89Fb06F3E74Dc4AF20D67dF0977f6,18 -1158.0,XLON-9D58,XLON,Xenlon Mars,0x36ff4DaE0E88113D68B1209e245B0e3Af92E9D58,18 -1159.0,SHOPX-D848,SHOPX,SPLYT SHOPX,0x7BEF710a5759d197EC0Bf621c3Df802C2D60D848,18 -1160.0,WPSL-CC29,WPSL,Wrapped PSL,0xC775C0C30840Cb9F51e21061B054ebf1A00aCC29,5 -1161.0,FIS-cC8d,FIS,StaFi,0xef3A930e1FfFFAcd2fc13434aC81bD278B0ecC8d,18 -1162.0,DIVI-3a77,DIVI,Divi,0x246908BfF0b1ba6ECaDCF57fb94F6AE2FcD43a77,8 -1163.0,SHIBELON-De6d,SHIBELON,ShibElon,0x4c584CD339bdDE73B7F5210486dd8bbeEE3fDe6d,9 -1164.0,AAPX-0811,AAPX,AMPnet APX Token,0xbfD815347d024F449886c171f78Fa5B8E6790811,18 -1165.0,POLS-D5Aa,POLS,PolkastarterToken,0x83e6f1E41cdd28eAcEB20Cb649155049Fac3D5Aa,18 -1166.0,LGCY-8A0d,LGCY,LGCY Network,0xaE697F994Fc5eBC000F8e22EbFfeE04612f98A0d,18 -1167.0,COT-4CE8,COT,CosplayToken,0x5CAc718A3AE330d361e39244BF9e67AB17514CE8,18 -1168.0,InvectAI-2904,InvectAI,InvectAI,0xCAE7F3aa6D456463bEf0E5B508542b69D96f2904,8 -1169.0,SOCKS-91d5,SOCKS,Unisocks Edition 0,0x23B608675a2B2fB1890d3ABBd85c5775c51691d5,18 -1170.0,PAR-ee06,PAR,Parachute,0x1BeEF31946fbbb40B877a72E4ae04a8D1A5Cee06,18 -1171.0,ARNX-e283,ARNX,Aeron,0x0C37Bcf456bC661C14D596683325623076D7e283,18 -1172.0,SNC-0404,SNC,SunContract,0xF4134146AF2d511Dd5EA8cDB1C4AC88C57D60404,18 -1173.0,bALPHA-15A6,bALPHA,bAlpha,0x7a5ce6abD131EA6B148a022CB76fc180ae3315A6,18 -1174.0,RARE-c7C8,RARE,RARE.UNIQUE,0x93dfaf57D986B9cA77Df9376c50878E013D9c7C8,18 -1175.0,BEND-6218,BEND,Bend Token,0x0d02755a5700414B26FF040e1dE35D337DF56218,18 -1176.0,EVNY-8E60,EVNY,EVNY Token,0x9A24B8E8A6D4563c575A707b1275381119298E60,18 -1177.0,SKY-B0d4,SKY,The SkyToken,0x090FC4D5436D98E13473c4d6109De6A18BCfB0d4,18 -1178.0,VTX-A832,VTX,Vortex DeFi,0xceb286C9604c542d3cc08b41AA6C9675B078A832,18 -1179.0,HAY-33bb,HAY,HAYFEVER,0xF6269e2e0C271fb6AF35E7f8a539EbC7155E33bb,9 -1180.0,RISE-0cA3,RISE,EverRise,0xC17c30e98541188614dF99239cABD40280810cA3,18 -1181.0,STRIP-3C02,STRIP,StripCoin,0xE9cB6838902CCF711f16a9EA5A1170F8e9853C02,18 -1182.0,RSC-F571,RSC,ResearchCoin,0xD101dCC414F310268c37eEb4cD376CcFA507F571,18 -1183.0,renDOGE-71A7,renDOGE,renDOGE,0x3832d2F059E55934220881F831bE501D180671A7,8 -1184.0,M2-D15C,M2,M2,0x965d79F1A1016B574a62986e13Ca8Ab04DfdD15C,18 -1185.0,STMX-2803,STMX,StormX,0xbE9375C6a420D2eEB258962efB95551A5b722803,18 -1186.0,NFAi-7969,NFAi,Not Financial Advice,0x8eEcaad83a1Ea77bD88A818d4628fAfc4CaD7969,18 -1187.0,FEY-6072,FEY,Feyorra,0xe8E06a5613dC86D459bC8Fb989e173bB8b256072,18 -1188.0,TAILS-6360,TAILS,TAILS,0x3d79Abb948bc76794ff4a0bCd60170a741f26360,9 -1189.0,SOLVE-406F,SOLVE,Healthcare Administration Token,0x446C9033E7516D820cc9a2ce2d0B7328b579406F,8 -1190.0,CTASK-3934,CTASK,CTASK Token,0x196c81385Bc536467433014042788Eb707703934,18 -1191.0,SALE-B589,SALE,DxSale.Network,0xF063fE1aB7a291c5d06a86e14730b00BF24cB589,18 -1192.0,CFi-1eF4,CFi,CyberFi Token,0x63b4f3e3fa4e438698CE330e365E831F7cCD1eF4,18 -1193.0,HINA-6764,HINA,Hina Inu,0xbD0a4bf098261673d5E6e600Fd87ddcd756e6764,9 -1194.0,CHIP-18bE,CHIP,Ask Chip,0x5A5389bA78F04D783E9F30e5A8C45727c5E018bE,9 -1195.0,SOV-2c16,SOV,ShibOriginalVision,0x2C5BC2Ba3614fD27FCc7022eA71d9172E2632c16,18 -1196.0,ISLA-5947,ISLA,Insula,0x697eF32B4a3F5a4C39dE1cB7563f24CA7BfC5947,18 -1197.0,LIFE-8EE6,LIFE,Life Crypto,0x6c936D4AE98E6d2172dB18c16C4b601C99918EE6,18 -1198.0,TKN-E73a,TKN,Monolith TKN,0xaAAf91D9b90dF800Df4F55c205fd6989c977E73a,8 -1199.0,VID-C9E5,VID,VideoCoin,0x2C9023bBc572ff8dc1228c7858A280046Ea8C9E5,18 -1200.0,GETH-3De9,GETH,Goerli ETH,0xdD69DB25F6D620A7baD3023c5d32761D353D3De9,18 -1201.0,EWW-21a8,EWW,EndlessWebWorlds,0x3d38F87BeF0123f5764635C7E11048027E0721a8,9 -1202.0,SONIC-0ee5,SONIC,Sonic,0xd1cD47746B8e72359b28C1c84a4F6a19dc1A0ee5,18 -1203.0,ZINU-6caA,ZINU,Zombie Inu,0xc50EF449171a51FbeAFd7c562b064B6471C36caA,9 -1204.0,GNFT-6C2b,GNFT,GNFT,0xc502002aEB1b9309FcCb016adF50507987Fc6C2b,18 -1205.0,DPAY-Dd78,DPAY,Devour,0xE5A733681bbE6cd8c764Bb8078ef8E13a576Dd78,18 -1206.0,TOK-3C30,TOK,TOK,0x4Fb721eF3Bf99e0f2c193847afA296b9257d3C30,8 -1207.0,JUP-2Be8,JUP,Jupiter,0x4B1E80cAC91e2216EEb63e29B957eB91Ae9C2Be8,18 -1208.0,NMS-91a9,NMS,Nemesis,0x77252494C25444F8598A0c74Ffc90ADc535291a9,18 -1209.0,KEX-a4F8,KEX,KIRA Network,0x16980b3B4a3f9D89E33311B5aa8f80303E5ca4F8,6 -1210.0,SWAPP-c244,SWAPP,Swapp Token,0x8CB924583681cbFE487A62140a994A49F833c244,18 -1211.0,SHINU-C53F,SHINU,Sheikh Inu,0x0d229c3FF2d76E4b88Ca4F9d3D3353F4545EC53F,18 -1212.0,PAY-3ea3,PAY,PayBolt,0xe580074A10360404AF3ABfe2d524D5806D993ea3,18 -1213.0,SIMP-4C99,SIMP,SIMP,0x41C21693e60FC1a5dBb7c50e54E7A6016aA44C99,18 -1214.0,WAS-0E1b,WAS,Wasder Token,0x0c572544a4Ee47904d54aaA6A970AF96B6f00E1b,18 -1215.0,PCNT-0C3b,PCNT,Playcent,0x657B83A0336561C8f64389a6f5aDE675C04b0C3b,18 -1216.0,PTOY-CC06,PTOY,Patientory,0x8Ae4BF2C33a8e667de34B54938B0ccD03Eb8CC06,8 -1217.0,PKF-8AEb,PKF,PolkaFoundry,0x8B39B70E39Aa811b69365398e0aACe9bee238AEb,18 -1218.0,DSLA-ECBe,DSLA,DSLA,0x3aFfCCa64c2A6f4e3B6Bd9c64CD2C969EFd1ECBe,18 -1219.0,GATE-82E4,GATE,GATE,0x9d7630aDF7ab0b0CB00Af747Db76864df0EC82E4,18 -1220.0,HLD-8187,HLD,Hackerlabs DAO,0xCA1308E38340C69E848061aA2C3880daeB958187,9 -1221.0,NEBO-b455,NEBO,CSP DAO,0x7f0c8B125040f707441cad9e5eD8a8408673b455,18 -1222.0,DOGY-6839,DOGY,DogeYield,0x9c405acf8688AfB61B3197421cDeeC1A266c6839,18 -1223.0,PNODE-82D2,PNODE,Pinknode Token,0xAF691508BA57d416f895e32a1616dA1024e882D2,18 -1224.0,PTPA-9E6c,PTPA,Pumptopia,0xC0B182B2E06164568a3310Ca1086e9bf19209E6c,18 -1225.0,SNOV-d969,SNOV,Snovio,0xBDC5bAC39Dbe132B1E030e898aE3830017D7d969,18 -1226.0,MNTP-ECCc,MNTP,Goldmint MNT Prelaunch Token,0x83cee9e086A77e492eE0bB93C2B0437aD6fdECCc,18 -1227.0,ID-Eb83,ID,Everest ID,0xEBd9D99A3982d547C5Bb4DB7E3b1F9F14b67Eb83,18 -1228.0,iDYP-e056,iDYP,iDeFiYieldProtocol,0xBD100d061E120b2c67A24453CF6368E63f1Be056,18 -1229.0,PRIMATE-95ff,PRIMATE,PRIMATE,0x46e98FFE40E408bA6412bEb670507e083C8B95ff,18 -1230.0,EMON-974a,EMON,EthermonToken,0xd6A5aB46ead26f49b03bBB1F9EB1Ad5c1767974a,18 -1231.0,YUNA-62f9,YUNA,Yuna (YunaToken.io),0x2F6f397332B0F8b4536430bCC97980aA838f62f9,18 -1232.0,RHO-90Ec,RHO,Rho Token,0x3F3Cd642E81d030D7b514a2aB5e3a5536bEb90Ec,18 -1233.0,SANSHU-344D,SANSHU,Sanshu Inu,0xc73C167E7a4Ba109e4052f70D5466D0C312A344D,9 -1234.0,VRA-E41F,VRA,VERA,0xdF1D6405df92d981a2fB3ce68F6A03baC6C0E41F,18 -1235.0,ATOR-79ce,ATOR,AirTor Protocol,0x0F7B3F5a8FeD821c5eb60049538a548dB2D479ce,18 -1236.0,AUDIO-B998,AUDIO,Audius,0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998,18 -1237.0,QLINDO-b46E,QLINDO,Qlindo Realestate Investment Token,0xC18c07a18198A6340cf4d94855fE5eb6DD33b46E,0 -1238.0,COOK-6eF5,COOK,Cook Token,0xFF75CEd57419bcaEBe5F05254983b013B0646eF5,18 -1239.0,PDEX-Aaea,PDEX,Polkadex,0xF59ae934f6fe444afC309586cC60a84a0F89Aaea,18 -1240.0,CARD-D708,CARD,Cardstack,0x954b890704693af242613edEf1B603825afcD708,18 -1241.0,HTB-A941,HTB,Hotbit Token,0x6be61833FC4381990e82D7D4a9F4c9B3F67eA941,18 -1242.0,FOUR-F4D0,FOUR,The 4th Pillar Token,0x4730fB1463A6F1F44AEB45F6c5c422427f37F4D0,18 -1243.0,PAN-4c92,PAN,Pantos Token,0x536381a8628dBcC8C70aC9A30A7258442eAb4c92,8 -1244.0,HAKI-6697,HAKI,HAKI,0xF90c7f66eAc7E2130bF677D69a250b2136Cf6697,18 -1245.0,PAW-1B01,PAW,PAWSWAP,0xDc63269eA166b70d4780b3A11F5C825C2b761B01,18 -1246.0,SHIV-cB43,SHIV,ShibVinci,0xe9615071341c6F0392A5dFDE1645Ad01b810cB43,9 -1247.0,GNYerc20-51d4,GNYerc20,GNYerc20,0xb1f871Ae9462F1b2C6826E88A7827e76f86751d4,18 -1248.0,UMBR-d35C,UMBR,UmbriaToken,0xa4bBE66f151B22B167127c770016b15fF97Dd35C,18 -1249.0,LEO-2Ca3,LEO,Bitfinex LEO Token,0x2AF5D2aD76741191D15Dfe7bF6aC92d4Bd912Ca3,18 -1250.0,DEXTF-89f0,DEXTF,DEXTF Token,0x5F64Ab1544D28732F0A24F4713c2C8ec0dA089f0,18 -1251.0,Kitty Dinger-3BC6,Kitty Dinger,Schrodinger,0x2C33B28527A63Cdf13C0B24Ce4cf5BF9C9fB3BC6,9 -1252.0,G*-2fA3,G*,G*,0x97E19E2a5458294842036404E6A05571D8Bc2fA3,18 -1253.0,APOLLO-3CAb,APOLLO,Apollo Inu,0xADf86E75d8f0F57e0288D0970E7407eaA49b3CAb,9 -1254.0,DOGEFI-646D,DOGEFI,DOGEFI,0x9B9087756eCa997C5D595C840263001c9a26646D,18 -1255.0,TRVL-1F3d,TRVL,TRVL,0xd47bDF574B4F76210ed503e0EFe81B58Aa061F3d,18 -1256.0,ARV-429E,ARV,Artemis Vision,0x28fDA76721a8077A5dE802Ab0212849B8c38429E,18 -1257.0,RND-6b29,RND,random,0x1c7E83f8C581a967940DBfa7984744646AE46b29,18 -1258.0,UniFi-CEb5,UniFi,UniFi,0x9E78b8274e1D6a76a0dBbf90418894DF27cBCEb5,18 -1259.0,POLC-6B37,POLC,Polka City,0xaA8330FB2B4D5D07ABFE7A72262752a8505C6B37,18 -1260.0,SWFL-538A,SWFL,Swapfolio,0xBa21Ef4c9f433Ede00badEFcC2754B8E74bd538A,18 -1262.0,BOLT-a789,BOLT,Bolt Token,0xD5930C307d7395Ff807F2921F12C5EB82131a789,18 -1263.0,HAPI-Fb54,HAPI,HAPI,0xD9c2D319Cd7e6177336b0a9c93c21cb48d84Fb54,18 -1264.0,FREE-e4Fd,FREE,Free Coin,0x2F141Ce366a2462f02cEA3D12CF93E4DCa49e4Fd,18 -1265.0,KANGAL-d337,KANGAL,Kangal,0x6E765D26388A17A6e86c49A8E41DF3F58aBcd337,18 -1266.0,DBNB-d888,DBNB,DecentraBNB,0x833850BE8858722Cfc5E5e75f2Fe6275E055d888,9 -1267.0,STACK-3a0a,STACK,Stacker Ventures Token,0xe0955F26515d22E347B17669993FCeFcc73c3a0a,18 -1268.0,LOL-C032,LOL,LOL,0xf91AC30E9b517f6D57e99446ee44894e6C22C032,9 -1269.0,$AI-C2a1,$AI,Alpha Intelligence,0x5d259E3FbcAdef1abfeA5582e456Bc7F0aebC2a1,18 -1270.0,ARCH-f3aF,ARCH,Archer DAO Governance Token,0x1F3f9D3068568F8040775be2e8C03C103C61f3aF,18 -1271.0,DOS-9cB7,DOS,DOS Network Token,0x0A913beaD80F321E7Ac35285Ee10d9d922659cB7,18 -1272.0,MKONG-8065,MKONG,MEME KONG,0xeE6b9CF11D968E0bAc7BFfF547577B8AE35B8065,9 -1273.0,ACYC-e147,ACYC,AllCoinsYieldCapital,0xB56A1f3310578f23120182Fb2e58c087EFE6e147,18 -1274.0,LITx-7a91,LITx,LITH Token,0x4B48068864F77261838C7849A12853FB94c77a91,18 -1275.0,GFX-58fC,GFX,GamyFi,0x65ad6A2288b2Dd23E466226397c8F5D1794e58fC,18 -1276.0,WSCRT-68Be,WSCRT,Wrapped SCRT,0x2B89bF8ba858cd2FCee1faDa378D5cd6936968Be,6 -1277.0,BARK-ea60,BARK,Bark,0x53340a1EF3a0dDeBA1D94BBd1E2fF55936F0ea60,18 -1278.0,NTX-7935,NTX,NuNet Utility Token,0xF0d33BeDa4d734C72684b5f9abBEbf715D0a7935,6 -1279.0,WAXE-4DFD,WAXE,WAX Economic Token,0x7a2Bc711E19ba6aff6cE8246C546E8c4B4944DFD,8 -1280.0,ONX-1033,ONX,OnX.finance,0xE0aD1806Fd3E7edF6FF52Fdb822432e847411033,18 -1281.0,KATA-aE15,KATA,Katana Inu,0x2e85ae1C47602f7927bCabc2Ff99C40aA222aE15,18 -1282.0,rDPX-8D11,rDPX,Dopex Rebate Token,0x0ff5A8451A839f5F0BB3562689D9A44089738D11,18 -1283.0,XSTUSD-d356,XSTUSD,SORA Synthetic USD,0xc7D9c108D4E1dD1484D3e2568d7f74bfD763d356,18 -1284.0,LMT-c8AF,LMT,Lympo Market Token,0x327673aE6B33Bd3d90f0096870059994f30Dc8AF,18 -1285.0,UNQT-5d4C,UNQT,Unique Utility Token,0xa80f2C8f61c56546001f5FC2eb8D6E4e72c45d4C,18 -1286.0,PLU-264E,PLU,Pluton,0xD8912C10681D8B21Fd3742244f44658dBA12264E,18 -1287.0,X7DAO-2dA0,X7DAO,X7DAO,0x7105E64bF67ECA3Ae9b123F0e5Ca2b83b2eF2dA0,18 -1288.0,UFT-3AB1,UFT,UniLend Finance Token,0x0202Be363B8a4820f3F4DE7FaF5224fF05943AB1,18 -1289.0,RESET-EeD2,RESET,MetaReset,0x30df7D7EE52c1b03cd009e656F00AB875AdCEeD2,18 -1290.0,KISHUTAMA-7990,KISHUTAMA,KishuTama,0xDc0804eD9ABA9202E2b976C031d3144BB63a7990,9 -1291.0,YOP-4051,YOP,YOP,0xAE1eaAE3F627AAca434127644371b67B18444051,8 -1292.0,TENSHI-5292,TENSHI,TENSHI v2,0x52662717e448be36Cb54588499D5A8328BD95292,18 -1293.0,UNIQ-8025,UNIQ,Uniqly,0x3758e00b100876C854636eF8Db61988931BB8025,18 -1294.0,KNDX-EFC1,KNDX,Kondux,0x7CA5af5bA3472AF6049F63c1AbC324475D44EFC1,9 -1295.0,GT-4759,GT,GateChainToken,0xE66747a101bFF2dBA3697199DCcE5b743b454759,18 -1296.0,SIS-6dd9,SIS,Symbiosis,0xd38BB40815d2B0c2d2c866e0c72c5728ffC76dd9,18 -1297.0,COR-D835,COR,COR Token,0x9C2dc0c3CC2BADdE84B0025Cf4df1c5aF288D835,18 -1298.0,AZUKI-BaEd,AZUKI,DokiDokiAzuki,0x910524678C0B1B23FFB9285a81f99C29C11CBaEd,18 -1299.0,HEART-897C,HEART,HUMANS,0x8FAc8031e079F409135766C7d5De29cf22EF897C,18 -1300.0,FKX-6EBB,FKX,Knoxstertoken,0x16484d73Ac08d2355F466d448D2b79D2039F6EBB,18 -1301.0,YVS-f478,YVS,YVS.Finance,0xEC681F28f4561c2a9534799AA38E0d36A83Cf478,18 -1302.0,eMTRG-8A9F,eMTRG,Meter Governance mapped by Meter.io,0xBd2949F67DcdC549c6Ebe98696449Fa79D988A9F,18 -1303.0,BTSE-32Ef,BTSE,BTSE Token,0x666d875C600AA06AC1cf15641361dEC3b00432Ef,8 -1304.0,NFTT-9499,NFTT,NFT.TECH,0x5fA2E9Ba5757504B3d6e8f6da03cc40d4ce19499,18 -1305.0,LEASH-6634,LEASH,DOGE KILLER,0x27C70Cd1946795B66be9d954418546998b546634,18 -1306.0,ORION-46e4,ORION,Orion Money Token,0x727f064A78DC734D33eEc18d5370aef32Ffd46e4,18 -1307.0,GOKU-ED79,GOKU,Goku Inu,0xA64dFe8D86963151E6496BEe513E366F6e42ED79,9 -1308.0,HAPPY-26f4,HAPPY,HappyFans,0x3079F61704E9eFa2BcF1db412f735d8d4cFa26f4,18 -1309.0,HY-5715,HY,hybrix hydra,0x9b53E429B0baDd98ef7F01F03702986c516a5715,18 -1310.0,BANKETH-4cA1,BANKETH,BankEth,0xBE0C826f17680d8Da620855bE89DD6544C034cA1,18 -1311.0,DOSE-6515,DOSE,DOSE,0xb31eF9e52d94D4120eb44Fe1ddfDe5B4654A6515,18 -1312.0,STILT-bE4b,STILT,Stilton,0xB5F1457d6FBa1956Fb8d31B0B7CAcA14BDe0bE4b,9 -1313.0,cUSDT-dCC9,cUSDT,Compound USDT,0xf650C3d88D12dB855b8bf7D11Be6C55A4e07dCC9,8 -1314.0,HERO-884E,HERO,Challenge Coin,0x524Ebc93BeEf838F70b4Ae54b675d3e971D5884E,9 -1315.0,CRBN-24EE,CRBN,Carbon,0xCdeee767beD58c5325f68500115d4B722b3724EE,18 -1316.0,PWRC-4f83,PWRC,PWRCASH,0x6Aa40D02115090D40Dc33C7C5F3Cf05112fA4f83,18 -1317.0,GRV-290c,GRV,GroveC,0xF33893DE6eB6aE9A67442E066aE9aBd228f5290c,8 -1318.0,BID-02fa,BID,Bidao,0x25e1474170c4c0aA64fa98123bdc8dB49D7802fa,18 -1319.0,UFI-a0E3,UFI,PureFi Token,0xcDa4e840411C00a614aD9205CAEC807c7458a0E3,18 -1320.0,EDGE-7831,EDGE,Edge,0x4EC1b60B96193a64AcAe44778e51f7BfF2007831,18 -1321.0,BTT-7957,BTT,BitTorrent,0xC669928185DbCE49d2230CC9B0979BE6DC797957,18 -1322.0,ZONE-d53C,ZONE,GridZone.io,0xC1D9B5A0776d7C8B98b8A838e5a0DD1Bc5Fdd53C,18 -1323.0,RELIC-884F,RELIC,MasRelic,0x77132Bb08B02a7a87732ec289EFaB45edF49884F,18 -1324.0,DOGENS-2e3c,DOGENS,Dogens,0x1b4dD5eA240732dDAc8d74FD1Cd9026Addc02e3c,9 -1325.0,MASTERMIND-9b43,MASTERMIND,Mastermind,0x8b0FdE007458Ee153bd0F66CD448Af5FB3D99b43,18 -1326.0,GYSR-CCAb,GYSR,Geyser,0xbEa98c05eEAe2f3bC8c3565Db7551Eb738c8CCAb,18 -1327.0,SHIBAKEN-Ab6B,SHIBAKEN,ShibaKen.Finance,0xa4Cf2aFD3B165975afFFBf7e487CDd40C894Ab6B,0 -1328.0,DRT-D5Ab,DRT,DomRaiderToken,0x9AF4f26941677C706cfEcf6D3379FF01bB85D5Ab,8 -1329.0,FLOW-1BF9,FLOW,Flow Protocol,0xC6e64729931f60D2c8Bc70A27D66D9E0c28D1BF9,9 -1330.0,SRM-e0fF,SRM,Serum,0x476c5E26a75bd202a9683ffD34359C0CC15be0fF,6 -1331.0,EVED-91bd,EVED,Evedo Token,0x5aaEFe84E0fB3DD1f0fCfF6fA7468124986B91bd,18 -1332.0,WUKONG-D714,WUKONG,Monkey King,0xA3ec7DF93090f4DE46FaEA09F73cc40ebe7dD714,18 -1333.0,MORK-6F76,MORK,Mork,0xf552b656022c218C26dAd43ad88881Fc04116F76,4 -1334.0,tAI-3B7f,tAI,AITravis,0x2F4404C4012476929b6503E1397707480bf23B7f,9 -1335.0,CHART-E63E,CHART,ChartEx,0x1d37986F252d0e349522EA6C3B98Cb935495E63E,18 -1336.0,POLY-D1eC,POLY,Polymath,0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC,18 -1337.0,GATSBY-37b4,GATSBY,Gatsby Inu,0xE22910D04bDc9d55570f3BC52E786b49DddF37b4,18 -1338.0,GAS-8469,GAS,Gas DAO,0x6Bba316c48b49BD1eAc44573c5c871ff02958469,18 -1339.0,SHIWA-1cc4,SHIWA,SHIWA,0x5022Cb6D39001CDD6F996e8a66500c86128f1cc4,9 -1340.0,BAND-7f55,BAND,BandToken,0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55,18 -1341.0,BABYDOGE-eBd5,BABYDOGE,BabyDoge Coin,0xAC8E13ecC30Da7Ff04b842f21A62a1fb0f10eBd5,9 -1342.0,FUSE-f84d,FUSE,Fuse Token,0x970B9bB2C0444F5E81e9d0eFb84C8ccdcdcAf84d,18 -1343.0,MAGA-2228,MAGA,MAGA Coin ETH,0xc9b6A17EbB43491635F603A01f8Bb3e4B5D22228,9 -1344.0,DFP2-8E6D,DFP2,Defi Plaza governance,0x2F57430a6ceDA85a67121757785877b4a71b8E6D,18 -1345.0,EXP-2f77,EXP,Exp,0xd137561C20BE8e870D62e2aE92269f0950702f77,18 -1346.0,GTFO-3398,GTFO,DumpBuster,0xa0A9C16856C96D5E9d80a8696eEA5E02B2Dc3398,9 -1347.0,HUSKY-5091,HUSKY,HuskyToken,0xd5281BB2d1eE94866B03A0fcCDd4e900c8Cb5091,9 -1348.0,NII-bE52,NII,Nahmii,0x7c8155909cd385F120A56eF90728dD50F9CcbE52,15 -1349.0,FAMILY-61f4,FAMILY,The Bitcoin Family,0x833E4c02c47B7e38f5b9A80b26eb07D23d1961f4,4 -1350.0,UNCL-Dd49,UNCL,UNCL,0x2f4eb47A1b1F4488C71fc10e39a4aa56AF33Dd49,18 -1351.0,CAI-a48D,CAI,CryptoAI,0xf36C5f04127F7470834ed6f98bDDC1BE62aba48D,18 -1352.0,MCO2-cacD,MCO2,Moss Carbon Credit,0xfC98e825A2264D890F9a1e68ed50E1526abCcacD,18 -1353.0,BMDA-a95E,BMDA,Bermuda,0x4236f8aaF2B1f3A28420Eb15B8e0ddF63201a95E,18 -1354.0,MINT-a059,MINT,Public Mint,0x0CDF9acd87E940837ff21BB40c9fd55F68bba059,18 -1355.0,DINU-7732,DINU,Dogey-Inu,0xbb1EE07d6c7BAeB702949904080eb61f5D5e7732,18 -1356.0,FreqAI-f486,FreqAI,The Razors Edge,0xB685145D7F127b9093d7f9278BaE902EF59Ff486,18 -1357.0,NTVRK-157A,NTVRK,NETVRK,0xFc0d6Cf33e38bcE7CA7D89c0E292274031b7157A,18 -1358.0,OPCT-c400,OPCT,Opacity,0xDb05EA0877A2622883941b939f0bb11d1ac7c400,18 -1359.0,SI-93de,SI,SIREN,0xD23Ac27148aF6A2f339BD82D0e3CFF380b5093de,18 -1360.0,PAINT-4042,PAINT,Paint,0x4C6eC08CF3fc987c6C4BEB03184D335A2dFc4042,18 -1361.0,WXMR-B0f5,WXMR,Wrapped Monero,0x465e07d6028830124BE2E4aA551fBe12805dB0f5,18 -1362.0,EDDA-0aA9,EDDA,EDDA,0xFbbE9b1142C699512545f47937Ee6fae0e4B0aA9,18 -1363.0,JACY-4A62,JACY,JACY,0x916c5DE09cF63f6602d1e1793FB41F6437814A62,9 -1364.0,BCT-150a,BCT,BananaClubToken,0x350D3f0f41b5B21F0e252fe2645AE9D55562150a,9 -1365.0,MCAP-44f0,MCAP,Meta Capital,0xbCE0665b20164d6cd6D15E70feD1E094AD4A44f0,9 -1366.0,PLSPAD-C47A,PLSPAD,PULSEPAD.io,0x8a74BC8c372bC7f0E9cA3f6Ac0df51BE15aEC47A,18 -1367.0,DOKI-71f5,DOKI,Okidoki Social,0x869DBe51Dc214fcb663604b0F7B548592F8C71f5,9 -1368.0,SDOG-E0D4,SDOG,SDOG,0x537edD52ebcb9F48ff2f8a28c51FCdB9D6a6E0D4,18 -1369.0,DBOX-D973,DBOX,Decentra Box,0x56c9D5F1E727de03643af220B5cE52DE23D4D973,18 -1370.0,ARCHA-C7fD,ARCHA,archangel,0x36E43065e977bC72CB86Dbd8405fae7057CDC7fD,9 -1371.0,FMON-e96D,FMON,FMONEY TOKEN,0xD283EC9db7B3094ED5a2c87Eb48D54f5FA96e96D,9 -1372.0,IXS-d1b4,IXS,Ixs Token,0x73d7c860998CA3c01Ce8c808F5577d94d545d1b4,18 -1373.0,STARS-13Ca,STARS,Mogul Stars,0xc55c2175E90A46602fD42e931f62B3Acc1A013Ca,18 -1374.0,PAID-D787,PAID,PAID Network,0x1614F18Fc94f47967A3Fbe5FfcD46d4e7Da3D787,18 -1375.0,SNTVT-B7F8,SNTVT,Sentivate,0x7865af71cf0b288b4E7F654f4F7851EB46a2B7F8,18 -1376.0,MOMA-D55B,MOMA,MOchi MArket,0xbd1848e1491d4308Ad18287A745DD4DB2A4BD55B,18 -1377.0,GLDN-0CC2,GLDN,Gold Retriever,0xFeeB4D0f5463B1b04351823C246bdB84c4320CC2,18 -1378.0,VERI-2374,VERI,Veritaseum,0x8f3470A7388c05eE4e7AF3d01D8C722b0FF52374,18 -1379.0,IMP-4543,IMP,Imperial Obelisk,0x2D5C73f3597B07F23C2bB3F2422932E67eca4543,18 -1380.0,WPT-88eA,WPT,WPT Investing Corp,0x4FD51Cb87ffEFDF1711112b5Bd8aB682E54988eA,18 -1381.0,OJE-6409,OJE,OJE Token,0xC5ec4f1FC86DA45AE788EC98756BA70B57676409,18 -1382.0,PNK-c04d,PNK,Pinakion,0x93ED3FBe21207Ec2E8f2d3c3de6e058Cb73Bc04d,18 -1383.0,TOKR-6772,TOKR,Tokerr,0xA885B6d3C87535de688194Ec3645199ee76D6772,9 -1384.0,CLIFF-6669,CLIFF,CliffordInu,0x1B9BAF2A3EdeA91eE431f02d449a1044d5726669,18 -1385.0,R34P-81F6,R34P,R34P,0xCAEaf8381D4B20b43AFA42061D6f80319A8881F6,8 -1386.0,DCNT-8701,DCNT,Decanect,0x4Ce4C025692B3142dbdE1cd432ef55b9A8D18701,9 -1387.0,TRND-7CCb,TRND,Trendering,0xc3dD23A0a854b4f9aE80670f528094E9Eb607CCb,18 -1388.0,USF-b9ce,USF,Unslashed Finance Governance Token,0xE0e05c43c097B0982Db6c9d626c4eb9e95C3b9ce,18 -1389.0,SHIBU-91a4,SHIBU,SHIBAUNIVERSE.ORG,0x7bFDE33d790411A88D46E9e1be32Fc86228891a4,9 -1390.0,oBTC-B2AC,oBTC,Ordinal BTC ,0xfF770E4c68e35DB85c6e0E89a43750eC02bDB2AC,18 -1391.0,DEV-aEa0,DEV,Dev Doing Something,0x77E20FC7f2F4084b74284E1190810fCa3679aEa0,9 -1392.0,BabyTrump-08B6,BabyTrump,Baby Trump Token,0x99d36e97676A68313ffDc627fd6b56382a2a08B6,9 -1393.0,UPR-2385,UPR,Upfire,0xf720E38F678B29B243F7D53B56Acbf5dE98F2385,18 -1394.0,MCC-9e0C,MCC,MultiChainCapital,0xC146B7CdBaff065090077151d391f4c96Aa09e0C,9 -1395.0,ETHPAD-C442,ETHPAD,ETHPAD.network,0x8dB1D28Ee0d822367aF8d220C0dc7cB6fe9DC442,18 -1396.0,KLEE-de71,KLEE,KleeKai,0xA67E9F021B9d208F7e3365B2A155E3C55B27de71,9 -1397.0,CELR-C667,CELR,CelerToken,0x4F9254C83EB525f9FCf346490bbb3ed28a81C667,18 -1398.0,VetMe-4E1f,VetMe,VetMe,0xe7eF051C6EA1026A70967E8F04da143C67Fa4E1f,9 -1399.0,SPO-CC4E,SPO,Spores,0xcbE771323587EA16dACB6016e269D7F08A7ACC4E,18 -1400.0,ELF-100e,ELF,ELF Token,0xbf2179859fc6D5BEE9Bf9158632Dc51678a4100e,18 -1401.0,NUX-911c,NUX,NUX Peanut.trade,0x89bD2E7e388fAB44AE88BEf4e1AD12b4F1E0911c,18 -1402.0,BNV-d749,BNV,BunnyVerse,0x072987D5B36aD8d45552aEd98879a7101cCdd749,18 -1403.0,STATS-0caD,STATS,Stats,0x39142c18B6db2a8A41B7018f49E1478837560caD,9 -1404.0,DYT-1E14,DYT,DoYourTip,0x740623d2c797b7D8D1EcB98e9b4Afcf99Ec31E14,18 -1405.0,MINTYS-bE85,MINTYS,MintySwap,0xBbd900e05b4aF2124390D206F70bc4E583B1bE85,9 -1406.0,QR-B002,QR,Qrolli,0xCcDb064a41AFcD432BCEa6F6d0D1E7c371d0B002,9 -1407.0,JIG-49E9,JIG,Jigen,0xe2Fc859C838F31C1450448f4FeD92e3284aE49E9,18 -1408.0,UNISTAKE-4E5E,UNISTAKE,Unistake,0x9Ed8e7C9604790F7Ec589F99b94361d8AAB64E5E,18 -1409.0,UGT-0063,UGT,Unreal Governance Token,0x9cf98Eb8A8B28c83E8612046cf55701Ce3Eb0063,18 -1410.0,ZEUS-20b1,ZEUS,ZEUS10000,0xcbC1Aa6961B28cCcb11E1cdDd84Ad8B42Ec920b1,4 -1411.0,MONSTR-4660,MONSTR,MonstaVerse,0xba75fBC4C7a553081F7A137b6e652520Db444660,9 -1412.0,BlueSparrow-6FdE,BlueSparrow,BlueSparrowToken,0x24cCeDEBF841544C9e6a62Af4E8c2fA6e5a46FdE,9 -1413.0,REALM-CFB8,REALM,REALM,0x464FdB8AFFC9bac185A7393fd4298137866DCFB8,18 -1414.0,NITRO-87B8,NITRO,Nitro,0x0335A7610D817aeCA1bEBbEfbd392ecC2eD587B8,18 -1415.0,STARL-6B24,STARL,StarLink,0x8E6cd950Ad6ba651F6DD608Dc70e5886B1AA6B24,18 -1416.0,ShibDoge-928F,ShibDoge,ShibaDoge,0x6ADb2E268de2aA1aBF6578E4a8119b960E02928F,9 -1417.0,MARU-2b00,MARU,Marutaro,0xC2456D2118299a2efDFE6522Ff79aA48fC5d2b00,9 -1418.0,BleYd-94b9,BleYd,Black Eyed Dragon,0x59B44e9AC4AB8e29db6Faf7baCd726C6B7bC94b9,9 -1419.0,ANARCHY-Ce8c,ANARCHY,Anarchy,0x53fD2342B43eCD24AEf1535BC3797F509616Ce8c,9 -1420.0,STORJ-b8aC,STORJ,StorjToken,0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC,8 -1421.0,SWM-ca39,SWM,SWARM,0x3505F494c3f0fed0B594E01Fa41Dd3967645ca39,18 -1422.0,MOD-1D71,MOD,Modefi,0xEA1ea0972fa092dd463f2968F9bB51Cc4c981D71,18 -1423.0,TACO-2557,TACO,Tacos,0x00D1793D7C3aAE506257Ba985b34C76AaF642557,18 -1424.0,YASHA-D753,YASHA,YASHA,0xD75f1f81B69bDd4Df8EfbB70e9C6F4609009D753,18 -1425.0,REDPANDA-44b9,REDPANDA,RedPanda Earth,0x9ba4CBcBb920F67f54A8F8f0001D721E0B8944b9,9 -1426.0,PKN-9503,PKN,Poken,0xdf09a216Fac5ADC3e640Db418C0b956076509503,18 -1427.0,Totoro-2F12,Totoro,Totoro Inu,0xfc09c7cFD9c175DD9423ca02aE1249579AB12F12,9 -1428.0,FTRB-81D7,FTRB,Faith Tribe,0x2596825a84888E8f24b747DF29e11b5dd03C81D7,18 -1429.0,CAT+-fbd6,CAT+,Capital Aggregator Token,0x686c77609aFe6A2fac50421888530288B441fbd6,18 -1430.0,XCN-fb18,XCN,Chain,0xA2cd3D43c775978A96BdBf12d733D5A1ED94fb18,18 -1431.0,SHINJI-0afd,SHINJI,Shinji Inu,0x1F31DD60b84ea2a273cfC56876437E069aE80afd,9 -1432.0,SAITAMA-27B2,SAITAMA,SAITAMA,0xCE3f08e664693ca792caCE4af1364D5e220827B2,9 -1433.0,KTO-F8fC,KTO,Kounotori,0x616ef40D55C0D2c506f4d6873Bda8090b79BF8fC,9 -1434.0,GYOKUTO-612D,GYOKUTO,Tsuki no Usagi,0x166D45e55143ea15032672Ac9f591A4401CC612D,9 -1435.0,SHINTAMA-76dA,SHINTAMA,Shintama,0x7e794eD35788b698AE60cefC98eE48015C4876dA,9 -1436.0,$CWI-ba5D,$CWI,Crypto Wrestling Inu,0xE2d310CB8992b3Fa1051BA4710F41c43eB5Bba5D,18 -1437.0,GAMMA-e197,GAMMA,Gamma,0x6BeA7CFEF803D1e3d5f7C0103f7ded065644e197,18 -1438.0,GVC-58Bf,GVC,Galaxy Villains,0x8dc89F4716E027394Bba225b82328C1ea2Ea58Bf,18 -1439.0,SHIBN-B3B3,SHIBN,Shibnaut,0xd346E8ADA104093ADcf5f4186087E1AD309BB3B3,18 -1440.0,GHX-387d,GHX,GamerCoin,0x728f30fa2f100742C7949D1961804FA8E0B1387d,18 -1441.0,CONV-8B50,CONV,Convergence,0xc834Fa996fA3BeC7aAD3693af486ae53D8aA8B50,18 -1442.0,DAFI-6439,DAFI,DAFI Token,0xFc979087305A826c2B2a0056cFAbA50aad3E6439,18 -1443.0,yShori-d69b,yShori,Shori 勝利,0x25644eA5bE09d1266B5df3F96559Ecdc2D0ad69b,18 -1444.0,ELongD-4d1B,ELongD,Elongate Deluxe,0x348B7f3106B5Da47405332534d06069fF9CE4d1B,9 -1445.0,eMax-7FF6,eMax,EthereumMax,0x15874d65e649880c2614e7a480cb7c9A55787FF6,18 -1446.0,RBC-3333,RBC,RUBIC TOKEN,0x3330BFb7332cA23cd071631837dC289B09C33333,18 -1447.0,LAEEB-863d,LAEEB,Laeeb Inu,0x3B1a3C5d9D5C60651D4841C7814aA0FbB45A863d,18 -1448.0,$colR-4415,$colR,colR Coin,0x14b40AD2EBA6c1B31db2bA817b07578AFB414415,18 -1449.0,Happy-3378,Happy,HappyBear,0x651e44D0df89055c00513d0efb9E8d1A0C843378,18 -1450.0,WHL-a46A,WHL,WhaleRoom,0x2aF72850c504dDD3c1876C66a914cAee7Ff8a46A,18 -1451.0,SHUEY-5E5D,SHUEY,Shuey Rhon Inu,0xcDcA1B81DbB543BAA92c97b701396Cd3bA315E5D,18 -1452.0,iFUND-b0f0,iFUND,UNIFUND,0x04B5E13000C6e9A3255Dc057091F3e3Eeee7b0f0,18 -1453.0,TST-9B53,TST,Standard Token,0xa0b93B9e90aB887E53F9FB8728c009746e989B53,18 -1454.0,YPIE-CE31,YPIE,Yearn Ecosystem Pie,0x17525E4f4Af59fbc29551bC4eCe6AB60Ed49CE31,18 -1455.0,XED-fd86,XED,Exeedme,0xee573a945B01B788B9287CE062A0CFC15bE9fd86,18 -1456.0,PICKLE-1Ca5,PICKLE,PickleToken,0x429881672B9AE42b8EbA0E26cD9C73711b891Ca5,18 -1457.0,SHUNAV2-8dd1,SHUNAV2,Shuna Inuverse,0xDE72a052cBB212eFf11A4A33d61dF9C5A2De8dd1,9 -1458.0,NFP-0834,NFP,New Frontier Presents,0x299698B4B44BD6d023981A7317798dEe12860834,9 -1459.0,PAWTH-367F,PAWTH,Pawthereum,0xAEcc217a749c2405b5ebC9857a16d58Bdc1c367F,9 -1460.0,TRENDX-c936,TRENDX,Trend X,0xC89d9aa9D9E54bb196319c6195AEA1038d2bc936,18 -1461.0,POOLZ-4e23,POOLZ,$Poolz Finance,0x69A95185ee2a045CDC4bCd1b1Df10710395e4e23,18 -1462.0,HULK-f3aa,HULK,HULK INU,0x91a5de30e57831529a3c1aF636A78a7E4E83f3aa,18 -1463.0,RINIA-FD7D,RINIA,Rinia Inu,0x8f828a0644f12Fa352888E645a90333d30f6FD7D,9 -1464.0,KYL-b99C,KYL,Kylin Network,0x67B6D479c7bB412C54e03dCA8E1Bc6740ce6b99C,18 -1465.0,BabyShiba-1A1D,BabyShiba,Baby Shiba Coin,0x66A64a8A9cdc54EF97e45a051bA1c8f3D4b41A1D,18 -1467.0,DIS-cDC6,DIS,TosDis,0x220B71671b649c03714dA9c621285943f3cbcDC6,18 -1468.0,FETCH-c66b,FETCH,Fetch,0xcC779bbBD17b2E68ECdCCaeA3d8C791B1573c66b,18 -1469.0,TSANGNYON-C242,TSANGNYON,TSANGNYON HERUKA,0xd031edafac6a6ae5425e77F936022E506444C242,18 -1470.0,BIRD-7Ce0,BIRD,Bird.Money,0x70401dFD142A16dC7031c56E862Fc88Cb9537Ce0,18 -1471.0,MLT-521d,MLT,Media Licensing Token,0x9506d37f70eB4C3d79C398d326C871aBBf10521d,18 -1472.0,GTH-3674,GTH,Gather,0xeb986DA994E4a118d5956b02d8b7c3C7CE373674,18 -1473.0,DOGEGF-6Bc5,DOGEGF,DogeGF,0xfb130d93E49DcA13264344966A611dc79a456Bc5,18 -1474.0,HT-a161,HT,HuobiToken,0x6f259637dcD74C767781E37Bc6133cd6A68aa161,18 -1475.0,DGTX-eC09,DGTX,DigitexFutures,0xc666081073E8DfF8D3d1c2292A29aE1A2153eC09,18 -1476.0,AIR-cCeA,AIR,Ape In Records,0xF725f73CAEe250AE384ec38bB2C77C38ef2CcCeA,18 -1477.0,WCHI-4605,WCHI,Wrapped CHI,0x6DC02164d75651758aC74435806093E421b64605,8 -1478.0,SHIT-469F,SHIT,ShitCoin,0x4e4a47cAC6A28A62dcC20990ed2cdA9BC659469F,18 -1479.0,WAGIE-a3Ec,WAGIE,WAGIE,0x492baa7A6450712D4bbCCa01B87F029DEe3Ea3Ec,9 -1480.0,DMT-AE6c,DMT,Dark Matter Token,0x79126d32a86e6663F3aAac4527732d0701c1AE6c,18 -1481.0,SAITOKI-87Fa,SAITOKI,Saitoki Inu,0xa3c56427683a19F7574b9fc219CFD27d5d6e87Fa,9 -1482.0,FIRE-2D43,FIRE,Fire Protocol,0xF921ae2DAC5fa128DC0F6168Bf153ea0943d2D43,8 -1483.0,HEY-F7Ee,HEY,Hey,0xE61F6e39711cEc14f8D6c637c2f4568bAA9FF7Ee,18 -1484.0,KOMPETE-46E9,KOMPETE,KOMPETE Token,0x1E0b2992079B620AA13A7c2E7c88D2e1E18E46E9,10 -1485.0,RLY-E49b,RLY,Rally,0xf1f955016EcbCd7321c7266BccFB96c68ea5E49b,18 -1486.0,MDX-1788,MDX,MANDALA EXCHANGE TOKEN,0x947AEb02304391f8fbE5B25D7D98D649b57b1788,18 -1487.0,YFIII-2A45,YFIII,DiFy.Finance,0x4be40bc9681D0A7C24A99b4c92F85B9053Fc2A45,18 -1488.0,SIPHER-F511,SIPHER,Sipher Token,0x9F52c8ecbEe10e00D9faaAc5Ee9Ba0fF6550F511,18 -1489.0,$DG-78a0,$DG,decentral.games,0xEE06A81a695750E71a662B51066F2c74CF4478a0,18 -1490.0,CDS-6e5e,CDS,Capital DAO Starter Token,0x3c48Ca59bf2699E51d4974d4B6D284AE52076e5e,18 -1491.0,OPTIMUS-215d,OPTIMUS,Optimus,0x562E362876c8Aee4744FC2c6aaC8394C312d215d,9 -1492.0,Metis-ed8e,Metis,Metis Token,0x9E32b13ce7f2E80A01932B42553652E053D6ed8e,18 -1493.0,PEEP$-9892,PEEP$,The Peoples Coin,0x5919DeA604631016c15c805e3D948A0384879892,9 -1494.0,CLAW-1D1C,CLAW,Claw,0x41B25Ff6431074959532dB7435DAdacA65a21D1C,18 -1495.0,TheAD-6189,TheAD,The Akragas Decadrachm,0xCB056A2f3cA0B82aB69dcbd677875D68B74D6189,8 -1496.0,TAP-db5D,TAP,Tapmydata,0x7f1F2D3dFa99678675ECE1C243d3f7bC3746db5D,18 -1497.0,EPAN-Bafc,EPAN,Paypolitan Token,0x72630B1e3B42874bf335020Ba0249e3E9e47Bafc,18 -1498.0,AFY-6A21,AFY,Artify,0xa41161AF8D4Ee421ba5fED4328F2B12034796A21,18 -1499.0,ERA-01EB,ERA,ERA,0x67776f14E5E9e7845e33fB0c2a3C709d259D01EB,18 -1500.0,KOI-856C,KOI,The Dragon Gate,0x8AE340d333fFB274969f505A6520b91024BC856C,9 -1501.0,CoShi-B00A,CoShi,CoShi Inu,0x668C50B1c7f46EFFBE3f242687071d7908AAB00A,9 -1502.0,WVG0-b611,WVG0,Wrapped Virgin Gen 0,0x25C7b64A93Eb1261E130eC21a3e9918CaA38b611,18 -1503.0,AKITA-23E6,AKITA,Akita Inu,0x3301Ee63Fb29F863f2333Bd4466acb46CD8323E6,18 -1504.0,KEY-96E7,KEY,SelfKey,0x4CC19356f2D37338b9802aa8E8fc58B0373296E7,18 -1505.0,EPIK-dF75,EPIK,Epik Prime,0x4da0C48376C277cdBd7Fc6FdC6936DEE3e4AdF75,18 -1506.0,BLES-31Cd,BLES,Blind Boxes Token,0xE796d6ca1ceb1b022EcE5296226BF784110031Cd,18 -1507.0,NFY-42bC,NFY,Non-Fungible Yearn,0x1cBb83EbcD552D5EBf8131eF8c9CD9d9BAB342bC,18 -1508.0,HRD-3445,HRD,Hoard,0x461B71cff4d4334BbA09489acE4b5Dc1A1813445,9 -1509.0,SHPING-1BEC,SHPING,Shping Coin,0x7C84e62859D0715eb77d1b1C4154Ecd6aBB21BEC,18 -1510.0,VSP-8421,VSP,VesperToken,0x1b40183EFB4Dd766f11bDa7A7c3AD8982e998421,18 -1511.0,NFTP-2465,NFTP,NFT Platform Index,0x68bB81B3F67f7AAb5fd1390ECB0B8e1a806F2465,18 -1512.0,STAK-6D13,STAK,Jigstack,0x1F8A626883d7724DBd59eF51CBD4BF1Cf2016D13,18 -1513.0,SIGIL-40E4,SIGIL,Sigil Finance,0xF029Fd6b5ED35C825Dd02B7A02952C30002840E4,18 -1514.0,CAP-3142,CAP,Cap,0x43044f861ec040DB59A7e324c40507adDb673142,18 -1515.0,RIDGE-3165,RIDGE,Ridge,0x64609A845Ad463d07ee51e91a88D1461C3Dc3165,9 -1516.0,TAXHAVENINU-bD01,TAXHAVENINU,Tax Haven Inu,0x664C6E221c77313307467B121528ad563107bD01,9 -1517.0,VEE-13B7,VEE,BLOCKv Token,0x340D2bdE5Eb28c1eed91B2f790723E3B160613B7,18 -1518.0,WNK-8Eba,WNK,Winkies,0xE1BDA0c3Bfa2bE7f740f0119B6a34F057BD58Eba,18 -1519.0,NFTL-F2DD,NFTL,NFTLAUNCH.network,0xe7F72Bc0252cA7B16dBb72eEee1AfcDb2429F2DD,18 -1520.0,SWINGBY-b13A,SWINGBY,SWINGBY token,0x8287C7b963b405b7B8D467DB9d79eEC40625b13A,18 -1521.0,SXP-b6A9,SXP,Swipe,0x8CE9137d39326AD0cD6491fb5CC0CbA0e089b6A9,18 -1522.0,KISHU-817D,KISHU,Kishu Inu,0xA2b4C0Af19cC16a6CfAcCe81F192B024d625817D,9 -1523.0,GAME-2437,GAME,GAME Credits,0x63f88A2298a5c4AEE3c216Aa6D926B184a4b2437,18 -1524.0,1MIL-A016,1MIL,1MILNFT,0xa4eF4b0B23C1fc81d3f9ecF93510e64f58A4A016,18 -1525.0,DGMAN-d7C9,DGMAN,DogeMan,0x3cc1020aCDCd64b11Dd417d2C28388E71605d7C9,9 -1526.0,MatsuSwap-26C4,MatsuSwap,MatsuSwap,0x2F0F622a93c85C43Fd47f4Ab119360f5846026C4,9 -1527.0,LEAP-a134,LEAP,LEAP Token,0x53263d9EF74Db583b15fbC6D5D4e8B83833fa134,18 -1528.0,WHITE-6B44,WHITE,Whiteheart Token,0x5F0E628B693018f639D10e4A4F59BD4d8B2B6B44,18 -1529.0,imgnAI-CBe0,imgnAI,Image Generation AI | imgnAI.com,0xA735A3AF76CC30791C61c10d585833829d36CBe0,9 -1530.0,X7R-ca54,X7R,X7R,0x70008F18Fc58928dcE982b0A69C2c21ff80Dca54,18 -1531.0,FOX-e52d,FOX,FOX,0xc770EEfAd204B5180dF6a14Ee197D99d808ee52d,18 -1532.0,BOTTO-5BBA,BOTTO,Botto,0x9DFAD1b7102D46b1b197b90095B5c4E9f5845BBA,18 -1533.0,DACT-EBec,DACT,Dact Coin,0x343c6de13833bc7d9890eb6B1cd3FBeBC730EBec,9 -1534.0,MMAI-a90F,MMAI,MetamonkeyAi,0xaa0c5B3567fd1bac8a2a11EB16c3F81a49eea90F,7 -1535.0,CINO-6090,CINO,Cino Token,0x9b0B23b35AD8136E6181F22b346134cE5f426090,18 -1536.0,DOKI-7544,DOKI,DokiDokiFinance,0x9cEB84f92A0561fa3Cc4132aB9c0b76A59787544,18 -1537.0,TECH-5698,TECH,Cryptomeda,0x6286A9e6f7e745A6D884561D88F94542d6715698,18 -1538.0,CENT-35bc,CENT,Centaurify,0x08ba718F288c3b12B01146816bef9FA03cC635bc,18 -1539.0,MOON-4824,MOON,MoonToken,0x68a3637bA6E75c0f66B61A42639c4e9fCD3D4824,18 -1540.0,SWT-c29A,SWT,ShibWallet,0x1f05DeE43dF9fd0Cd7F4b011B20b04870a30c29A,18 -1541.0,TRADE-4fB1,TRADE,UniTrade,0x6F87D756DAf0503d08Eb8993686c7Fc01Dc44fB1,18 -1542.0,GENART-BaC8,GENART,GEN.ART,0x12E56851Ec22874520Dc4c7fa0A8a8d7DBa1BaC8,18 -1543.0,BASE-5fDC,BASE,Base Protocol,0x07150e919B4De5fD6a63DE1F9384828396f25fDC,9 -1544.0,SPHRI-b3Ec,SPHRI,Spherium Token,0x8A0cdfaB62eD35b836DC0633482798421C81b3Ec,18 -1545.0,LPT-B239,LPT,Livepeer Token,0x58b6A8A3302369DAEc383334672404Ee733aB239,18 -1546.0,MITx-1Db6,MITx,Morpheus Infrastructure Token,0x4a527d8fc13C5203AB24BA0944F4Cb14658D1Db6,18 -1547.0,CLIQ-6767,CLIQ,Cliq,0x0Def8d8addE14c9eF7c2a986dF3eA4Bd65826767,18 -1548.0,SHIBO-CDa2,SHIBO,Shibosu,0x38e3b07D607dEF629b4f3f46a0082006fdd6CDa2,18 -1549.0,ankrETH-c3cb,ankrETH,Ankr Staked ETH,0xE95A203B1a91a908F9B9CE46459d101078c2c3cb,18 -1550.0,STOS-Bdcc,STOS,Stratos Token,0x08c32b0726C5684024ea6e141C50aDe9690bBdcc,18 -1551.0,FCL-0EB3,FCL,Fractal Protocol Token,0xF4d861575ecC9493420A3f5a14F85B13f0b50EB3,18 -1552.0,SWAI-7eAe,SWAI,SchwiftAI,0x3540DFCaD7CF102a2E44AA0e2132FAb1c89d7eAe,18 -1553.0,TSX-9Bfd,TSX,TradeStars TSX,0x734C90044a0bA31B3F2e640c10dC5d3540499Bfd,18 -1554.0,RARE-6350,RARE,SuperRare,0xba5BDe662c17e2aDFF1075610382B9B691296350,18 -1555.0,A Birds Nest-873A,A Birds Nest,HOOT,0x12A7530D6f9e1a9B0351D78aB711f7C2c033873A,18 -1556.0,MoFi-7544,MoFi,MobiFi,0xB2dbF14D0b47ED3Ba02bDb7C954e05A72deB7544,18 -1557.0,$TRDL-188a,$TRDL,Strudel Finance,0x297D33e17e61C2Ddd812389C2105193f8348188a,18 -1558.0,DODO-4DDd,DODO,DODO bird,0x43Dfc4159D86F3A37A5A4B3D4580b888ad7d4DDd,18 -1559.0,Fortune-B015,Fortune,Fortune,0x9F009D03E1b7F02065017C90e8e0D5Cb378eB015,9 -1560.0,wLITI-5f93,wLITI,wLitiCapital,0x0b63128C40737B13647552e0C926bCFEccC35f93,18 -1561.0,GSWAP-f8B2,GSWAP,gameswap.org,0xaac41EC512808d64625576EDdd580e7Ea40ef8B2,18 -1562.0,HELIOS-01a1,HELIOS,Mission Helios,0xC6d1f1D5a46de07E73091f1c8793293B203f01a1,18 -1563.0,TEN-40E4,TEN,Tokenomy,0xDD16eC0F66E54d453e6756713E533355989040E4,18 -1564.0,LABRA-d600,LABRA,Labra,0x106d3C66d22D2DD0446df23D7F5960752994d600,9 -1565.0,SCAN-871b,SCAN,CoinScan,0x234D51eE02be808A0160b19b689660Fb7BFA871b,9 -1566.0,TXL-4b41,TXL,Tixl Token,0x8eEF5a82E6Aa222a60F009ac18c24EE12dBf4b41,18 -1567.0,ROGE-c80A,ROGE,Rogue Doge,0x45734927Fa2f616FbE19E65f42A0ef3d37d1c80A,9 -1568.0,SAITANOBI-F1C6,SAITANOBI,Saitanobi,0x5e9F35E8163c44cD7e606BdD716AbED32AD2F1C6,9 -1569.0,TONE-03c4,TONE,TE-FOOD/TustChain,0x2Ab6Bb8408ca3199B8Fa6C92d5b455F820Af03c4,18 -1570.0,GRC-53c6,GRC,GreenCoin,0x46D886887B6908183032c75dee1b731B26D653c6,18 -1571.0,HOKK-21E8,HOKK,Hokkaido Inu,0xe87e15B9c7d989474Cb6d8c56b3DB4eFAD5b21E8,18 -1572.0,HOICHI-d2b6,HOICHI,Hoichi 芳一,0xC4EE0aA2d993ca7C9263eCFa26c6f7e13009d2b6,18 -1573.0,BBANK-f267,BBANK,BlockBank,0xF4b5470523cCD314C6B9dA041076e7D79E0Df267,18 -1574.0,RIOT-2Eb4,RIOT,RIOT,0xf56408077487cB879c992909C5b5C66D68c02Eb4,18 -1575.0,PZ-38E0,PZ,Paradigm Zero,0x578Dc16c47327429fF1594fA3eB77A96F38438E0,9 -1576.0,WOLVERINU-5f14,WOLVERINU,WOLVERINU,0x7Cc97Bf17C5AdaBe25F9D19D15A1eC8A1ad65f14,18 -1577.0,EGGS-82e0,EGGS,Eggs,0x2e516BA5Bf3b7eE47fb99B09eaDb60BDE80a82e0,18 -1578.0,CARDS-52d9,CARDS,CARD.STARTER,0x3d6F0DEa3AC3C607B3998e6Ce14b6350721752d9,18 -1579.0,LFT-3F82,LFT,LendFlare DAO Token,0xB620Be8a1949AA9532e6a3510132864EF9Bc3F82,18 -1580.0,BUH-4427,BUH,BUHUND,0x66bcD0C22Bb15cD1bA7199C7a383DC89528f4427,18 -1581.0,$CHOO-F8A0,$CHOO,Chooky Inu,0x9c5476Af06590A9277C7706fe70c0a42A480F8A0,18 -1582.0,DFYN-9023,DFYN,DFYN Token,0x9695e0114e12C0d3A3636fAb5A18e6b737529023,18 -1583.0,ZINU-d508,ZINU,ZINU,0xC5FDf3569af74f3B3e97E46A187a626352D2d508,9 -1584.0,SHIBORG-a741,SHIBORG,Shibrobi,0x372C95CE229a7Af37D141F627d09f6Df1DbAa741,9 -1585.0,VALUE-8E5c,VALUE,Value Liquidity,0x49E833337ECe7aFE375e44F4E3e8481029218E5c,18 -1586.0,KEI-A842,KEI,keisukeinu.finance,0xc0114F14638a333A4D5C3b04F09b96372348A842,9 -1587.0,RDT-fCa3,RDT,Ridotto,0x4740735AA98Dc8aa232BD049f8F0210458E7fCa3,18 -1588.0,OIN-1259,OIN,oinfinance,0x9aeB50f542050172359A0e1a25a9933Bc8c01259,8 -1589.0,SWRV-D433,SWRV,Swerve DAO Token,0xB8BAa0e4287890a5F79863aB62b7F175ceCbD433,18 -1590.0,QSP-b80d,QSP,Quantstamp Token,0x99ea4dB9EE77ACD40B119BD1dC4E33e1C070b80d,18 -1591.0,RR-68eD,RR,Red Rabbit,0xfe98C2B85cAaFE841ca7Fa8b3B912a178A3f68eD,18 -1592.0,GDAO-86Bc,GDAO,Governor,0x515d7E9D75E2b76DB60F8a051Cd890eBa23286Bc,18 -1593.0,PTF-39F7,PTF,PowerTrade Fuel Token,0xC57d533c50bC22247d49a368880fb49a1caA39F7,18 -1594.0,HOGE-7607,HOGE,hoge.finance,0xfAd45E47083e4607302aa43c65fB3106F1cd7607,9 -1595.0,WWY-E322,WWY,WeWay Token,0x9Ab70e92319f0b9127df78868Fd3655fB9f1E322,18 -1596.0,WIZ-06B2,WIZ,WIZ,0x603778e5e07e180E300bD10df7fA626313a206B2,4 -1597.0,SHR-a964,SHR,ShareToken,0xd98F75b1A3261dab9eEd4956c93F33749027a964,2 -1598.0,KEEP-aFEC,KEEP,KEEP Token,0x85Eee30c52B0b379b046Fb0F85F4f3Dc3009aFEC,18 -1599.0,ARTEQ-c787,ARTEQ,arteQ NFT Investment Fund,0x805C2077f3ab224D889f9c3992B41B2F4722c787,0 -1600.0,NET-A71F,NET,DEFINET,0x77A9B858aA8417fd318ecEE01C1d6D9fEF31A71F,18 -1601.0,GME-5590,GME,GameStop.Finance,0x9eb6bE354d88fD88795a04DE899a57A77C545590,18 -1602.0,VADER-0983,VADER,Vader,0x2602278EE1882889B946eb11DC0E810075650983,18 -1603.0,BARD-14DF,BARD,Bard Protocol,0x9E7e87608A34Bc66396D53e69B9495Bd8f5414DF,9 -1604.0,THEOS-Da1d,THEOS,THEOS,0x9e10f61749c4952C320412A6B26901605Ff6Da1d,18 -1605.0,BLOCK-E-0a60,BLOCK-E,BLOCK-E,0xa9f9aCB92E4E2f16410511D56839A5Bd1d630a60,9 -1606.0,CINU-8c32,CINU,CheemsInu,0xA64D5d1eB67748226d84812B45711453f1118c32,9 -1607.0,VOLT-58Ac,VOLT,Volt Inu,0x7db5af2B9624e1b3B4Bb69D6DeBd9aD1016A58Ac,9 -1608.0,oDOGE-EaBC,oDOGE,Ordinal Doge,0x796a4503b444A71b331c9556bEF0815237ddEaBC,18 -1609.0,BC-2Ae9,BC,Bitcoin,0xe03B2642A5111aD0EFc0cbCe766498c2dd562Ae9,9 -1610.0,DANDY-9B82,DANDY,dandy.dego,0x9Dfc4B433D359024Eb3E810d77d60fbE8B0d9B82,18 -1611.0,SIDUS-1102,SIDUS,SIDUS,0x549020a9Cb845220D66d3E9c6D9F9eF61C981102,18 -1612.0,TheRadio-622C,TheRadio,Radioreum,0xAA2DEd323944b25C0B6f1F891Bc96F010b65622C,18 -1613.0,HXRO-38f3,HXRO,Hxro,0x4bD70556ae3F8a6eC6C4080A0C327B24325438f3,18 -1614.0,NORD-a0DE,NORD,Nord Token,0x6e9730EcFfBed43fD876A264C982e254ef05a0DE,18 -1615.0,PoA-B8cE,PoA,Proof Of Apes,0x1d2d542e6D9d85A712deB4D1a7D96a16CE00B8cE,18 -1616.0,LEAD-C4ce,LEAD,Lead Token,0x1dD80016e3d4ae146Ee2EBB484e8edD92dacC4ce,18 -1617.0,imBTC-8923,imBTC,The Tokenized Bitcoin,0x3212b29E33587A00FB1C83346f5dBFA69A458923,8 -1618.0,AXL-C0E0,AXL,AXL INU,0x25b24B3c47918b7962B3e49C4F468367F73CC0E0,18 -1619.0,BCUBE-0A93,BCUBE,b-cube.ai Token,0x93C9175E26F57d2888c7Df8B470C9eeA5C0b0A93,18 -1620.0,TOR-7056,TOR,Tor Wallet,0x35073CA7bAC0c2eDf58fb34A2CBC39Ea2fbB7056,18 -1621.0,SCX-bF21,SCX,Scarcity,0x1B8568FbB47708E9E9D31Ff303254f748805bF21,18 -1622.0,MAGIC-Ac9A,MAGIC,MAGIC,0xB0c7a3Ba49C7a6EaBa6cD4a96C55a1391070Ac9A,18 -1623.0,SARCO-F51A,SARCO,Sarcophagus,0x7697B462A7c4Ff5F8b55BDBC2F4076c2aF9cF51A,18 -1624.0,BRIGHT-af55,BRIGHT,Bright Union,0xBEaB712832112bd7664226db7CD025B153D3af55,18 -1625.0,wSIENNA-64f9,wSIENNA,Sienna (ERC20),0x9b00e6E8D787b13756eb919786c9745054DB64f9,18 -1626.0,BALTO-8dBC,BALTO,Balto Token,0x5955f7d312c5d84B004d259D55072C4F0A478dBC,18 -1627.0,SHIH-1465,SHIH,Shih Tzu,0x841FB148863454A3b3570f515414759BE9091465,18 -1628.0,SWIFY-f2fB,SWIFY,Swapify,0x9C7376b5060C47E555f5F53005aA3D5A7C66f2fB,9 -1629.0,EVN-A7ec,EVN,Evn Token,0x9aF15D7B8776fa296019979E70a5BE53c714A7ec,18 -1630.0,mefi-Ec07,mefi,The meme finance,0xe13879194578C6F1A591a96C45B65022c43CEc07,9 -1631.0,PLSB-8D06,PLSB,PulseBitcoin,0x5EE84583f67D5EcEa5420dBb42b462896E7f8D06,12 -1632.0,TOKU-BD82,TOKU,Toku,0x9eEC1A4814323a7396c938bc86aeC46b97F1BD82,18 -1633.0,MRI-c977,MRI,Marshall Rogan Inu,0x0913dDAE242839f8995c0375493f9a1A3Bddc977,18 -1634.0,ALPA-514A,ALPA,AlpaToken,0x7cA4408137eb639570F8E647d9bD7B7E8717514A,18 -1635.0,TOKE-8C94,TOKE,Tokemak,0x2e9d63788249371f1DFC918a52f8d799F4a38C94,18 -1636.0,TOS-7B48,TOS,TOSA INU,0x34748FEDAd669C788aaBe4fb325A4587941F7B48,18 -1637.0,DOWS-c559,DOWS,Shadows Network,0x661Ab0Ed68000491d98C796146bcF28c20d7c559,18 -1638.0,MIKAWA-6A26,MIKAWA,Mikawa Inu,0x0888Fd2960Ddf57Cfb561B59d73Dd2b9524F6A26,9 -1639.0,DOV-79b1,DOV,DOVU,0xac3211a5025414Af2866FF09c23FC18bc97e79b1,18 -1640.0,eQUAD-7DF2,eQUAD,QuadrantProtocol,0xC28e931814725BbEB9e670676FaBBCb694Fe7DF2,18 -1641.0,RVP-D48a,RVP,RevolutionPopuli ERC20 Token,0x17EF75AA22dD5f6C2763b8304Ab24f40eE54D48a,18 -1642.0,NAME-d842,NAME,Polkadomain Token,0xe1A4c5BBb704a92599FEdB191f451E0d3a1ed842,18 -1643.0,DGVC-7b30,DGVC,DegenVC,0x26E43759551333e57F073bb0772F50329A957b30,18 -1644.0,EQX-8B15,EQX,EQIFi Token,0xBd3de9a069648c84d27d74d701C9fa3253098B15,18 -1645.0,cETH-0ED5,cETH,Compound Ether,0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5,8 -1646.0,AXI-c39a,AXI,Axioms,0x73EE6D7e6b203125aDd89320E9F343d65ec7c39a,18 -1647.0,ZERO-9bf8,ZERO,ZERO,0x0eC78ED49C2D27b315D462d43B5BAB94d2C79bf8,18 -1648.0,BNF-1057,BNF,BonFi,0x1DE5e000C41C8d35b9f1f4985C23988f05831057,18 -1649.0,TIGER-337F,TIGER,TigerCoin,0xB83c27805aAcA5C7082eB45C868d955Cf04C337F,18 -1650.0,SHINJA-84ed,SHINJA,Shibnobi,0x7DAc25b1A665e1c70F25F1fC37d88C99274984ed,9 -1651.0,WOLFY-e36f,WOLFY,WOLFYCOIN,0x7DbbCaE15d4DB168e01673400D7844870cc1e36f,9 -1652.0,INV-FB68,INV,Inverse DAO,0x41D5D79431A913C4aE7d69a668ecdfE5fF9DFB68,18 -1653.0,REVO-1409,REVO,Revomon,0x155040625D7ae3e9caDA9a73E3E44f76D3Ed1409,18 -1654.0,( ͡° ͜ʖ ͡°)-1c4c,( ͡° ͜ʖ ͡°),Lenny Face,0xDadb4aE5B5D3099Dd1f586f990B845F2404A1c4c,18 -1655.0,DEGEN-c855,DEGEN,DEGEN Index,0x126c121f99e1E211dF2e5f8De2d96Fa36647c855,18 -1656.0,GFARM2-1e1B,GFARM2,Gains V2,0x831091dA075665168E01898c6DAC004A867f1e1B,18 -1657.0,GUM-0f24,GUM,GourmetGalaxy,0x4f5fa8f2d12e5eB780f6082Dd656C565C48E0f24,18 -1658.0,ROCKI-aa04,ROCKI,ROCKI,0xFf44b937788215ecA197BAaf9AF69dbdC214aa04,18 -1659.0,LOCG-27d0,LOCG,LOCGame,0x60Eb57d085C59932d5fAa6c6026268A4386927d0,18 -1660.0,ZRO-E5e0,ZRO,PROTOCOL ZERO,0xd79F43113B22D1eA9F29cfcC7BB287489F8EE5e0,18 -1661.0,PBR-d695,PBR,PolkaBridge,0x298d492e8c1d909D3F63Bc4A36C66c64ACB3d695,18 -1662.0,MVI-34D7,MVI,Metaverse Index,0x72e364F2ABdC788b7E918bc238B21f109Cd634D7,18 -1663.0,DOUGH-7b2D,DOUGH,PieDAO DOUGH v2,0xad32A8e6220741182940c5aBF610bDE99E737b2D,18 -1664.0,RFuel-36E5,RFuel,Rio Fuel Token,0xaf9f549774ecEDbD0966C52f250aCc548D3F36E5,18 -1665.0,CTCN-1FD8,CTCN,Contracoin,0xFD6C31bb6F05Fc8dB64F4b740Ab758605c271FD8,18 -1666.0,aDAI-f85d,aDAI,Aave Interest bearing DAI,0xfC1E690f61EFd961294b3e1Ce3313fBD8aa4f85d,18 -1667.0,LKT-BA69,LKT,Locker Token,0xd3E133a0A14Bb8B595e5Fbf9851c7c783685BA69,18 -1668.0,KIBA-af3c,KIBA,Kiba Inu,0x005D1123878Fc55fbd56b54C73963b234a64af3c,18 -1669.0,GIGA-9cea,GIGA,GigaSwap,0x83249c6794BCa5a77Eb8c0AF9F1A86E055459cea,9 -1670.0,ADX-B7c3,ADX,AdEx Network,0xADE00C28244d5CE17D72E40330B1c318cD12B7c3,18 -1671.0,DOBE-A3d5,DOBE,Dobermann,0xe7aB45162f5979F09B0bDa1CC7DfC97C270EA3d5,18 -1672.0,VAI-395c,VAI,VAIOT Token,0xD13cfD3133239a3c73a9E535A5c4DadEE36b395c,18 -1673.0,YMNT-C254,YMNT,Yamanote-Sen,0xe59A1fe295f940E5226DcF6411Ef2Bdf3089C254,9 -1674.0,DOGGER-5Cbe,DOGGER,Dogger Token,0xb3Cc3d7E656893F22d2372b0aE57106F6b155Cbe,18 -1675.0,rHEGIC2-eE5f,rHEGIC2,HEGICTokenIOU Phase II,0xAd7Ca17e23f13982796D27d1E6406366Def6eE5f,18 -1676.0,BITE-D88D,BITE,DragonBite,0x4eED0fa8dE12D5a86517f214C2f11586Ba2ED88D,18 -1677.0,SHINSHU-cC0A,SHINSHU,Shinshu Inu,0x2965395F71B7d97ede251E9B63e44dfA9647cC0A,18 -1678.0,TRIB-5Af0,TRIB,Contribute,0xe09216F1d343Dd39D6Aa732a08036fee48555Af0,18 -1679.0,ASTRAL-28a1,ASTRAL,Astral AI Project,0xC74B43cC61b627667a608c3F650c2558F88028a1,18 -1680.0,SMI-2214,SMI,SafeMoon Inu,0xCd7492db29E2ab436e819b249452EE1bbDf52214,8 -1681.0,DREAM-7d02,DREAM,DREAM,0xb44377B74Ef1773639B663d0754cB8410A847d02,18 -1682.0,SAT-1332,SAT,SoMee Advertising Token V2,0xc9F1016d336ef77AeE75Fc11Ad64C5Ecf9121332,18 -1683.0,JSHIBA-4c7c,JSHIBA,Jomon Shiba,0x1426cC6D52D1B14e2B3b1Cb04d57ea42B39c4c7c,9 -1684.0,DTH-c924,DTH,DeathWolf,0x0cf75471B0FbF76A315A75eBDa6600ab92Fdc924,18 -1685.0,KEL-5432,KEL,KelVpn Token,0x4ABB9cC67BD3da9Eb966d1159A71a0e68BD15432,18 -1686.0,BLANK-9666,BLANK,GoBlank Token,0x41A3Dba3D677E573636BA691a70ff2D606c29666,18 -1687.0,NAOS-4496,NAOS,NAOSToken,0x4a615bB7166210CCe20E6642a6f8Fb5d4D044496,18 -1688.0,MOAR-701a,MOAR,MOAR Finance,0x187Eff9690E1F1A61d578C7c492296eaAB82701a,18 -1689.0,VAL-d1E4,VAL,Sora Validator Token,0xe88f8313e61A97cEc1871EE37fBbe2a8bf3ed1E4,18 -1690.0,LKR-CDcf,LKR,Polkalokr,0x80CE3027a70e0A928d9268994e9B85d03Bd4CDcf,18 -1691.0,ARCHIE-8f90,ARCHIE,Archie Neko,0xFE5F69dfa2d4501E78078266F6d430c079098f90,9 -1692.0,DZOO-ca83,DZOO,DegenZoo,0xc97d6C52F3ADD91Fa1c5287a453d7444aECBca83,18 -1693.0,ZAP-b104,ZAP,ZAP TOKEN,0x6781a0F84c7E9e846DCb84A9a5bd49333067b104,18 -1694.0,INSURE-393E,INSURE,InsureToken,0xd83AE04c9eD29d6D3E6Bf720C71bc7BeB424393E,18 -1695.0,TQUEEN-73fC,TQUEEN,TigerQueen,0x1C720999A4F8B2B0E9199039D353D2c9A77A73fC,18 -1696.0,DMTR-4fdB,DMTR,Dimitra Token,0x51cB253744189f11241becb29BeDd3F1b5384fdB,18 -1697.0,BABYSAITAMA-f045,BABYSAITAMA,Baby Saitama Inu,0xf79F9020560963422eCC9C0c04D3a21190BBf045,9 -1698.0,AllIn-3Ebe,AllIn,All In,0x9B2b931d6AB97B6A887b2C5d8529537E6FE73Ebe,9 -1699.0,DBUY-5782,DBUY,Doont Buy,0x4EcE5C5CfB9B960A49aAe739E15cDB6cfDcc5782,9 -1700.0,OKAGE-89eC,OKAGE,Okage Inu,0x8dfc8cc3201425669FaE803e1eB125cddd4189eC,18 -1701.0,NU-A4Cc,NU,NuCypher,0x4fE83213D56308330EC302a8BD641f1d0113A4Cc,18 -1702.0,LIT-9723,LIT,Litentry,0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723,18 -1703.0,ARC-e7c2,ARC,ARC,0xC82E3dB60A52CF7529253b4eC688f631aad9e7c2,18 -1704.0,KALLY-AD07,KALLY,Polkally,0xfd30C9BEA1A952FEeEd2eF2C6B2Ff8A8FC4aAD07,18 -1705.0,LSS-E320,LSS,Lossless Token,0x3B9BE07d622aCcAEd78f479BC0EDabFd6397E320,18 -1706.0,MFC-5820,MFC,Marshall Fighting Championship,0x337DD23d05c27bff099d3604938BFc23A9B25820,18 -1707.0,DIGI-d848,DIGI,Digi,0x3CbF23c081fAA5419810ce0F6BC1ECb73006d848,18 -1708.0,SNOW-79AE,SNOW,SnowSwap,0xfe9A29aB92522D14Fc65880d817214261D8479AE,18 -1709.0,RVF-96D2,RVF,Rocket Vault,0xdc8aF07A7861bedD104B8093Ae3e9376fc8596D2,18 -1710.0,BOWL-5794,BOWL,BOWL SHIBARIUM,0x760Ea31711aC14cb9Ba81aC25453C6f378fA5794,9 -1711.0,KENNEL-039a,KENNEL,Kennel,0x25d4e7fe624FcC6E7F0b52D142F40c9ACEcF039a,18 -1712.0,SYN-8BD9,SYN,SynLev,0x1695936d6a953df699C38CA21c2140d497C08BD9,18 -1713.0,TNGL-C1C2,TNGL,Tangle,0x5aF28EB9deC75e86CDFBD2e41a474b54B211C1C2,9 -1714.0,SHFT-6d19,SHFT,Shibcraft,0xF5a56bD9Ee4a3E2D493ab8e072658794B38b6d19,18 -1715.0,MEL-4892,MEL,Melalie,0xed0889F7E1c7C7267407222Be277e1f1Ef4d4892,18 -1716.0,AVG-311f,AVG,Avocado DAO Token,0xa41F142b6eb2b164f8164CAE0716892Ce02f311f,18 -1717.0,BTFA-C133,BTFA,Banana Task Force Ape,0xC631bE100F6Cf9A7012C23De5a6ccb990EAFC133,9 -1718.0,ROBO-3061,ROBO,Robo Token,0x6FC2f1044A3b9bB3e43A43EC8F840843Ed753061,18 -1719.0,URQA-3136,URQA,UREEQA Token,0x1735Db6AB5BAa19eA55d0AdcEeD7bcDc008B3136,18 -1720.0,BAO-9F3A,BAO,Bao Token V2,0xCe391315b414D4c7555956120461D21808A69F3A,18 -1721.0,X7103-c105,X7103,X7103,0x7103eBdbF1f89be2d53EFF9B3CF996C9E775c105,18 -1722.0,IAG-1Fc8,IAG,IAGON,0x40EB746DEE876aC1E78697b7Ca85142D178A1Fc8,18 -1723.0,HIKARI-4e39,HIKARI,HIKARI,0xd4126f195a8de772EeFfa61a4aB6dd43462F4e39,18 -1724.0,Shibgun-929c,Shibgun,Shibagun,0xa3BA969DD831D4eFf2bAF930e7F66D2eef5D929c,18 -1725.0,rushAI-c45B,rushAI,AlphaRushAI,0x69d47846bb7B884062FaBc08A4A7dEADCd98c45B,18 -1726.0,FND-f17e,FND,Foundation,0xB13d747d783BF1A9F1D65Df74C080C890045f17e,7 -1727.0,RAMP-Ed9f,RAMP,RAMP DEFI,0x33D0568941C0C64ff7e0FB4fbA0B11BD37deEd9f,18 -1728.0,ZORA-5ae6,ZORA,Zoracles,0xD8E3FB3b08eBA982F2754988d70D57eDc0055ae6,9 -1729.0,VXL-2b31,VXL,Voxel X Network,0x16CC8367055aE7e9157DBcB9d86Fd6CE82522b31,18 -1730.0,KEYS-86ff,KEYS,Keys,0xe0a189C975e4928222978A74517442239a0b86ff,9 -1731.0,SER-8fDC,SER,Serum,0xb19189Fb36c816f3e0f16065057B07B790998fDC,18 -1732.0,NEURONI-f332,NEURONI,Neuroni.AI,0x922e2708462c7a3d014D8344F7C4d92b27ECf332,18 -1733.0,TTX-4D9B,TTX,TTX NFT,0xeF2e239b21A81719abAabC6239e2e90859B44D9B,18 -1734.0,BabyDoge-460B,BabyDoge,Baby Doge Coin,0xAC57De9C1A09FeC648E93EB98875B212DB0d460B,9 -1735.0,wALV-D497,wALV,Alvey Chain,0x256D1fCE1b1221e8398f65F9B36033CE50B2D497,18 -1736.0,BNSD-0188,BNSD,bns.finance,0x668DbF100635f593A3847c0bDaF21f0a09380188,18 -1737.0,ODA-5d90,ODA,Eiichiro Oda,0x0C6Bf55F60143Fa1dA202AC8c9b8Ce484b5a5d90,18 -1738.0,CVP-DcA1,CVP,Concentrated Voting Power,0x38e4adB44ef08F22F5B5b76A8f0c2d0dCbE7DcA1,18 -1739.0,RABBIT-Fd35,RABBIT,Rabbit2023,0x706f280Cdb92260fe2D50EDA545F834ff1fbFd35,9 -1740.0,$XMU-D2cF,$XMU,Mushe,0x56123908ACA89bf60cE9659aE9F4589E46c8D2cF,9 -1741.0,KIT-B4F4,KIT,DexKit,0x7866E48C74CbFB8183cd1a929cd9b95a7a5CB4F4,18 -1742.0,RAZOR-d2cd,RAZOR,RAZOR,0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd,18 -1743.0,DOP-A2ef,DOP,Drops Ownership Power,0x6bB61215298F296C55b19Ad842D3Df69021DA2ef,18 -1744.0,GZLR-7632,GZLR,Guzzler,0x9f4909Cc95FB870BF48C128C1Fdbb5F482797632,18 -1745.0,DINERO-Be79,DINERO,DINERO,0xa3ad8c7AB6b731045b5b16E3fDf77975c71ABe79,18 -1746.0,IND-3705,IND,Indorse Token,0xf8e386EDa857484f5a12e4B5DAa9984E06E73705,18 -1747.0,AVS-b3b2,AVS,AlgoVest,0x94d916873B22C9C1b53695f1c002F78537B9b3b2,18 -1748.0,BFIGHT-d657,BFIGHT,BARFIGHT,0x6B5DDe2c94EcC10C93e8A44288bEFAD2a89bd657,9 -1749.0,XY-50DE,XY,XY Token,0x77777777772cf0455fB38eE0e75f38034dFa50DE,18 -1750.0,TON-520a,TON,TONToken,0x6a6c2adA3Ce053561C2FbC3eE211F23d9b8C520a,18 -1751.0,IC-6457,IC,Icy,0xA876f27F13A9eB6E621202cEFDD5AFc4a90E6457,9 -1752.0,HOBBES-4140,HOBBES,Hobbes,0x819c1A1568934Ee59d9F3C8B9640908556c44140,18 -1753.0,SMOL-030e,SMOL,smolting inu,0x553539d40AE81FD0d9C4b991B0b77bE6f6Bc030e,18 -1754.0,NFT-850a,NFT,APENFT,0x198d14F2Ad9CE69E76ea330B374DE4957C3F850a,6 -1755.0,BTCP-f5Ab,BTCP,BitcoinPro,0x723CbfC05e2cfcc71d3d89e770D32801A5eEf5Ab,8 -1756.0,UPI-B67c,UPI,Pawtocol Network UPI Token,0x70D2b7C19352bB76e4409858FF5746e500f2B67c,18 -1757.0,WIZ-edF2,WIZ,BlueWizard,0x33d20575f20C6A1881F8ab08E69F6fbAFfAEedF2,12 -1758.0,IPOR-9090,IPOR,IPOR Token,0x1e4746dC744503b53b4A082cB3607B169a289090,18 -1759.0,INUBIS-604c,INUBIS,Inubis,0x3667d6B1AEE4f96b608EE365FdA9fa5BA866604c,9 -1760.0,UCO-21fa,UCO,UnirisToken,0x8a3d77e9d6968b780564936d15B09805827C21fa,18 -1761.0,Dubbz-Da17,Dubbz,Dubbz,0x38029C62DfA30D9FD3CaDf4C64e9b2ab21DbDa17,18 -1762.0,FREN-583A,FREN,FrenChain,0x8e14c88aB0644eF41bd7138ab91C0160D8c1583A,18 -1763.0,BitANT-D1a6,BitANT,BitANT,0x15Ee120fD69BEc86C1d38502299af7366a41D1a6,18 -1764.0,KAWA-60Ec,KAWA,Kawakami,0x5552E5a89A70cB2eF5AdBbC45a6BE442fE7160Ec,9 -1765.0,ALOHA-FabE,ALOHA,ALOHA,0x455F7Ef6D8BCfc35f9337e85aEe1B0600a59FabE,18 -1766.0,HUSL-26be,HUSL,The HUSL,0xa2881F7F441267042f9778fFA0d4F834693426be,18 -1767.0,RVST-d4bA,RVST,Revest,0x120a3879da835A5aF037bB2d1456beBd6B54d4bA,18 -1768.0,DPX-dC81,DPX,Dopex Governance Token,0xEec2bE5c91ae7f8a338e1e5f3b5DE49d07AfdC81,18 -1769.0,$ADS-001f,$ADS,Alkimi Exchange,0x3106a0a076BeDAE847652F42ef07FD58589E001f,18 -1770.0,MXC-386e,MXC,MXCToken,0x5Ca381bBfb58f0092df149bD3D243b08B9a8386e,18 -1771.0,YORI-4661,YORI,The Path Of Light,0x1Ab052Db3216835182926A6d516762B0f1634661,9 -1772.0,ETH2.0-9fE8,ETH2.0,Proof of Memes,0x04A6b6DE116Fb8bF57e5eE8b05e0293EA3639fE8,18 -1773.0,CHAIN-81c4,CHAIN,Chain Games,0xC4C2614E694cF534D407Ee49F8E44D125E4681c4,18 -1774.0,CATAI-8d17,CATAI,Catgirl AI,0xBC1A4555745e9C5334eBF9DcfEC0B51285aF8d17,18 -1775.0,BPTL-62BF,BPTL,BPTL,0x3a1BC4014C4C493DB3dBfBDD8ee1417113b462BF,18 -1776.0,FMT-A54C,FMT,Finminity,0x99c6e435eC259A7E8d65E1955C9423DB624bA54C,18 -1777.0,PUBLX-33E8,PUBLX,PUBLX,0x1a6658F40e51b372E593B7d2144c1402d5cf33E8,18 -1778.0,STARS-180D,STARS,StarShip,0x7CCFeEF4F0Ff48B0E0abD19bBBebae90939f180D,18 -1779.0,WINRY-9F30,WINRY,Winry Inu,0x1a87077C4F834884691B8ba4fc808D2eC93A9F30,9 -1780.0,WILD-0e34,WILD,Wilder,0x2a3bFF78B79A009976EeA096a51A948a3dC00e34,18 -1781.0,SMBR-62Dd,SMBR,SOMBRA,0x16B3E050e9e2f0Ac4f1BEA1b3E4fdc43d7f062Dd,9 -1782.0,IDRT-b48A,IDRT,Rupiah Token,0x998FFE1E43fAcffb941dc337dD0468d52bA5b48A,2 -1783.0,SENATE-4470,SENATE,SENATE,0x34Be5b8C30eE4fDe069DC878989686aBE9884470,18 -1784.0,KONO-7Df4,KONO,Konomi,0x850aAB69f0e0171A9a49dB8BE3E71351c8247Df4,18 -1785.0,MP3-e7a0,MP3,mp3,0x018fb5Af9d015Af25592a014C4266a84143De7a0,18 -1786.0,TKINU-9F14,TKINU,Tsuki Inu,0xda23d301761E4e2bF474951f978f6DFB6F3C9F14,9 -1787.0,GINU-B306,GINU,GiveWell Inu,0x74bE64B45D394FA57816c1950E94dBB8d7A7B306,9 -1788.0,M-b2d5,M,M,0xC3E486F614e297d8E016aC2805e81707C627b2d5,18 -1789.0,EXRT-9925,EXRT,EXRT,0xb20043F149817bff5322F1b928e89aBFC65A9925,8 -1790.0,WAIF-4b20,WAIF,Waifu,0xB2279B6769CFBa691416F00609b16244c0cF4b20,18 -1791.0,RJV-adaB,RJV,Rejuve Token,0x02c3296C6eb50249f290AE596F2bE9454bFfadaB,6 -1792.0,LITH-4a42,LITH,Lithium,0x188E817B02e635D482AE4D81e25DdA98A97C4a42,18 -1793.0,HEROS-6f62,HEROS,Heros Token,0xb622400807765e73107B7196F444866D7EdF6f62,9 -1794.0,STRNGR-CF38,STRNGR,Stronger,0xDc0327D50E6C73db2F8117760592C8BBf1CDCF38,18 -1795.0,SHFT-2D85,SHFT,Shyft [ Wrapped ],0xb17C88bDA07D28B3838E0c1dE6a30eAfBCF52D85,18 -1796.0,BETTER-319A,BETTER,Better Money,0xA7925aA2A6e4575ab0C74D169f3BC3e03D4C319A,4 -1797.0,Mikaboshi-63f4,Mikaboshi,Amatsu-Mikaboshi,0xaE86f48c0B00F2a3eaeF4ba4c23d17368f0f63f4,18 -1798.0,SNT-5B9E,SNT,Status Network Token,0x744d70FDBE2Ba4CF95131626614a1763DF805B9E,18 -1799.0,FREE-f526,FREE,Ross Ulbricht Genesis Collection,0x4CD0c43B0D53bc318cc5342b77EB6f124E47f526,18 -1800.0,dKUMA-A3a8,dKUMA,KumaDex Token,0x3f5dd1A1538a4F9f82E543098f01F22480B0A3a8,18 -1801.0,ITS-21C4,ITS,IterationSyndicate,0xC32cC5b70BEe4bd54Aa62B9Aefb91346d18821C4,18 -1802.0,MOUSEWORM-5dA8,MOUSEWORM,MouseWorm,0xA848a1D33D8ef1633397A6acf617620fab8E5dA8,6 -1803.0,VERSE-dC0a,VERSE,Shibaverse,0x7aE0d42f23C33338dE15bFa89C7405c068d9dC0a,18 -1804.0,ALEX-5315,ALEX,AlexMasmej,0x8BA6DcC667d3FF64C1A2123cE72FF5F0199E5315,4 -1805.0,UMI-C69C,UMI,UmiToken,0x61107a409fFFe1965126aa456Af679719695C69C,18 -1806.0,milkAI-4F39,milkAI,milkAI,0x9f826324bb9BdcF7E7Eb274BEDc417BD45D74F39,8 -1807.0,JULIEN-332B,JULIEN,Julien,0xe6710e0CdA178f3D921f456902707B0d4C4A332B,4 -1808.0,STOP-f4Ee,STOP,SatoPay,0x8c3eE4F778E282B59D42d693A97b80b1ed80f4Ee,18 -1809.0,DRYP-b027,DRYP,Dripto,0xBE1fa1303e2979Ab4d4e5dF3D1c6e3656ACAb027,18 -1810.0,TLOS-AC88,TLOS,pTokens TLOS,0x7825e833D495F3d1c28872415a4aee339D26AC88,18 -1811.0,MUTE-400c,MUTE,Mute.io,0xA49d7499271aE71cd8aB9Ac515e6694C755d400c,18 -1812.0,LTX-d092,LTX,Lattice Token,0xa393473d64d2F9F026B60b6Df7859A689715d092,8 -1813.0,TWOPAW-47e8,TWOPAW,TWOPAW Token,0xf7de6DEf3D319811418d69Bf56c532A815FC47e8,18 -1814.0,BEZOGE-f695,BEZOGE,Bezoge Earth,0xDC349913d53b446485E98b76800b6254f43Df695,9 -1815.0,ESS-40f7,ESS,ESSENTIA,0xfc05987bd2be489ACCF0f509E44B0145d68240f7,18 -1816.0,KAI-C093,KAI,KardiaChain Token,0xD9Ec3ff1f8be459Bb9369b4E79e9Ebcf7141C093,18 -1817.0,VIDT-7Bb1,VIDT,VIDT Datalink,0xfeF4185594457050cC9c23980d301908FE057Bb1,18 -1818.0,CHIRO-775c,CHIRO,Chihiro Inu,0x35156b404C3f9bdaf45ab65Ba315419bcDe3775c,9 -1819.0,YAE-1EAF,YAE,Cryptonovae,0x4eE438be38F8682ABB089F2BFeA48851C5E71EAF,18 -1820.0,DEP-8163,DEP,DEAPCOIN,0x1A3496C18d558bd9C6C8f609E1B129f67AB08163,18 -1821.0,YAX-A289,YAX,yAxis,0xb1dC9124c395c1e97773ab855d66E879f053A289,18 -1822.0,REKT-362b,REKT,RektSkulls,0x8a7664E782860E856031D6c31EB3bde721Bc362b,18 -1823.0,YUP-BCC9,YUP,YUP,0x69bBC3F8787d573F1BBDd0a5f40C7bA0Aee9BCC9,18 -1824.0,wBAN-A034,wBAN,Wrapped Banano,0xe20B9e246db5a0d21BF9209E4858Bc9A3ff7A034,18 -1825.0,ZKP-c5B3,ZKP,zkProof,0x09637E374Ec5baB8C9e9654a97C9593e3038c5B3,9 -1826.0,ARCAI-b5E9,ARCAI,Archive AI,0x5c8190b76E90B4DD0702740cF6Eb0F7eE01Ab5E9,9 -1827.0,GETH-74B8,GETH,Guarded Ether,0x3802c218221390025BCEABBaD5D8C59F40eB74B8,18 -1828.0,BCUG-E9AF,BCUG,Blockchain Cuties Universe Governance Token,0x14Da7b27b2E0FedEfe0a664118b0c9bc68e2E9AF,18 -1829.0,VAB-9a04,VAB,Vabble,0xe7aE6D0C56CACaf007b7e4d312f9af686a9E9a04,18 -1830.0,T-Bba1,T,T,0x5b985B4F827072FebE33091b42729522B557Bba1,18 -1831.0,UNN-3a9D,UNN,UNION Protocol Governance Token,0x226f7b842E0F0120b7E194D05432b3fd14773a9D,18 -1832.0,DHP-920d,DHP,dHealth,0xc40F23A3E9613E012944f7957edCe97899Fa920d,18 -1833.0,PHNX-F2f7,PHNX,PhoenixDAO,0x38A2fDc11f526Ddd5a607C1F251C065f40fBF2f7,18 -1834.0,PERL-0318,PERL,Perlin,0xeca82185adCE47f39c684352B0439f030f860318,18 -1835.0,AST-A75a,AST,AirSwap Token,0x27054b13b1B798B345b591a4d22e6562d47eA75a,4 -1836.0,DONUT-54A9,DONUT,Donut,0xC0F9bD5Fa5698B6505F643900FFA515Ea5dF54A9,18 -1837.0,kSEED-0850,kSEED,KUSH.FINANCE,0x3F09400313e83d53366147e3ea0e4e2279D80850,18 -1838.0,MTHD-a169,MTHD,Method,0x84bA4aEcfDe39D69686a841BAb434C32d179a169,18 -1839.0,MIMIR-383C,MIMIR,Mimir Token,0x71dc40668682a124231301414167E4CF7f55383C,18 -1840.0,ESS-8b3e,ESS,Empty Set Share,0x24aE124c4CC33D6791F8E8B63520ed7107ac8b3e,18 -1841.0,FTM-7870,FTM,Fantom Token,0x4E15361FD6b4BB609Fa63C81A2be19d873717870,18 -1842.0,WQT-95bF,WQT,Work Quest Token,0x06677Dc4fE12d3ba3C7CCfD0dF8Cd45e4D4095bF,18 -1843.0,STREETH-DfA5,STREETH,STREETH,0xB840d10D840eF47c233FEC1fd040F5B145a6DfA5,18 -1844.0,ROCK-42BC,ROCK,MoonRock,0x1a6921F7B92113c79306f1A9E148D83445ac42BC,9 -1845.0,MEME-a8Db,MEME,MEME Inu.,0x74B988156925937bD4E082f0eD7429Da8eAea8Db,18 -1846.0,GWD-A56b,GWD,GreenWorld,0x674c964AC0E89d847d6B0aBd144b797bf78BA56b,6 -1847.0,NCT-246E,NCT,NameChangeToken,0x8A9c4dfe8b9D8962B31e4e16F8321C44d48e246E,18 -1848.0,BDS-1100,BDS,Black Dragon Society,0x1856BC58f5511269aFE2CA1e89Bf08CBDCD01100,18 -1849.0,buidl-63db,buidl,dfohub,0x7b123f53421b1bF8533339BFBdc7C98aA94163db,18 -1850.0,LAYER-366b,LAYER,Unilayer,0x0fF6ffcFDa92c53F615a4A75D982f399C989366b,18 -1851.0,HANDY-684c,HANDY,Handy Token,0x8bbe1a2961B41340468D0548c2cd5B7DFA9b684c,18 -1852.0,dART-dDBF,dART,dART Token,0x5a4623F305A8d7904ED68638AF3B4328678edDBF,18 -1853.0,FIFTY-c3aa,FIFTY,FIFTYONEFIFTY,0xf7DD746A613Fb6362D44eCEDEB743f62ade6c3aa,9 -1854.0,AI-7D80,AI,Chat AI,0xa89Bf95c5f15a847c8Eb8D348cd7feD719AD7D80,18 -1855.0,ORN-434a,ORN,Orion Protocol,0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a,8 -1856.0,FST-3606,FST,Futureswap Token,0x0E192d382a36De7011F795Acc4391Cd302003606,18 -1857.0,WELD-6dE0,WELD,Weld.Money,0xDD2a36AE937bc134ea694d77fC7e2E36f5d86dE0,18 -1858.0,ERN-3505,ERN,@EthernityChain $ERN Token,0xBBc2AE13b23d715c30720F079fcd9B4a74093505,18 -1859.0,Gold 1-E5B0,Gold 1,Teh Golden One,0x0Ec72CD6690db40B16be166858299F19D4f8E5B0,9 -1860.0,YourWallet-C429,YourWallet,YourWallet,0xDa70FBaC9e1C9Ac3475c24A3A847f85f1388C429,18 -1861.0,GTR-61c6,GTR,Ghost Trader,0x32DebF31D5ED90ca2e287D306fc23FaFAD9361c6,18 -1862.0,arNXM-b1dD,arNXM,Armor NXM,0x1337DEF18C680aF1f9f45cBcab6309562975b1dD,18 -1863.0,PIF-6513,PIF,Play It Forward DAO,0xB30F5d11b94efBBfDeaa4de38eDFFCeEc0bE6513,18 -1864.0,KMT-0f0f,KMT,FiveKM KMT,0x184b6f31aeAa6a19Eb207dFeA01F4289629e0f0f,18 -1865.0,NCT-33d1,NCT,Nectar,0x9E46A38F5DaaBe8683E10793b06749EEF7D733d1,18 -1866.0,DGRN-8115,DGRN,Degrain,0x71E368Ed06814Bf35d4E663eFf946400a5BC8115,18 -1867.0,STACY-B327,STACY,Stacy,0xf12EC0D3Dab64DdEfBdC96474bDe25af3FE1B327,18 -1868.0,eSOV-F7a5,eSOV,eSOV,0xbdab72602e9AD40FC6a6852CAf43258113B8F7a5,18 -1869.0,GALA-03dA,GALA,Gala,0x15D4c048F83bd7e37d49eA4C83a07267Ec4203dA,8 -1870.0,DPI-3C2b,DPI,DefiPulse Index,0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b,18 -1871.0,OPENAI-5041,OPENAI,OpenAI,0x6A6AA13393B7d1100c00a57c76c39e8B6C835041,9 -1872.0,VRX-B4e5,VRX,Verox,0x87DE305311D5788e8da38D19bb427645b09CB4e5,18 -1873.0,XI-Ec8c,XI,Xi Token,0x295B42684F90c77DA7ea46336001010F2791Ec8c,18 -1874.0,KOMBAT-C7fA,KOMBAT,Crypto Kombat Token,0x878CF148ccBb50426043a9AFFe54Ba408221C7fA,8 -1875.0,MSI-6fde,MSI,Martin Shkreli Inu,0xc4C75F2A0cB1a9ACc33929512dc9733EA1Fd6fde,18 -1876.0,METANO-1afb,METANO,METANO,0x9D9e399e5385e2b9A58d4F775A1E16441b571afb,18 -1877.0,BST-34FC,BST,BlockStar Token,0x4E4bFfAA8df6F0dC3e5600bBACf7DA55f37134FC,18 -1878.0,DEXT-C75a,DEXT,DEXTools,0xfB7B4564402E5500dB5bB6d63Ae671302777C75a,18 -1879.0,BURP-4A7c,BURP,Burp,0x33f391F4c4fE802b70B77AE37670037A92114A7c,18 -1880.0,INNIT-7c18,INNIT,InnitForTheTECH,0x62A8C2818BD7034DC24CD22368C3E53E8eB47c18,18 -1881.0,DEFX-8eDa,DEFX,DeFinity,0x5F474906637bdCDA05f29C74653F6962bb0f8eDa,18 -1882.0,RAGE-886F,RAGE,RageToken,0x94804dc4948184fFd7355f62Ccbb221c9765886F,18 -1883.0,WARP-Dd71,WARP,Warp Token,0xEd40834A13129509A89be39a9bE9C0E96A0DDd71,18 -1884.0,QUAD-77EE,QUAD,Quadency Token,0xAB2A7B5876D707e0126B3A75EF7781c77c8877EE,18 -1885.0,PUSSY-a1ad,PUSSY,PUSSY token,0x9196E18Bc349B1F64Bc08784eaE259525329a1ad,18 -1886.0,SKT-a8C1,SKT,Sukhavati Network Token,0x012E0e6342308b247F36Ee500ECb14dc77a7a8C1,8 -1887.0,ABI-77CD,ABI,Abachi,0xa31DFe74cDA04de990CafC6a0aB2BB6d6C9077CD,9 -1888.0,AiWallet-8B19,AiWallet,AiWallet Token,0xc5A927AD2d1a92Dc5f9662Ce03F7140a8B738B19,18 -1889.0,XOR-F677,XOR,Sora Token,0x40FD72257597aA14C7231A7B1aaa29Fce868F677,18 -1890.0,AISC-B9d9,AISC,Ai Smart Chain,0xB7Df0f42FAe30acf30C9A5BA147D6B792b5eB9d9,18 -1891.0,KAT-509C,KAT,Kambria Token,0x14da230d6726C50F759Bc1838717F8CE6373509C,18 -1892.0,MAD-d875,MAD,MADToken,0x5B09A0371C1DA44A8E24D36Bf5DEb1141a84d875,18 -1893.0,SKL-a7A7,SKL,SKALE,0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7,18 -1894.0,NCDT-3C1B,NCDT,NCDToken,0xE0C8b298db4cfFE05d1bEA0bb1BA414522B33C1B,18 -1895.0,VRA-7255,VRA,VERA,0xF411903cbC70a74d22900a5DE66A2dda66507255,18 -1896.0,KP3R-5A44,KP3R,Keep3rV1,0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44,18 -1897.0,DIE-4aC7,DIE,Die Protocol,0x6Ef6610d24593805144d73b13d4405E00A4E4aC7,18 -1898.0,ONIGI-1582,ONIGI,Onigiri Neko,0xb4615AAD766f6De3c55330099E907fF7F13f1582,9 -1899.0,STATE-8eB1,STATE,New World Order,0x00C2999c8B2AdF4ABC835cc63209533973718eB1,18 -1900.0,STG-2Cd6,STG,StargateToken,0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6,18 -1901.0,GAIN-F614,GAIN,GainDAO Token,0x874CB28A655e0Ef827d810E211aE4b9cBcbaF614,18 -1902.0,BBW-8F69,BBW,BabyWhale,0xd2287a52287dd64AE2c690D74322E2e345dC8F69,18 -1903.0,ECT-6783,ECT,Echain Token,0xda4Dd9586D27202A338843Dd6B9824d267006783,9 -1904.0,HBOT-e9CB,HBOT,Hummingbot Governance Token,0xE5097D9baeAFB89f9bcB78C9290d545dB5f9e9CB,18 -1905.0,IMX-79fF,IMX,Immutable X,0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF,18 -1906.0,YCO-0893,YCO,Y Coin,0x3D0293f06daF4311B482564330D57C8Db6C10893,8 -1907.0,HOODIE-FE75,HOODIE,CryptoPunk #7171,0xdffA3a7f5B40789C7A437DbE7B31b47F9B08FE75,18 -1908.0,eMAID-a303,eMAID,MaidSafeCoin,0x329c6E459FFa7475718838145e5e85802Db2a303,18 -1909.0,AGRS-bdDa,AGRS,Agoras Token,0x738865301A9b7Dd80Dc3666dD48cF034ec42bdDa,8 -1910.0,BOSON-0de9,BOSON,Boson Token,0xC477D038d5420C6A9e0b031712f61c5120090de9,18 -1911.0,IDEAS-cC02,IDEAS,IDEAS,0x443b29fc978058Abe3Fc2f4c3c6b76c57fdecC02,18 -1912.0,BIT-a4C5,BIT,BitDAO,0x1A4b46696b2bB4794Eb3D4c26f1c55F9170fa4C5,18 -1913.0,PRVG-8E3d,PRVG,Privilege,0x2Ec3275f7aCe4044e499823F511cd58250be8E3d,8 -1914.0,FLP-BcD3,FLP,FLIP Token,0x3a1Bda28AdB5B0a812a7CF10A1950c920F79BcD3,18 -1915.0,INST-03eb,INST,Instadapp,0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb,18 -1916.0,BOB-1B0B,BOB,BOB,0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0B,18 -1917.0,GGTK-EF76,GGTK,GGToken,0xFA99A87b14B02e2240C79240C5a20F945ca5EF76,18 -1918.0,SOL-b89c,SOL,Wrapped SOL,0xD31a59c85aE9D8edEFeC411D448f90841571b89c,9 -1919.0,arte-87b9,arte,ethart,0x34612903Db071e888a4dADcaA416d3EE263a87b9,18 -1920.0,LQTY-c54D,LQTY,LQTY,0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D,18 -1921.0,sifu-C313,sifu,Sifu,0x29127fE04ffa4c32AcAC0fFe17280ABD74eAC313,18 -1922.0,OGV-12D0,OGV,Origin Dollar Governance,0x9c354503C38481a7A7a51629142963F98eCC12D0,18 -1923.0,DINO-c68F,DINO,DinoLFG,0x49642110B712C1FD7261Bc074105E9E44676c68F,18 -1924.0,NYM-90e1,NYM,NYM,0x525A8F6F3Ba4752868cde25164382BfbaE3990e1,6 -1925.0,ITP-DE31,ITP,Interport Token,0x2b1D36f5B61AdDAf7DA7ebbd11B35FD8cfb0DE31,18 -1926.0,auraBAL-608d,auraBAL,Aura BAL,0x616e8BfA43F920657B3497DBf40D6b1A02D4608d,18 -1927.0,RAE-8756,RAE,RAE Token,0xE5a3229CCb22b6484594973A03a3851dCd948756,18 -1928.0,wCFG-34F0,wCFG,Wrapped Centrifuge,0xc221b7E65FfC80DE234bbB6667aBDd46593D34F0,18 -1929.0,cvxCRV-0Aa7,cvxCRV,Convex CRV,0x62B9c7356A2Dc64a1969e19C23e4f579F9810Aa7,18 -1930.0,T-beE5,T,Threshold Network Token,0xCdF7028ceAB81fA0C6971208e83fa7872994beE5,18 -1931.0,VINU-52c9,VINU,Vita Inu,0xAFCdd4f666c84Fed1d8BD825aA762e3714F652c9,18 -1932.0,NUTS-0bc0,NUTS,NutsDAO,0x981dc247745800bD2cA28a4bF147f0385Eaa0bc0,18 -1933.0,TPRO-4D15,TPRO,TPRO,0x3540abE4f288B280A0740ad5121aEc337c404D15,18 -1934.0,PUNK-232A,PUNK,CryptoPunks,0x269616D549D7e8Eaa82DFb17028d0B212D11232A,18 -1935.0,RADAR-4DbE,RADAR,DappRadar,0x44709a920fCcF795fbC57BAA433cc3dd53C44DbE,18 -1936.0,ACH-143d,ACH,Alchemy,0xEd04915c23f00A313a544955524EB7DBD823143d,8 -1937.0,MEME-b760,MEME,MEME,0x60c7AEa107EA3cDAb21455e187cFB7e54E09b760,18 -1938.0,VXV-bFCe,VXV,VectorspaceAI,0x7D29A64504629172a429e64183D6673b9dAcbFCe,18 -1939.0,MEZZ-4bC3,MEZZ,MEZZ Token,0xC4c346eDc55504574cCEB00AA1091d22404A4bC3,18 -1940.0,Pomi-77DA,Pomi,Pomi Coin,0x96ef7f9cF1B6eCC66E482A6598fc9F009E9277DA,8 -1941.0,TRIO-3308,TRIO,Maximus Trio,0xF55cD1e399e1cc3D95303048897a680be3313308,8 -1942.0,FPIS-1fdb,FPIS,Frax Price Index Share,0xc2544A32872A91F4A553b404C6950e89De901fdb,18 -1943.0,COW-5Ea8,COW,CoinWind Token,0x34965f73Cfa05Bf8d8aF37cB4af64Fa950605Ea8,18 -1944.0,WBNB-7605,WBNB,Wrapped BNB,0x418D75f65a02b3D53B2418FB8E1fe493759c7605,18 -1945.0,VOLT-9b25,VOLT,VOLTAGE,0xfFbF315f70E458e49229654DeA4cE192d26f9b25,18 -1946.0,FOREX-259B,FOREX,handleFOREX,0xDb298285FE4C5410B05390cA80e8Fbe9DE1F259B,18 -1947.0,frxETH-Aa1f,frxETH,Frax Ether,0x5E8422345238F34275888049021821E8E08CAa1f,18 -1948.0,🌐-3953,🌐,QAO,0x3402E15b3EA0f1aEC2679c4Be4c6d051ceF93953,18 -1949.0,DCHF-7A36,DCHF,Defi Franc,0x045da4bFe02B320f4403674B3b7d121737727A36,18 -1950.0,NSFW-BF19,NSFW,Pleasure Coin,0x8f006D1e1D9dC6C98996F50a4c810F17a47fBF19,18 -1951.0,FACTR-B9D5,FACTR,Defactor,0xe0bCEEF36F3a6eFDd5EEBFACD591423f8549B9D5,18 -1952.0,ZMT-62b2,ZMT,Zipmex Token,0xaa602dE53347579f86b996D2Add74bb6F79462b2,18 -1953.0,DECI-4eA6,DECI,Maximus Decimus,0x6b32022693210cD2Cfc466b9Ac0085DE8fC34eA6,8 -1954.0,ISHND-5dbf,ISHND,Stronghands Finance,0x9e6b19874e97fe8E8CAD77f2c0AB5E7a693E5dbf,18 -1955.0,gtcETH-065e,gtcETH,Gitcoin Staked ETH Index (gtcETH),0x36c833Eed0D376f75D1ff9dFDeE260191336065e,18 -1956.0,SDL-6871,SDL,Saddle DAO,0xf1Dc500FdE233A4055e25e5BbF516372BC4F6871,18 -1957.0,PRIME-28CF,PRIME,Prime,0xb23d80f5FefcDDaa212212F028021B41DEd428CF,18 -1958.0,BZR-BA8F,BZR,BAZAARS,0x8d96B4ab6C741a4C8679AE323a100d74f085BA8F,18 -1959.0,COM-34A8,COM,Communis,0x5A9780Bfe63f3ec57f01b087cD65BD656C9034A8,12 -1960.0,LUCKY-6140,LUCKY,Maximus Lucky,0x6B0956258fF7bd7645aa35369B55B61b8e6d6140,8 -1961.0,NXRA-EF9e,NXRA,AllianceBlock Nexera Token,0x644192291cc835A93d6330b24EA5f5FEdD0eEF9e,18 -1962.0,WAMPL-49Ef,WAMPL,Wrapped Ampleforth,0xEDB171C18cE90B633DB442f2A6F72874093b49Ef,18 -1963.0,sILV2-b068,sILV2,Escrowed Illuvium 2,0x7E77dCb127F99ECe88230a64Db8d595F31F1b068,18 -1964.0,BTRFLY-e5Da,BTRFLY,BTRFLY,0xc55126051B22eBb829D00368f4B12Bde432de5Da,18 -1965.0,HAIR-6f42,HAIR,HairDAO Token,0x9Ce115f0341ae5daBC8B477b74E83db2018A6f42,18 -1966.0,MS-908F,MS,Morphswap,0x6d6554939D646f274d0FC3cEcB7dab5d76bc908F,18 -1967.0,SGT-EcDD,SGT,Sharedstake.finance,0x24C19F7101c1731b85F1127EaA0407732E36EcDD,18 -1968.0,D2T-7A76,D2T,Dash 2 Trade,0x4Dd942bAa75810a3C1E876e79d5cD35E09C97A76,18 -1969.0,TGBP-00a5,TGBP,TrueGBP,0x00000000441378008EA67F4284A57932B1c000a5,18 -1970.0,FCC-e079,FCC,Freechat Coin,0x171b1DAefac13A0A3524Fcb6BEDdC7B31E58e079,18 -1971.0,ALICE-63E8,ALICE,ALICE,0xAC51066d7bEC65Dc4589368da368b212745d63E8,6 -1972.0,EFI-3733,EFI,Efinity Token,0x656C00e1BcD96f256F224AD9112FF426Ef053733,18 -1973.0,XDEFI-B777,XDEFI,XDEFI,0x72B886d09C117654aB7dA13A14d603001dE0B777,18 -1974.0,MNW-f6E4,MNW,Morpheus.Network,0xd3E4Ba569045546D09CF021ECC5dFe42b1d7f6E4,18 -1975.0,HOPR-81dA,HOPR,HOPR Token,0xF5581dFeFD8Fb0e4aeC526bE659CFaB1f8c781dA,18 -1976.0,SPUME-5283,SPUME,Spume,0xa16a609fF4e1A15b6cCb469E7a5dD14E89305283,18 -1977.0,GEAR-Ab5D,GEAR,Gearbox,0xBa3335588D9403515223F109EdC4eB7269a9Ab5D,18 -1978.0,OMI-749e,OMI,OMI Token,0xeD35af169aF46a02eE13b9d79Eb57d6D68C1749e,18 -1979.0,EURe-273f,EURe,Monerium EUR emoney,0x3231Cb76718CDeF2155FC47b5286d82e6eDA273f,18 -1980.0,MRPH-56c8,MRPH,Morpheus.Network,0x7B0C06043468469967DBA22d1AF33d77d44056c8,4 -1981.0,TKING-DAFA,TKING,Tiger King,0x24E89bDf2f65326b94E36978A7EDeAc63623DAFA,18 -1982.0,RSR-5d70,RSR,Reserve Rights,0x320623b8E4fF03373931769A31Fc52A4E78B5d70,18 -1983.0,DUST-c5F0,DUST,DUST Token,0xe2E109f1b4eaA8915655fE8fDEfC112a34ACc5F0,18 -1984.0,MAHA-49B0,MAHA,MahaDAO,0x745407c86DF8DB893011912d3aB28e68B62E49B0,18 -1985.0,ARIA20-4aF9,ARIA20,ARIANEE,0xeDF6568618A00C6F0908Bf7758A16F76B6E04aF9,18 -1986.0,CNG-44bf,CNG,Changer,0x5C1d9aA868a30795F92fAe903eDc9eFF269044bf,18 -1987.0,PRBLY-F7E7,PRBLY,Probably Nothing,0x6361F338Ab8DEf2AF3f2A1Be7BD8A7dB3156F7E7,18 -1988.0,XOY-9e52,XOY,XOYCoin,0xe9F1d62c671EFe99896492766c0B416bD3FB9e52,8 -1989.0,ccBCH-b789,ccBCH,Cross-Chain BCH,0xdB792B1D8869A7CFc34916d6c845Ff05A7C9b789,8 -1990.0,BANANA-F03a,BANANA,Banana,0x94e496474F1725f1c1824cB5BDb92d7691A4F03a,18 -1991.0,PUNKS-12EA,PUNKS,PUNKS,0x30c084890FC07D78F3499ffc818B3225bC8812EA,18 -1992.0,WEB3-e601,WEB3,Arch Ethereum Web3,0xe8e8486228753E01Dbc222dA262Aa706Bd67e601,18 -1993.0,XIDR-aa52,XIDR,XIDR,0xebF2096E01455108bAdCbAF86cE30b6e5A72aa52,6 -1994.0,₡ABIN-F830,₡ABIN,₡ABIN,0x1934E252f840aA98dfCe2b6205B3E45c41AeF830,18 -1995.0,STMX-D71C,STMX,StormX,0xa62cc35625B0C8dc1fAEA39d33625Bb4C15bD71C,18 -1996.0,AMKT-aE8D,AMKT,Alongside Crypto Market Index,0xF17A3fE536F8F7847F1385ec1bC967b2Ca9caE8D,18 -1997.0,FUND-7f75,FUND,Unification,0xe9B076B476D8865cDF79D1Cf7DF420EE397a7f75,9 -1998.0,NGC-f131,NGC,NAGA Coin,0x72dD4b6bd852A3AA172Be4d6C5a6dbEc588cf131,18 -1999.0,JPG-249c,JPG,JPG NFT Index,0x02e7Ac540409D32C90BfB51114003a9E1fF0249c,18 -2000.0,ZUSD-04fA,ZUSD,Z.com USD,0xc56c2b7e71B54d38Aab6d52E94a04Cbfa8F604fA,6 -2001.0,WRAB-C285,WRAB,White Rabbit,0x45D74446748fB432F05E7a85bD974aBB7af5C285,18 -2002.0,UTU-189B,UTU,UTU Coin,0xa58a4f5c4Bb043d2CC1E170613B74e767c94189B,18 -2003.0,GLQ-4D24,GLQ,GraphLinq,0x9F9c8ec3534c3cE16F928381372BfbFBFb9F4D24,18 -2004.0,KROM-d789,KROM,Kromatika,0x3af33bEF05C2dCb3C7288b77fe1C8d2AeBA4d789,18 -2005.0, SHOP-4B8b, SHOP,SHOP,0x64b78325d7495D6d4be92f234fa3f3B8d8964B8b,18 -2006.0,CERES-0aDA,CERES,Ceres,0x2e7B0d4F9B2EaF782eD3D160e3a0a4b1a7930aDA,18 -2007.0,ELA-1867,ELA,ELA on Ethereum,0xe6fd75ff38Adca4B97FBCD938c86b98772431867,18 -2008.0,PILOT-9525,PILOT,Unipilot,0x37C997B35C619C21323F3518B9357914E8B99525,18 -2009.0,UNBNK-442f,UNBNK,Unbanked,0x06B884e60794Ce02AafAb13791B59A2e6A07442f,18 -2010.0,KUJI-3fe7,KUJI,Kuji,0x96543ef8d2C75C26387c1a319ae69c0BEE6f3fe7,6 -2011.0,EUL-E07b,EUL,Euler,0xd9Fcd98c322942075A5C3860693e9f4f03AAE07b,18 -2012.0,UNT-fdFe,UNT,Unity Network,0x8d610E20481F4C4f3aCB87bBa9c46BeF7795fdFe,18 -2013.0,MIDAS-66A5,MIDAS,Midas,0x97e6e31aFb2d93d437301e006D9DA714616766A5,18 -2014.0,BCNT-2CD9,BCNT,Bincentive Token,0x9669890e48f330ACD88b78D63E1A6b3482652CD9,18 -2015.0,QRDO-2463,QRDO,Qredo Token,0x4123a133ae3c521FD134D7b13A2dEC35b56c2463,8 -2016.0,MVRS-f8c1,MVRS,Meta MVRS,0xBEDE1F59Fa4412556fEF69f1B9969F2003E3f8c1,18 -2017.0,XFT-45aE,XFT,Offshift,0x76BC677d444f1E9d57dAf5187ee2b7dC852745aE,18 -2018.0,UST-87a5,UST,UST,0xa693B19d2931d498c5B318dF961919BB4aee87a5,6 -2019.0,VEGA-bc6e,VEGA,VEGA,0xcB84d72e61e383767C4DFEb2d8ff7f4FB89abc6e,18 -2020.0,iZi-c200,iZi,izumi Token,0x9ad37205d608B8b219e6a2573f922094CEc5c200,18 -2021.0,TRG-4928,TRG,The Rug Game,0x93eEB426782BD88fCD4B48D7b0368CF061044928,18 -2022.0,WOMBAT-F9dd,WOMBAT,Wombat,0x0C9c7712C83B3C70e7c5E11100D33D9401BdF9dd,18 -2023.0,HARAMBE-38c6,HARAMBE,Harambe,0xADe6FDAba1643E4D1eeF68Da7170F234470938c6,18 -2024.0,THOL-0618,THOL,Tholos,0x207e14389183A94343942de7aFbC607F57460618,18 -2025.0,ACRIA-c58A,ACRIA,Acria Token,0x44F5909E97E1CBf5FBbDF0FC92FD83cde5d5c58A,18 -2026.0,POLY-fdad,POLY,Poly Maximus,0x9d93692E826A4bd9e903e2A27D7FbD1e116efdad,9 -2027.0,GRPFT-364A,GRPFT,GRAPEFRUIT,0x64B986211c0CC675143F895C437b79c3cadf364A,8 -2028.0,BTRFLY-eC3A,BTRFLY,BTRFLY,0xC0d4Ceb216B3BA9C3701B291766fDCbA977ceC3A,9 -2029.0,sETH2-043A,sETH2,StakeWise Staked ETH2,0xFe2e637202056d30016725477c5da089Ab0A043A,18 -2030.0,ZURR-e08D,ZURR,ZURRENCY,0x89509aA1D14a8E1E5364Ec4C3B041213bcDbe08D,18 -2031.0,AIN-0385,AIN,AI Network,0x3A810ff7211b40c4fA76205a14efe161615d0385,18 -2032.0,ALCA-8F8b,ALCA,AliceNet Staking Token,0xBb556b0eE2CBd89ed95DdEA881477723A3Aa8F8b,18 -2033.0,CADC-2Eef,CADC,CAD Coin,0xcaDC0acd4B445166f12d2C07EAc6E2544FbE2Eef,18 -2034.0,BYTES-8c95,BYTES,BYTES,0x7d647b1A0dcD5525e9C6B3D14BE58f27674f8c95,18 -2035.0,LOOMI-2451,LOOMI,LOOMI,0xEb57Bf569Ad976974C1F861a5923A59F40222451,18 -2036.0,AGLD-9A20,AGLD,Adventure Gold,0x32353A6C91143bfd6C7d363B546e62a9A2489A20,18 -2037.0,SPELL-e5F6,SPELL,Spell Token,0x090185f2135308BaD17527004364eBcC2D37e5F6,18 -2038.0,NFD-5346,NFD,Feisty Doge NFT,0xDFDb7f72c1F195C5951a234e8DB9806EB0635346,18 -2039.0,BANK-2921,BANK,Float Bank,0x24A6A37576377F63f194Caa5F518a60f45b42921,18 -2040.0,TERA2-3231,TERA2,Terareum,0x33909C9CE97Ce509daB3A038B3eC7ac3d1Be3231,4 -2041.0,BLOCKS-24eB,BLOCKS,BLOCKS,0x8a6D4C8735371EBAF8874fBd518b56Edd66024eB,18 -2042.0,ATH-C8F6,ATH,Athens,0x2F9411088cEF82Fd9fB904Eb8092f28eB485C8F6,18 -2043.0,LIT-C341,LIT,Liquidity Incentive Token,0xfd0205066521550D7d7AB19DA8F72bb004b4C341,18 -2044.0,H2O-1701,H2O,H2O,0x0642026E7f0B6cCaC5925b4E7Fa61384250e1701,18 -2045.0,CenX-cf79,CenX,Centralex Token,0x504cDe95dBC5d90d09B802F43B371971adbEcf79,18 -2046.0,SOON-B771,SOON,NONbeta,0x6100dd79fCAA88420750DceE3F735d168aBcB771,18 -2047.0,XIV-392C,XIV,INVERSE,0x44f262622248027f8E2a8Fb1090c4Cf85072392C,18 -2048.0,ETHMAXY-69E2,ETHMAXY,ETH Max Yield Index,0x0FE20E0Fa9C78278702B05c333Cc000034bb69E2,18 -2049.0,SWEAT-3A35,SWEAT,SWEAT,0xB4b9DC1C77bdbb135eA907fd5a08094d98883A35,18 -2050.0,PRNT-15FD,PRNT,PrimeNumbers,0x7Cfea0DD176651E7B5a1CeD9c4fAf8Ee295315FD,18 -2051.0,QANX-3AAA,QANX,QANX Token,0xAAA9214F675316182Eaa21C85f0Ca99160CC3AAA,18 -2052.0,PDI-8B48,PDI,Phuture DeFi Index,0x632806BF5c8f062932Dd121244c9fbe7becb8B48,18 -2053.0,SYN-9F29,SYN,Synapse,0x0f2D719407FdBeFF09D87557AbB7232601FD9F29,18 -2054.0,BETA-9D28,BETA,Beta Token,0xBe1a001FE942f96Eea22bA08783140B9Dcc09D28,18 -2055.0,FLUX-B1d9,FLUX,FLUX,0x469eDA64aEd3A3Ad6f868c44564291aA415cB1d9,18 -2056.0,DON-92c6,DON,Donkey,0x4576E6825B462b6916D2a41E187626E9090A92c6,18 -2057.0,DOG-8899,DOG,The Doge NFT,0xBAac2B4491727D78D2b78815144570b9f2Fe8899,18 -2058.0,MET-89aa,MET,Metronome2,0x2Ebd53d035150f328bd754D6DC66B99B0eDB89aa,18 -2059.0,IZE-327B,IZE,Galvan,0xf7e945FcE8F19302AaCc7E1418b0A0bdef89327B,8 -2060.0,MCRT-478D,MCRT,MagicCraft,0xde16Ce60804a881e9F8c4eBB3824646EDecd478D,9 -2061.0,LORDS-18b0,LORDS,Lords,0x686f2404e77Ab0d9070a46cdfb0B7feCDD2318b0,18 -2062.0,WOOF-d0a3,WOOF,WoofWork.io,0x6BC08509B36A98E829dFfAD49Fde5e412645d0a3,18 -2063.0,USDD-b5c6,USDD,Decentralized USD,0x0C10bF8FcB7Bf5412187A595ab97a3609160b5c6,18 -2064.0,WSTRAX-A51B,WSTRAX,WrappedStrax,0xa3C22370de5f9544f0c4De126b1e46cEadF0A51B,18 -2065.0,MON-fc17,MON,Moneta,0x1EA48B9965bb5086F3b468E50ED93888a661fc17,18 -2066.0,MORE-85D0,MORE,More,0xbEEf3bB9dA340EbdF0f5bae2E85368140d7D85D0,18 -2067.0,PXP-314f,PXP, PointPay Crypto Banking Token V2 ,0x95aA5d2DbD3c16ee3fdea82D5C6EC3E38CE3314f,18 -2068.0,JPYC-7BDB,JPYC,JPY Coin,0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB,18 -2069.0,LUNA-Fa3d,LUNA,LUNA,0xbd31EA8212119f94A611FA969881CBa3EA06Fa3d,6 -2070.0,PEBBLE-a4A8,PEBBLE,Etherrock #72,0xDC98c5543F3004DEBfaad8966ec403093D0aa4A8,18 -2071.0,RUSH-9eC7,RUSH,Rush coin,0x382A1667C9062F0621362F49076Ef6e4fE4C9eC7,18 -2072.0,IGG-caeA,IGG,IG Gold,0x8FfE40A3D0f80C0CE6b203D5cDC1A6a86d9AcaeA,6 -2073.0,ORC-2F51,ORC,Orbit Chain,0x662b67d00A13FAf93254714DD601F5Ed49Ef2F51,18 -2074.0,QDT-2Ef3,QDT,QuadransToken,0x9Adc7710E9d1b29d8a78c04d52D32532297C2Ef3,18 -2075.0,HMX-3a88,HMX,Hermes,0xb012Be90957D70D9a070918027655F998C123a88,18 -2076.0,$HACHI-AAFf,$HACHI,HACHI,0x967B0c95295ead8fAef70d26A7846AeCD349AAFf,18 -2077.0,MAP-28e4,MAP,MAP Protocol,0x9E976F211daea0D652912AB99b0Dc21a7fD728e4,18 -2078.0,GRAIN-e58e,GRAIN,GRAIN Token,0x6589fe1271A0F29346796C6bAf0cdF619e25e58e,18 -2079.0,HPO-1a84,HPO,Hippopotamus,0xa0ED3C520dC0632657AD2EaaF19E26C4fD431a84,18 -2080.0,MTO-324F,MTO,Merchant Token,0xE66b3AA360bB78468c00Bebe163630269DB3324F,18 -2081.0,SWISE-2FA2,SWISE,StakeWise,0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2,18 -2082.0,ANFD-211b,ANFD,Angry Doge,0x4F14cDBd815B79E9624121f564f24685c6B1211b,18 -2083.0,DVF-1918,DVF,DeversiFi Token,0xDDdddd4301A082e62E84e43F474f044423921918,18 -2084.0,TIA-Ea26,TIA,Tia Token,0x824E35f7A75324f99300aFAC75ECF7354E17Ea26,9 -2085.0,MEMAG-7AF6,MEMAG,Meta Masters Guild,0x6E39A587691b8c9D4341cE0A960998ED6F537AF6,18 -2086.0,BASE-04e0,BASE,Maximus Base,0xe9f84d418B008888A992Ff8c6D22389C2C3504e0,8 -2087.0,EUROC-C33c,EUROC,Euro Coin,0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c,6 -2088.0,WMATIC-2D43,WMATIC,Wrapped Matic,0x7c9f4C87d911613Fe9ca58b579f737911AAD2D43,18 -2089.0,BZZ-F8Cb,BZZ,BZZ,0x19062190B1925b5b6689D7073fDfC8c2976EF8Cb,16 -2090.0,UwU-5257,UwU,UwU Lend,0x55C08ca52497e2f1534B59E2917BF524D4765257,18 -2091.0,WAIT-19F7,WAIT,Wait,0xb5588C411ba0bb7D38865fdC51D082d004e519F7,0 -2092.0,TCAP-aFa4,TCAP,TCAP Token,0x16c52CeeCE2ed57dAd87319D91B5e3637d50aFa4,18 -2093.0,vETH-21Ab,vETH,Voucher Ethereum,0xc3D088842DcF02C13699F936BB83DFBBc6f721Ab,18 -2094.0,BOBA-Efbc,BOBA,Boba Token,0x42bBFa2e77757C645eeaAd1655E0911a7553Efbc,18 -2095.0,ankrMATIC-480C,ankrMATIC,Ankr Staked MATIC,0x26dcFbFa8Bc267b250432c01C982Eaf81cC5480C,18 -2096.0,PRINTS-cb95,PRINTS,Fingerprints,0x4dd28568D05f09b02220b09C2cb307bFd837cb95,18 -2097.0,PYR-9682,PYR,PYR Token,0x430EF9263E76DAE63c84292C3409D61c598E9682,18 -2098.0,$MECHA-9Ef5,$MECHA,Mechanium,0xC5bcc8BA3F33Ab0d64f3473e861BDC0685b19Ef5,18 -2099.0,WAVAX-Eda3,WAVAX,Wrapped AVAX,0x85f138bfEE4ef8e540890CFb48F620571d67Eda3,18 -2100.0,CRI-3E4d,CRI,Crypto International,0x12E951934246186F50146235d541D3bD1D463E4d,18 -2101.0,SKEB-C810,SKEB,Skeb Coin,0x6D614686550B9E1c1DF4b2cD8f91C9D4df66C810,18 -2102.0,SPOT-bafE,SPOT,SPOT,0xC1f33e0cf7e40a67375007104B929E49a581bafE,9 -2103.0,ELAND-3205,ELAND,Etherland,0x33E07f5055173cF8FeBedE8B21B12D1e2b523205,18 -2104.0,dsETH-B3BE,dsETH,Diversified Staked ETH Index (dsETH),0x341c05c0E9b33C0E38d64de76516b2Ce970bB3BE,18 -2105.0,MAI-f609,MAI,MindsyncAI,0x75387e1287Dd85482aB66102DA9f6577E027f609,18 -2106.0,ZERO-5eCC,ZERO,ZeroLiquid,0xB0Ed33f79D89541dfdCb04A8f04Bc2c6be025eCC,18 -2107.0,NFTL-9638,NFTL,Nifty League,0x3c8D2FCE49906e11e71cB16Fa0fFeB2B16C29638,18 -2108.0,CNC-5cFC,CNC,Conic Finance Token,0x9aE380F0272E2162340a5bB646c354271c0F5cFC,18 -2109.0,DVI-9770,DVI,Dvision,0x10633216E7E8281e33c86F02Bf8e565a635D9770,18 -2110.0,icETH-6A84,icETH,Interest Compounding ETH Index,0x7C07F7aBe10CE8e33DC6C5aD68FE033085256A84,18 -2111.0,THX-4B31,THX,THX Network,0xe632ea2eF2CFD8Fc4a2731C76F99078Aef6a4B31,18 -2112.0,cvxFPIS-7Df6,cvxFPIS,Convex FPIS,0xa2847348b58CEd0cA58d23c7e9106A49f1427Df6,18 -2113.0,GRG-C964,GRG,Rigo Token,0x4FbB350052Bca5417566f188eB2EBCE5b19BC964,18 -2114.0,Nvir-6804,Nvir,NvirWorld,0x9d71CE49ab8A0E6D2a1e7BFB89374C9392FD6804,18 -2115.0,GFI-8D2b,GFI,Goldfinch,0xdab396cCF3d84Cf2D07C4454e10C8A6F5b008D2b,18 -2116.0,EASE-c61c,EASE,Ease Token,0xEa5eDef1287AfDF9Eb8A46f9773AbFc10820c61c,18 -2117.0,ASTRA-3E23,ASTRA,Astra DAO,0x7E9c15C43f0D6C4a12E6bdfF7c7D55D0f80e3E23,18 -2118.0,CITIZEN-A8Ea,CITIZEN,KONG Land Alpha Citizenship,0x77F0cc420dEa0aE726Db6Bef1460A4B69176A8Ea,18 -2119.0,GODS-FD97,GODS,Gods Unchained,0xccC8cb5229B0ac8069C51fd58367Fd1e622aFD97,18 -2120.0,rETH2-86c5,rETH2,StakeWise Reward ETH2,0x20BC832ca081b91433ff6c17f85701B6e92486c5,18 -2121.0,GDC-aF31,GDC,Global Digital Content,0x301C755bA0fcA00B1923768Fffb3Df7f4E63aF31,18 -2122.0,LOVE-A27C,LOVE,UkraineDAO Flag NFT,0x5380442d3C4EC4f5777f551f5EDD2FA0F691A27C,18 -2123.0,LAKE-C400,LAKE,Data Lake Token,0xF9Ca9523E5b5A42C3018C62B084Db8543478C400,18 -2124.0,OUSD-5e86,OUSD,Origin Dollar,0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86,18 -2125.0,KXA-Cd89,KXA,Kryxivia Coin,0x2223bF1D7c19EF7C06DAB88938EC7B85952cCd89,18 -2126.0,FPI-E08E,FPI,Frax Price Index,0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E,18 -2127.0,MEGA-B10E,MEGA,MegaWorld $MEGA Token,0x1892F6ff5FBE11c31158F8c6f6F6e33106c5B10E,18 -2128.0,PENDLE-a827,PENDLE,Pendle,0x808507121B80c02388fAd14726482e061B8da827,18 -2129.0,FOLD-5921,FOLD,Manifold Finance,0xd084944d3c05CD115C09d072B9F44bA3E0E45921,18 -2130.0,WALLET-94Ae,WALLET,Ambire Wallet,0x88800092fF476844f74dC2FC427974BBee2794Ae,18 -2131.0,rETH-3593,rETH,StaFi,0x9559Aaa82d9649C7A7b220E7c461d2E74c9a3593,18 -2132.0,ALLUO-0B09,ALLUO,Alluo Token,0x1E5193ccC53f25638Aa22a940af899B692e10B09,18 -2133.0,BRIGHT-0DfE,BRIGHT,Bright,0x5dD57Da40e6866C9FcC34F4b6DDC89F1BA740DfE,18 -2134.0,GPOOL-A09d,GPOOL,Genesis Pool,0x797de1Dc0b9fAf5E25c1f7Efe8dF9599138fA09d,18 -2135.0,BOO-Fa58,BOO,SpookyToken,0x55aF5865807b196bD0197e0902746F31FBcCFa58,18 -2136.0,OHM-a899,OHM,Olympus,0x383518188C0C6d7730D91b2c03a03C837814a899,9 -2137.0,XAI-bEAc,XAI,XAI Stablecoin,0xd7C9F0e536dC865Ae858b0C0453Fe76D13c3bEAc,18 -2138.0,MTRM-7581,MTRM,Materium,0xcd17fA52528f37FACB3028688E62ec82d9417581,0 -2139.0,SUMMER-CA5c,SUMMER,Summer Token,0x4D4f3715050571A447FfFa2Cd4Cf091C7014CA5c,18 -2140.0,AUTUMN-3a99,AUTUMN,Autumn Token,0x4c3bAe16c79c30eEB1004Fb03C878d89695e3a99,18 -2141.0,JUSTICE-90B5,JUSTICE,AssangeDAO,0x59d1e836F7b7210A978b25a855085cc46fd090B5,18 -2142.0,RTH-8bC8,RTH,Rotharium,0x3FD8f39A962eFDA04956981C31AB89FAB5FB8bC8,18 -2143.0,DEO-cf8e,DEO,Demeter,0x5E7F20e72C21f6D0Bf0A2814FD4164176401cf8e,18 -2144.0,GIV-0DA0,GIV,Giveth,0x900dB999074d9277c5DA2A43F252D74366230DA0,18 -2145.0,OM-c95d,OM,MANTRA DAO,0x3593D125a4f7849a1B059E64F4517A86Dd60c95d,18 -2146.0,CTSI-6B5D,CTSI,Cartesi Token,0x491604c0FDF08347Dd1fa4Ee062a822A5DD06B5D,18 -2147.0,KCS-8811,KCS,KuCoin Token,0xf34960d9d60be18cC1D5Afc1A6F012A723a28811,6 -2148.0,PDT-9893,PDT,Paragons DAO Token,0x375aBB85C329753b1Ba849a601438AE77eEc9893,18 -2149.0,PAW-5136,PAW,PAWZONE,0x1AA51bc7eb181ce48CE626Bf62f8956Fa9555136,18 -2150.0,CQT-6240,CQT,Covalent Query Token,0xD417144312DbF50465b1C641d016962017Ef6240,18 -2151.0,COW-97aB,COW,CoW Protocol Token,0xDEf1CA1fb7FBcDC777520aa7f396b4E015F497aB,18 -2152.0,SOUL-f07F,SOUL,Phantasma Stake,0x75858677e27C930FB622759FeafFeE2b754Af07F,8 -2153.0,WSTR-12B1,WSTR,WrappedStar,0xF0dC76C22139ab22618dDFb498BE1283254612B1,18 -2154.0,X8X-fa4c,X8X,X8XToken,0x910Dfc18D6EA3D6a7124A6F8B5458F281060fa4c,18 -2155.0,PSTAKE-7006,PSTAKE,pSTAKE Finance,0xfB5c6815cA3AC72Ce9F5006869AE67f18bF77006,18 -2156.0,GEL-EA05,GEL,Gelato Network Token,0x15b7c0c907e4C6b9AdaAaabC300C08991D6CEA05,18 -2157.0,SHI-AD5a,SHI,Shina Inu,0x243cACb4D5fF6814AD668C3e225246efA886AD5a,18 -2158.0,NABOX-77Fb,NABOX,Nabox Token,0x03D1E72765545729A035e909eDd9371a405f77Fb,18 -2159.0,TOWN-Ab7F,TOWN,TownCoin,0x3Dd98C8A089dBCFF7e8FC8d4f532BD493501Ab7F,8 -2160.0,3Crv-E490,3Crv,Curve.fi DAI/USDC/USDT,0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490,18 -2161.0,SSV-7f54,SSV,SSV Token,0x9D65fF81a3c488d585bBfb0Bfe3c7707c7917f54,18 -2162.0,BKR-58Fd,BKR,Balkari Token,0x77271813bd9167e75B5DF9c230cf58d64f0A58Fd,18 -2163.0,FX-5057,FX,Function X,0x8c15Ef5b4B21951d50E53E4fbdA8298FFAD25057,18 -2164.0,KAPPA-BeF4,KAPPA,Kappa Token,0x5D2C6545d16e3f927a25b4567E39e2cf5076BeF4,18 -2165.0,FLOOR-455e,FLOOR,Floor,0xf59257E961883636290411c11ec5Ae622d19455e,9 -2166.0,GPT-47F8,GPT,CryptoGPT Token,0xD04E772BC0d591fBD288f2E2a86aFA3D3CB647F8,18 -2167.0,LSETH-d048,LSETH,Liquid Staked ETH,0x628eBC64A38269E031AFBDd3C5BA857483B5d048,18 -2168.0,LEAN-99F8,LEAN,Lean Management Token,0xFb83869f7EE52AEBadDEA254F647953AfB1F99F8,18 -2169.0,MYC-F5Ba,MYC,Mycelium,0x4b13006980aCB09645131b91D259eaA111eaF5Ba,18 -2170.0,TCR-F050,TCR,Tracer,0x9C4A4204B79dd291D6b6571C5BE8BbcD0622F050,18 -2171.0,SOLID-0990,SOLID,Solidly,0x777172D858dC1599914a1C4c6c9fC48c99a60990,18 -2172.0,AXS-B28b,AXS,Axie Infinity Shard,0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b,18 -2173.0,NFTI-4a81,NFTI,Scalara NFT Index,0x525eF76138Bf76118d786DbedeaE5F87aaBf4a81,18 -2174.0,CRETH2-dB64,CRETH2,Cream ETH Token,0x49D72e3973900A195A155a46441F0C08179FdB64,18 -2175.0,NATION-2069,NATION,Nation3,0x333A4823466879eeF910A04D473505da62142069,18 -2176.0,WINTER-845f,WINTER,Winter Token,0xCcbA0b2bc4BAbe4cbFb6bD2f1Edc2A9e86b7845f,18 -2177.0,wMEMO-af57,wMEMO,Wrapped MEMO,0x3b79a28264fC52c7b4CEA90558AA0B162f7Faf57,18 -2178.0,WGRLC-5BE9,WGRLC,Wrapped GRLC,0x58f7345b5295E43aA454911571f13be186655BE9,8 -2179.0,LM-bec9,LM,LeisureMeta,0x7BEC98609cB6378D6F995e8f8097Ee78376fbec9,18 -2180.0,GMT-1989,GMT,GoMining Token,0x7Ddc52c4De30e94Be3A6A0A2b259b2850f421989,18 -2181.0,UDT-1517,UDT,Unlock Discount Token,0x90DE74265a416e1393A450752175AED98fe11517,18 -2182.0,SOS-aEe0,SOS,SOS,0x3b484b82567a09e2588A13D54D032153f0c0aEe0,18 -2183.0,SBECOM-0A28,SBECOM,SheBollETH Commerce,0x888E88E71378133b7ADa5A90c08Bc97D772A0A28,18 -2184.0,GBPT-bA98,GBPT,poundtoken,0x86B4dBE5D203e634a12364C0e428fa242A3FbA98,18 -2185.0,TOS-8153,TOS,TONStarter,0x409c4D8cd5d2924b9bc5509230d16a61289c8153,18 -2186.0,POW-9258,POW,POW,0x43Ab765ee05075d78AD8aa79dcb1978CA3079258,18 -2187.0,CODE-8f11,CODE,Developer DAO,0xb24cd494faE4C180A89975F1328Eab2a7D5d8f11,18 -2188.0,SWTH-20bB,SWTH,Switcheo Token,0xB4371dA53140417CBb3362055374B10D97e420bB,8 -2189.0,NFTX-f776,NFTX,NFTX,0x87d73E916D7057945c9BcD8cdd94e42A6F47f776,18 -2190.0,WOOFY-57f1,WOOFY,Woofy,0xD0660cD418a64a1d44E9214ad8e459324D8157f1,12 -2191.0,UWL-8Df5,UWL,UniWhales.io,0xdbDD6F355A37b94e6C7D32fef548e98A280B8Df5,18 -2192.0,WPC-6746,WPC,WePiggy Coin,0x6F620EC89B8479e97A6985792d0c64F237566746,18 -2193.0,WAR-1543,WAR,Wrapped AR,0x4FaDC7A98f2Dc96510e42dD1A74141eEae0C1543,12 -2194.0,IPISTR-348e,IPISTR,IPI Shorter,0x888888888888f195E27A2E0F98D712952aB9348e,18 -2195.0,LED-BF6D,LED,LedgerScore,0x72De803b67B6AB05B61EFab2Efdcd414D16eBF6D,18 -2196.0,KRX-7922,KRX,KRYZA Exchange,0x93ad9b819C88D98B4c9641470A96E24769Ae7922,9 -2197.0,CNFI-2Ae9,CNFI,Connect Financial,0xEABB8996eA1662cAd2f7fB715127852cd3262Ae9,18 -2198.0,DAM-86Df,DAM,Datamine,0xF80D589b3Dbe130c270a69F1a69D050f268786Df,18 -2199.0,KCT-A27E,KCT,Konnect,0x4c601dc69AfFb0D4Fc8dE1Ac303705e432A4A27E,18 -2200.0,PAL-f4BF,PAL,Paladin Token,0xAB846Fb6C81370327e784Ae7CbB6d6a6af6Ff4BF,18 -2201.0,DAR-62a3,DAR,Dalarnia,0x081131434f93063751813C619Ecca9C4dC7862a3,6 -2202.0,GAL-9875,GAL,Project Galaxy,0x5fAa989Af96Af85384b8a938c2EdE4A7378D9875,18 -2203.0,GMM-c279,GMM,Gamium [via ChainPort.io],0x4B19C70Da4c6fA4bAa0660825e889d2F7eaBc279,18 -2204.0,FORT-Ec29,FORT,Forta,0x41545f8b9472D758bB669ed8EaEEEcD7a9C4Ec29,18 -2205.0,GOG-9c62,GOG,Guild of Guardians,0x9AB7bb7FdC60f4357ECFef43986818A2A3569c62,18 -2206.0,ALIS-4fAB,ALIS,AlisToken,0xEA610B1153477720748DC13ED378003941d84fAB,18 -2207.0,GBYTE-cc2a,GBYTE,Imported GBYTE,0x31F69dE127C8A0fF10819C0955490a4Ae46fcc2a,18 -2208.0,XOLO-B252,XOLO,Xoloitzcuintli,0x3252d4221f92b7Af3774Da8312F01600eC84B252,18 -2209.0,GEM-F806,GEM,NFTmall GEM Token,0x9b17bAADf0f21F03e35249e0e59723F34994F806,18 -2210.0,QUA-88B7,QUA,Quarashi,0xd35c06a2781f648c75290976ecF71E71582188B7,18 -2211.0,BXR-D695,BXR,Blockster,0x97A3BD8a445cC187c6A751F392e15C3B2134D695,18 -2212.0,$PAPER-9397,$PAPER,PaperToken,0x21018CBC9ad730542130bE180b577b74DB2a9397,18 -2213.0,KRAUSE-603b,KRAUSE,KRAUSE,0x9F6F91078A5072A8B54695DAfA2374Ab3cCd603b,18 -2214.0,PLOT-66Bb,PLOT,PLOT,0x72F020f8f3E8fd9382705723Cd26380f8D0c66Bb,18 -2215.0,INXT-16D4,INXT,Internxt,0x4A8f5F96D5436e43112c2fBC6a9f70DA9e4E16D4,8 -2216.0,WACME-1170,WACME,Wrapped ACME,0xDF4Ef6EE483953fE3B84ABd08C6A060445c01170,8 -2217.0,JPEG-45a3,JPEG,JPEG’d Governance Token,0xE80C0cd204D654CEbe8dd64A4857cAb6Be8345a3,18 -2218.0,PLQ-BB7B,PLQ,PlanQ,0xd23Ed8cA350CE2631F7EcDC5E6bf80D0A1DeBB7B,18 -2219.0,MDT-7d26,MDT,Measurable Data Token,0x814e0908b12A99FeCf5BC101bB5d0b8B5cDf7d26,18 -2220.0,ILV-ca0E,ILV,Illuvium,0x767FE9EDC9E0dF98E07454847909b5E959D7ca0E,18 -2221.0,KNIGHT-16bC,KNIGHT,CitaDAO,0x3541A5C1b04AdABA0B83F161747815cd7B1516bC,18 -2222.0,USDS-2eBe,USDS,StableUSD,0xA4Bdb11dc0a2bEC88d24A3aa1E6Bb17201112eBe,6 -2223.0,PET-5C5F,PET,Pet Token,0xB870679a7Fa65b924026F496De7f27c1DD0e5C5F,18 -2224.0,CSX-9C8c,CSX,Coinstox Token,0x3aadc3BCe49724ce299fD9F3850211211c399C8c,18 -2225.0,BOOP-3Ce1,BOOP,Boop,0x8013266cb5c9dd48bE3Ad7D1CE832874d64B3Ce1,18 -2226.0,MNTL-3295,MNTL,AssetMantle,0x2C4F1DF9c7DE0C59778936C9b145fF56813F3295,6 -2227.0,KCAL-79F9,KCAL,Phantasma Energy,0x47C1178F49140ECdBfbdF0aE2935cDB640D579F9,10 -2228.0,EXD-6560,EXD,Exorde Network Token,0x02dE007D412266a2e0Fa9287C103474170F06560,18 -2229.0,BENT-C375,BENT,Bent Token,0x01597E397605Bf280674Bf292623460b4204C375,18 -2230.0,LUCHOW-7C57,LUCHOW,LunaChow,0xA5Ef74068d04ba0809B7379dD76Af5Ce34Ab7C57,18 -2231.0,JBX-6f66,JBX,Juicebox,0x3abF2A4f8452cCC2CF7b4C1e4663147600646f66,18 -2232.0,anonUSD-1eFd,anonUSD,anonUSD,0x5a7E6C8204A1359DB9AAcab7bA5Fc309B7981eFd,18 -2233.0,AGOV-280c,AGOV,Answer Governance,0xd1420AF453Fd7bf940573431D416cAcE7fF8280c,18 -2234.0,MOVE-324C,MOVE,Mover,0x3FA729B4548beCBAd4EaB6EF18413470e6D5324C,18 -2235.0,BTC2x-FLI-1c2b,BTC2x-FLI,BTC 2x Flexible Leverage Index,0x0B498ff89709d3838a063f1dFA463091F9801c2b,18 -2236.0,LIT-783b,LIT,LIT,0xC5b3D3231001a776123194Cf1290068e8b0C783b,18 -2237.0,cV-5683,cV,cVToken,0x50bC2Ecc0bfDf5666640048038C1ABA7B7525683,18 -2238.0,SPRING-d4FE,SPRING,Spring Token,0xf04aF3f4E4929F7CD25A751E6149A3318373d4FE,18 -2239.0,MOONEY-1395,MOONEY,MOONEY,0x20d4DB1946859E2Adb0e5ACC2eac58047aD41395,18 -2240.0,SBLX-5F80,SBLX,SocialBlox,0xf6af18F94d55B8888B557cb3da0Ec623BA245F80,18 -2241.0,CHO-3099,CHO,choise.com Token,0xBBa39Fd2935d5769116ce38d46a71bde9cf03099,18 -2242.0,MNE-d0E0,MNE,Minereum,0x426CA1eA2406c07d75Db9585F22781c096e3d0E0,8 -2243.0,MILADY-EB48,MILADY,Milady Maker,0x227c7DF69D3ed1ae7574A1a7685fDEd90292EB48,18 -2244.0,bLUSD-79C3,bLUSD,bLUSD,0xB9D7DdDca9a4AC480991865EfEf82E01273F79C3,18 -2245.0,ARTIC-731e,ARTIC,ARTIC,0xE83D5FB2c60B3A2597452e248CF7b2f52a7E731e,18 -2246.0,PHONON-03Ec,PHONON,Phonon DAO,0x758B4684BE769E92eeFeA93f60DDA0181eA303Ec,18 -2247.0,NEC-7A5e,NEC,Ethfinex Nectar Token,0xCc80C051057B774cD75067Dc48f8987C4Eb97A5e,18 -2248.0,UNIDX-D96C,UNIDX,UniDex,0x95b3497bBcCcc46a8F45F5Cf54b0878b39f8D96C,18 -2249.0,SURE-416E,SURE,inSure,0xcb86c6A22CB56B6cf40CaFEDb06BA0DF188a416E,18 -2250.0,BOLLY-ea99,BOLLY,Bollycoin,0x6bd361e10c1afed0d95259e7C0115f3A60e4ea99,18 -2251.0,IMPT-1f85,IMPT,IMPT,0x04C17b9D3b29A78F7Bd062a57CF44FC633e71f85,18 -2252.0,AIOZ-BF18,AIOZ,AIOZ Network,0x626E8036dEB333b408Be468F951bdB42433cBF18,18 -2253.0,FF-94CD,FF,Forefront,0x7E9D8f07A64e363e97A648904a89fb4cd5fB94CD,18 -2254.0,TSCT-5035,TSCT,Transient,0x805EA9c07B49dd23cE11ec66dC6d8a2957385035,18 -2255.0,CPOOL-FaC5,CPOOL,Clearpool,0x66761Fa41377003622aEE3c7675Fc7b5c1C2FaC5,18 -2256.0,CDT-85Cc,CDT,CheckDot,0xCdB37A4fBC2Da5b78aA4E41a432792f9533e85Cc,18 -2257.0,$MNB-A366,$MNB,Mineable,0x42b91f1d05afeA671a2dA3c780eDa2aBf0A2A366,18 -2258.0,TAIL-77c4,TAIL,Tail Finance,0x4384b85FE228AE727B129230211194E4A50877c4,9 -2259.0,BED-7dc6,BED,Bankless BED Index,0x2aF1dF3AB0ab157e1E2Ad8F88A7D04fbea0c7dc6,18 -2260.0,HFT-cADC,HFT,Hashflow,0xb3999F658C0391d94A37f7FF328F3feC942BcADC,18 -2261.0,PUNDIX-0C38,PUNDIX,Pundi X Token,0x0FD10b9899882a6f2fcb5c371E17e70FdEe00C38,18 -2262.0,MVDG-9750,MVDG,Metaverse Dog,0x2eE543b8866F46cC3dC93224C6742a8911a59750,18 -2263.0,ANT-5A2e,ANT,Aragon Network Token,0xa117000000f279D81A1D3cc75430fAA017FA5A2e,18 -2264.0,BTU-cc9f,BTU,BTU Protocol,0xb683D83a532e2Cb7DFa5275eED3698436371cc9f,18 -2265.0,PANDA-00DC,PANDA,PandaDAO,0x3cBb7f5d7499Af626026E96a2f05df806F2200DC,18 -2266.0,BLOOD-B50c,BLOOD,Blood,0x95392f142Af1c12F6e39897Ff9B09c599666B50c,18 -2267.0,BAM-4AaB,BAM,Bambi,0x9DB0FB0Aebe6A925B7838D16e3993A3976A64AaB,18 -2268.0,ETH2x_FLI-65BD,ETH2x_FLI,ETH 2x Flexible Leverage Index,0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD,18 -2269.0,UNIBOT-5040,UNIBOT,Unibot,0x25127685dC35d4dc96C7fEAC7370749d004C5040,18 -2270.0,LHINU-038d,LHINU,Love Hate Inu,0xCeDefE438860D2789dA6419b3a19cEcE2A41038d,18 -2271.0,RIBBIT-5fFe,RIBBIT,Ribbit,0xb794Ad95317f75c44090f64955954C3849315fFe,18 -2272.0,TURBO-20D3,TURBO,Turbo,0xA35923162C49cF95e6BF26623385eb431ad920D3,18 -2273.0,SFOX-76d5,SFOX,StonedFox,0xdfba8e8fFCc348B006e893e78De233B8597076d5,18 -2274.0,wjAURA-Cd1F,wjAURA,Wrapped Jones AURA,0x198d7387Fa97A73F05b8578CdEFf8F2A1f34Cd1F,18 -2275.0,BEE-307c,BEE,Babylon Bee,0x4C4F2B9DEB3c91006719Bb3232DD4eb39977307c,18 -2276.0,BIAO-5D8a,BIAO,Biaocoin,0x00282FD551D03dC033256C4bf119532e8C735D8a,2 -2277.0,TUCKER-A84f,TUCKER,Tucker Carlson,0x6f49694827d46A14Baf2a7b1eAC3e6eB3526A84f,9 -2276.0,Auction-9096,Auction,Auction,0xA9B1Eb5908CfC3cdf91F9B8B3a74108598009096,18 -2277.0,ANGLE-14c2,ANGLE,ANGLE,0x31429d1856aD1377A8A0079410B297e1a9e214c2,18 -2278.0,WXRP-e1B9,WXRP,WXRP,0x39fBBABf11738317a448031930706cd3e612e1B9,18 -2279.0,WIZARD-D8Fb,WIZARD,WIZARD,0x87931E7AD81914e7898d07c68F145fC0A553D8Fb,18 -2280.0,USH-EC48,USH,USH,0xE60779CC1b2c1d0580611c526a8DF0E3f870EC48,18 -2281.0,GENE-D67E,GENE,GENE,0x21413c119b0C11C5d96aE1bD328917bC5C8ED67E,18 -2282.0,SDL-8C23,SDL,SDL,0xA95C5ebB86E0dE73B4fB8c47A45B792CFeA28C23,18 -2283.0,AURA-16bE,AURA,AURA,0x6047e101aaa9Ab9b02fe5Cbc1DD03c2C7C8516bE,18 -2284.0,RAD-06FB,RAD,RAD,0xdDc6625FEcA10438857DD8660C021Cd1088806FB,18 -2285.0,OXO-09fc,OXO,OXO,0x47daC6BD80f024575a6d367aF5Ba8e89202A09fc,18 -2286.0,OETH-8dC3,OETH,OETH,0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3,18 -2287.0,FUMO-5aa6,FUMO,FUMO,0x2890dF158D76E584877a1D17A85FEA3aeeB85aa6,18 -2288.0,BITCOIN-EEa9,BITCOIN,BITCOIN,0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9,8 -2289.0,PEPE2.0-62AD,PEPE2.0,PEPE2.0,0xfb66321D7C674995dFcC2cb67A30bC978dc862AD,18 -2290.0,PEPE3.0-5398,PEPE3.0,PEPE3.0,0x0e92C90867bF82ebbE66ae0352a4C6D876Fb5398,18 -2291.0,RLB-3f3d,RLB,RLB,0x046EeE2cc3188071C02BfC1745A6b17c656e3f3d,18 -2292.0,RLB-3f3d,RLB,RLB,0x046EeE2cc3188071C02BfC1745A6b17c656e3f3d,18 -2293.0,eUSD-A371,eUSD,eUSD,0x97de57eC338AB5d51557DA3434828C5DbFaDA371,18 -2294.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 -2295.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 -2296.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 -2297.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 -2298.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 -2299.0,pETH-78c7,pETH,pETH,0x836A808d4828586A69364065A1e064609F5078c7,18 -2300.0,DXN-cB6F,DXN,DXN,0x80f0C1c49891dcFDD40b6e0F960F84E6042bcB6F,18 -2301.0,swETH-Ed78,swETH,swETH,0xf951E335afb289353dc249e82926178EaC7DEd78,18 -2302.0,swETH-Ed78,swETH,swETH,0xf951E335afb289353dc249e82926178EaC7DEd78,18 -2303.0,PSYOP-53D3,PSYOP,PSYOP,0x3007083EAA95497cD6B2b809fB97B6A30bdF53D3,18 -2304.0,FROGDOG-e16C,FROGDOG,FROGDOG,0x3cda61B56278842876e7fDD56123d83DBAFAe16C,18 -2305.0,BAZED-8F4a,BAZED,BAZED,0x3eE4B152824b657644c7A9B50694787e80EB8F4a,18 -2306.0,SHIBIE-a98F,SHIBIE,SHIBIE,0x4965b3b90f3a63Fc72F74e53322f66b2a174a98F,18 -2307.0,SHIBIE-a98F,SHIBIE,SHIBIE,0x4965b3b90f3a63Fc72F74e53322f66b2a174a98F,18 -2308.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 -2309.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 -2310.0,RVT-2244,RVT,RVT,0x3d1BA9be9f66B8ee101911bC36D3fB562eaC2244,18 -2311.0,Homer Pepe-ea3c,Homer Pepe,Homer Pepe,0x86803e2012CBA1Ca09d87393f5C739FA9E58ea3c,9 -2312.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 -2313.0,CBot-a71C,CBot,CBot,0xf49311af05a4Ffb1dbf33d61e9b2d4f0a7d4a71C,9 -2314.0,CBot-a71C,CBot,CBot,0xf49311af05a4Ffb1dbf33d61e9b2d4f0a7d4a71C,9 -2315.0,GUISE-AFb8,GUISE,GUISE,0x7721A4cb6190EDB11d47f51C20968436ECcDAFb8,18 -2316.0,HODL-FecE,HODL,HODL,0x7b5FD0BB4154292173807aE6ae05153787e3FecE,18 -2317.0,HVH-0E0E,HVH,HVH,0xd076C4Ba62c57b3Fa10800bcfD8dA66742110E0E,18 -2318.0,GUISE-AFb8,GUISE,GUISE,0x7721A4cb6190EDB11d47f51C20968436ECcDAFb8,18 -2319.0,LBR-1ebd,LBR,LBR,0xed1167b6Dc64E8a366DB86F2E952A482D0981ebd,18 -2320.0,BITCOIN-EEa9,BITCOIN,BITCOIN,0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9,8 -2321.0,FGATE-2E92,FGATE,FGATE,0x97808Df7Afb14134d37a91576bDb8b95dFCD2E92,18 -2322.0,CAL-36E1,CAL,CAL,0x20561172f791f915323241E885b4f7D5187c36E1,18 -2323.0,CAL-36E1,CAL,CAL,0x20561172f791f915323241E885b4f7D5187c36E1,18 -2324.0,DORKL-aCf3,DORKL,DORKL,0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3,18 -2325.0,DORKL-aCf3,DORKL,DORKL,0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3,18 -2326.0,DORKL-aCf3,DORKL,DORKL,0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3,18 -2327.0,WAGMI-3a67,WAGMI,WAGMI,0x92CC36D66e9d739D50673d1f27929a371FB83a67,18 -2328.0,USDB-f060,USDB,USDB,0x309627af60F0926daa6041B8279484312f2bf060,18 -2329.0,PB-03Dc,PB,PB,0x996Ca7e71C37D70132889e29d17d2e44427A03Dc,18 +1.0,OCTO-2BA3,OCTO,OCTO,0x7240aC91f01233BaAf8b064248E80feaA5912BA3,18.0 +2.0,USDC-eB48,USDC,USDC,0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48,6.0 +3.0,ECO-5727,ECO,ECO,0x8dBF9A4c99580fC7Fd4024ee08f3994420035727,18.0 +4.0,WBTC-C599,WBTC,WBTC,0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599,8.0 +5.0,DIGG-01C3,DIGG,DIGG,0x798D1bE841a82a273720CE31c822C61a67a601C3,9.0 +6.0,SPIRAL-1C3c,SPIRAL,SPIRAL,0x01792e1548Dc317bDE6123fe92da1Fe6d7311C3c,9.0 +7.0,DYP-ef17,DYP,DYP,0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17,18.0 +8.0,FTG-7659,FTG,FTG,0x3A4CaB3DcfaB144FE7eB2B5a3e288Cc03dC07659,18.0 +9.0,USDT-1ec7,USDT,USDT,0xdAC17F958D2ee523a2206206994597C13D831ec7,6.0 +10.0,ORE-782A,ORE,ORE,0x4f640F2529ee0cF119A2881485845FA8e61A782A,18.0 +11.0,CWEB-Bf04,CWEB,CWEB,0x505B5eDa5E25a67E1c24A2BF1a527Ed9eb88Bf04,18.0 +12.0,BigSB-b6F6,BigSB,BigSB,0x131157c6760f78f7dDF877C0019Eba175BA4b6F6,18.0 +13.0,FRAX-b99e,FRAX,FRAX,0x853d955aCEf822Db058eb8505911ED77F175b99e,18.0 +14.0,USDx-23E3,USDx,USDx,0x2F6081E3552b1c86cE4479B80062A1ddA8EF23E3,9.0 +15.0,RFOX-8262,RFOX,RFOX,0xa1d6Df714F91DeBF4e0802A542E13067f31b8262,18.0 +16.0,DAI-1d0F,DAI,DAI,0x6B175474E89094C44Da98b954EedeAC495271d0F,18.0 +17.0,IDLE-D39e,IDLE,IDLE,0x875773784Af8135eA0ef43b5a374AaD105c5D39e,18.0 +18.0,HAI-9a63,HAI,HAI,0x05Fb86775Fd5c16290f1E838F5caaa7342bD9a63,8.0 +19.0,PULSE-97cE,PULSE,PULSE,0x52A047Ee205701895Ee06A375492490EC9C597cE,18.0 +20.0,GUILD-475A,GUILD,GUILD,0x83E9F223e1edb3486F876EE888d76bFba26c475A,18.0 +21.0,SPDR-0Fdd,SPDR,SPDR,0xbcD4b7dE6fde81025f74426D43165a5b0D790Fdd,18.0 +22.0,SNP-FA9d,SNP,SNP,0x6911F552842236bd9E8ea8DDBB3fb414e2C5FA9d,18.0 +23.0,OCC-7207,OCC,OCC,0x2F109021aFe75B949429fe30523Ee7C0D5B27207,18.0 +24.0,DAWN-9aFa,DAWN,DAWN,0x580c8520dEDA0a441522AEAe0f9F7A5f29629aFa,18.0 +25.0,Shird-695f,Shird,Shird,0x8916187112fd6e3624a80C42FA354Cd9756E695f,9.0 +26.0,PEAK-Ad78,PEAK,PEAK,0x630d98424eFe0Ea27fB1b3Ab7741907DFFEaAd78,8.0 +27.0,HGET-5148,HGET,HGET,0x7968bc6a03017eA2de509AAA816F163Db0f35148,6.0 +28.0,bluSGD-db22,bluSGD,bluSGD,0x92830ef7c8d651Ed3A708053c602E807bAd7db22,18.0 +29.0,ZRX-F498,ZRX,ZRX,0xE41d2489571d322189246DaFA5ebDe1F4699F498,18.0 +30.0,NineFi-2f1d,NineFi,NineFi,0xe78BFF28D3c5195C752E734E95421bb4bd742f1d,18.0 +31.0,RBIS-9D7D,RBIS,RBIS,0xf34B1Db61ACa1a371fE97BAd2606c9f534fb9D7D,18.0 +32.0,WFAIR-8972,WFAIR,WFAIR,0xC6065B9fc8171Ad3D29bad510709249681758972,18.0 +33.0,SST-9868,SST,SST,0x2863916C6ebDBBf0c6f02F87b7eB478509299868,18.0 +34.0,UNI-F984,UNI,UNI,0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984,18.0 +35.0,DSD-66e3,DSD,DSD,0xBD2F0Cd039E0BFcf88901C98c0bFAc5ab27566e3,18.0 +36.0,NKN-c9eb,NKN,NKN,0x5Cf04716BA20127F1E2297AdDCf4B5035000c9eb,18.0 +37.0,PLR-9C17,PLR,PLR,0xe3818504c1B32bF1557b16C238B2E01Fd3149C17,18.0 +38.0,UNKAI-B73D,UNKAI,UNKAI,0x8a34D707189fBFa46930ABFDe3D22abDC48AB73D,9.0 +39.0,DPR-07a1,DPR,DPR,0xf3AE5d769e153Ef72b4e3591aC004E89F48107a1,18.0 +40.0,DOGZ-33eF,DOGZ,DOGZ,0x82A77710495A35549D2aDD797412b4a4497D33eF,18.0 +41.0,ALD-2a8D,ALD,ALD,0xb26C4B3Ca601136Daf98593feAeff9E0CA702a8D,18.0 +42.0,ONIGIRI-30D0,ONIGIRI,ONIGIRI,0xcf9c692F7e62Af3c571D4173fd4ABf9A3E5330D0,18.0 +43.0,EYE-1c65,EYE,EYE,0x155ff1A85F440EE0A382eA949f24CE4E0b751c65,18.0 +44.0,XPR-A2af,XPR,XPR,0xD7EFB00d12C2c13131FD319336Fdf952525dA2af,4.0 +45.0,MARK-4253,MARK,MARK,0x67c597624B17b16fb77959217360B7cD18284253,9.0 +46.0,TANGO-3Bef,TANGO,TANGO,0x182F4c4C97cd1c24E1Df8FC4c053E5C47bf53Bef,18.0 +47.0,GENI-6a39,GENI,GENI,0xAAC1abdb4fB7a91a0e2E036dFacC45F708ed6a39,18.0 +48.0,GMEE-2373,GMEE,GMEE,0xD9016A907Dc0ECfA3ca425ab20B6b785B42F2373,18.0 +49.0,MFI-355B,MFI,MFI,0xAa4e3edb11AFa93c41db59842b29de64b72E355B,18.0 +50.0,KOL-d414,KOL,KOL,0x1CC30e2EAc975416060Ec6FE682041408420d414,18.0 +51.0,CE-EecE,CE,CE,0x8F12Dfc7981DE79A8A34070a732471f2D335EecE,18.0 +52.0,ACR-E3CF,ACR,ACR,0x76306F029f8F99EFFE509534037Ba7030999E3CF,18.0 +53.0,DLTA-D823,DLTA,DLTA,0x0000000DE40dfa9B17854cBC7869D80f9F98D823,18.0 +54.0,HEX-eb39,HEX,HEX,0x2b591e99afE9f32eAA6214f7B7629768c40Eeb39,8.0 +55.0,VPAD-4EDc,VPAD,VPAD,0x51FE2E572e97BFEB1D719809d743Ec2675924EDc,18.0 +56.0,BASv2-5287,BASv2,BASv2,0x106538CC16F938776c7c180186975BCA23875287,18.0 +57.0,FLy-1472,FLy,FLy,0x85f6eB2BD5a062f5F8560BE93FB7147e16c81472,4.0 +58.0,XIO-5704,XIO,XIO,0x0f7F961648aE6Db43C75663aC7E5414Eb79b5704,18.0 +59.0,PLUG-976a,PLUG,PLUG,0x47DA5456bC2e1ce391b645Ce80F2E97192e4976a,18.0 +60.0,NOW-693b,NOW,NOW,0xE9A95d175a5f4C9369f3b74222402eB1b837693b,8.0 +61.0,RCN-75A6,RCN,RCN,0xF970b8E36e23F7fC3FD752EeA86f8Be8D83375A6,18.0 +62.0,VIS-E863,VIS,VIS,0x469084939d1c20Fae3C73704FE963941C51bE863,18.0 +63.0,KAP-8569,KAP,KAP,0x9625cE7753ace1fa1865A47aAe2c5C2Ce4418569,18.0 +64.0,SLICE-16D1,SLICE,SLICE,0x0AeE8703D34DD9aE107386d3eFF22AE75Dd616D1,18.0 +65.0,CSM-8861,CSM,CSM,0x2620638EDA99F9e7E902Ea24a285456EE9438861,18.0 +66.0,GRO-74D7,GRO,GRO,0x3Ec8798B81485A254928B70CDA1cf0A2BB0B74D7,18.0 +67.0,FORTH-0ce0,FORTH,FORTH,0x77FbA179C79De5B7653F68b5039Af940AdA60ce0,18.0 +68.0,DORA-c81d,DORA,DORA,0xbc4171f45EF0EF66E76F979dF021a34B46DCc81d,18.0 +69.0,DENA-a1DA,DENA,DENA,0x15F0EEDF9Ce24fc4b6826E590A8292CE5524a1DA,18.0 +70.0,ZEUM-8190,ZEUM,ZEUM,0x436dA116249044E8B4464F0Cf21Dd93311d88190,18.0 +71.0,WOZX-b79F,WOZX,WOZX,0x34950Ff2b487d9E5282c5aB342d08A2f712eb79F,18.0 +72.0,TGL-4e92,TGL,TGL,0xCc4450EDEfbBEb450E2f205f4ECEfF7232D54e92,18.0 +73.0,CORN-ea5E,CORN,CORN,0xa456b515303B2Ce344E9d2601f91270f8c2Fea5E,18.0 +74.0,JGN-e041,JGN,JGN,0x73374Ea518De7adDD4c2B624C0e8B113955ee041,18.0 +75.0,CP-CFCa,CP,CP,0x5BDC32663Ec75E85ff4abc2CAe7ae8B606A2CFCa,18.0 +76.0,FARM-A14D,FARM,FARM,0xa0246c9032bC3A600820415aE600c6388619A14D,18.0 +77.0,JOY-1FB5,JOY,JOY,0x4E114d405b9Ba2F59524941733e505Ae03Fb1FB5,18.0 +78.0,PEPE-E35F,PEPE,PEPE,0x4A27e9aAb8F8bA9de06766C8476eD1D16494E35F,18.0 +79.0,WETH-6Cc2,WETH,WETH,0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2,18.0 +80.0,X2Y2-EBC9,X2Y2,X2Y2,0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9,18.0 +81.0,FANC-c045,FANC,FANC,0xbB126042235E6bD38B17744cb31a8bF4A206c045,18.0 +82.0,ANB-9692,ANB,ANB,0x2c9acEb63181cd08a093d052ec041e191f229692,18.0 +83.0,REVV-A8Ca,REVV,REVV,0x557B933a7C2c45672B610F8954A3deB39a51A8Ca,18.0 +84.0,Mars-70B7,Mars,Mars,0x66C0DDEd8433c9EA86C8cf91237B14e10b4d70B7,18.0 +85.0,REL-05ec,REL,REL,0xb6c4267C4877BB0D6b1685Cfd85b0FBe82F105ec,18.0 +86.0,MTL-355e,MTL,MTL,0xF433089366899D83a9f26A773D59ec7eCF30355e,8.0 +87.0,DOG-868D,DOG,DOG,0x47D920a911cB9a0Ad4618698bA3feF800aBC868D,18.0 +88.0,WAVES-f29a,WAVES,WAVES,0x1cF4592ebfFd730c7dc92c1bdFFDfc3B9EfCf29a,18.0 +89.0,BUSD-7C53,BUSD,BUSD,0x4Fabb145d64652a948d72533023f6E7A623C7C53,18.0 +90.0,NGL-66aE,NGL,NGL,0x2653891204F463fb2a2F4f412564b19e955166aE,18.0 +91.0,ELON-60F3,ELON,ELON,0x761D38e5ddf6ccf6Cf7c55759d5210750B5D60F3,18.0 +92.0,GAME-1d1c,GAME,GAME,0xD567B5F02b9073aD3a982a099a23Bf019FF11d1c,5.0 +93.0,SRK-74E6,SRK,SRK,0x0488401c3F535193Fa8Df029d9fFe615A06E74E6,18.0 +94.0,$LSVR-c09B,$LSVR,$LSVR,0x79A06aCb8bdd138BEEECcE0f1605971f3AC7c09B,18.0 +95.0,MGG-8740,MGG,MGG,0x7237C0B30B1355f1B76355582f182F6f04B08740,18.0 +96.0,wOXEN-bcc5,wOXEN,wOXEN,0xd1e2d5085b39B80C9948AeB1b9aA83AF6756bcc5,9.0 +97.0,GEM-efcC,GEM,GEM,0x9008064E6cf73e27a3Aba4B10E69f855A4F8efcC,18.0 +98.0,UBI-E9a4,UBI,UBI,0xDd1Ad9A21Ce722C151A836373baBe42c868cE9a4,18.0 +99.0,LINK-86CA,LINK,LINK,0x514910771AF9Ca656af840dff83E8264EcF986CA,18.0 +100.0,DEXG-436D,DEXG,DEXG,0xB81D70802a816B5DacBA06D708B5acF19DcD436D,18.0 +101.0,XEN-6Fb8,XEN,XEN,0x06450dEe7FD2Fb8E39061434BAbCFC05599a6Fb8,18.0 +102.0,PEPES-7E12,PEPES,PEPES,0x6BF765C43030387a983f429c1438e9D2025B7E12,18.0 +103.0,SPWN-1126,SPWN,SPWN,0xe516D78d784C77D479977BE58905B3f2b1111126,18.0 +104.0,GYEN-D911,GYEN,GYEN,0xC08512927D12348F6620a698105e1BAac6EcD911,6.0 +105.0,TOAD-eD1e,TOAD,TOAD,0xBfB2b6870501a6Ff17121D676A0A45a38c9eeD1e,9.0 +106.0,ARPA-b71a,ARPA,ARPA,0xBA50933C268F567BDC86E1aC131BE072C6B0b71a,18.0 +107.0,EVA-8707,EVA,EVA,0xd6cAF5Bd23CF057f5FcCCE295Dcc50C01C198707,18.0 +108.0,BAG-14b0,BAG,BAG,0x28A06c02287e657ec3F8e151A13C36A1D43814b0,18.0 +109.0,ABR-8C7C,ABR,ABR,0xa11bD36801d8fa4448F0ac4ea7A62e3634cE8C7C,18.0 +110.0,OXAI-Fe9d,OXAI,OXAI,0x428dca9537116148616a5A3E44035Af17238Fe9d,18.0 +111.0,UBXN-1065,UBXN,UBXN,0x7A73839bd0e5cdED853cB01aa9773F8989381065,18.0 +112.0,OIL-88a5,OIL,OIL,0x0275E1001e293C46CFe158B3702AADe0B99f88a5,18.0 +113.0,ESD-d723,ESD,ESD,0x36F3FD68E7325a35EB768F1AedaAe9EA0689d723,18.0 +114.0,LXF-772A,LXF,LXF,0xA799C4ADcf62E025cE4D8aBE6A77CebC487d772A,18.0 +115.0,ERP-2267,ERP,ERP,0x0a0e3bfD5a8cE610E735D4469Bc1b3b130402267,18.0 +116.0,IOEN-893A,IOEN,IOEN,0x1e4E46b7BF03ECE908c88FF7cC4975560010893A,18.0 +117.0,VNDC-b5DE,VNDC,VNDC,0x1F3F677Ecc58F6A1F9e2CF410dF4776a8546b5DE,0.0 +118.0,BACON-38e7,BACON,BACON,0x34f797e7190C131cF630524655A618b5BD8738e7,18.0 +119.0,DTX-3F75,DTX,DTX,0x765f0C16D1Ddc279295c1a7C24B0883F62d33F75,18.0 +120.0,LINA-1937,LINA,LINA,0x3E9BC21C9b189C09dF3eF1B824798658d5011937,18.0 +121.0,PINA-780D,PINA,PINA,0x02814F435dD04e254Be7ae69F61FCa19881a780D,18.0 +122.0,PEPEBET-0350,PEPEBET,PEPEBET,0x33Cf519030235F75A13F29aFcFF5D6ff4Fd10350,18.0 +123.0,ARMOR-E46a,ARMOR,ARMOR,0x1337DEF16F9B486fAEd0293eb623Dc8395dFE46a,18.0 +124.0,MATIC-eBB0,MATIC,MATIC,0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0,18.0 +125.0,SOTU-9162,SOTU,SOTU,0xa91c82B6933105C23298E631A0C1Be751D239162,18.0 +126.0,HEZ-8dEE,HEZ,HEZ,0xEEF9f339514298C6A857EfCfC1A762aF84438dEE,18.0 +127.0,STRONG-017c,STRONG,STRONG,0x990f341946A3fdB507aE7e52d17851B87168017c,18.0 +128.0,PPAY-3Bb2,PPAY,PPAY,0x054D64b73d3D8A21Af3D764eFd76bCaA774f3Bb2,18.0 +129.0,GST-1404,GST,GST,0x473037de59cf9484632f4A27B509CFE8d4a31404,8.0 +130.0,FNK-48Ad,FNK,FNK,0xB5FE099475d3030DDe498c3BB6F3854F762A48Ad,18.0 +131.0,ICE-7DF9,ICE,ICE,0xf16e81dce15B08F326220742020379B855B87DF9,18.0 +132.0,REEF-5ACf,REEF,REEF,0xFE3E6a25e6b192A42a44ecDDCd13796471735ACf,18.0 +133.0,FRONT-793f,FRONT,FRONT,0xf8C3527CC04340b208C854E985240c02F7B7793f,18.0 +134.0,FMTA-9AB4,FMTA,FMTA,0xAa9D866666C2A3748d6B23Ff69E63E52f08d9AB4,18.0 +135.0,ZERO-a574,ZERO,ZERO,0xF0939011a9bb95c3B791f0cb546377Ed2693a574,18.0 +136.0,SHROOM-f183,SHROOM,SHROOM,0xEd0439EACf4c4965AE4613D77a5C2Efe10e5f183,18.0 +137.0,FLASH-F2F8,FLASH,FLASH,0xB1f1F47061A7Be15C69f378CB3f69423bD58F2F8,18.0 +138.0,NAO-53dc,NAO,NAO,0xd049206fB408a611E543791F2d8F102a8bC253dc,18.0 +139.0,MPL-35e6,MPL,MPL,0x33349B282065b0284d756F0577FB39c158F935e6,18.0 +140.0,DOE-d7eF,DOE,DOE,0xf8E9F10c22840b613cdA05A0c5Fdb59A4d6cd7eF,18.0 +141.0,DERC-a9aE,DERC,DERC,0x9fa69536d1cda4A04cFB50688294de75B505a9aE,18.0 +142.0,BLU-1FfD,BLU,BLU,0xe5D2e173B120341face9e9970889C9FE64081FfD,18.0 +143.0,PRE-2A0F,PRE,PRE,0xEC213F83defB583af3A000B1c0ada660b1902A0F,18.0 +144.0,DBI-0EcE,DBI,DBI,0x2dE509bf0014ddF697b220bE628213034d320EcE,18.0 +145.0,XFIT-7441,XFIT,XFIT,0x4aa41bC1649C9C3177eD16CaaA11482295fC7441,18.0 +146.0,ELFI-16f4,ELFI,ELFI,0x4dA34f8264CB33A5c9F17081B9EF5Ff6091116f4,18.0 +147.0,ASW-2a11,ASW,ASW,0x56694577564FdD577a0ABB20FE95C1E2756C2a11,18.0 +148.0,BEL-7e14,BEL,BEL,0xA91ac63D040dEB1b7A5E4d4134aD23eb0ba07e14,18.0 +149.0,HORD-3448,HORD,HORD,0x43A96962254855F16b925556f9e97BE436A43448,18.0 +150.0,DIGITS-404F,DIGITS,DIGITS,0xBE56ab825fD35678A32dc35bc4EB17e238e1404F,18.0 +151.0,FWT-a295,FWT,FWT,0x20e7125677311Fca903A8897042b9983f22Ea295,18.0 +152.0,CLS-de37,CLS,CLS,0x675BBC7514013E2073DB7a919F6e4cbeF576de37,18.0 +153.0,SAKURA-FeD6,SAKURA,SAKURA,0xb208b1a5664574F72d22E9e9981837310cACFeD6,9.0 +154.0,REQ-938a,REQ,REQ,0x8f8221aFbB33998d8584A2B05749bA73c37a938a,18.0 +155.0,BOND-750f,BOND,BOND,0x0391D2021f89DC339F60Fff84546EA23E337750f,18.0 +156.0,ZKS-58c6,ZKS,ZKS,0xe4815AE53B124e7263F08dcDBBB757d41Ed658c6,18.0 +157.0,ROUTE-3dB4,ROUTE,ROUTE,0x16ECCfDbb4eE1A85A33f3A9B21175Cd7Ae753dB4,18.0 +158.0,CRU-3c41,CRU,CRU,0x32a7C02e79c4ea1008dD6564b35F131428673c41,18.0 +159.0,CIRUS-8756,CIRUS,CIRUS,0xA01199c61841Fce3b3daFB83FeFC1899715c8756,18.0 +160.0,SYNR-490a,SYNR,SYNR,0xbc6E06778708177a18210181b073DA747C88490a,18.0 +161.0,GLM-6429,GLM,GLM,0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429,18.0 +162.0,DEC-E7F3,DEC,DEC,0x9393fdc77090F31c7db989390D43F454B1A6E7F3,3.0 +163.0,SD-D10f,SD,SD,0x30D20208d987713f46DFD34EF128Bb16C404D10f,18.0 +164.0,BLZ-D668,BLZ,BLZ,0x5732046A883704404F284Ce41FfADd5b007FD668,18.0 +165.0,MTLX-1d14,MTLX,MTLX,0x2e1E15C44Ffe4Df6a0cb7371CD00d5028e571d14,18.0 +166.0,NFTY-3208,NFTY,NFTY,0xE1D7C7a4596B038CEd2A84bF65B8647271C53208,18.0 +167.0,DXP-B745,DXP,DXP,0x88aa4a6C5050b9A1b2Aa7e34D0582025cA6AB745,18.0 +168.0,OCT-c6DC,OCT,OCT,0xF5cFBC74057C610c8EF151A439252680AC68c6DC,18.0 +169.0,DG-dEDE,DG,DG,0x53C8395465A84955c95159814461466053DedEDE,18.0 +170.0,iAI-2122,iAI,iAI,0x6dDe4fFD6dB302Bc9a46850f61399e082f6c2122,18.0 +171.0,SPOOL-0976,SPOOL,SPOOL,0x40803cEA2b2A32BdA1bE61d3604af6a814E70976,18.0 +172.0,MASK-3074,MASK,MASK,0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074,18.0 +173.0,ASTO-4689,ASTO,ASTO,0x823556202e86763853b40e9cDE725f412e294689,18.0 +174.0,XCAD-6Aa0,XCAD,XCAD,0x7659CE147D0e714454073a5dd7003544234b6Aa0,18.0 +175.0,STABLZ-F7cd,STABLZ,STABLZ,0xA4Eb9C64eC359D093eAc7B65F51Ef933D6e5F7cd,18.0 +176.0,SNP-E873,SNP,SNP,0x795dBF627484F8248D3d6c09c309825c1563E873,18.0 +177.0,RACA-9040,RACA,RACA,0x12BB890508c125661E03b09EC06E404bc9289040,18.0 +178.0,ARCH-1011,ARCH,ARCH,0x73C69d24ad28e2d43D03CBf35F79fE26EBDE1011,18.0 +179.0,VOW-46Fb,VOW,VOW,0x1BBf25e71EC48B84d773809B4bA55B6F4bE946Fb,18.0 +180.0,TSUKA-69eD,TSUKA,TSUKA,0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD,9.0 +181.0,eXRD-9414,eXRD,eXRD,0x6468e79A80C0eaB0F9A2B574c8d5bC374Af59414,18.0 +182.0,RAD-64A3,RAD,RAD,0x31c8EAcBFFdD875c74b94b077895Bd78CF1E64A3,18.0 +183.0,BDT-d5Cf,BDT,BDT,0x4Efe8665e564bF454cCF5C90Ee16817F7485d5Cf,18.0 +184.0,PROS-4B56,PROS,PROS,0x8642A849D0dcb7a15a974794668ADcfbe4794B56,18.0 +185.0,OPUL-6444,OPUL,OPUL,0x80D55c03180349Fff4a229102F62328220A96444,18.0 +186.0,FLX-0770,FLX,FLX,0x3Ea8ea4237344C9931214796d9417Af1A1180770,18.0 +187.0,POLAR-075E,POLAR,POLAR,0x58fcAa970339a9b1f8c0a5b4F3Fcd7af2bA3075E,18.0 +188.0,Z3-61a6,Z3,Z3,0x50Eec6D765792dCfB0913C8403ef2A12e1B861a6,18.0 +189.0,Okinami-4121,Okinami,Okinami,0x1C4853Ec0d55e420002c5eFaBc7Ed8e0bA7A4121,9.0 +190.0,HDRN-5e06,HDRN,HDRN,0x3819f64f282bf135d62168C1e513280dAF905e06,9.0 +191.0,FLEX-bc0A,FLEX,FLEX,0xFcF8eda095e37A41e002E266DaAD7efC1579bc0A,18.0 +192.0,DAO-09Ad,DAO,DAO,0x0f51bb10119727a7e5eA3538074fb341F56B09Ad,18.0 +193.0,WOO-5D4B,WOO,WOO,0x4691937a7508860F876c9c0a2a617E7d9E945D4B,18.0 +194.0,O-c40f,O,O,0xb53ecF1345caBeE6eA1a65100Ebb153cEbcac40f,18.0 +195.0,POND-D26C,POND,POND,0x57B946008913B82E4dF85f501cbAeD910e58D26C,18.0 +196.0,ALI-4181,ALI,ALI,0x6B0b3a982b4634aC68dD83a4DBF02311cE324181,18.0 +197.0,NRFX-94a4,NRFX,NRFX,0x01b443495834D667b42f54d2b77eEd6951eD94a4,18.0 +198.0,XDEX-6c83,XDEX,XDEX,0x000000000000d0151E748d25b766e77efe2A6c83,18.0 +199.0,OTHR-C334,OTHR,OTHR,0x407a3E019c655B779ccD098Ff50377E4C5F1C334,9.0 +200.0,UNIX-7aC8,UNIX,UNIX,0xDDD6A0ECc3c6F6C102E5eA3d8Af7B801d1a77aC8,18.0 +201.0,INSUR-7429,INSUR,INSUR,0x544c42fBB96B39B21DF61cf322b5EDC285EE7429,18.0 +202.0,GR-575c,GR,GR,0xcE593a29905951E8Fc579bC092ecA72577dA575c,6.0 +203.0,FLUT-1870,FLUT,FLUT,0x4F08705FB8F33AffC231ed66e626B40E84A71870,11.0 +204.0,SYLO-dcd4,SYLO,SYLO,0xf293d23BF2CDc05411Ca0edDD588eb1977e8dcd4,18.0 +205.0,BAC-A69a,BAC,BAC,0x3449FC1Cd036255BA1EB19d65fF4BA2b8903A69a,18.0 +206.0,MYTH-2003,MYTH,MYTH,0xBA41Ddf06B7fFD89D1267b5A93BFeF2424eb2003,18.0 +207.0,HDAO-fF2D,HDAO,HDAO,0xdaC657ffD44a3B9d8aba8749830Bf14BEB66fF2D,18.0 +208.0,BNT-FF1C,BNT,BNT,0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C,18.0 +209.0,DNXC-f03a,DNXC,DNXC,0x20a8CEC5fffea65Be7122BCaB2FFe32ED4Ebf03a,18.0 +210.0,BRKL-9ff8,BRKL,BRKL,0x4674a4F24C5f63D53F22490Fb3A08eAAAD739ff8,18.0 +211.0,FEAR-1E83,FEAR,FEAR,0x88A9A52F944315D5B4e917b9689e65445C401E83,18.0 +212.0,UDO-dC06,UDO,UDO,0xea3983Fc6D0fbbC41fb6F6091f68F3e08894dC06,18.0 +213.0,MUSK-2Cd8,MUSK,MUSK,0x6069c9223e8a5DA1ec49ac5525d4BB757Af72Cd8,18.0 +214.0,SALT-0581,SALT,SALT,0x4156D3342D5c385a87D264F90653733592000581,8.0 +215.0,RPG-e251,RPG,RPG,0x0E5C8C387C5EBa2eCbc137aD012aeD5Fe729e251,18.0 +216.0,OBOT-0c32,OBOT,OBOT,0xeDADeB5fAa413e6c8623461849DFD0B7C3790c32,18.0 +217.0,DUCK-305F,DUCK,DUCK,0xC0bA369c8Db6eB3924965e5c4FD0b4C1B91e305F,18.0 +218.0,BAMBOO-2e89,BAMBOO,BAMBOO,0xf56842Af3B56Fd72d17cB103f92d027bBa912e89,18.0 +219.0,O3-7d28,O3,O3,0xEe9801669C6138E84bD50dEB500827b776777d28,18.0 +220.0,KYOKO-BaC2,KYOKO,KYOKO,0x14a32f050FACF226Ec60882398A9BF36d91DBaC2,18.0 +221.0,CHANGE-2754,CHANGE,CHANGE,0x7051faED0775f664a0286Af4F75ef5ed74e02754,18.0 +222.0,MDF-B411,MDF,MDF,0x1a57367C6194199e5D9aEa1cE027431682dfB411,18.0 +223.0,TIDAL-33B7,TIDAL,TIDAL,0x29CbD0510EEc0327992CD6006e63F9Fa8E7f33B7,18.0 +224.0,Daruma-f704,Daruma,Daruma,0xA888D9616C2222788fa19f05F77221A290eEf704,9.0 +225.0,SDAO-875F,SDAO,SDAO,0x993864E43Caa7F7F12953AD6fEb1d1Ca635B875F,18.0 +226.0,NFTD-B379,NFTD,NFTD,0x8E0fE2947752BE0d5ACF73aaE77362Daf79cB379,18.0 +227.0,PNL-B459,PNL,PNL,0x9FC8f0ca1668E87294941b7f627e9C15eA06B459,18.0 +228.0,DDX-Ed3A,DDX,DDX,0x3A880652F47bFaa771908C07Dd8673A787dAEd3A,18.0 +229.0,RPL-Bd93,RPL,RPL,0xB4EFd85c19999D84251304bDA99E90B92300Bd93,18.0 +230.0,BADGER-E53d,BADGER,BADGER,0x3472A5A71965499acd81997a54BBA8D852C6E53d,18.0 +231.0,SENT-556F,SENT,SENT,0x97AbEe33Cd075c58BFdd174e0885e08E8f03556F,18.0 +232.0,ALBT-0Eb0,ALBT,ALBT,0x00a8b738E453fFd858a7edf03bcCfe20412f0Eb0,18.0 +233.0,AKRO-53d7,AKRO,AKRO,0x8Ab7404063Ec4DBcfd4598215992DC3F8EC853d7,18.0 +234.0,ERC20-EPK-40c4,ERC20-EPK,ERC20-EPK,0xDaF88906aC1DE12bA2b1D2f7bfC94E9638Ac40c4,18.0 +235.0,BTTY-3D0A,BTTY,BTTY,0x9cc83D580180f0d37d00e5d86ce868f73b6E3D0A,18.0 +236.0,icc-a177,icc,icc,0x70E67ec0939ec87c3a77b089CA08E0443ea4a177,18.0 +237.0,DON-c88a,DON,DON,0x217ddEad61a42369A266F1Fb754EB5d3EBadc88a,18.0 +238.0,MPS-D47D,MPS,MPS,0x96c645D3D3706f793Ef52C19bBACe441900eD47D,0.0 +239.0,Umoon-C5da,Umoon,Umoon,0x71de2285ec83BB6517D2B3eC8DEb2A6c44D8C5da,18.0 +240.0,IOI-1d81,IOI,IOI,0x8B3870Df408fF4D7C3A26DF852D41034eDa11d81,6.0 +241.0,BUMP-2168,BUMP,BUMP,0x785c34312dfA6B74F6f1829f79ADe39042222168,18.0 +242.0,CRF-219d,CRF,CRF,0x508df5aa4746bE37b5b6A69684DfD8BDC322219d,18.0 +243.0,WDOGE-98E7,WDOGE,WDOGE,0x35a532d376FFd9a705d0Bb319532837337A398E7,18.0 +244.0,HILO-5ff6,HILO,HILO,0xbb9FD9Fa4863C03c574007fF3370787B9cE65ff6,18.0 +245.0,VR-8cdD,VR,VR,0x7d5121505149065b562C789A0145eD750e6E8cdD,18.0 +246.0,NUM-3079,NUM,NUM,0x3496B523e5C00a4b4150D6721320CdDb234c3079,18.0 +247.0,BTBS-4356,BTBS,BTBS,0x32E6C34Cd57087aBBD59B5A4AECC4cB495924356,18.0 +248.0,CPRX-978f,CPRX,CPRX,0xc6e145421FD494B26dCF2BFeB1b02b7c5721978f,18.0 +249.0,FORM-FA2a,FORM,FORM,0x21381e026Ad6d8266244f2A583b35F9E4413FA2a,18.0 +250.0,EAG8-EeE4,EAG8,EAG8,0x0A8b16b27D5219c8C6b57D5442CE31D81573EeE4,8.0 +251.0,HAN-511F,HAN,HAN,0x0c90C57aaf95A3A87eadda6ec3974c99D786511F,18.0 +252.0,AGIX-b542,AGIX,AGIX,0x5B7533812759B45C2B44C19e320ba2cD2681b542,8.0 +253.0,VENDETTA-53c3,VENDETTA,VENDETTA,0x3A529A8d4f2ea64D206339fA12A3aF4D431F53c3,18.0 +254.0,DFI-358A,DFI,DFI,0x8Fc8f8269ebca376D046Ce292dC7eaC40c8D358A,8.0 +255.0,Dejitaru Shirudo-16AC,Dejitaru Shirudo,Dejitaru Shirudo,0xcf4C68Db4C2FA0bf58dF07B14f45cE7709a716AC,18.0 +256.0,SHIB-C4cE,SHIB,SHIB,0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE,18.0 +257.0,CHSB-35Ba,CHSB,CHSB,0xba9d4199faB4f26eFE3551D490E3821486f135Ba,8.0 +258.0,XETA-3550,XETA,XETA,0x967Fb0D760ED3ce53AfE2f0A071674cccAe73550,18.0 +259.0,XMT-721e,XMT,XMT,0x3E5D9D8a63CC8a88748f229999CF59487e90721e,18.0 +260.0,ZAM-f4c6,ZAM,ZAM,0xd373576a9e738F37Dc6882328358Ff69c4cAf4c6,18.0 +261.0,MAXI-e84b,MAXI,MAXI,0x0d86EB9f43C57f6FF3BC9E23D8F9d82503f0e84b,8.0 +262.0,NRFB-f9E8,NRFB,NRFB,0x00281dFCe4cfD72c0b6FDA2AAaF077258743f9E8,0.0 +263.0,BLID-56A5,BLID,BLID,0x8A7aDc1B690E81c758F1BD0F72DFe27Ae6eC56A5,18.0 +264.0,ARW-34E4,ARW,ARW,0x351cAa9045D65107b9d311D922D15887cfd634E4,18.0 +265.0,FEI-87CA,FEI,FEI,0x956F47F50A910163D8BF957Cf5846D573E7f87CA,18.0 +266.0,ZENIQ-7233,ZENIQ,ZENIQ,0x5b52bfB8062Ce664D74bbCd4Cd6DC7Df53Fd7233,18.0 +267.0,cDAI-3643,cDAI,cDAI,0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643,8.0 +268.0,CMT-Dc18,CMT,CMT,0xE910c2a090516Fb7a7Be07f96a464785f2D5Dc18,18.0 +269.0,DEGENS-8B71,DEGENS,DEGENS,0xDd039990Bd551Ce7437d3bF54d155220B7988B71,18.0 +270.0,LBlock-D329,LBlock,LBlock,0x2b867efD2dE4Ad2B583Ca0CB3dF9C4040Ef4D329,9.0 +271.0,ID-6406,ID,ID,0x2dfF88A56767223A5529eA5960Da7A3F5f766406,18.0 +272.0,SCOIN-0EB4,SCOIN,SCOIN,0x3f5DF2F90DF67E10974fBcB1729c00D3f87c0EB4,6.0 +273.0,SPC-Ad20,SPC,SPC,0x86ed939B500E121C0C5f493F399084Db596dAd20,18.0 +274.0,TEAM-dE02,TEAM,TEAM,0xB7c9E99Da8A857cE576A830A9c19312114d9dE02,8.0 +275.0,NCR-ed9c,NCR,NCR,0xDB5C3C46E28B53a39C255AA39A411dD64e5fed9c,18.0 +276.0,STFX-Db2d,STFX,STFX,0x9343e24716659A3551eB10Aff9472A2dcAD5Db2d,18.0 +277.0,GRT-44a7,GRT,GRT,0xc944E90C64B2c07662A292be6244BDf05Cda44a7,18.0 +278.0,TONCOIN-def1,TONCOIN,TONCOIN,0x582d872A1B094FC48F5DE31D3B73F2D9bE47def1,9.0 +279.0,BEAR-A26a,BEAR,BEAR,0x17837004eA685690b32dbEaD02a274Ec4333A26a,18.0 +280.0,LDO-1B32,LDO,LDO,0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32,18.0 +281.0,CRV-cd52,CRV,CRV,0xD533a949740bb3306d119CC777fa900bA034cd52,18.0 +282.0,MKR-79A2,MKR,MKR,0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2,18.0 +283.0,RNDR-eb24,RNDR,RNDR,0x6De037ef9aD2725EB40118Bb1702EBb27e4Aeb24,18.0 +284.0,ICHI-A881,ICHI,ICHI,0x903bEF1736CDdf2A537176cf3C64579C3867A881,9.0 +285.0,FXS-64D0,FXS,FXS,0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0,18.0 +286.0,RAINI-d5eD,RAINI,RAINI,0xeB953eDA0DC65e3246f43DC8fa13f35623bDd5eD,18.0 +287.0,IPT-FC3d,IPT,IPT,0xd909C5862Cdb164aDB949D92622082f0092eFC3d,18.0 +288.0,XDAO-Ad28,XDAO,XDAO,0x71eebA415A523F5C952Cc2f06361D5443545Ad28,18.0 +289.0,ICHI-C4d6,ICHI,ICHI,0x111111517e4929D3dcbdfa7CCe55d30d4B6BC4d6,18.0 +290.0,TR3-5F98,TR3,TR3,0xF61BF4d1A948487d61b8fa63808AAC06bda55F98,18.0 +291.0,LOOKS-421E,LOOKS,LOOKS,0xf4d2888d29D722226FafA5d9B24F9164c092421E,18.0 +292.0,BONE-18d9,BONE,BONE,0x9813037ee2218799597d83D4a5B6F3b6778218d9,18.0 +293.0,SWASH-2F80,SWASH,SWASH,0xA130E3a33a4d84b04c3918c4E5762223Ae252F80,18.0 +294.0,CELL-e099,CELL,CELL,0x26c8AFBBFE1EBaca03C2bB082E69D0476Bffe099,18.0 +295.0,CLB-3c84,CLB,CLB,0x0AD896863ce4Cd84f10a9D30D4f509cefFd53c84,18.0 +296.0,PP-CfD0,PP,PP,0x9565c2036963697786705120Fc59310F747bCfD0,18.0 +297.0,SMTX-419b,SMTX,SMTX,0x102203517ce35AC5Cab9a2cda80DF03f26c7419b,18.0 +298.0,WMLX-1AAd,WMLX,WMLX,0x77D0cb0ab54F9E74b9405a5B3f60DA06A78F1AAd,0.0 +299.0,TRB-78a0,TRB,TRB,0x88dF592F8eb5D7Bd38bFeF7dEb0fBc02cf3778a0,18.0 +300.0,MM-c611,MM,MM,0x6B4c7A5e3f0B99FCD83e9c089BDDD6c7FCe5c611,18.0 +301.0,HOME-1F62,HOME,HOME,0xb8919522331C59f5C16bDfAA6A121a6E03A91F62,6.0 +302.0,XYO-E758,XYO,XYO,0x55296f69f40Ea6d20E478533C15A6B08B654E758,18.0 +303.0,oneICHI-1e07,oneICHI,oneICHI,0x4db2c02831c9ac305FF9311Eb661f80f1dF61e07,18.0 +304.0,HYVE-f7d4,HYVE,HYVE,0xd794DD1CAda4cf79C9EebaAb8327a1B0507ef7d4,18.0 +305.0,B2M-0a1f,B2M,B2M,0xd7c302fc3ac829C7E896a32c4Bd126f3e8Bd0a1f,18.0 +306.0,rETH-6393,rETH,rETH,0xae78736Cd615f374D3085123A210448E74Fc6393,18.0 +307.0,XTP-50fc,XTP,XTP,0x6368e1E18c4C419DDFC608A0BEd1ccb87b9250fc,18.0 +308.0,AVINOC-A3EF,AVINOC,AVINOC,0xF1cA9cb74685755965c7458528A36934Df52A3EF,18.0 +309.0,DOLA-9ce4,DOLA,DOLA,0x865377367054516e17014CcdED1e7d814EDC9ce4,18.0 +310.0,OHM-f1D5,OHM,OHM,0x64aa3364F17a4D01c6f1751Fd97C2BD3D7e7f1D5,9.0 +311.0,UCOIL-9a13,UCOIL,UCOIL,0x549044000a94870ab7c5017cd8fB0AEfa9239a13,18.0 +312.0,SPH-a406,SPH,SPH,0xA0CF46eb152656C7090e769916eb44a138aaa406,18.0 +313.0,ASH-0b92,ASH,ASH,0x64D91f12Ece7362F91A6f8E7940Cd55F05060b92,18.0 +314.0,LUSD-8bA0,LUSD,LUSD,0x5f98805A4E8be255a32880FDeC7F6728C6568bA0,18.0 +315.0,PINE-3a51,PINE,PINE,0x569424c5EE13884A193773fDC5d1c5f79C443a51,18.0 +316.0,eLunr-Aa5A,eLunr,eLunr,0xA87135285Ae208e22068AcDBFf64B11Ec73EAa5A,4.0 +317.0,SWAP-4EFe,SWAP,SWAP,0xCC4304A31d09258b0029eA7FE63d032f52e44EFe,18.0 +318.0,RELAY-841c,RELAY,RELAY,0x5D843Fa9495d23dE997C394296ac7B4D721E841c,18.0 +319.0,CHEQ-4de7,CHEQ,CHEQ,0x70EDF1c215D0ce69E7F16FD4E6276ba0d99d4de7,9.0 +320.0,CPD-5355,CPD,CPD,0x9b31bb425D8263fA1b8B9d090b83CF0C31665355,18.0 +321.0,CGG-5e43,CGG,CGG,0x1fE24F25b1Cf609B9c4e7E12D802e3640dFA5e43,18.0 +322.0,Y2B-0650,Y2B,Y2B,0xF9C12B27cE5058ab98ce11BD53900f84E18C0650,18.0 +323.0,cbETH-9704,cbETH,cbETH,0xBe9895146f7AF43049ca1c1AE358B0541Ea49704,18.0 +324.0,DSU-7109,DSU,DSU,0x605D26FBd5be761089281d5cec2Ce86eeA667109,18.0 +325.0,CRPT-6d8B,CRPT,CRPT,0x08389495D7456E1951ddF7c3a1314A4bfb646d8B,18.0 +326.0,LEXE-6833,LEXE,LEXE,0x53011E93F21EC7A74cdfBB7E6548F1ABCE306833,18.0 +327.0,POLA-2CED,POLA,POLA,0xc691bc298a304d591Ad9b352c7A8D216dE9f2CED,18.0 +328.0,MANA-C942,MANA,MANA,0x0F5D2fB29fb7d3CFeE444a200298f468908cC942,18.0 +329.0,one1INCH-3857,one1INCH,one1INCH,0x853Bb55c1f469902F088A629db8C8803A9BE3857,18.0 +330.0,GENI-FCc8,GENI,GENI,0x444444444444C1a66F394025Ac839A535246FCc8,9.0 +331.0,IDV-8840,IDV,IDV,0x45448E05020576929fcDEabC228E35b420098840,18.0 +332.0,L2-4D24,L2,L2,0xBbff34E47E559ef680067a6B1c980639EEb64D24,18.0 +333.0,ARTH-8a71,ARTH,ARTH,0x8CC0F052fff7eaD7f2EdCCcaC895502E884a8a71,18.0 +334.0,DRGN-A05E,DRGN,DRGN,0x419c4dB4B9e25d6Db2AD9691ccb832C8D9fDA05E,18.0 +335.0,BTRST-2824,BTRST,BTRST,0x799ebfABE77a6E34311eeEe9825190B9ECe32824,18.0 +336.0,FAKT-dC48,FAKT,FAKT,0xC3FFbE26E9446aC52008FfC8C1191d60A12bdC48,18.0 +337.0,GNO-6b96,GNO,GNO,0x6810e776880C02933D47DB1b9fc05908e5386b96,18.0 +338.0,DIA-9419,DIA,DIA,0x84cA8bc7997272c7CfB4D0Cd3D55cd942B3c9419,18.0 +339.0,SWIV-6f2d,SWIV,SWIV,0xbf30461210b37012783957D90dC26B95Ce3b6f2d,18.0 +340.0,USDC-1130,USDC,USDC,0x566957eF80F9fd5526CD2BEF8BE67035C0b81130,6.0 +341.0,wPPC-2958,wPPC,wPPC,0x044d078F1c86508e13328842Cc75AC021B272958,6.0 +342.0,TOL-2cFA,TOL,TOL,0xd07D9Fe2d2cc067015E2b4917D24933804f42cFA,18.0 +343.0,ALEPH-F628,ALEPH,ALEPH,0x27702a26126e0B3702af63Ee09aC4d1A084EF628,18.0 +344.0,GF-E238,GF,GF,0xAaEf88cEa01475125522e117BFe45cF32044E238,18.0 +345.0,CND-95fa,CND,CND,0xd4c435F5B09F855C3317c8524Cb1F586E42795fa,18.0 +346.0,ECOx-736a,ECOx,ECOx,0xcccD1Ba9f7acD6117834E0D28F25645dECb1736a,18.0 +347.0,SNX-2a6F,SNX,SNX,0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F,18.0 +348.0,RAIL-A33D,RAIL,RAIL,0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D,18.0 +349.0,OK-4189,OK,OK,0xd3Ac016b1B8C80EeAdDe4D186A9138C9324e4189,18.0 +350.0,ALCX-c8DF,ALCX,ALCX,0xdBdb4d16EdA451D0503b854CF79D55697F90c8DF,18.0 +351.0,ROYA-48DB,ROYA,ROYA,0x7eaF9C89037e4814DC0d9952Ac7F888C784548DB,18.0 +352.0,HOP-a3CC,HOP,HOP,0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC,18.0 +353.0,CVX-9D2B,CVX,CVX,0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B,18.0 +354.0,DAMM-16b8,DAMM,DAMM,0xb3207935FF56120f3499e8aD08461Dd403bF16b8,18.0 +355.0,BPLC-21b4,BPLC,BPLC,0x426FC8BE95573230f6e6bc4af91873F0c67b21b4,18.0 +356.0,GTC-163F,GTC,GTC,0xDe30da39c46104798bB5aA3fe8B9e0e1F348163F,18.0 +357.0,GPO-3aCE,GPO,GPO,0x4ad7a056191F4c9519fAcd6D75FA94CA26003aCE,18.0 +358.0,QLT-c87c,QLT,QLT,0x0173661769325565d4f011b2e5Cda688689Cc87c,9.0 +359.0,IOTX-4d69,IOTX,IOTX,0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69,18.0 +360.0,APE-4381,APE,APE,0x4d224452801ACEd8B2F0aebE155379bb5D594381,18.0 +361.0,AGV-382B,AGV,AGV,0xf4F618Eff5eF36Cde2FCa4FBD86554c62Fb1382B,18.0 +362.0,DREP-b4c2,DREP,DREP,0x3Ab6Ed69Ef663bd986Ee59205CCaD8A20F98b4c2,18.0 +363.0,QNT-4675,QNT,QNT,0x4a220E6096B25EADb88358cb44068A3248254675,18.0 +364.0,BLOCKIFY-3C21,BLOCKIFY,BLOCKIFY,0x7D608CfAa805a752788847e5C46Ce9C03Fb43C21,18.0 +365.0,UNV-A673,UNV,UNV,0xf009f5531dE69067435e32c4b9D36077F4C4A673,18.0 +366.0,HBTC-d380,HBTC,HBTC,0x0316EB71485b0Ab14103307bf65a021042c6d380,18.0 +367.0,SLD-a084,SLD,SLD,0x1ef6A7e2c966fb7C5403EFEFdE38338b1a95a084,18.0 +368.0,SYL-eb9C,SYL,SYL,0x92925Acf2771Bc59143228499f9610FE5176eb9C,18.0 +369.0,JASMY-03EC,JASMY,JASMY,0x7420B4b9a0110cdC71fB720908340C03F9Bc03EC,18.0 +370.0,NBT-824c,NBT,NBT,0x446F2A8A39Cc730ef378Be759A3c57f1a3fE824c,18.0 +371.0,BRD-9aD6,BRD,BRD,0x558EC3152e2eb2174905cd19AeA4e34A23DE9aD6,18.0 +372.0,ULX-636F,ULX,ULX,0x5Aa158404fEd6b4730C13F49d3a7F820e14A636F,18.0 +373.0,AMPL-A161,AMPL,AMPL,0xD46bA6D942050d489DBd938a2C909A5d5039A161,9.0 +374.0,XMON-Bf74,XMON,XMON,0x3aaDA3e213aBf8529606924d8D1c55CbDc70Bf74,18.0 +375.0,REN-2a38,REN,REN,0x408e41876cCCDC0F92210600ef50372656052a38,18.0 +376.0,UFO-DC3B,UFO,UFO,0x249e38Ea4102D0cf8264d3701f1a0E39C4f2DC3B,18.0 +377.0,TAMA-88c8,TAMA,TAMA,0x12b6893cE26Ea6341919FE289212ef77e51688c8,18.0 +378.0,HOT-26E2,HOT,HOT,0x6c6EE5e31d828De241282B9606C8e98Ea48526E2,18.0 +379.0,EGG-6a0c,EGG,EGG,0x65cCD72c0813CE6f2703593B633202a0F3Ca6a0c,18.0 +380.0,PHA-2f4E,PHA,PHA,0x6c5bA91642F10282b576d91922Ae6448C9d52f4E,18.0 +381.0,agEUR-Bce8,agEUR,agEUR,0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8,18.0 +382.0,FIEF-a02D,FIEF,FIEF,0xeA068Fba19CE95f12d252aD8Cb2939225C4Ea02D,18.0 +383.0,ETHO-7096,ETHO,ETHO,0x0b5326Da634f9270FB84481DD6F94d3dC2cA7096,18.0 +384.0,SPANK-6a18,SPANK,SPANK,0x42d6622deCe394b54999Fbd73D108123806f6a18,18.0 +385.0,ATC-5c9e,ATC,ATC,0x0fAD86Cc1b412b330494E350Bf1dC1994AC55c9e,6.0 +386.0,SUM-40b1,SUM,SUM,0x043C308BB8a5aE96D0093444be7f56459F1340b1,18.0 +387.0,CPI-ec53,CPI,CPI,0x2b67D1a87A8D8B280A23e97bC55095215eE0ec53,18.0 +388.0,PAPER-0e8C,PAPER,PAPER,0x7aE1D57b58fA6411F32948314BadD83583eE0e8C,18.0 +389.0,EURT-E491,EURT,EURT,0xC581b735A1688071A1746c968e0798D642EDE491,6.0 +390.0,GOB-8A80,GOB,GOB,0xd6929179D752d5D25c5efe2d9729eb77D7138A80,18.0 +391.0,oSQTH-E86B,oSQTH,oSQTH,0xf1B99e3E573A1a9C5E6B2Ce818b617F0E664E86B,18.0 +392.0,SDEX-BEeF,SDEX,SDEX,0x5DE8ab7E27f6E7A1fFf3E5B337584Aa43961BEeF,18.0 +393.0,XCM-8e25,XCM,XCM,0x36ac219f90f5A6A3C77f2a7B660E3cC701f68e25,18.0 +394.0,BRZ-2e2B,BRZ,BRZ,0x420412E765BFa6d85aaaC94b4f7b708C89be2e2B,4.0 +395.0,0xBTC-5B31,0xBTC,0xBTC,0xB6eD7644C69416d67B522e20bC294A9a9B405B31,8.0 +396.0,XAUt-2F38,XAUt,XAUt,0x68749665FF8D2d112Fa859AA293F07A622782F38,6.0 +397.0,ETHV-aC76,ETHV,ETHV,0xC53342fd7575f572b0fF4569e31941A5B821aC76,18.0 +398.0,FET-Ad85,FET,FET,0xaea46A60368A7bD060eec7DF8CBa43b7EF41Ad85,18.0 +399.0,RAI-4919,RAI,RAI,0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919,18.0 +400.0,USDP-89E1,USDP,USDP,0x8E870D67F660D95d5be530380D0eC0bd388289E1,18.0 +401.0,stETH-fE84,stETH,stETH,0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84,18.0 +402.0,CHZ-b4AF,CHZ,CHZ,0x3506424F91fD33084466F402d5D97f05F8e3b4AF,18.0 +403.0,TXA-A830,TXA,TXA,0x4463e6A3dEd0dBE3F6e15bC8420dFc55e5FeA830,18.0 +404.0,DENT-A258,DENT,DENT,0x3597bfD533a99c9aa083587B074434E61Eb0A258,8.0 +405.0,SUDO-B7F9,SUDO,SUDO,0x3446Dd70B2D52A6Bf4a5a192D9b0A161295aB7F9,18.0 +406.0,sUSD-5f51,sUSD,sUSD,0x57Ab1ec28D129707052df4dF418D58a2D46d5f51,18.0 +407.0,ELT-1B02,ELT,ELT,0xc0AE17Eb994fa828540FFa53776B3830233A1B02,18.0 +408.0,ELAN-28B5,ELAN,ELAN,0x1b5036bEc1B82D44d52Fa953A370b3c6Cd9328B5,18.0 +409.0,INNBC-8c42,INNBC,INNBC,0xB67718b98d52318240c52E71A898335da4A28c42,6.0 +410.0,MLP-1152,MLP,MLP,0xE22020F47B7378dfedcedd2C81d4137c22fE1152,18.0 +411.0,DYDX-Eff5,DYDX,DYDX,0x92D6C1e31e14520e676a687F0a93788B716BEff5,18.0 +412.0,ACX-F82F,ACX,ACX,0x44108f0223A3C3028F5Fe7AEC7f9bb2E66beF82F,18.0 +413.0,BAT-87EF,BAT,BAT,0x0D8775F648430679A709E98d2b0Cb6250d2887EF,18.0 +414.0,CTX-f98D,CTX,CTX,0x321C2fE4446C7c963dc41Dd58879AF648838f98D,18.0 +415.0,STC-7e7E,STC,STC,0x15B543e986b8c34074DFc9901136d9355a537e7E,18.0 +416.0,RDX-9ecD,RDX,RDX,0xd8C4ef2D99c9F962180008418a5665Fcc4b99ecD,18.0 +417.0,OLY-Fb1f,OLY,OLY,0x6595b8fD9C920C81500dCa94e53Cdc712513Fb1f,18.0 +418.0,APM-BA6c,APM,APM,0xC8C424B91D8ce0137bAB4B832B7F7D154156BA6c,18.0 +419.0,CRAB-b735,CRAB,CRAB,0x24BCeC1AFda63E622a97F17cFf9a61FFCfd9b735,18.0 +420.0,CTO-6C47,CTO,CTO,0xa5e48a6E56e164907263e901B98D9b11CCB46C47,18.0 +421.0,AAVE-DaE9,AAVE,AAVE,0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9,18.0 +422.0,LYXe-be6D,LYXe,LYXe,0xA8b919680258d369114910511cc87595aec0be6D,18.0 +423.0,CXO-7143,CXO,CXO,0xb6EE9668771a79be7967ee29a63D4184F8097143,18.0 +424.0,AXL-E5f3,AXL,AXL,0x467719aD09025FcC6cF6F8311755809d45a5E5f3,6.0 +425.0,GUSD-d5Cd,GUSD,GUSD,0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd,2.0 +426.0,THEO-eac2,THEO,THEO,0xfAc0403a24229d7e2Edd994D50F5940624CBeac2,9.0 +427.0,FUN-711b,FUN,FUN,0x419D0d8BdD9aF5e606Ae2232ed285Aff190E711b,8.0 +428.0,ZZ-55ad,ZZ,ZZ,0xC91a71A1fFA3d8B22ba615BA1B9c01b2BBBf55ad,18.0 +429.0,ADS-d22A,ADS,ADS,0xcfcEcFe2bD2FED07A9145222E8a7ad9Cf1Ccd22A,11.0 +430.0,RBN-fA6B,RBN,RBN,0x6123B0049F904d730dB3C36a31167D9d4121fA6B,18.0 +431.0,wTAO-0A44,wTAO,wTAO,0x77E06c9eCCf2E797fd462A92B6D7642EF85b0A44,9.0 +432.0,HUNT-6fa5,HUNT,HUNT,0x9AAb071B4129B083B01cB5A0Cb513Ce7ecA26fa5,18.0 +433.0,gOHM-a52f,gOHM,gOHM,0x0ab87046fBb341D058F17CBC4c1133F25a20a52f,18.0 +434.0,BBTC-2541,BBTC,BBTC,0x9BE89D2a4cd102D8Fecc6BF9dA793be995C22541,8.0 +435.0,XSGD-cA96,XSGD,XSGD,0x70e8dE73cE538DA2bEEd35d14187F6959a8ecA96,6.0 +436.0,ASIC-3047,ASIC,ASIC,0x347a96a5BD06D2E15199b032F46fB724d6c73047,12.0 +437.0,ICSA-69ed,ICSA,ICSA,0xfc4913214444aF5c715cc9F7b52655e788A569ed,9.0 +438.0,wstETH-2Ca0,wstETH,wstETH,0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0,18.0 +439.0,PLSD-36A7,PLSD,PLSD,0x34F0915a5f15a66Eba86F6a58bE1A471FB7836A7,12.0 +440.0,EUROe-2974,EUROe,EUROe,0x820802Fa8a99901F52e39acD21177b0BE6EE2974,6.0 +441.0,BLUR-8b44,BLUR,BLUR,0x5283D291DBCF85356A21bA090E6db59121208b44,18.0 +442.0,PAR-4703,PAR,PAR,0x68037790A0229e9Ce6EaA8A99ea92964106C4703,18.0 +443.0,SAITO-B57B,SAITO,SAITO,0xFa14Fa6958401314851A17d6C5360cA29f74B57B,18.0 +444.0,DUSK-A551,DUSK,DUSK,0x940a2dB1B7008B6C776d4faaCa729d6d4A4AA551,18.0 +445.0,ISK-a75C,ISK,ISK,0x17d2628D30F8e9E966c9Ba831c9B9b01ea8Ea75C,18.0 +446.0,WFLOW-3B2b,WFLOW,WFLOW,0x5c147e74D63B1D31AA3Fd78Eb229B65161983B2b,18.0 +447.0,MIM-17F3,MIM,MIM,0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3,18.0 +448.0,CoreDAO-Dd58,CoreDAO,CoreDAO,0xf66Cd2f8755a21d3c8683a10269F795c0532Dd58,18.0 +449.0,SEURO-9A00,SEURO,SEURO,0xb399511642FE1666c6a07f83483e6E4feAed9A00,18.0 +450.0,TEXAN-88d7,TEXAN,TEXAN,0xcFCFfE432A48dB53F59c301422d2EdD77B2A88d7,18.0 +451.0,DEXE-Cbd6,DEXE,DEXE,0xde4EE8057785A7e8e800Db58F9784845A5C2Cbd6,18.0 +452.0,COMP-6888,COMP,COMP,0xc00e94Cb662C3520282E6f5717214004A7f26888,18.0 +453.0,COT-9ff8,COT,COT,0x5c872500c00565505F3624AB435c222E558E9ff8,18.0 +454.0,DAPP-1649,DAPP,DAPP,0x939B462ee3311f8926c047D2B576C389092b1649,4.0 +455.0,BORING-92CA,BORING,BORING,0xBC19712FEB3a26080eBf6f2F7849b417FdD792CA,18.0 +456.0,eRSDL-D3A6,eRSDL,eRSDL,0x5218E472cFCFE0b64A064F055B43b4cdC9EfD3A6,18.0 +457.0,DIP-cD83,DIP,DIP,0xc719d010B63E5bbF2C0551872CD5316ED26AcD83,18.0 +458.0,DRC-e606,DRC,DRC,0xa150Db9b1Fa65b44799d4dD949D922c0a33Ee606,0.0 +459.0,DXD-5521,DXD,DXD,0xa1d65E8fB6e87b60FECCBc582F7f97804B725521,18.0 +460.0,EDEN-1559,EDEN,EDEN,0x1559FA1b8F28238FD5D76D9f434ad86FD20D1559,18.0 +461.0,ENJ-3B9c,ENJ,ENJ,0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c,18.0 +462.0,BBS-B430,BBS,BBS,0xFe459828c90c0BA4bC8b42F5C5D44F316700B430,18.0 +463.0,BMI-E688,BMI,BMI,0x725C263e32c72dDC3A19bEa12C5a0479a81eE688,18.0 +464.0,ANKR-EDD4,ANKR,ANKR,0x8290333ceF9e6D528dD5618Fb97a76f268f3EDD4,18.0 +465.0,bBADGER-fC28,bBADGER,bBADGER,0x19D97D8fA813EE2f51aD4B4e04EA08bAf4DFfC28,18.0 +466.0,FRM-A68C,FRM,FRM,0xE5CAeF4Af8780E59Df925470b050Fb23C43CA68C,6.0 +467.0,ETH-EEeE,ETH,ETH,0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE,18.0 +468.0,1INCH-C302,1INCH,1INCH,0x111111111117dC0aa78b770fA6A738034120C302,18.0 +469.0,ALPHA-0975,ALPHA,ALPHA,0xa1faa113cbE53436Df28FF0aEe54275c13B40975,18.0 +470.0,AMP-95C2,AMP,AMP,0xfF20817765cB7f73d4bde2e66e067E58D11095C2,18.0 +471.0,ANT-88C0,ANT,ANT,0x960b236A07cf122663c4303350609A66A7B288C0,18.0 +472.0,APW-60c8,APW,APW,0x4104b135DBC9609Fc1A9490E61369036497660c8,18.0 +473.0,ARCONA-52B3,ARCONA,ARCONA,0x0f71B8De197A1C84d31de0F1fA7926c365F052B3,18.0 +474.0,AUC-5663,AUC,AUC,0xc12d099be31567add4e4e4d0D45691C3F58f5663,18.0 +475.0,FODL-b9C3,FODL,FODL,0x4C2e59D098DF7b6cBaE0848d66DE2f8A4889b9C3,18.0 +476.0,PHTR-22dA,PHTR,PHTR,0xE1Fc4455f62a6E89476f1072530C20CF1A0622dA,18.0 +477.0,RLC-7375,RLC,RLC,0x607F4C5BB672230e8672085532f7e901544a7375,9.0 +478.0,ROOK-3d4a,ROOK,ROOK,0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a,18.0 +479.0,RPL-A51f,RPL,RPL,0xD33526068D116cE69F19A9ee46F0bd304F21A51f,18.0 +480.0,RUNE-49cb,RUNE,RUNE,0x3155BA85D5F96b2d030a4966AF206230e46849cb,18.0 +481.0,SFI-902c,SFI,SFI,0xb753428af26E81097e7fD17f40c88aaA3E04902c,18.0 +482.0,SHEESHA-E768,SHEESHA,SHEESHA,0x232FB065D9d24c34708eeDbF03724f2e95ABE768,18.0 +483.0,TEMP-1aB9,TEMP,TEMP,0xA36FDBBAE3c9d55a1d67EE5821d53B50B63A1aB9,18.0 +484.0,TRAC-0A6F,TRAC,TRAC,0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F,18.0 +485.0,UOS-5C8c,UOS,UOS,0xD13c7342e1ef687C5ad21b27c2b65D772cAb5C8c,4.0 +486.0,vBNT-7f94,vBNT,vBNT,0x48Fb253446873234F2fEBbF9BdeAA72d9d387f94,18.0 +487.0,VITA-A321,VITA,VITA,0x81f8f0bb1cB2A06649E51913A151F0E7Ef6FA321,18.0 +488.0,VLX-Edb9,VLX,VLX,0x8C543AED163909142695f2d2aCd0D55791a9Edb9,18.0 +489.0,wNXM-2bDE,wNXM,wNXM,0x0d438F3b5175Bebc262bF23753C1E53d03432bDE,18.0 +490.0,WXT-E915,WXT,WXT,0xa02120696c7B8fE16C09C749E4598819b2B0E915,18.0 +491.0,YFI-d93e,YFI,YFI,0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e,18.0 +492.0,ZCN-3B78,ZCN,ZCN,0xb9EF770B6A5e12E45983C5D80545258aA38F3B78,10.0 +493.0,LYRA-05Bf,LYRA,LYRA,0x01BA67AAC7f75f647D94220Cc98FB30FCc5105Bf,18.0 +494.0,OCEAN-9F48,OCEAN,OCEAN,0x967da4048cD07aB37855c090aAF366e4ce1b9F48,18.0 +495.0,renBTC-B27D,renBTC,renBTC,0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D,8.0 +496.0,HEGIC-8430,HEGIC,HEGIC,0x584bC13c7D411c00c01A62e8019472dE68768430,18.0 +497.0,INDEX-4cab,INDEX,INDEX,0x0954906da0Bf32d5479e25f46056d22f08464cab,18.0 +498.0,KNC-D200,KNC,KNC,0xdd974D5C2e2928deA5F71b9825b8b646686BD200,18.0 +499.0,KTN-FC1C,KTN,KTN,0x491E136FF7FF03E6aB097E54734697Bb5802FC1C,18.0 +500.0,LPL-75B8,LPL,LPL,0x99295f1141d58A99e939F7bE6BBe734916a875B8,18.0 +501.0,LRC-EafD,LRC,LRC,0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD,18.0 +502.0,RARI-41CF,RARI,RARI,0xFca59Cd816aB1eaD66534D82bc21E7515cE441CF,18.0 +503.0,MLN-1892,MLN,MLN,0xec67005c4E498Ec7f55E092bd1d35cbC47C91892,18.0 +504.0,MONA-412A,MONA,MONA,0x275f5Ad03be0Fa221B4C6649B8AeE09a42D9412A,18.0 +505.0,MPH-35C5,MPH,MPH,0x8888801aF4d980682e47f1A9036e589479e835C5,18.0 +506.0,NDX-5F83,NDX,NDX,0x86772b1409b61c639EaAc9Ba0AcfBb6E238e5F83,18.0 +507.0,NEXO-5206,NEXO,NEXO,0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206,18.0 +508.0,NMR-6671,NMR,NMR,0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671,18.0 +509.0,NOIA-b6ca,NOIA,NOIA,0xa8c8CfB141A3bB59FEA1E2ea6B79b5ECBCD7b6ca,18.0 +510.0,OPIUM-eC11,OPIUM,OPIUM,0x888888888889C00c67689029D7856AAC1065eC11,18.0 +511.0,POWR-1269,POWR,POWR,0x595832F8FC6BF59c85C527fEC3740A1b7a361269,6.0 +512.0,PSP-3dE5,PSP,PSP,0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5,18.0 +513.0,DATA-8b76,DATA,DATA,0x8f693ca8D21b157107184d29D398A8D082b38b76,18.0 +514.0,xSUSHI-4272,xSUSHI,xSUSHI,0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272,18.0 +515.0,ENS-9D72,ENS,ENS,0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72,18.0 +516.0,UMA-F828,UMA,UMA,0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828,18.0 +517.0,RNB-e743,RNB,RNB,0x2A039B1D9bBDccBb91be28691b730ca893e5e743,18.0 +518.0,SATA-bEe1,SATA,SATA,0x3ebb4A4e91Ad83BE51F8d596533818b246F4bEe1,18.0 +519.0,ACRE-FC21,ACRE,ACRE,0xb2cABf797bc907B049e4cCB5b84d13be3a8CFC21,18.0 +520.0,CROWN-E0fa,CROWN,CROWN,0x444d6088B0F625f8C20192623B3C43001135E0fa,18.0 +521.0,SHIBGF-65d6,SHIBGF,SHIBGF,0x505a84a03e382331A1Be487b632Cf357748b65d6,18.0 +522.0,MFG-0312,MFG,MFG,0x6710c63432A2De02954fc0f851db07146a6c0312,18.0 +523.0,EWTB-6054,EWTB,EWTB,0x178c820f862B14f316509ec36b13123DA19A6054,18.0 +524.0,FTX Token-a4c9,FTX Token,FTX Token,0x50D1c9771902476076eCFc8B2A83Ad6b9355a4c9,18.0 +525.0,1ONE-f9D3,1ONE,1ONE,0xD5cd84D6f044AbE314Ee7E414d37cae8773ef9D3,18.0 +526.0,BZRX-f4b3,BZRX,BZRX,0x56d811088235F11C8920698a204A5010a788f4b3,18.0 +527.0,bDIGG-8e1a,bDIGG,bDIGG,0x7e7E112A68d8D2E221E11047a72fFC1065c38e1a,18.0 +528.0,SUSHI-0fE2,SUSHI,SUSHI,0x6B3595068778DD592e39A122f4f5a5cF09C90fE2,18.0 +529.0,PEPE-1933,PEPE,PEPE,0x6982508145454Ce325dDbE47a25d4ec3d2311933,18.0 +530.0,XCHF-fc08,XCHF,XCHF,0xB4272071eCAdd69d933AdcD19cA99fe80664fc08,18.0 +531.0,ARB-4ad1,ARB,ARB,0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1,18.0 +532.0,LBR-aCcA,LBR,LBR,0xC98835e792553e505AE46e73a6fD27a23985aCcA,18.0 +533.0,HRP-12Bf,HRP,HRP,0xbd15Ad921e1B480209AF549874a2fCb80DC312Bf,18.0 +534.0,Silo-B1f8,Silo,Silo,0x6f80310CA7F2C654691D1383149Fa1A57d8AB1f8,18.0 +535.0,0x0-1AD5,0x0,0x0,0x5a3e6A77ba2f983eC0d371ea3B475F8Bc0811AD5,9.0 +536.0,SMT-7173,SMT,SMT,0xB17548c7B510427baAc4e267BEa62e800b247173,18.0 +537.0,pepecoin-489A,pepecoin,pepecoin,0xA9E8aCf069C58aEc8825542845Fd754e41a9489A,18.0 +538.0,JAY-CA6E,JAY,JAY,0xDA7C0810cE6F8329786160bb3d1734cf6661CA6E,18.0 +539.0,WYD-8991,WYD,WutYuDoin?,0xbae9992488AE7f7c1EDB34Ed74c213B28d928991,18.0 +540.0,WSB-0c49,WSB,WSB Coin,0x0414D8C87b271266a5864329fb4932bBE19c0c49,18.0 +541.0,TRU-3784,TRU,TrueFi,0x4C19596f5aAfF459fA38B0f7eD92F11AE6543784,8.0 +542.0,BAL-4e3D,BAL,Balancer,0xba100000625a3754423978a60c9317c58a424e3D,18.0 +543.0,MTA-AcD2,MTA,Meta,0xa3BeD4E1c75D00fa6f4E5E6922DB7261B5E9AcD2,18.0 +544.0,QUICK-6F2f,QUICK,Quickswap,0x6c28AeF8977c9B773996d0e8376d2EE379446F2f,18.0 +545.0,BOR-c1A9,BOR,BoringDAO,0x3c9d6c1C73b31c837832c72E04D3152f051fc1A9,18.0 +546.0,STAKE-95e6,STAKE,STAKE,0x0Ae055097C6d159879521C384F1D2123D1f195e6,18.0 +547.0,CRO-450b,CRO,CRO,0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b,8.0 +548.0,BNB-DD52,BNB,BNB,0xB8c77482e45F1F44dE1745F52C74426C631bDD52,18.0 +549.0,PATH-7588,PATH,PathDao,0x2a2550e0A75aCec6D811AE3930732F7f3ad67588,18.0 +550.0,PERP-3447,PERP,Perpetual,0xbC396689893D065F41bc2C6EcbeE5e0085233447,18.0 +551.0,POOL-844e,POOL,PoolTogether,0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e,18.0 +552.0,SMARTCREDIT-DA13,SMARTCREDIT,SMARTCREDIT Token,0x72e9D9038cE484EE986FEa183f8d8Df93f9aDA13,18.0 +553.0,CEL-D42d,CEL,Celsius,0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d,4.0 +554.0,renZEC-37C2,renZEC,renZEC,0x1C5db575E2Ff833E46a2E9864C22F4B22E0B37C2,8.0 +555.0,OMG-0C07,OMG,OMGToken,0xd26114cd6EE289AccF82350c8d8487fedB8A0C07,18.0 +556.0,INSAI-4674,INSAI,Insight,0xceec4aE5CF5300aC9A49a816961Af9393b214674,6.0 +557.0,$DGTV-966D,$DGTV,Doge-TV,0xFEb6d5238Ed8F1d59DCaB2db381AA948e625966D,18.0 +558.0,MATRIX-1C36,MATRIX,MatrixSwapToken,0xc8D3DCb63C38607Cb0c9d3F55E8eccE628A01C36,18.0 +559.0,CREAM-B200,CREAM,Cream,0x2ba592F78dB6436527729929AAf6c908497cB200,18.0 +560.0,INU-Bda5,INU,Inu.,0x050D94685c6B0477E1Fc555888AF6e2bB8dFBda5,18.0 +561.0,CHEW-7Cb3,CHEW,CHEW,0xf5d126077096e5b01BC30FFa5d9324D7202d7Cb3,18.0 +562.0,N1-C16D,N1,NFTify,0xaCbd826394189Cf2623C6DF98a18b41fC8fFC16D,18.0 +563.0,FLX-91F4,FLX,Flex Ungovernance Token,0x6243d8CEA23066d098a15582d81a598b4e8391F4,18.0 +564.0,MUSE-fc81,MUSE,Muse,0xB6Ca7399B4F9CA56FC27cBfF44F4d2e4Eef1fc81,18.0 +565.0,BST-7F4a,BST,BlocksquareToken,0x509A38b7a1cC0dcd83Aa9d06214663D9eC7c7F4a,18.0 +566.0,SAND-a5d0,SAND,SAND,0x3845badAde8e6dFF049820680d1F14bD3903a5d0,18.0 +567.0,PLAY-45bC,PLAY,InfinityGaming,0x95b4e47025372Ded4B73F9b5F0671B94a81445bC,9.0 +568.0,WG0-C057,WG0,Wrapped Gen 0,0xa10740ff9FF6852eac84cdcfF9184e1D6d27C057,18.0 +569.0,HEAL-541a,HEAL,Heal The World,0x383B0b2ce2e1757b5e1D087D8f36013eA595541a,9.0 +570.0,CNTR-064B,CNTR,Centaur Token,0x03042482d64577A7bdb282260e2eA4c8a89C064B,18.0 +571.0,AMAS-4f52,AMAS,Amasa Token,0x65a8fbA02F641a13Bb7B01d5E1129b0521004f52,18.0 +572.0,ASIA-6011,ASIA,ASIA COIN,0xF519381791C03DD7666C142D4E49Fd94d3536011,18.0 +573.0,KoaCombat-544C,KoaCombat,KoaCombat,0x6769D86f9C430f5AC6d9c861a0173613F1C5544C,9.0 +574.0,DUCKER-01A7,DUCKER,Duckereum,0xa52bfFAD02B1FE3f86A543a4e81962d3B3bB01A7,18.0 +575.0,HKBY-d7D4,HKBY,Huckleberry Inu,0x645C52CF6c5C58AA4064494f5b5FFE9C7EC0d7D4,18.0 +576.0,LSD-d9fd,LSD,Liquid Staking Derivatives,0x97D4F49eEb0E2c96d5EbAA71AB8418e563ecd9fd,9.0 +577.0,SHIB0.5-dE1b,SHIB0.5,Half Shiba Inu,0x8Eb94A06b4716093DBfE335cbdb098DEb2dcdE1b,18.0 +578.0,XDB-9d27,XDB,digitalbits,0xB9EefC4b0d472A44be93970254Df4f4016569d27,7.0 +579.0,DC-9180,DC,Dogechain Token,0x7B4328c127B85369D9f82ca0503B000D09CF9180,18.0 +580.0,Shibmerican-5609,Shibmerican,Shibmerican | t.me/Shibmerican,0x440238CC07186aDEA6653a2E8cb9a24737615609,9.0 +581.0,HONR-79B8,HONR,DeltaFlare,0x39Ea10E507720783C27eDd5F96Bf2D6e199579B8,18.0 +582.0,NIIFI-BCb8,NIIFI,NiiFiToken,0x852e5427c86A3b46DD25e5FE027bb15f53c4BCb8,15.0 +583.0,LETSGO-BB95,LETSGO,Lets Go Brandon,0xA6586E19EF681b1AC0ED3D46413D199a555dBB95,18.0 +584.0,FEG-C945,FEG,FEGtoken,0x389999216860AB8E0175387A0c90E5c52522C945,9.0 +585.0,FEG-2A11,FEG,FEG Token,0xbededDf2eF49E87037c4fb2cA34d1FF3D3992A11,18.0 +586.0,DDOS-02C3,DDOS,Disbalancer,0x7FBEC0bb6A7152e77C30D005B5D49cbC08A602C3,18.0 +587.0,OVR-3697,OVR,OVR,0x21BfBDa47A0B4B5b1248c767Ee49F7caA9B23697,18.0 +588.0,DOGPAD-9C1c,DOGPAD,DogPad,0x6f3277ad0782a7DA3eb676b85a8346A100BF9C1c,18.0 +589.0,LTO-294D,LTO,LTO Network Token,0x3DB6Ba6ab6F95efed1a6E794caD492fAAabF294D,8.0 +590.0,IONX-4217,IONX,Charged Particles - IONX,0x02D3A27Ac3f55d5D91Fb0f52759842696a864217,18.0 +591.0,FOTO-C49F,FOTO,FOTO,0xF6eA0E60cee427B90aA36f327eE61d1d4CABC49F,18.0 +592.0,QMALL-2198,QMALL,Qmall Token,0x2217e5921B7edfB4BB193a6228459974010D2198,18.0 +593.0,WAGMIGAMES-00F0,WAGMIGAMES,WAGMI GAMES,0x3B604747ad1720C01ded0455728b62c0d2F100F0,18.0 +594.0,KINE-F05D,KINE,Kine Governance Token,0xCbfef8fdd706cde6F208460f2Bf39Aa9c785F05D,18.0 +595.0,FXF-0f12,FXF,Finxflo,0x8a40c222996f9F3431f63Bf80244C36822060f12,18.0 +596.0,SAN-f098,SAN,SANtiment network token,0x7C5A0CE9267ED19B22F8cae653F198e3E8daf098,18.0 +597.0,⚗️-b7aB,⚗️,Alchemist,0x88ACDd2a6425c3FaAE4Bc9650Fd7E27e0Bebb7aB,18.0 +598.0,SHIBDAO-b9A8,SHIBDAO,Shibarium DAO,0xB197a6Fdd8AB825332eDEbA1AB5C4D1Bf97fb9A8,18.0 +599.0,XP-b2Ac,XP,PolkaFantasy,0x948c70Dc6169Bfb10028FdBE96cbC72E9562b2Ac,18.0 +600.0,$WEAPON-762d,$WEAPON,Megaweapon,0x0b8057C3Cc676C329c25C1d0Cd27776efA73762d,9.0 +601.0,LAIKA-EC0b,LAIKA,LAIKA,0x77f9CF0bd8C500CfFdF420e72343893aeCC2EC0b,18.0 +602.0,IMX-4a00,IMX,Impermax,0x7b35Ce522CB72e4077BaeB96Cb923A5529764a00,18.0 +603.0,STREAMERINU-259a,STREAMERINU,Streamer Inu,0x0e8D2EB7D6bDF28393c25a1966385Ad32Ff0259a,18.0 +604.0,BFLY-c063,BFLY,Butterfly Protocol Governance Token,0xf680429328caaaCabee69b7A9FdB21a71419c063,18.0 +605.0,SUKU-E4d7,SUKU,SUKU,0x0763fdCCF1aE541A5961815C0872A8c5Bc6DE4d7,18.0 +606.0,CUDOS-dB35,CUDOS,CudosToken,0x817bbDbC3e8A1204f3691d14bB44992841e3dB35,18.0 +607.0,SASHIMI-64c2,SASHIMI,SashimiToken,0xC28E27870558cF22ADD83540d2126da2e4b464c2,18.0 +608.0,AAG-8F97,AAG,AAG,0x5ba19d656B65f1684cFea4Af428C23B9f3628F97,18.0 +609.0,dogep-80b9,dogep,Doge Protocol,0xE7eaec9Bca79d537539C00C58Ae93117fB7280b9,18.0 +610.0,STRP-ADc9,STRP,Strips Token,0x97872EAfd79940C7b24f7BCc1EADb1457347ADc9,18.0 +611.0,STA-eED1,STA,Statera,0xa7DE087329BFcda5639247F96140f9DAbe3DeED1,18.0 +612.0,KIBSHI-2361,KIBSHI,KiboShib,0x02e7F808990638E9e67E1f00313037EDe2362361,18.0 +613.0,Ichigo-78B5,Ichigo,Ichigo Inu,0x8254C1C134436F74047F79eaAeA97E3324eF78B5,9.0 +614.0,PACK-1Ab2,PACK,Pack,0xb186035490C8602EaD853EC98bE05E3461521Ab2,18.0 +615.0,SWFTC-fC1e,SWFTC,SwftCoin,0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e,8.0 +616.0,BZN-35d4,BZN,Benzene,0x6524B87960c2d573AE514fd4181777E7842435d4,18.0 +617.0,LOOT-8335,LOOT,LOOT Token,0x721A1B990699eE9D90b6327FaaD0A3E840aE8335,18.0 +618.0,kitty-52a2,kitty,Kitty Inu,0x044727e50ff30DB57fad06Ff4F5846eAb5eA52a2,9.0 +619.0,CVC-4E45,CVC,Civic,0x41e5560054824eA6B0732E656E3Ad64E20e94E45,8.0 +620.0,TOON-EF02,TOON,PontoonToken,0xaeE433ADeBe0FBB88dAa47eF0C1A513CaA52EF02,18.0 +621.0,FLONA-524A,FLONA,FLONA,0xEf27252B567F6B3fe35b34A85bE322917abE524A,18.0 +622.0,BOTZ-2F80,BOTZ,Beep,0x3475fC1D0d2e03761C19D5C7601fe476f0E02F80,18.0 +623.0,TRXC-7d8e,TRXC,TRONCLASSIC,0xaD5Fe5B0B8eC8fF4565204990E4405B2Da117d8e,0.0 +624.0,PPDEX-0cf7,PPDEX,Pepedex,0xf1F508c7C9f0d1b15a76fbA564eEf2d956220cf7,18.0 +625.0,DEPAY-55eb,DEPAY,DePay,0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb,18.0 +626.0,FABRIC-e523,FABRIC,MetaFabric,0x8c6Fa66c21aE3fC435790E451946a9Ea82E6e523,18.0 +627.0,LUNA-1ea9,LUNA,Wrapped LUNA Token,0xd2877702675e6cEb975b4A1dFf9fb7BAF4C91ea9,18.0 +628.0,GHST-1550,GHST,Aavegotchi GHST Token,0x3F382DbD960E3a9bbCeaE22651E88158d2791550,18.0 +629.0,CAPS-15e2,CAPS,Capsule Coin,0x03Be5C903c727Ee2C8C4e9bc0AcC860Cca4715e2,18.0 +630.0,MCONTENT-b3F4,MCONTENT,MContent,0xD3c51de3E6DD9b53D7f37699AFB3EE3Bf9B9b3F4,6.0 +631.0,QUID-B6D4,QUID,Quid Ika,0x9d38F670D15C14716BE1F109a4F453E966A2B6D4,9.0 +632.0,SPELLFIRE-7C91,SPELLFIRE,SPELLFIRE Token,0x3A0b022f32b3191D44E5847da12dc0B63fb07C91,18.0 +633.0,GEO-6750,GEO,GeoDB Coin,0x147faF8De9d8D8DAAE129B187F0D02D819126750,18.0 +634.0,BPRO-5f61,BPRO,B.Protocol,0xbbBBBBB5AA847A2003fbC6b5C16DF0Bd1E725f61,18.0 +635.0,RBIF-5ceB,RBIF,ROBO INU,0x7B32e70e8D73ac87c1B342e063528B2930b15ceB,9.0 +636.0,BITE-43BA,BITE,Bite,0x34103e1190b824a44C6a638438d425cbA21143BA,18.0 +637.0,QOM-4974,QOM,Shiba Predator,0xa71d0588EAf47f12B13cF8eC750430d21DF04974,18.0 +638.0,SMTY-3283,SMTY,SMTYToken,0xbF776e4FCa664D791C4Ee3A71e2722990E003283,18.0 +639.0,PIKA-3578,PIKA,PIKA,0x60F5672A271C7E39E787427A18353ba59A4A3578,18.0 +640.0,PUSH-EEEE,PUSH,Ethereum Push Notification Service,0xf418588522d5dd018b425E472991E52EBBeEEEEE,18.0 +641.0,$FLUFFY-4c31,$FLUFFY,FLUFFY TOKEN,0xc2a2E9B87b37938D934Fd51CfEC0C5Fd5cB14c31,18.0 +642.0,ibETH-9c7A,ibETH,Interest Bearing ETH,0x67B66C99D3Eb37Fa76Aa3Ed1ff33E8e39F0b9c7A,18.0 +643.0,GEN-Addf,GEN,DAOstack,0x543Ff227F64Aa17eA132Bf9886cAb5DB55DCAddf,18.0 +644.0,$VXON-67b3,$VXON,VoxNET,0x048Aa6E69D5117BD665aF4128383a6982B8367b3,4.0 +645.0,ETHM-3794,ETHM,Ethereum Meta,0xFD957F21bd95E723645C07C48a2d8ACB8Ffb3794,18.0 +646.0,ITGR-Bc98,ITGR,Integral,0xD502F487e1841Fdc805130e13eae80c61186Bc98,18.0 +647.0,MUNCH-a301,MUNCH,MUNCH Token,0x944eeE930933BE5E23b690c8589021Ec8619a301,9.0 +648.0,BabyFloki-f956,BabyFloki,BabyFloki,0xdF35988d795d90711e785B488Bb2127692e6f956,9.0 +649.0,RBX-3299,RBX,RBX,0x8254e26e453EB5aBd29B3c37AC9E8Da32E5d3299,18.0 +650.0,ZEON-0532,ZEON,ZEON,0xE5B826Ca2Ca02F09c1725e9bd98d9a8874C30532,18.0 +651.0,ALPHA-940B,ALPHA,Alpha,0x138C2F1123cF3f82E4596d097c118eAc6684940B,18.0 +652.0,RAC-a3e9,RAC,RAC,0xc22B30E4cce6b78aaaADae91E44E73593929a3e9,18.0 +653.0,SPROUT-219E,SPROUT,SPROUT,0x9b8e9d523D1D6bC8EB209301c82C7D64D10b219E,18.0 +654.0,PNT-AAeD,PNT,pNetwork Token,0x89Ab32156e46F46D02ade3FEcbe5Fc4243B9AAeD,18.0 +655.0,DGMV-960c,DGMV,DigiMetaverse,0x8EEdEFe828A0f16C8fc80e46a87Bc0f1De2d960c,18.0 +656.0,OXT-3Deb,OXT,Orchid,0x4575f41308EC1483f3d399aa9a2826d74Da13Deb,18.0 +657.0,WISE-5bd6,WISE,Wise Token,0x66a0f676479Cee1d7373f3DC2e2952778BfF5bd6,18.0 +658.0,KFT-b207,KFT,Knit Finance,0xEF53462838000184F35f7D991452e5f25110b207,18.0 +659.0,2CRZ-F3fA,2CRZ,2CrazyToken,0x2C9C19cE3b15ae77C6d80aEc3C1194Cfd6F7F3fA,18.0 +660.0,METADOGE-62eD,METADOGE,Meta Doge,0x8530b66ca3DDf50E0447eae8aD7eA7d5e62762eD,18.0 +661.0,YIELD-db9B,YIELD,Yield Protocol,0xa8B61CfF52564758A204F841E636265bEBC8db9B,18.0 +662.0,٨-91e6,٨,Dentacoin,0x08d32b0da63e2C3bcF8019c9c5d849d7a9d791e6,0.0 +663.0,UMX-bC15,UMX,https://unimex.network/,0x10Be9a8dAe441d276a5027936c3aADEd2d82bC15,18.0 +664.0,PINU-9670,PINU,Piccolo Inu,0x3a1311B8C404629E38f61D566cefEFed083B9670,9.0 +665.0,FYT-8ca7,FYT,Flora Yield Token,0x77F2BE773CA0887ba2b3Ef8344C8CF13C98d8ca7,18.0 +666.0,AWC-13f4,AWC,Atomic Wallet Token,0xaD22f63404f7305e4713CcBd4F296f34770513f4,8.0 +667.0,K9-C3Fc,K9,K9,0x2bD0FB740e403B505A3146F9aC02df883Fd5C3Fc,18.0 +668.0,SHIK-5572,SHIK,SHIKOKU INU,0x24dA31e7BB182cb2cABfEF1d88db19C2AE1f5572,18.0 +669.0,TX-5Fdf,TX,Tradix,0x8954D907520532c1f0d89d42569232Fd0f995Fdf,8.0 +670.0,DNT-04ea,DNT,district0x Network Token,0x0AbdAce70D3790235af448C88547603b945604ea,18.0 +671.0,ELONONE-0aa2,ELONONE,ASTROELON,0x97b65710D03E12775189F0D113202cc1443b0aa2,9.0 +672.0,DNS-d73D,DNS,Dot Names,0x6C5Aa4244113E77414386630B7F963dbE1B4d73D,18.0 +673.0,ZOGI-2A0C,ZOGI,Zogi,0x7e80e4d7d5725499791CF8b17A4586F1f0672A0C,18.0 +674.0,ePING-8E47,ePING,ePING,0xC7B89491Bb148551547837ea6ccB4Bb5144d8E47,9.0 +675.0,PERI-8492,PERI,Peri Finance Token,0x5d30aD9C6374Bf925D0A75454fa327AACf778492,18.0 +676.0,EJS-79C2,EJS,Enjinstarter,0x96610186F3ab8d73EBEe1CF950C750f3B1Fb79C2,18.0 +677.0,KOYO-c9d4,KOYO,Yofune Nushi,0x9dAeF41E08Bc88183572b03796C96a7ace1Ec9d4,18.0 +678.0,REP-E862,REP,Reputation,0x1985365e9f78359a9B6AD760e32412f4a445E862,18.0 +679.0,F9-CC1F,F9,Falcon 9,0x38A94e92A19E970c144DEd0B2DD47278CA11CC1F,9.0 +680.0,CHR-bAA2,CHR,Chroma,0x8A2279d4A90B6fe1C4B30fa660cC9f926797bAA2,6.0 +681.0,YLD-6F48,YLD,Yield,0xF94b5C5651c888d928439aB6514B93944eEE6F48,18.0 +682.0,ANGEL-d5A1,ANGEL,Angel,0x6C7B97c7e09E790D161769a52F155125FAc6d5A1,18.0 +683.0,CPTINU-6971,CPTINU,Captain Inu,0x7Cca2e1c9B0519f52029467914A15E782BF66971,18.0 +684.0,PSWAP-21BB,PSWAP,Polkaswap,0x519C1001D550C0a1DaE7d1fC220f7d14c2A521BB,18.0 +685.0,BOXA-0110,BOXA,BOXA,0x7662c015D845EF487fDe32cb884653bE9c9E0110,9.0 +686.0,MINER-f016,MINER,Meta Miner,0x2B645A57e82123796c3EA7d78DE27c3e3ff7f016,18.0 +687.0,Rhllor-7238,Rhllor,Token of Fire,0x90E2Fa98DfC518317600Dd3DC571DE8D071a7238,9.0 +688.0,FVT-5e32,FVT,Finance.Vote Token,0x45080a6531d671DDFf20DB42f93792a489685e32,18.0 +689.0,DRC-5Ef8,DRC,Dracula Token,0xb78B3320493a4EFaa1028130C5Ba26f0B6085Ef8,18.0 +690.0,BTSG-54A9,BTSG,BitSong,0x05079687D35b93538cbd59fe5596380cae9054A9,18.0 +691.0,ZOOT-926c,ZOOT,Zoo Token,0x1341A2257fa7b770420Ef70616f888056f90926c,9.0 +692.0,CORX-CF97,CORX,CorionX utility token,0x26a604DFFE3ddaB3BEE816097F81d3C4a2A4CF97,8.0 +693.0,CRE-478e,CRE,CarryToken,0x115eC79F1de567eC68B7AE7eDA501b406626478e,18.0 +694.0,VLT-4d11,VLT,Bankroll Vault,0x6b785a0322126826d8226d77e173d75DAfb84d11,18.0 +695.0,STND-999d,STND,Standard,0x9040e237C3bF18347bb00957Dc22167D0f2b999d,18.0 +696.0,FLOKI-6a2E,FLOKI,FLOKI,0xcf0C122c6b73ff809C693DB761e7BaeBe62b6a2E,9.0 +697.0,UBX-09f3,UBX,UBX,0xF5B5eFc906513b4344EbAbCF47A04901f99F09f3,0.0 +698.0,LIT-46B2,LIT,LITION,0x763Fa6806e1acf68130D2D0f0df754C93cC546B2,18.0 +699.0,DODI-7665,DODI,DoubleDice Token,0x4E08F03079c5CD3083eA331Ec61bCC87538B7665,18.0 +700.0,CWS-33e0,CWS,Crowns,0xaC0104Cca91D167873B8601d2e71EB3D4D8c33e0,18.0 +701.0,XTK-AdEB,XTK,xToken,0x7F3EDcdD180Dbe4819Bd98FeE8929b5cEdB3AdEB,18.0 +702.0,NOONE-f0cf,NOONE,No one,0x296233E84c1D7bfF11121BF6D60f0FFA39C3f0cf,9.0 +703.0,PROXY-fF29,PROXY,PROXY,0x82089a9c7c4a07352F7433fBce1D4Ee9a722fF29,9.0 +704.0,ORD-E4Ec,ORD,ordinex,0xBe00734799A67a62Af2819825580318aC1B1E4Ec,18.0 +705.0,ARES-d523,ARES,Ares Protocol,0x358AA737e033F34df7c54306960a38d09AaBd523,18.0 +706.0,MNY-586f,MNY,MoonieNFT Token,0xA6F7645ed967FAF708A614a2fcA8D4790138586f,18.0 +707.0,UPP-f652,UPP,SENTINEL PROTOCOL,0xC86D054809623432210c107af2e3F619DcFbf652,18.0 +708.0,VIDYA-2C30,VIDYA,Vidya,0x3D3D35bb9bEC23b06Ca00fe472b50E7A4c692C30,18.0 +709.0,DXY-E9dB,DXY,DXY.FINANCE,0x39Fa206c1648944f92E8F7B626e1CBdf78d7E9dB,18.0 +710.0,:ZKT:-3966,:ZKT:,ZkTsunami,0x76fcA1adb104770B38581B64d55e67fA5A0f3966,9.0 +711.0,MONGOOSE-f156,MONGOOSE,Mongoose,0xa1817B6d8D890F3943b61648992730373B71f156,9.0 +712.0,PAN-7c44,PAN,Panvala pan,0xD56daC73A4d6766464b38ec6D91eB45Ce7457c44,18.0 +713.0,MCB-Ce42,MCB,MCDEX Token,0x4e352cF164E64ADCBad318C3a1e222E9EBa4Ce42,18.0 +714.0,AGFI-451f,AGFI,Aggregated Finance,0x4D0F56d728c5232ab07fAA0BdcbA23670A35451f,9.0 +715.0,DOKE-A128,DOKE,Doke Inu,0x517ABf1fCDBD76BC75B532683ada9113E313A128,9.0 +716.0,COC-3caf,COC,CocktailBar,0x22B6C31c2bEB8f2d0d5373146Eed41Ab9eDe3caf,8.0 +717.0,RESTAURANTS-D491,RESTAURANTS,Devour Token,0xDffC63f92c939deB112D88735ade3B4D21B6D491,18.0 +718.0,cUSDC-7563,cUSDC,Compound USD Coin,0x39AA39c021dfbaE8faC545936693aC917d5E7563,8.0 +719.0,FAI-87F5,FAI,Fairum Community,0xCda2f16C6Aa895D533506B426AFF827b709c87F5,18.0 +720.0,Skey-D442,Skey,SmartKey,0x06A01a4d579479Dd5D884EBf61A31727A3d8D442,8.0 +721.0,UTK-F99c,UTK,Utrust Token,0xdc9Ac3C20D1ed0B540dF9b1feDC10039Df13F99c,18.0 +722.0,GN-d044,GN,GN,0xc5019E129b75D380d3d837B8e609dEc6c8f5d044,9.0 +723.0,TUSD-b376,TUSD,TrueUSD,0x0000000000085d4780B73119b644AE5ecd22b376,18.0 +724.0,SVX-a13C,SVX,Savix,0xc434b27736A6882D33094d34792999702860a13C,9.0 +725.0,DRCT-07Ca,DRCT,Direct,0x9d561d63375672ABd02119b9Bc4FB90EB9E307Ca,18.0 +726.0,$Dwagon-294a,$Dwagon,Dwagon,0xdf1A2f85F3af80E85d14DdAAB2933C8caA09294a,18.0 +727.0,CUMINU-7536,CUMINU,Cum Inu,0xd6327ce1fb9D6020E8C2c0E124A1eC23DCAb7536,18.0 +728.0,COLLAR-5486,COLLAR,Collar,0x1a16B2B93B37A7EF5cB0A4F978CeD45FE14a5486,18.0 +729.0,LMY-851f,LMY,Lunch Money,0x66fD97a78d8854fEc445cd1C80a07896B0b4851f,18.0 +730.0,EVOAI-c696,EVOAI,EvolveAI,0x6Fbc20483b53CEa47839Bb8e171Abd6D67C3c696,9.0 +731.0,SNS-19DB,SNS,Shibarium Name Service,0xEa4a2327E75252517535fd013b7C6706609819DB,18.0 +732.0,XRT-1cb7,XRT,Robonomics,0x7dE91B204C1C737bcEe6F000AAA6569Cf7061cb7,9.0 +733.0,SUPER-0A55,SUPER,SuperFarm,0xe53EC727dbDEB9E2d5456c3be40cFF031AB40A55,18.0 +734.0,MATH-DD30,MATH,MATH Token,0x08d967bb0134F2d07f7cfb6E246680c53927DD30,18.0 +735.0,METR-03f0,METR,Metria,0x405CE8B2eAeeA7D4Ba5Fc160848cB2A6569e03f0,18.0 +736.0,PARA-EF1E,PARA,ParaWerx,0xD16fd95D949F996e3808EeEa0e3881C59E76EF1E,18.0 +737.0,INUINU-eB5f,INUINU,Inu Inu,0xC6bDb96E29c38DC43f014Eed44dE4106A6A8eB5f,18.0 +738.0,JPYC-cD53,JPYC,JPY Coin,0x2370f9d504c7a6E775bf6E14B3F12846b594cD53,18.0 +739.0,GS-3112,GS,Gen Shards,0xe0B9a2C3E9f40CF74B2C7F591B2b0CCa055c3112,18.0 +740.0,OHMI-533C,OHMI,One Hundred Million Inu,0x4159862bcF6B4393A80550b1ed03DFfa6f90533C,18.0 +741.0,WHALE-38e0,WHALE,WHALE,0x9355372396e3F6daF13359B7b607a3374cc638e0,4.0 +742.0,INJ-ca30,INJ,Injective Token,0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30,18.0 +743.0,CyOp-2f31,CyOp,CyOp | Protocol,0xddaC9C604BA6Bc4ACEc0FBB485B83f390ECF2f31,9.0 +744.0,ABYSS-8DA6,ABYSS,ABYSS,0x0E8d6b471e332F140e7d9dbB99E5E3822F728DA6,18.0 +745.0,$SHIBP-9235,$SHIBP,Shibarium Pad,0xC90906d45046059221e908de5Cc8fcfaCA859235,18.0 +746.0,$EVCoin-6E11,$EVCoin,EverestCoin,0x06fCe0DAB5b26e503E1C4Db48aa165DcaAAa6E11,9.0 +747.0,mUSD-35a5,mUSD,mStable USD,0xe2f2a5C287993345a840Db3B0845fbC70f5935a5,18.0 +748.0,BCDT-62a5,BCDT,Blockchain Certified Data Token,0xAcfa209Fb73bF3Dd5bBfb1101B9Bc999C49062a5,18.0 +749.0,BTE-80Ef,BTE,Betero,0x73B708E84837FFCcDE2933e3A1531fe61D5e80Ef,18.0 +750.0,WLEO-3998,WLEO,Wrapped LEO,0x73A9fb46e228628f8f9BB9004eCa4f4F529D3998,3.0 +751.0,ARTX-7710,ARTX,ARTX Token,0x741b0428Efdf4372A8DF6FB54B018dB5e5aB7710,18.0 +752.0,WOOL-e525,WOOL,WOOL,0x8355DBE8B0e275ABAd27eB843F3eaF3FC855e525,18.0 +753.0,DWEB-285F,DWEB,DecentraWeb,0xE7f58A92476056627f9FdB92286778aBd83b285F,18.0 +754.0,APEFI-278D,APEFI,Ape Finance,0x4332f8A38f14BD3D8D1553aF27D7c7Ac6C27278D,18.0 +755.0,RADAR-DEa8,RADAR,Radar,0xf9FBE825BFB2bF3E387af0Dc18caC8d87F29DEa8,18.0 +756.0,AIDI-d1b8,AIDI,Aidi Inu,0xdA1E53E088023Fe4D1DC5a418581748f52CBd1b8,9.0 +757.0,FROGEX-Def1,FROGEX,FrogeX,0x5fA54fdDF1870C344DbFaBb37dFab8700Ec0Def1,9.0 +758.0,PXT-B262,PXT,Populous XBRL token,0xc14830E53aA344E8c14603A91229A0b925b0B262,8.0 +759.0,BLAST-2Eda,BLAST,SafeBLAST,0x614D7f40701132E25fe6fc17801Fbd34212d2Eda,9.0 +760.0,ZIG-4f01,ZIG,ZigCoin,0xb2617246d0c6c0087f18703d576831899ca94f01,18.0 +761.0,VEMP-6eEC,VEMP,vEmpire Gamer Token,0xcFEB09C3c5F0f78aD72166D55f9e6E9A60e96eEC,18.0 +762.0,MC-E5d6,MC,Merit Circle,0x949D48EcA67b17269629c7194F4b727d4Ef9E5d6,18.0 +763.0,DDDD-48E0,DDDD,People's Punk,0x8cA9a0fbd8DB501F013F2e9e33a1B9dC129A48E0,18.0 +764.0,DG-588D,DG,Decentral Games,0x4b520c812E8430659FC9f12f6d0c39026C83588D,18.0 +765.0,CULT-5A13,CULT,Cult DAO,0xf0f9D895aCa5c8678f706FB8216fa22957685A13,18.0 +766.0,SEFI-B8Ac,SEFI,Secret Finance,0x773258b03c730F84aF10dFcB1BfAa7487558B8Ac,6.0 +767.0,BIGCAP-6181,BIGCAP,BIGCAP,0xE29F1241E6015A4949cb7E3f07234BA794006181,18.0 +768.0,RYOSHI-618e,RYOSHI,Ryoshis Vision,0x777E2ae845272a2F540ebf6a3D03734A5a8f618e,18.0 +769.0,POS32-2aB0,POS32,PoS-32,0x8eb5bD8c9Ab0F8ad28e94693F3c889F490bE2aB0,18.0 +770.0,JIZZ-a352,JIZZ,JizzRocket,0x8b937AF714aC7E2129bD33D93641F52b665Ca352,18.0 +771.0,USHIBA-7c9A,USHIBA,American Shiba,0xB893A8049f250b57eFA8C62D51527a22404D7c9A,9.0 +772.0,PRQ-d7D2,PRQ,Parsiq Token,0x362bc847A3a9637d3af6624EeC853618a43ed7D2,18.0 +773.0,NBNG-8ea2,NBNG,NOBUNAGA,0x9275e8386A5BDdA160c0e621e9A6067b8fd88ea2,18.0 +774.0,LST-4405,LST,Lendroid Support Token,0x4de2573e27E648607B50e1Cfff921A33E4A34405,18.0 +775.0,LDN-a158,LDN,Ludena Protocol,0xb29663Aa4E2e81e425294193616c1B102B70a158,18.0 +776.0,PIE-e842,PIE,DeFiPIE Token,0x607C794cDa77efB21F8848B7910ecf27451Ae842,18.0 +777.0,INUS-8c00,INUS,MultiPlanetary Inus,0x39207D2E2fEEF178FBdA8083914554C59D9f8c00,18.0 +778.0,HVN-2D9D,HVN,Hive Project Token,0xC0Eb85285d83217CD7c891702bcbC0FC401E2D9D,8.0 +779.0,QUAI-5c89,QUAI,QUAI,0x40821CD074dfeCb1524286923bC69315075b5c89,18.0 +780.0,HUSD-87e1,HUSD,HUSD,0xdF574c24545E5FfEcb9a659c229253D4111d87e1,8.0 +781.0,MEVFree-498a,MEVFree,MEVFree,0x1936C91190E901B7dD55229A574AE22B58Ff498a,18.0 +782.0,CORE-23D7,CORE,cVault.finance,0x62359Ed7505Efc61FF1D56fEF82158CcaffA23D7,18.0 +783.0,MOONS-6A56,MOONS,MoonTools.io,0x260e63d91fCCC499606BAe3FE945c4ed1CF56A56,18.0 +784.0,DOMI-f83F,DOMI,Domi,0x45C2F8c9B4c0bDC76200448cc26C48ab6ffef83F,18.0 +785.0,UNDEAD-7947,UNDEAD,Undead Blocks,0x310C8F00b9dE3c31Ab95ea68feb6C877538f7947,18.0 +786.0,KIRO-b137,KIRO,Kirobo,0xB1191F691A355b43542Bea9B8847bc73e7Abb137,18.0 +787.0,KISHIMOTO-1dB5,KISHIMOTO,Kishimoto,0xAE36155a55F04a696b8362777620027882B31dB5,9.0 +788.0,GEEQ-1b78,GEEQ,Geeq,0x6B9f031D718dDed0d681c20cB754F97b3BB81b78,18.0 +789.0,DEV-5b26,DEV,Dev,0x5cAf454Ba92e6F2c929DF14667Ee360eD9fD5b26,18.0 +790.0,BASAN-b2bF,BASAN,BASAN,0x970cf867Ca0530a989f222bE01FdD67C1ab5b2bF,18.0 +791.0,BREED-702e,BREED,BreederDAO,0x94E9EB8b5Ab9fd6B9ea3169D55FFAde62a01702e,18.0 +792.0,MATTER-FEBe,MATTER,Antimatter.Finance Governance Token,0x9B99CcA871Be05119B2012fd4474731dd653FEBe,18.0 +793.0,M87-B462,M87,MESSIER,0x8AF5FedC0f263841C18F31D9DbCC97A47e1aB462,18.0 +794.0,MOETA-a55B,MOETA,Moeta,0x238A1FcC2F65ed50c1e1797cF5857CBA3E82a55B,9.0 +795.0,PRT-2892,PRT,Portion Token,0x6D0F5149c502faf215C89ab306ec3E50b15e2892,18.0 +796.0,UMAD-326f,UMAD,UMAD,0x31c2415c946928e9FD1Af83cdFA38d3eDBD4326f,8.0 +797.0,UNCX-B1D0,UNCX,UniCrypt,0xaDB2437e6F65682B85F814fBc12FeC0508A7B1D0,18.0 +798.0,CATE-136c,CATE,Cash Tech,0xa42F266684ac2aD6ecb00df95b1c76EFbb6f136c,18.0 +799.0,B20-EfD8,B20,B.20,0xc4De189Abf94c57f396bD4c52ab13b954FebEfD8,18.0 +800.0,OGN-Ae26,OGN,OriginToken,0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26,18.0 +801.0,BCMC-93F9,BCMC,Blockchain Monster Coin,0x2BA8349123de45E931a8C8264c332E6e9CF593F9,18.0 +802.0,LCS-dBA8,LCS,LocalCoinSwap Cryptoshare,0xAA19961b6B858D9F18a115f25aa1D98ABc1fdBA8,18.0 +803.0,TERRAFORM-f1E4,TERRAFORM,Terraform DAO,0x9C5673002d854de18e9F6Feb7f9825F88c5bf1E4,18.0 +804.0,Ly-99F2,Ly,Lilly Finance,0x8686525d6627A25C68De82c228448f43c97999F2,9.0 +805.0,UST-1acD,UST,Wrapped UST Token,0xa47c8bf37f92aBed4A126BDA807A7b7498661acD,18.0 +806.0,LIEN-557E,LIEN,lien,0xaB37e1358b639Fd877f015027Bb62d3ddAa7557E,8.0 +807.0,SHKOOBY-11fb,SHKOOBY,SHKOOBY INU,0x29A5c1Db7321C5c9EaE57F9366eE8eef00cA11fb,18.0 +808.0,LON-c952,LON,Tokenlon,0x0000000000095413afC295d19EDeb1Ad7B71c952,18.0 +809.0,OKB-a86c,OKB,OKB,0x75231F58b43240C9718Dd58B4967c5114342a86c,18.0 +810.0,APY-6611,APY,APY Governance Token,0x95a4492F028aa1fd432Ea71146b433E7B4446611,18.0 +811.0,CIV-361d,CIV,Civilization,0x37fE0f067FA808fFBDd12891C0858532CFE7361d,18.0 +812.0,0NE-f4C2,0NE,Stone,0x73A83269b9bbAFC427E76Be0A2C1a1db2a26f4C2,18.0 +813.0,YAXIS-FE73,YAXIS,yAxis V2,0x0adA190c81b814548ddC2F6AdC4a689ce7C1FE73,18.0 +814.0,TOMOE-FaBa,TOMOE,TomoChain,0x05D3606d5c81EB9b7B18530995eC9B29da05FaBa,18.0 +815.0,MANDOX-86B6,MANDOX,Mandox,0x33D203FA03bb30b133De0fE2d6533C268bA286B6,9.0 +816.0,Kabosu Inu-0E55,Kabosu Inu,Kabosu Inu,0xD34A2051aC17BDD44D76AA84EA7Fcf8419130E55,18.0 +817.0,PPBLZ-97b8,PPBLZ,Pepemon,0x4D2eE5DAe46C86DA2FF521F7657dad98834f97b8,18.0 +818.0,RBXSamurai-c647,RBXSamurai,RBXS,0xA9639160481b625ba43677bE753E0A70bf58c647,18.0 +819.0,QUIDD-7c07,QUIDD,QUIDD,0xDA9FDAb21bC4A5811134A6E0Ba6CA06624e67c07,18.0 +820.0,KRL-DAC0,KRL,Kryll,0x464eBE77c293E473B48cFe96dDCf88fcF7bFDAC0,18.0 +821.0,OJA-291A,OJA,Ojamu Token,0x0aA7eFE4945Db24d95cA6E117BBa65Ed326e291A,18.0 +822.0,BAO-61C1,BAO,BaoToken,0x374CB8C27130E2c9E04F44303f3c8351B9De61C1,18.0 +823.0,ISP-9014,ISP,Ispolink Token,0xC8807f0f5BA3fa45FfBdc66928d71c5289249014,18.0 +824.0,DHT-Fa84,DHT,dHedge DAO Token,0xca1207647Ff814039530D7d35df0e1Dd2e91Fa84,18.0 +825.0,MUST-288f,MUST,Must,0x9C78EE466D6Cb57A4d01Fd887D2b5dFb2D46288f,18.0 +826.0,Dione-D697,Dione,Dione,0x89B69F2d1adffA9A253d40840B6Baa7fC903D697,9.0 +827.0,CITADEL-C1BB,CITADEL,The Citadel,0x6caDf6ABBCeb53e631C288778DAAcF125481C1BB,18.0 +828.0,TWT-F5cF,TWT,TwitFi Token,0xd4Df22556e07148e591B4c7b4f555a17188CF5cF,9.0 +829.0,BANK-A198,BANK,Bankless Token,0x2d94AA3e47d9D5024503Ca8491fcE9A2fB4DA198,18.0 +830.0,SYNC-FD32,SYNC,SYNC,0xB6ff96B8A8d214544Ca0dBc9B33f7AD6503eFD32,18.0 +831.0,MOPS-D967,MOPS,Mops,0x602f65BB8B8098Ad804E99DB6760Fd36208cD967,18.0 +832.0,NPXS-e5B3,NPXS,Pundi X Token,0xA15C7Ebe1f07CaF6bFF097D8a589fb8AC49Ae5B3,18.0 +833.0,MOOV-56a7,MOOV,dotmoovs,0x24EC2Ca132abf8F6f8a6E24A1B97943e31f256a7,18.0 +834.0,DHV-4b2A,DHV,DeHive.finance,0x62Dc4817588d53a056cBbD18231d91ffCcd34b2A,18.0 +835.0,RGT-C623,RGT,Rari Governance Token,0xD291E7a03283640FDc51b121aC401383A46cC623,18.0 +836.0,SLP-Aa25,SLP,Smooth Love Potion,0xCC8Fa225D80b9c7D42F96e9570156c65D6cAAa25,0.0 +837.0,POOF-f57A,POOF,Poof Token,0x888ceA2BBDD5D47a4032cf63668D7525C74af57A,18.0 +838.0,ONG-4dAe,ONG,onG,0xd341d1680Eeee3255b8C4c75bCCE7EB57f144dAe,18.0 +839.0,ARNC-8EE4,ARNC,Arnoya classic,0x7495e5Cc8F27e0bd5bD4cb86d17F0D841cA58EE4,18.0 +840.0,TKP-AcaC,TKP,TOKPIE,0xd31695a1d35E489252CE57b129FD4b1B05E6AcaC,18.0 +841.0,PRARE-C796,PRARE,PolkaRareToken,0x2C2f7e7C5604D162d75641256b80F1Bf6f4dC796,18.0 +842.0,AUTH-bD80,AUTH,Authencity.,0x0107C4aAa31940eF88760aCb1F32424CA8d8bD80,8.0 +843.0,Shiryo-Inu-8F02,Shiryo-Inu,Shiryo-Inu,0x1E2F15302B90EddE696593607b6bD444B64e8F02,9.0 +844.0,CPU-6626,CPU,CPUcoin,0x6D52DfeFb16BB9Cdc78bfCA09061e44574886626,18.0 +845.0,ROKO-FF98,ROKO,ROKO,0x6f222E04F6c53Cc688FfB0Abe7206aAc66A8FF98,18.0 +846.0,LEND-ab03,LEND,EthLend Token,0x80fB784B7eD66730e8b1DBd9820aFD29931aab03,18.0 +847.0,POCHI-4d90,POCHI,Pochi Inu,0x8eB1779A32678452eB273A22d413207299904d90,18.0 +848.0,PP-010B,PP,Pension Plan,0xf14b9ADF84812bA463799357f4dc716b4384010B,8.0 +849.0,CCv2-8F11,CCv2,CryptoCart V2,0x612E1726435fE38dD49A0B35b4065B56f49c8F11,18.0 +850.0,CUT-Ab9e,CUT,Ctrl-X,0x135783B60cf5d71DAFF7a377f9eb7dB8D2dEAb9e,18.0 +851.0,CURRY-de77,CURRY,CURRYSWAP,0xc2D3AE29c8309c14994D02Ecd228cf86f3Efde77,18.0 +852.0,HAKA-2210,HAKA,TribeOne,0xD85AD783cc94bd04196a13DC042A3054a9B52210,18.0 +853.0,NRG-2069,NRG,Energi,0x1416946162B1C2c871A73B07E932D2fB6C932069,18.0 +854.0,XEND-4903,XEND,XEND,0xE4CFE9eAa8Cdb0942A80B7bC68fD8Ab0F6D44903,18.0 +855.0,UNO-1A77,UNO,UnoRe,0x474021845C4643113458ea4414bdb7fB74A01A77,18.0 +856.0,BAG-5726,BAG,tehBag,0x235C8EE913d93c68D2902a8e0b5a643755705726,18.0 +857.0,KUMA-3E02,KUMA,Kuma Inu,0x48C276e8d03813224bb1e55F953adB6d02FD3E02,18.0 +858.0,SAUDISHIB-e23d,SAUDISHIB,SAUDI SHIBA INU,0x34d31446a522252270b89b09016296ec4c98e23d,8.0 +859.0,DELREY-28dd,DELREY,Delrey Inu,0xfca89d55A768375Ab7cA04485A35a964BEA828dd,18.0 +860.0,SEEN-Fd33,SEEN,seen.haus,0xCa3FE04C7Ee111F0bbb02C328c699226aCf9Fd33,18.0 +861.0,SHOE-32c9,SHOE,ShoeFy,0x0fD67B4ceb9b607Ef206904eC73459c4880132c9,18.0 +862.0,HACHI-ccFe,HACHI,HACHI,0x2a7e415C169cE3a580c6F374Dc26f6Aaad1EccFe,18.0 +863.0,VOICE-C6A9,VOICE,Voice Token,0x2e2364966267B5D7D2cE6CD9A9B5bD19d9C7C6A9,18.0 +864.0,BFT-326f,BFT,BF Token,0x01fF50f8b7f74E4f00580d9596cd3D0d6d6E326f,18.0 +865.0,FUND-996b,FUND,Teh Fund,0x7d8d7c26179b7A6aebbF66A91C38ED92d5B4996b,18.0 +866.0,BONDLY-68c9,BONDLY,Bondly,0x91dFbEE3965baAEE32784c2d546B7a0C62F268c9,18.0 +867.0,SHIL-fCe1,SHIL,Shila Inu,0x20c3fa331A385b63EE39137e99d0cF2db142fCe1,18.0 +868.0,BLXM-1a08,BLXM,bloXmove Token,0x38d9eb07A7b8Df7D86F440A4A5c4a4c1a27E1a08,18.0 +869.0,COIN-a850,COIN,Coin Utility Token,0xE61fDAF474Fac07063f2234Fb9e60C1163Cfa850,18.0 +870.0,COLL-0eF3,COLL,Collateral,0x957891C11616D3E0B0A76a76fb42724C382E0eF3,18.0 +871.0,SHAKE-6189,SHAKE,SHAKE token by SpaceSwap v2,0x6006FC2a849fEdABa8330ce36F5133DE01F96189,18.0 +872.0,K21-04AF,K21,k21.kanon.art,0xB9d99C33eA2d86EC5eC6b8A4dD816EBBA64404AF,18.0 +873.0,KEANU-c952,KEANU,Keanu Inu,0x106552C11272420aAd5d7e94f8AcAb9095A6c952,9.0 +874.0,sETH-31cb,sETH,Synth sETH,0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb,18.0 +875.0,PHTK-Ae7b,PHTK,PhunToken,0x1FEE5588cb1De19c70B6aD5399152D8C643FAe7b,18.0 +876.0,LCX-fe41,LCX,LCX,0x037A54AaB062628C9Bbae1FDB1583c195585fe41,18.0 +877.0,SHIN-660b,SHIN,Shinsekai,0xa27A6FA698a63f82e559914c11C6Cd888060660b,18.0 +878.0,CMOS-2a8e,CMOS,CoinMerge OS,0x87869A9789291A6cEC99f3c3Ef2fF71fcEb12a8e,9.0 +879.0,DINGO-4614,DINGO,Dingo Token,0x1f961BCEAEF8eDF6fb2797C0293FfBDe3E994614,9.0 +880.0,IMP-6FE2,IMP,Imperial Obelisk,0x42A0D24Cb5c423EAAF926cE3984aAfF0C4ff6FE2,9.0 +881.0,LUFFY-EBd7,LUFFY,LUFFY,0x54012cDF4119DE84218F7EB90eEB87e25aE6EBd7,9.0 +882.0,BULK-9593,BULK,Bulk Token,0xa143ac515dCA260A46C742C7251eF3B268639593,18.0 +883.0,PAYT-e2E2,PAYT,PayAccept,0x8EF47555856f6Ce2E0cd7C36AeF4FAb317d2e2E2,18.0 +884.0,LOCK-9EE9,LOCK,LiquidLock,0xb48EE8F8FA3885Fc08831ff366ec8df608159EE9,18.0 +885.0,PIP-8707,PIP,Pi-Protocol,0x37613D64258c0FE09d5E53EeCb091DA5b8fA8707,18.0 +886.0,NUME-F1C3,NUME,NumisMe Token,0x34769D3e122C93547836AdDD3eb298035D68F1C3,18.0 +887.0,ZCX-8804,ZCX,ZEN Exchange Token,0xC52C326331E9Ce41F04484d3B5E5648158028804,18.0 +888.0,VISION-3996,VISION,Vision Token,0xF406F7A9046793267bc276908778B29563323996,18.0 +889.0,GenBlok-82A8,GenBlok,The Genesis Block,0x83C141Ee88c502cB9654DE93598e9F16555082A8,9.0 +890.0,wPE-881b,wPE,OPES Finance,0xd075e95423C5c4BA1E122CaE0f4CdFA19b82881b,18.0 +891.0,API3-B88a,API3,API3,0x0b38210ea11411557c13457D4dA7dC6ea731B88a,18.0 +892.0,GVT-2a0c,GVT,Gro Vault Token,0x3ADb04E127b9C0a5D36094125669d4603AC52a0c,18.0 +893.0,EXRN-6e75,EXRN,EXRP Network,0xe469c4473af82217B30CF17b10BcDb6C8c796e75,0.0 +894.0,FRY-bE69,FRY,Foundry Logistics Token,0x6c972b70c533E2E045F333Ee28b9fFb8D717bE69,18.0 +895.0,ETHY-08B5,ETHY,Ethereum Yield,0xd1AFBCCC9A2c2187ea544363B986EA0AB6EF08B5,18.0 +896.0,cBSN-B25B,cBSN,BSNcommunitynet,0x7d4B1d793239707445305D8d2456D2c735F6B25B,18.0 +897.0,NEKO-341F,NEKO,MANEKI-NEKO,0x1E9D0bB190Ac34492aa11B80D28c1C86487a341F,18.0 +898.0,VFY-e922,VFY,Venify,0x00DD5Ad8F5d9c5118BcEeb526c55eA6b2C07e922,18.0 +899.0,EGT-3170,EGT,ElonGoat,0x450E7F6e3a2f247A51b98C39297a9a5BfbDb3170,9.0 +900.0,VERA-e468,VERA,Vera,0xd7f0cC50AD69408aE58be033F4f85D2367C2e468,18.0 +901.0,BFC-Ab9c,BFC,Bifrost,0x0c7D5ae016f806603CB1782bEa29AC69471CAb9c,18.0 +902.0,YFII-aB83,YFII,YFII.finance,0xa1d0E215a23d7030842FC67cE582a6aFa3CCaB83,18.0 +903.0,TEL-790F,TEL,Telcoin,0x467Bccd9d29f223BcE8043b84E8C8B282827790F,2.0 +904.0,SFG-90dd,SFG,SafeGrow,0xA71DCaaf5ba390B1B2012323A8810fAc121F90dd,18.0 +905.0,KDOE-82C5,KDOE,Kudoe,0x5f190F9082878cA141F858c1c90B4C59fe2782C5,18.0 +906.0,PIXIA-69Ae,PIXIA,PixiaAI,0x67675239Fa58c84e75f947c14f566842Dccb69Ae,18.0 +907.0,POLI-6Db9,POLI,Polinate,0xa1a36D3537bBe375Cc9694795F663DDC8D516Db9,18.0 +908.0,SOMEE-1447,SOMEE,SoMee.Social,0x65F9A292f1AEED5D755Aa2fD2Fb17AB2E9431447,18.0 +909.0,BSL-53Ac,BSL,BankSocial,0x0AF55d5fF28A3269d69B98680Fd034f115dd53Ac,8.0 +910.0,SpillWays-7b47,SpillWays,SpillWays,0x8790f2fc7Ca2e7Db841307FB3f4e72a03Baf7b47,18.0 +911.0,DGCL-B851,DGCL,DigiCol Token,0x63B8b7d4A3EFD0735c4BFFBD95B332a55e4eB851,18.0 +912.0,IMPACTXP-49aE,IMPACTXP,ImpactXP,0xb12494C8824fc069757F47d177E666c571Cd49aE,9.0 +913.0,NFTI-7F4C,NFTI,NFT INDEX,0xe5feeaC09D36B18b3FA757E5Cf3F8dA6B8e27F4C,18.0 +914.0,BUSY-3f4a,BUSY,Busy,0x5CB3ce6D081fB00d5f6677d196f2d70010EA3f4a,18.0 +915.0,COTI-55c5,COTI,COTI Token,0xDDB3422497E61e13543BeA06989C0789117555c5,18.0 +916.0,pBTC-733b,pBTC,pTokens BTC,0x5228a22e72ccC52d415EcFd199F99D0665E7733b,18.0 +917.0,DSD-8658,DSD,DeFi Nation Signals DAO,0x1e3a2446C729D34373B87FD2C9CBb39A93198658,18.0 +918.0,AURA-3DBF,AURA,Aura,0xC0c293ce456fF0ED870ADd98a0828Dd4d2903DBF,18.0 +919.0,TRL-Ec41,TRL,Triall,0x58f9102bF53Cf186682Bd9a281d3Cd3c616eEc41,18.0 +920.0,TVK-3988,TVK,Terra Virtua Kolect,0xd084B83C305daFD76AE3E1b4E1F1fe2eCcCb3988,18.0 +921.0,X7105-D105,X7105,X7105,0x7105FAA4a26eD1c67B8B2b41BEc98F06Ee21D105,18.0 +922.0,LGB-1288,LGB,Let's Go Brandon,0x21E783bcf445B515957A10E992aD3c8E9FF51288,18.0 +923.0,ETHV-24d6,ETHV,Ethverse Token,0xEeEeeeeEe2aF8D0e1940679860398308e0eF24d6,18.0 +924.0,SHUSKY-3a75,SHUSKY,Siberian Husky,0x236d53148F83706C3d670064809577385f923a75,9.0 +925.0,JRT-343A,JRT,Jarvis Reward Token,0x8A9C67fee641579dEbA04928c4BC45F66e26343A,18.0 +926.0,ADAPAD-0289,ADAPAD,ADAPAD.io,0xDB0170e2d0c1CC1b2E7a90313d9B9afA4f250289,18.0 +927.0,CIMO-667a,CIMO,Cinnamoon,0xC3f65b1c45B0D42a472CD0Fbd37dD6678AEf667a,9.0 +928.0,TROVE-E114,TROVE,Trove DAO,0x59c6900949aD1835f07a04321f4d9934a054E114,18.0 +929.0,PP-9483,PP,PP,0xeCe8531550Fc599ccB2c7734494FBc358d0a9483,18.0 +930.0,MAGE-2B15,MAGE,MetaBrands,0xd52AAE39a2b5CC7812F7B9450EBB61DfEf702B15,18.0 +931.0,BEPRO-d36A,BEPRO,BetProtocolToken,0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A,18.0 +932.0,ALN-5748,ALN,Aluna,0x8185Bc4757572Da2a610f887561c32298f1A5748,18.0 +933.0,MYOBU-Fb07,MYOBU,Myōbu,0xDfDd3459D4F87234751696840092ee20C970Fb07,9.0 +934.0,DDIM-8E20,DDIM,DuckDaoDime,0xFbEEa1C75E4c4465CB2FCCc9c6d6afe984558E20,18.0 +935.0,ZEE-d4c5,ZEE,ZeroSwapToken,0x2eDf094dB69d6Dcd487f1B3dB9febE2eeC0dd4c5,18.0 +936.0,eYe-2E89,eYe,eYe on Ethereum,0x9A257C90Fa239fBA07771ef7da2d554D148c2E89,18.0 +937.0,DOGEZ-8617,DOGEZ,Dogezilla,0x4D8046B2f7986FEB5a4b0781EbF5Fa2D7a808617,18.0 +938.0,ECC-Ac55,ECC,Empire Capital,0xC84D8d03aA41EF941721A4D77b24bB44D7C7Ac55,9.0 +939.0,CHEDDA-837D,CHEDDA,Chedda Token,0x16756EC1DEb89A2106C35E0B586a799D0A61837D,18.0 +940.0,Pacha-0d4E,Pacha,Kay Pacha,0x2Dd1B9410c73E16b60240E529e38E30425F00d4E,10.0 +941.0,CGT-EAA0,CGT,CACHE Gold,0xF5238462E7235c7B62811567E63Dd17d12C2EAA0,8.0 +942.0,VST-472C,VST,VentiSwap Token,0xb7C2fcD6d7922eddd2A7A9B0524074A60D5b472C,18.0 +943.0,GAINS-5Ce9,GAINS,Gains,0xd9b312D77Bc7BEd9B9CecB56636300bED4Fe5Ce9,18.0 +944.0,WHITE-0fe1,WHITE,White Ethereum,0xFe4BEb9217cdDf2422d4bd65449b76d807b30fe1,9.0 +945.0,AIPAD-8AAf,AIPAD,AIPAD.tech,0xE55d97A97ae6A17706ee281486E98A84095d8AAf,18.0 +946.0,YDF-E66a,YDF,Yieldification,0x30dcBa0405004cF124045793E1933C798Af9E66a,18.0 +947.0,CHADS-5c5E,CHADS,chads.vc,0x69692D3345010a207b759a7D1af6fc7F38b35c5E,18.0 +948.0,BXX-7898,BXX,Baanx,0x6b1a8f210Ec6b7B6643cea3583Fb0c079f367898,18.0 +949.0,BOMB-6714,BOMB,BOMB,0x1C95b093d6C236d3EF7c796fE33f9CC6b8606714,0.0 +950.0,SHAMAN-FA5a,SHAMAN,Shaman,0x5fCe9Fc9B5d62aF082A59D0823A062F7529eFA5a,18.0 +951.0,FOAM-C121,FOAM,FOAM Token,0x4946Fcea7C692606e8908002e55A582af44AC121,18.0 +952.0,DOGS-ba21,DOGS,Dogcoin,0xBcCD27062ae1A2BeA5731c904b96EDfb163Aba21,9.0 +953.0,UBT-ee5e,UBT,UniBright,0x8400D94A5cb0fa0D041a3788e395285d61c9ee5e,8.0 +954.0,ICNQ-390A,ICNQ,Iconiq Lab Token,0xB3e2Cb7CccfE139f8FF84013823Bf22dA6B6390A,18.0 +955.0,ADEL-A182,ADEL,Akropolis Delphi,0x94d863173EE77439E4292284fF13fAD54b3BA182,18.0 +956.0,CMS-4F82,CMS,CryptoMoonShots,0x1f22AD99C334e6689bAe751CC225bCC38fe54F82,18.0 +957.0,SDG-9a01,SDG,SyncDAO Governance,0xCF8829AE9384540c886A151fac3a865794cB9a01,18.0 +958.0,ORAO-d035,ORAO,ORAO Network,0xEE1CeA7665bA7aa97e982EdeaeCb26B59a04d035,18.0 +959.0,TORA-7670,TORA,Tora Inu,0x7a3f7F6675514D4d611b442A4B76752f6AB77670,18.0 +960.0,POWER-E509,POWER,UniPower,0xF2f9A7e93f845b3ce154EfbeB64fB9346FCCE509,18.0 +961.0,OFI-97dC,OFI,Ordinals Finance,0x419E35E3515c2fDB652C898bF7A0B21FB20497dC,9.0 +962.0,INSTAR-DAF3,INSTAR,INSTAR,0x8193711b2763Bc7DfD67Da0d6C8c26642eafDAF3,4.0 +963.0,MTAO-0f71,MTAO,MEME TAO,0x1E8E29CA51363D923725aB9DaC73Bd7e9C440f71,9.0 +964.0,OPTIG-F44b,OPTIG,Catgirl Optimus,0xD5DF655087d99B7B720A5bc8711F296180A4F44b,18.0 +965.0,POM-e7E4,POM,Pomeranian,0x24ffe459F51ea20C5d8ad49843529fc33654e7E4,9.0 +966.0,MIR-E608,MIR,Wrapped MIR Token,0x09a3EcAFa817268f77BE1283176B946C4ff2E608,18.0 +967.0,COLI-8437,COLI,Coliquidity Token,0xd49EFA7BC0D339D74f487959C573d518BA3F8437,18.0 +968.0,CRNO-ca8E,CRNO,Chronoly,0xE23311294467654E0CaB14cD32A169A41be5ca8E,18.0 +969.0,SANI-342F,SANI,Sanin Inu,0x4521C9aD6A3D4230803aB752Ed238BE11F8B342F,18.0 +970.0,Dogefather-8c06,Dogefather,Dogefather,0x73C61dD9E121dE834A4f3ed607263EE33b308c06,9.0 +971.0,METRIC-14AC,METRIC,Metric.exchange,0xEfc1C73A3D8728Dc4Cf2A18ac5705FE93E5914AC,18.0 +972.0,COMFI-F1e4,COMFI,CompliFi,0x752Efadc0a7E05ad1BCCcDA22c141D01a75EF1e4,18.0 +973.0,4SHIBA-984d,4SHIBA,FOREVER SHIBA,0xB04bf60E468743418E87291d7c9301a5299d984d,18.0 +974.0,TRDG-68b5,TRDG,Tardigrades.Finance,0x92a42Db88Ed0F02c71D439e55962Ca7CAB0168b5,9.0 +975.0,DVD-9582,DVD,DAOventuresDeFi,0x77dcE26c03a9B833fc2D7C31C22Da4f42e9d9582,18.0 +976.0,HAUS-f687,HAUS,DAOhaus Token,0xf2051511B9b121394FA75B8F7d4E7424337af687,18.0 +977.0,CAW-e452,CAW,A Hunters Dream,0xf3b9569F82B18aEf890De263B84189bd33EBe452,18.0 +978.0,MARSH-cF37,MARSH,UnmarshalToken,0x5a666c7d92E5fA7Edcb6390E4efD6d0CDd69cF37,18.0 +979.0,MX-7f36,MX,MX Token,0x11eeF04c884E24d9B7B4760e7476D06ddF797f36,18.0 +980.0,MARVIN-8C8a,MARVIN,Marvin Inu,0xcAa9Ed6D7502595B555113D4517668aE24038C8a,18.0 +981.0,FWB-99A8,FWB,Friends With Benefits Pro,0x35bD01FC9d6D5D81CA9E055Db88Dc49aa2c699A8,18.0 +982.0,TICKR-0d24,TICKR,Tickr,0xf0a163a26601D9dc8Aef26b388Eadb7B1c620d24,9.0 +983.0,FNT-9D59,FNT,Falcon,0xDc5864eDe28BD4405aa04d93E05A0531797D9D59,6.0 +984.0,MILK2-c1de,MILK2,MilkyWay Token by SpaceSwap v2,0x80c8C3dCfB854f9542567c8Dac3f44D709eBc1de,18.0 +985.0,H-d17a,H,H,0xc6956b78e036b87Ba2aB9810BF081eb76EEDd17a,18.0 +986.0,TIME-A260,TIME,ChronoTech Token,0x485d17A6f1B8780392d53D64751824253011A260,8.0 +987.0,SLM-686e,SLM,SolomonDefi,0x07a0AD7a9dfc3854466F8F29A173bf04bbA5686e,18.0 +988.0,CCX-8B59,CCX,ClearCryptos,0x1D6405138A335cE5FD7364086334EfB3E4F28B59,18.0 +989.0,USHI-ec55,USHI,Ushi,0x6Dca182ac5E3f99985bC4Ee0f726d6472aB1ec55,18.0 +990.0,BT-Ca3a,BT,BT.Finance,0x76c5449F4950f6338A393F53CdA8b53B0cd3Ca3a,18.0 +991.0,FOLO-122a,FOLO,Follow,0xB2a63A5Dd36C91eC2DA59B188ff047F66fac122a,18.0 +992.0,ROOT-570E,ROOT,RootKit,0xCb5f72d37685C3D5aD0bB5F982443BC8FcdF570E,18.0 +993.0,LPOOL-Df5B,LPOOL,Launchpool token,0x6149C26Cd2f7b5CCdb32029aF817123F6E37Df5B,18.0 +994.0,KIMCHI-eDa0,KIMCHI,KIMCHI.finance,0x1E18821E69B9FAA8e6e75DFFe54E7E25754beDa0,18.0 +995.0,HELLSING-6EAD,HELLSING,Hellsing Inu,0xB087C2180e3134Db396977065817aed91FEa6EAD,9.0 +996.0,CUBE-39f4,CUBE,Somnium Space Cubes,0xDf801468a808a32656D2eD2D2d80B72A129739f4,8.0 +997.0,YFL-c0be,YFL,YFLink,0x28cb7e841ee97947a86B06fA4090C8451f64c0be,18.0 +998.0,ETHIX-0D3e,ETHIX,Ethix,0xFd09911130e6930Bf87F2B0554c44F400bD80D3e,18.0 +999.0,CIA-817d,CIA,CIA,0x52F4D5EE6c91e01Be67CA1F64b11eD0EE370817d,9.0 +1000.0,NODE-0DA0,NODE,DAppNode DAO Token,0xDa007777D86AC6d989cC9f79A73261b3fC5e0DA0,18.0 +1001.0,REPv2-C9bB,REPv2,Reputation,0x221657776846890989a759BA2973e427DfF5C9bB,18.0 +1002.0,ODDZ-5Bf6,ODDZ,OddzToken,0xCd2828fc4D8E8a0eDe91bB38CF64B1a81De65Bf6,18.0 +1003.0,MCHC-ECC3,MCHC,MCHCoin,0xD69F306549e9d96f183B1AecA30B8f4353c2ECC3,18.0 +1004.0,HAKKA-3bcd,HAKKA,Hakka Finance,0x0E29e5AbbB5FD88e28b2d355774e73BD47dE3bcd,18.0 +1005.0,PLANB-499B,PLANB,PlanB DAO,0xe77f82f288A6a7EB4Ac295a86FccB1F6D240499B,18.0 +1006.0,CVR-e6c6,CVR,PolkaCover,0x3C03b4EC9477809072FF9CC9292C9B25d4A8e6c6,18.0 +1007.0,$DOSA-1b8a,$DOSA,Dosa,0xeE2B297408063E0967096bafDCfD1278d5BF1b8a,18.0 +1008.0,IDEX-cfAE,IDEX,IDEX Token,0xB705268213D593B8FD88d3FDEFF93AFF5CbDcfAE,18.0 +1009.0,PMON-D0b2,PMON,Polkamon,0x1796ae0b0fa4862485106a0de9b654eFE301D0b2,18.0 +1010.0,DINGER-fA68,DINGER,Dinger Token,0x9e5BD9D9fAd182ff0A93bA8085b664bcab00fA68,9.0 +1011.0,ISLA-702d,ISLA,Defiville Island Token,0x20a68F9e34076b2dc15ce726d7eEbB83b694702d,18.0 +1012.0,ZEUS-F867,ZEUS,ZEUS,0x6ef460EB3563CfCc73F8147B0A77DAFFeE71F867,18.0 +1013.0,FSW-26DB,FSW,FalconSwap Token,0xfffffffFf15AbF397dA76f1dcc1A1604F45126DB,18.0 +1014.0,RELAX-3001,RELAX,Relaxable,0x801dE502C493aa9d3F9F79A0348fbc00521b3001,18.0 +1015.0,UZUMAKI-9aa3,UZUMAKI,Uzumaki Inu,0xD4c64f0Fe38ecdaF0Baefd7859E18185a73b9aa3,9.0 +1016.0,BCB-eb7e,BCB,Blockchain Bets,0x2d886570A0dA04885bfD6eb48eD8b8ff01A0eb7e,9.0 +1017.0,FINU-Ca1C,FINU,Formula Inu,0x2c022e58C5E3Ee213F06f975fd8a0d3a6fE9Ca1C,18.0 +1018.0,ASKO-8603,ASKO,Askobar Network,0xeEEE2a622330E6d2036691e983DEe87330588603,18.0 +1019.0,HEEL-B366,HEEL,Good Dog,0xf941D3AAbf2EE0F5589E68Ba6047b8329592B366,9.0 +1020.0,INFI-848C,INFI,INFI,0x159751323A9E0415DD3d6D42a1212fe9F4a0848C,18.0 +1021.0,BLT-B82e,BLT,Bloom Token,0x107c4504cd79C5d2696Ea0030a8dD4e92601B82e,18.0 +1022.0,VOLT-C597,VOLT,Volt Inu,0x3F7Aff0EF20AA2E646290DfA4E67611B2220C597,9.0 +1023.0,RWS-7802,RWS,Robonomics Web Services :: V1,0x08AD83D779BDf2BBE1ad9cc0f78aa0D24AB97802,18.0 +1024.0,TORN-116C,TORN,TornadoCash,0x77777FeDdddFfC19Ff86DB637967013e6C6A116C,18.0 +1025.0,KAINET-FC8a,KAINET,KAINET,0xB097Dd6a23175C10eAA45A1F410d7eB4cFDAFC8a,9.0 +1026.0,CTR-d375,CTR,Creator Chain,0x923b83c26B3809d960fF80332Ed00aA46D7Ed375,18.0 +1027.0,BiFi-BA81,BiFi,BiFi,0x2791BfD60D232150Bff86b39B7146c0eaAA2BA81,18.0 +1028.0,Suki-18d5,Suki,Sukiyaki,0xD212046F89680aC9F106B9c63f314cc9808e18d5,18.0 +1029.0,Gorilla Inu-3908,Gorilla Inu,Gorilla Inu | Apes Together Strong,0x68257309fCdfE1e6eDb592DA97aC8215fe583908,9.0 +1030.0,GET-6A1B,GET,GET,0x8a854288a5976036A725879164Ca3e91d30c6A1B,18.0 +1031.0,ALERT-c1fB,ALERT,ALERT,0xaE377ed00DF9b9663B253bE93035EF1CfECBc1fB,9.0 +1032.0,SHIDO-a703,SHIDO,Shido Inu,0x173E552Bf97BBD50b455514ac52991Ef639ba703,9.0 +1033.0,VPP-5e6e,VPP,Virtue Player Points,0x5EeAA2DCb23056F4E8654a349E57eBE5e76b5e6e,18.0 +1034.0,EHIVE-6C75,EHIVE,Ethereum Hive,0x10B506Ae42b5466d548EdC4C02a4CE9828386C75,18.0 +1035.0,KEYFI-9052,KEYFI,KeyFi Token,0xB8647e90C0645152Fccf4d9AbB6B59Eb4AA99052,18.0 +1036.0,WGMI-6f75,WGMI,WGMI,0xE23FaEfcdAAe646527eb86b1C746A25Ae4a36f75,18.0 +1037.0,CRAMER-8ee0,CRAMER,Cramer Coin,0x64Df3aAB3b21cC275bB76c4A581Cf8B726478ee0,18.0 +1038.0,BITT-6D51,BITT,BITTOKEN,0x9F9913853f749b3fE6D6D4e16a1Cc3C1656B6D51,18.0 +1039.0,AZK-1A99,AZK,AnonZK,0x5408245a4D7c685F59cE6D3b8B35916dd6c11A99,18.0 +1040.0,POWER-F093,POWER,Kingmaker,0x0263994554Ec08cc60473dbf8ceE60f9EedbF093,18.0 +1041.0,BIST-093F,BIST,Bistroo Token,0x6e8908cfa881C9f6f2C64d3436E7b80b1bf0093F,18.0 +1042.0,KARMA-951C,KARMA,Karma,0xdfe691F37b6264a90Ff507EB359C45d55037951C,4.0 +1043.0,YETIC-6E6F,YETIC,YetiCoin,0xdF96bDE075d59e9143b325C75aF38e208c986E6F,9.0 +1044.0,PANTO-aA9d,PANTO,PANTOMIME,0x54B8D105aA09342FAD6b352D41a0bAd3E1a9aA9d,18.0 +1045.0,COGE-6806,COGE,Cogecoin,0xC382e04099A435439725BB40647e2B32dC136806,18.0 +1046.0,IMPACTX-2669,IMPACTX,ImpactX,0x5aF6ad286C8Ed6633284f2F135C4716057d52669,9.0 +1047.0,MYST-f361,MYST,Mysterium,0x4Cf89ca06ad997bC732Dc876ed2A7F26a9E7f361,18.0 +1048.0,MR-29Aa,MR,METARUFFY,0xa4Cb3ef5f41a4D89D6FCed22ea8a1C57957629Aa,18.0 +1049.0,X7101-E105,X7101,X7101,0x7101a9392EAc53B01e7c07ca3baCa945A56EE105,18.0 +1050.0,HID-9c9D,HID,Hypersign Identity Token,0xB14eBF566511B9e6002bB286016AB2497B9b9c9D,18.0 +1051.0,RIO-4097,RIO,Realio Network,0xf21661D0D1d76d3ECb8e1B9F1c923DBfffAe4097,18.0 +1052.0,TRIBE-212B,TRIBE,Tribe,0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B,18.0 +1053.0,NeRF-76c5,NeRF,Neural Radiance Field,0xaF8942831F3A096f708b8b31F191B8958Cf176c5,18.0 +1054.0,RDN-c8e6,RDN,Raiden Token,0x255Aa6DF07540Cb5d3d297f0D0D4D84cb52bc8e6,18.0 +1055.0,wOMI-A670,wOMI,Wrapped OMI Token,0x04969cD041C0cafB6AC462Bd65B536A5bDB3A670,18.0 +1056.0,xFUND-7881,xFUND,unification.com/xfund,0x892A6f9dF0147e5f079b0993F486F9acA3c87881,9.0 +1057.0,Z-e491,Z,ZINJA,0x1BE56412c9606E7285280F76A105EBa56996e491,9.0 +1058.0,meh-c981,meh,meh,0xBA98C0FbebC892F5b07a42B0FeBD606913EBc981,18.0 +1059.0,GRUMPY-021b,GRUMPY,Grumpy Cat,0x93B2FfF814FCaEFFB01406e80B4Ecd89Ca6A021b,9.0 +1060.0,LSD-31FF,LSD,LSD Coin,0xfAC77A24E52B463bA9857d6b758ba41aE20e31FF,18.0 +1061.0,PLA-b430,PLA,PlayDapp Token,0x3a4f40631a4f906c2BaD353Ed06De7A5D3fCb430,18.0 +1062.0,LINU-D581,LINU,Luna Inu,0x78132543D8E20D2417d8a07D9ae199D458A0D581,18.0 +1063.0,wMBX-432d,wMBX,wMBX Token,0x71ba91dC68C6a206Db0A6A92B4b1De3f9271432d,18.0 +1064.0,MANDOX-a4a4,MANDOX,MandoX,0xAFbF03181833aB4E8DEc24D708a2a24c2bAaa4a4,9.0 +1065.0,yDAI+yUSDC+yUSDT+yTUSD-06A8,yDAI+yUSDC+yUSDT+yTUSD,Curve.fi yDAI/yUSDC/yUSDT/yTUSD,0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8,18.0 +1066.0,MINDS-c068,MINDS,Minds,0xB26631c6dda06aD89B93C71400D25692de89c068,18.0 +1067.0,X7102-A105,X7102,X7102,0x7102DC82EF61bfB0410B1b1bF8EA74575bf0A105,18.0 +1068.0,X7104-C105,X7104,X7104,0x7104D1f179Cc9cc7fb5c79Be6Da846E3FBC4C105,18.0 +1069.0,TRU-276c,TRU,Truebit,0xf65B5C5104c4faFD4b709d9D60a185eAE063276c,18.0 +1070.0,IM-a936,IM,Internet Money,0x0A58153a0CD1cfaea94cE1f7FdC5D7E679eCa936,18.0 +1071.0,KTLYO-27c8,KTLYO,Katalyo Token,0x24E3794605C84E580EEA4972738D633E8a7127c8,18.0 +1072.0,FRIN-1D15,FRIN,Fringe,0xC9fE6E1C76210bE83DC1B5b20ec7FD010B0b1D15,18.0 +1073.0,KODACHI-fd16,KODACHI,Kodachi Token,0x57c411e9a358e2d2d0a6b058cEDb709175e8fd16,18.0 +1074.0,ziot-796a,ziot,ziot,0xfB22cED41B1267dA411F68c879f4Defd0bD4796a,18.0 +1075.0,XCUR-86bd,XCUR,Curate,0xE1c7E30C42C24582888C758984f6e382096786bd,8.0 +1076.0,TYRANT-ec27,TYRANT,Fable Of The Dragon,0x8EE325AE3E54e83956eF2d5952d3C8Bc1fa6ec27,9.0 +1077.0,NFT-7042,NFT,NFT Protocol,0xcB8d1260F9c92A3A545d409466280fFdD7AF7042,18.0 +1078.0,REM-6B6d,REM,REMME token,0x83984d6142934bb535793A82ADB0a46EF0F66B6d,4.0 +1079.0,SATS-Abf8,SATS,SATOSHIS VISION,0x6C22910c6F75F828B305e57c6a54855D8adeAbf8,9.0 +1080.0,Kusunoki-0308,Kusunoki,Kusunoki Samurai,0x36919a60a2B67B6d2329863093D180d23d5A0308,18.0 +1081.0,WBUY-3ed8,WBUY,Wrapped BUY Token,0x396eC402B42066864C406d1ac3bc86B575003ed8,2.0 +1082.0,RENA-9b76,RENA,Rena,0x56de8BC61346321D4F2211e3aC3c0A7F00dB9b76,18.0 +1083.0,DMOD-18d7,DMOD,Demodyfi Token,0x5f6c5C2fB289dB2228d159C69621215e354218d7,18.0 +1084.0,CAT-7dB3,CAT,Cat Token,0x56015BBE3C01fE05bc30A8a9a9Fd9A88917e7dB3,18.0 +1085.0,Nsure-2114,Nsure,Nsure Network Token,0x20945cA1df56D237fD40036d47E866C7DcCD2114,18.0 +1086.0,rUSD-C8F6,rUSD,Realio Network USD Stablecoin,0xF9A2D7E60a3297E513317AD1d7Ce101CC4C6C8F6,18.0 +1087.0,MFT-7428,MFT,Mainframe Token,0xDF2C7238198Ad8B389666574f2d8bc411A4b7428,18.0 +1088.0,EMPIRE-3665,EMPIRE,Empire Network,0xf124eD9Ec309907808b1FBc6BEdB2a76927B3665,18.0 +1089.0,BETA-dbE2,BETA,Beta Token,0x35F67c1D929E106FDfF8D1A55226AFe15c34dbE2,18.0 +1090.0,CTI-f244,CTI,ClinTex,0x8c18D6a985Ef69744b9d57248a45c0861874f244,18.0 +1091.0,RAID-97C9,RAID,Raider Inu - The AI Raid Leader,0x2022760aCDe82079cbEDa17D3afC67dC1F3D97C9,18.0 +1092.0,PYRO-Cd72,PYRO,PYROmatic,0x1e2D230C7A7F4C679Fb1378F1f51dEDeAe85Cd72,18.0 +1093.0,$NOWAI-7956,$NOWAI,NOWAI,0x987441856BA4f463544FC68ccBF6a80F434a7956,18.0 +1094.0,LIF-6465,LIF,Lif,0x9C38688E5ACB9eD6049c8502650db5Ac8Ef96465,18.0 +1095.0,$ANRX-09E0,$ANRX,AnRKey X,0xCae72A7A0Fd9046cf6b165CA54c9e3a3872109E0,18.0 +1096.0,HANU-BCC0,HANU,Hanu Yokia,0x72E5390EDb7727E3d4e3436451DADafF675dBCC0,12.0 +1097.0,GLCH-D564,GLCH,Glitch,0x038a68FF68c393373eC894015816e33Ad41BD564,18.0 +1098.0,APYS-3615,APYS,APYSwap,0xf7413489c474ca4399eeE604716c72879Eea3615,18.0 +1099.0,SERP-5Eec,SERP,SHIBARIUM PERPETUALS,0xFd414e39155F91E94443a9Fe97E856569d0F5Eec,9.0 +1100.0,TAIL-1e31,TAIL,Tail,0xFeeeef4D7b4Bf3cc8BD012D02D32Ba5fD3D51e31,18.0 +1101.0,ADD-7d56,ADD,ADD,0x635d081fD8F6670135D8a3640E2cF78220787d56,18.0 +1102.0,RAIN-4D57,RAIN,Rainmaker Games,0x71Fc1F555a39E0B698653AB0b475488EC3c34D57,18.0 +1103.0,ADVT-9b72,ADVT,Advantis Token,0x69e37422cB87d963367F73A119C8ce9a4D529b72,9.0 +1104.0,POLK-cfbF,POLK,Polkamarkets,0xD478161C952357F05f0292B56012Cd8457F1cfbF,18.0 +1105.0,CLAW-8cc3,CLAW,Claw,0xe115401B985306837B9f1495c8e9d7f8f8328cc3,18.0 +1106.0,DEC-b9b3,DEC,Decentr,0x30f271C9E86D2B7d00a6376Cd96A1cFBD5F0b9b3,18.0 +1107.0,JAM-5A72,JAM,Geojam,0x23894DC9da6c94ECb439911cAF7d337746575A72,18.0 +1108.0,SPICE-8193,SPICE,SPICE,0x9b6dB7597a74602a5A806E33408e7E2DAFa58193,18.0 +1109.0,Yf-DAI-9577,Yf-DAI,YfDAI.finance,0xf4CD3d3Fda8d7Fd6C5a500203e38640A70Bf9577,18.0 +1110.0,UFARM-af88,UFARM,UNIFARM Token,0x40986a85B4cFCDb054A6CBFB1210194fee51af88,18.0 +1111.0,GAI-78BF,GAI,GeneraitivAI,0x0d8ca4b20b115D4DA5c13DC45Dd582A5de3e78BF,18.0 +1112.0,TUF-c8f1,TUF,TUF Token,0x6f8b23296394d20eC048FbDec8eBc0CA90f5c8f1,18.0 +1113.0,SCIFI-2CB4,SCIFI,ScifiToken,0xfDC4a3FC36df16a78edCAf1B837d3ACAaeDB2CB4,18.0 +1114.0,BART-63Ba,BART,BarterTrade,0x54C9EA2E9C9E8eD865Db4A4ce6711C2a0d5063Ba,18.0 +1115.0,KEK-6a82,KEK,KeKChain,0x67954768E721FAD0f0f21E33e874497C73ED6a82,18.0 +1116.0,ORBS-B0FA,ORBS,Orbs,0xff56Cc6b1E6dEd347aA0B7676C85AB0B3D08B0FA,18.0 +1117.0,ZEFU-1229,ZEFU,Zenfuse Trading Platform Token,0xB1e9157c2Fdcc5a856C8DA8b2d89b6C32b3c1229,18.0 +1118.0,BKING-aF04,BKING,King Arthur,0x1cA02DD95f3F1e33DA7F5AfE15EA866dAb07aF04,9.0 +1119.0,WallStreetInu-eA26,WallStreetInu,Wall Street Inu,0xd68Cb7a643079311B8645ED90F2D5267CfA6eA26,9.0 +1120.0,BAKT-1C0B,BAKT,BACKED,0x8379f52d09b9998eCbA731288EE4fE532fD91C0B,18.0 +1121.0,ALCAZAR-9bFe,ALCAZAR,Alcazar,0x10f44a834097469AC340592d28c479c442E99bFe,18.0 +1122.0,THE-2861,THE,The Protocol,0x0cbA60Ca5eF4D42f92A5070A8fEDD13BE93E2861,18.0 +1123.0,wBIND-0115,wBIND,Wrapped BIND,0x15334DCb171e8b65D6650321581dcA83bE870115,8.0 +1124.0,STACK-0Ba4,STACK,StackOS,0x56A86d648c435DC707c8405B78e2Ae8eB4E60Ba4,18.0 +1125.0,VIBE-Dfba,VIBE,Vibe Coin,0xe8Ff5C9c75dEb346acAc493C463C8950Be03Dfba,18.0 +1126.0,FLOKI-827c,FLOKI,Floki Musk,0x67Cc621AB2d086a101Cff3340df0A065Ac75827c,18.0 +1127.0,BRO-8771,BRO,BRO Token,0x1C84656Cb4c286DaA16f27D8B305F1053B5a8771,18.0 +1128.0,α-69f5,α,.alpha,0x48AF7b1c9dac8871C064f62FcEC0d9d6F7c269f5,18.0 +1129.0,LUNCH-e7e0,LUNCH,LunchDao,0x71a28feAEe902966DC8D355e7B8Aa427D421e7e0,18.0 +1130.0,GOVI-6107,GOVI,GOVI,0xeEAA40B28A2d1b0B08f6f97bB1DD4B75316c6107,18.0 +1131.0,ACAP-6A41,ACAP,Alpha Capital,0xd5A98E77d1fEB091344096301Ea336a5C07a6A41,18.0 +1132.0,BNS-E07C,BNS,BNS Token,0x695106Ad73f506f9D0A9650a78019A93149AE07C,8.0 +1133.0,TOWER-7d0B,TOWER,TOWER,0x1C9922314ED1415c95b9FD453c3818fd41867d0B,18.0 +1134.0,JEJUDOGE-79B9,JEJUDOGE,Jejudoge,0x939A7A577D93ad29B64C1595B1284ce660A479B9,18.0 +1135.0,BDP-480e,BDP,BDPToken,0xf3dcbc6D72a4E1892f7917b7C43b74131Df8480e,18.0 +1136.0,ORAI-c1b5,ORAI,Oraichain Token,0x4c11249814f11b9346808179Cf06e71ac328c1b5,18.0 +1137.0,uDOO-2ffB,uDOO,uDOO,0x12f649A9E821F90BB143089a6e56846945892ffB,18.0 +1138.0,ATRI-FB62,ATRI,AtariToken,0xdacD69347dE42baBfAEcD09dC88958378780FB62,0.0 +1139.0,Coval-76Df,Coval,CircuitsOfValue,0x3D658390460295FB963f54dC0899cfb1c30776Df,8.0 +1140.0,SUZUME-7E43,SUZUME,Shita-Kiri Suzume,0x0B452278223D3954F4AC050949D7998e373e7E43,18.0 +1141.0,QRX-14D8,QRX,QuiverX,0x6e0daDE58D2d89eBBe7aFc384e3E4f15b70b14D8,18.0 +1142.0,WAIT-EDd7,WAIT,HOURGLASS,0x2559813BBb508C4C79e9CCCE4703Bcb1f149EDd7,9.0 +1143.0,HIGH-0282,HIGH,Highstreet token,0x71Ab77b7dbB4fa7e017BC15090b2163221420282,18.0 +1144.0,TOSHI-6BdC,TOSHI,Toshi Tools,0x77a90B04d64189d4D09508612C09219bC6816BdC,9.0 +1145.0,LOOM-3DB0,LOOM,LoomToken,0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0,18.0 +1146.0,UMB-83B2,UMB,Umbrella,0x6fC13EACE26590B80cCCAB1ba5d51890577D83B2,18.0 +1147.0,GEAR-F5a9,GEAR,Bitgear,0x1b980e05943dE3dB3a459C72325338d327B6F5a9,18.0 +1148.0,SUNC-C56F,SUNC,Sunrise Token,0x692aCCdD8b86692427E0aa4752AE917Df01CC56F,18.0 +1149.0,$EARN-D79c,$EARN,EARN,0xA87Ed75C257f1ec38393bEA0A83d55Ac2279D79c,9.0 +1150.0,PAXG-Af78,PAXG,Paxos Gold,0x45804880De22913dAFE09f4980848ECE6EcbAf78,18.0 +1151.0,EQZ-0Bb0,EQZ,Equalizer,0x1Da87b114f35E1DC91F72bF57fc07A768Ad40Bb0,18.0 +1152.0,TYC-658F,TYC,Tycoon Token,0x3A82D3111aB5faF39d847D46023d9090261A658F,18.0 +1153.0,SIG-6517,SIG,xSigma,0x7777777777697cFEECF846A76326dA79CC606517,18.0 +1154.0,$SHARBI-c9a9,$SHARBI,SHARBI,0xF3A3023e6Dede84AD88a656A3269F2A36e83c9a9,9.0 +1155.0,EBOX-15c5,EBOX,ethbox Token,0x33840024177A7DacA3468912363BeD8b425015c5,18.0 +1156.0,XTM-62Fe,XTM,Torum,0xCd1fAFf6e578Fa5cAC469d2418C95671bA1a62Fe,18.0 +1157.0,SKRT-77f6,SKRT,Sekuritance,0x887168120cb89Fb06F3E74Dc4AF20D67dF0977f6,18.0 +1158.0,XLON-9D58,XLON,Xenlon Mars,0x36ff4DaE0E88113D68B1209e245B0e3Af92E9D58,18.0 +1159.0,SHOPX-D848,SHOPX,SPLYT SHOPX,0x7BEF710a5759d197EC0Bf621c3Df802C2D60D848,18.0 +1160.0,WPSL-CC29,WPSL,Wrapped PSL,0xC775C0C30840Cb9F51e21061B054ebf1A00aCC29,5.0 +1161.0,FIS-cC8d,FIS,StaFi,0xef3A930e1FfFFAcd2fc13434aC81bD278B0ecC8d,18.0 +1162.0,DIVI-3a77,DIVI,Divi,0x246908BfF0b1ba6ECaDCF57fb94F6AE2FcD43a77,8.0 +1163.0,SHIBELON-De6d,SHIBELON,ShibElon,0x4c584CD339bdDE73B7F5210486dd8bbeEE3fDe6d,9.0 +1164.0,AAPX-0811,AAPX,AMPnet APX Token,0xbfD815347d024F449886c171f78Fa5B8E6790811,18.0 +1165.0,POLS-D5Aa,POLS,PolkastarterToken,0x83e6f1E41cdd28eAcEB20Cb649155049Fac3D5Aa,18.0 +1166.0,LGCY-8A0d,LGCY,LGCY Network,0xaE697F994Fc5eBC000F8e22EbFfeE04612f98A0d,18.0 +1167.0,COT-4CE8,COT,CosplayToken,0x5CAc718A3AE330d361e39244BF9e67AB17514CE8,18.0 +1168.0,InvectAI-2904,InvectAI,InvectAI,0xCAE7F3aa6D456463bEf0E5B508542b69D96f2904,8.0 +1169.0,SOCKS-91d5,SOCKS,Unisocks Edition 0,0x23B608675a2B2fB1890d3ABBd85c5775c51691d5,18.0 +1170.0,PAR-ee06,PAR,Parachute,0x1BeEF31946fbbb40B877a72E4ae04a8D1A5Cee06,18.0 +1171.0,ARNX-e283,ARNX,Aeron,0x0C37Bcf456bC661C14D596683325623076D7e283,18.0 +1172.0,SNC-0404,SNC,SunContract,0xF4134146AF2d511Dd5EA8cDB1C4AC88C57D60404,18.0 +1173.0,bALPHA-15A6,bALPHA,bAlpha,0x7a5ce6abD131EA6B148a022CB76fc180ae3315A6,18.0 +1174.0,RARE-c7C8,RARE,RARE.UNIQUE,0x93dfaf57D986B9cA77Df9376c50878E013D9c7C8,18.0 +1175.0,BEND-6218,BEND,Bend Token,0x0d02755a5700414B26FF040e1dE35D337DF56218,18.0 +1176.0,EVNY-8E60,EVNY,EVNY Token,0x9A24B8E8A6D4563c575A707b1275381119298E60,18.0 +1177.0,SKY-B0d4,SKY,The SkyToken,0x090FC4D5436D98E13473c4d6109De6A18BCfB0d4,18.0 +1178.0,VTX-A832,VTX,Vortex DeFi,0xceb286C9604c542d3cc08b41AA6C9675B078A832,18.0 +1179.0,HAY-33bb,HAY,HAYFEVER,0xF6269e2e0C271fb6AF35E7f8a539EbC7155E33bb,9.0 +1180.0,RISE-0cA3,RISE,EverRise,0xC17c30e98541188614dF99239cABD40280810cA3,18.0 +1181.0,STRIP-3C02,STRIP,StripCoin,0xE9cB6838902CCF711f16a9EA5A1170F8e9853C02,18.0 +1182.0,RSC-F571,RSC,ResearchCoin,0xD101dCC414F310268c37eEb4cD376CcFA507F571,18.0 +1183.0,renDOGE-71A7,renDOGE,renDOGE,0x3832d2F059E55934220881F831bE501D180671A7,8.0 +1184.0,M2-D15C,M2,M2,0x965d79F1A1016B574a62986e13Ca8Ab04DfdD15C,18.0 +1185.0,STMX-2803,STMX,StormX,0xbE9375C6a420D2eEB258962efB95551A5b722803,18.0 +1186.0,NFAi-7969,NFAi,Not Financial Advice,0x8eEcaad83a1Ea77bD88A818d4628fAfc4CaD7969,18.0 +1187.0,FEY-6072,FEY,Feyorra,0xe8E06a5613dC86D459bC8Fb989e173bB8b256072,18.0 +1188.0,TAILS-6360,TAILS,TAILS,0x3d79Abb948bc76794ff4a0bCd60170a741f26360,9.0 +1189.0,SOLVE-406F,SOLVE,Healthcare Administration Token,0x446C9033E7516D820cc9a2ce2d0B7328b579406F,8.0 +1190.0,CTASK-3934,CTASK,CTASK Token,0x196c81385Bc536467433014042788Eb707703934,18.0 +1191.0,SALE-B589,SALE,DxSale.Network,0xF063fE1aB7a291c5d06a86e14730b00BF24cB589,18.0 +1192.0,CFi-1eF4,CFi,CyberFi Token,0x63b4f3e3fa4e438698CE330e365E831F7cCD1eF4,18.0 +1193.0,HINA-6764,HINA,Hina Inu,0xbD0a4bf098261673d5E6e600Fd87ddcd756e6764,9.0 +1194.0,CHIP-18bE,CHIP,Ask Chip,0x5A5389bA78F04D783E9F30e5A8C45727c5E018bE,9.0 +1195.0,SOV-2c16,SOV,ShibOriginalVision,0x2C5BC2Ba3614fD27FCc7022eA71d9172E2632c16,18.0 +1196.0,ISLA-5947,ISLA,Insula,0x697eF32B4a3F5a4C39dE1cB7563f24CA7BfC5947,18.0 +1197.0,LIFE-8EE6,LIFE,Life Crypto,0x6c936D4AE98E6d2172dB18c16C4b601C99918EE6,18.0 +1198.0,TKN-E73a,TKN,Monolith TKN,0xaAAf91D9b90dF800Df4F55c205fd6989c977E73a,8.0 +1199.0,VID-C9E5,VID,VideoCoin,0x2C9023bBc572ff8dc1228c7858A280046Ea8C9E5,18.0 +1200.0,GETH-3De9,GETH,Goerli ETH,0xdD69DB25F6D620A7baD3023c5d32761D353D3De9,18.0 +1201.0,EWW-21a8,EWW,EndlessWebWorlds,0x3d38F87BeF0123f5764635C7E11048027E0721a8,9.0 +1202.0,SONIC-0ee5,SONIC,Sonic,0xd1cD47746B8e72359b28C1c84a4F6a19dc1A0ee5,18.0 +1203.0,ZINU-6caA,ZINU,Zombie Inu,0xc50EF449171a51FbeAFd7c562b064B6471C36caA,9.0 +1204.0,GNFT-6C2b,GNFT,GNFT,0xc502002aEB1b9309FcCb016adF50507987Fc6C2b,18.0 +1205.0,DPAY-Dd78,DPAY,Devour,0xE5A733681bbE6cd8c764Bb8078ef8E13a576Dd78,18.0 +1206.0,TOK-3C30,TOK,TOK,0x4Fb721eF3Bf99e0f2c193847afA296b9257d3C30,8.0 +1207.0,JUP-2Be8,JUP,Jupiter,0x4B1E80cAC91e2216EEb63e29B957eB91Ae9C2Be8,18.0 +1208.0,NMS-91a9,NMS,Nemesis,0x77252494C25444F8598A0c74Ffc90ADc535291a9,18.0 +1209.0,KEX-a4F8,KEX,KIRA Network,0x16980b3B4a3f9D89E33311B5aa8f80303E5ca4F8,6.0 +1210.0,SWAPP-c244,SWAPP,Swapp Token,0x8CB924583681cbFE487A62140a994A49F833c244,18.0 +1211.0,SHINU-C53F,SHINU,Sheikh Inu,0x0d229c3FF2d76E4b88Ca4F9d3D3353F4545EC53F,18.0 +1212.0,PAY-3ea3,PAY,PayBolt,0xe580074A10360404AF3ABfe2d524D5806D993ea3,18.0 +1213.0,SIMP-4C99,SIMP,SIMP,0x41C21693e60FC1a5dBb7c50e54E7A6016aA44C99,18.0 +1214.0,WAS-0E1b,WAS,Wasder Token,0x0c572544a4Ee47904d54aaA6A970AF96B6f00E1b,18.0 +1215.0,PCNT-0C3b,PCNT,Playcent,0x657B83A0336561C8f64389a6f5aDE675C04b0C3b,18.0 +1216.0,PTOY-CC06,PTOY,Patientory,0x8Ae4BF2C33a8e667de34B54938B0ccD03Eb8CC06,8.0 +1217.0,PKF-8AEb,PKF,PolkaFoundry,0x8B39B70E39Aa811b69365398e0aACe9bee238AEb,18.0 +1218.0,DSLA-ECBe,DSLA,DSLA,0x3aFfCCa64c2A6f4e3B6Bd9c64CD2C969EFd1ECBe,18.0 +1219.0,GATE-82E4,GATE,GATE,0x9d7630aDF7ab0b0CB00Af747Db76864df0EC82E4,18.0 +1220.0,HLD-8187,HLD,Hackerlabs DAO,0xCA1308E38340C69E848061aA2C3880daeB958187,9.0 +1221.0,NEBO-b455,NEBO,CSP DAO,0x7f0c8B125040f707441cad9e5eD8a8408673b455,18.0 +1222.0,DOGY-6839,DOGY,DogeYield,0x9c405acf8688AfB61B3197421cDeeC1A266c6839,18.0 +1223.0,PNODE-82D2,PNODE,Pinknode Token,0xAF691508BA57d416f895e32a1616dA1024e882D2,18.0 +1224.0,PTPA-9E6c,PTPA,Pumptopia,0xC0B182B2E06164568a3310Ca1086e9bf19209E6c,18.0 +1225.0,SNOV-d969,SNOV,Snovio,0xBDC5bAC39Dbe132B1E030e898aE3830017D7d969,18.0 +1226.0,MNTP-ECCc,MNTP,Goldmint MNT Prelaunch Token,0x83cee9e086A77e492eE0bB93C2B0437aD6fdECCc,18.0 +1227.0,ID-Eb83,ID,Everest ID,0xEBd9D99A3982d547C5Bb4DB7E3b1F9F14b67Eb83,18.0 +1228.0,iDYP-e056,iDYP,iDeFiYieldProtocol,0xBD100d061E120b2c67A24453CF6368E63f1Be056,18.0 +1229.0,PRIMATE-95ff,PRIMATE,PRIMATE,0x46e98FFE40E408bA6412bEb670507e083C8B95ff,18.0 +1230.0,EMON-974a,EMON,EthermonToken,0xd6A5aB46ead26f49b03bBB1F9EB1Ad5c1767974a,18.0 +1231.0,YUNA-62f9,YUNA,Yuna (YunaToken.io),0x2F6f397332B0F8b4536430bCC97980aA838f62f9,18.0 +1232.0,RHO-90Ec,RHO,Rho Token,0x3F3Cd642E81d030D7b514a2aB5e3a5536bEb90Ec,18.0 +1233.0,SANSHU-344D,SANSHU,Sanshu Inu,0xc73C167E7a4Ba109e4052f70D5466D0C312A344D,9.0 +1234.0,VRA-E41F,VRA,VERA,0xdF1D6405df92d981a2fB3ce68F6A03baC6C0E41F,18.0 +1235.0,ATOR-79ce,ATOR,AirTor Protocol,0x0F7B3F5a8FeD821c5eb60049538a548dB2D479ce,18.0 +1236.0,AUDIO-B998,AUDIO,Audius,0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998,18.0 +1237.0,QLINDO-b46E,QLINDO,Qlindo Realestate Investment Token,0xC18c07a18198A6340cf4d94855fE5eb6DD33b46E,0.0 +1238.0,COOK-6eF5,COOK,Cook Token,0xFF75CEd57419bcaEBe5F05254983b013B0646eF5,18.0 +1239.0,PDEX-Aaea,PDEX,Polkadex,0xF59ae934f6fe444afC309586cC60a84a0F89Aaea,18.0 +1240.0,CARD-D708,CARD,Cardstack,0x954b890704693af242613edEf1B603825afcD708,18.0 +1241.0,HTB-A941,HTB,Hotbit Token,0x6be61833FC4381990e82D7D4a9F4c9B3F67eA941,18.0 +1242.0,FOUR-F4D0,FOUR,The 4th Pillar Token,0x4730fB1463A6F1F44AEB45F6c5c422427f37F4D0,18.0 +1243.0,PAN-4c92,PAN,Pantos Token,0x536381a8628dBcC8C70aC9A30A7258442eAb4c92,8.0 +1244.0,HAKI-6697,HAKI,HAKI,0xF90c7f66eAc7E2130bF677D69a250b2136Cf6697,18.0 +1245.0,PAW-1B01,PAW,PAWSWAP,0xDc63269eA166b70d4780b3A11F5C825C2b761B01,18.0 +1246.0,SHIV-cB43,SHIV,ShibVinci,0xe9615071341c6F0392A5dFDE1645Ad01b810cB43,9.0 +1247.0,GNYerc20-51d4,GNYerc20,GNYerc20,0xb1f871Ae9462F1b2C6826E88A7827e76f86751d4,18.0 +1248.0,UMBR-d35C,UMBR,UmbriaToken,0xa4bBE66f151B22B167127c770016b15fF97Dd35C,18.0 +1249.0,LEO-2Ca3,LEO,Bitfinex LEO Token,0x2AF5D2aD76741191D15Dfe7bF6aC92d4Bd912Ca3,18.0 +1250.0,DEXTF-89f0,DEXTF,DEXTF Token,0x5F64Ab1544D28732F0A24F4713c2C8ec0dA089f0,18.0 +1251.0,Kitty Dinger-3BC6,Kitty Dinger,Schrodinger,0x2C33B28527A63Cdf13C0B24Ce4cf5BF9C9fB3BC6,9.0 +1252.0,G*-2fA3,G*,G*,0x97E19E2a5458294842036404E6A05571D8Bc2fA3,18.0 +1253.0,APOLLO-3CAb,APOLLO,Apollo Inu,0xADf86E75d8f0F57e0288D0970E7407eaA49b3CAb,9.0 +1254.0,DOGEFI-646D,DOGEFI,DOGEFI,0x9B9087756eCa997C5D595C840263001c9a26646D,18.0 +1255.0,TRVL-1F3d,TRVL,TRVL,0xd47bDF574B4F76210ed503e0EFe81B58Aa061F3d,18.0 +1256.0,ARV-429E,ARV,Artemis Vision,0x28fDA76721a8077A5dE802Ab0212849B8c38429E,18.0 +1257.0,RND-6b29,RND,random,0x1c7E83f8C581a967940DBfa7984744646AE46b29,18.0 +1258.0,UniFi-CEb5,UniFi,UniFi,0x9E78b8274e1D6a76a0dBbf90418894DF27cBCEb5,18.0 +1259.0,POLC-6B37,POLC,Polka City,0xaA8330FB2B4D5D07ABFE7A72262752a8505C6B37,18.0 +1260.0,SWFL-538A,SWFL,Swapfolio,0xBa21Ef4c9f433Ede00badEFcC2754B8E74bd538A,18.0 +1262.0,BOLT-a789,BOLT,Bolt Token,0xD5930C307d7395Ff807F2921F12C5EB82131a789,18.0 +1263.0,HAPI-Fb54,HAPI,HAPI,0xD9c2D319Cd7e6177336b0a9c93c21cb48d84Fb54,18.0 +1264.0,FREE-e4Fd,FREE,Free Coin,0x2F141Ce366a2462f02cEA3D12CF93E4DCa49e4Fd,18.0 +1265.0,KANGAL-d337,KANGAL,Kangal,0x6E765D26388A17A6e86c49A8E41DF3F58aBcd337,18.0 +1266.0,DBNB-d888,DBNB,DecentraBNB,0x833850BE8858722Cfc5E5e75f2Fe6275E055d888,9.0 +1267.0,STACK-3a0a,STACK,Stacker Ventures Token,0xe0955F26515d22E347B17669993FCeFcc73c3a0a,18.0 +1268.0,LOL-C032,LOL,LOL,0xf91AC30E9b517f6D57e99446ee44894e6C22C032,9.0 +1269.0,$AI-C2a1,$AI,Alpha Intelligence,0x5d259E3FbcAdef1abfeA5582e456Bc7F0aebC2a1,18.0 +1270.0,ARCH-f3aF,ARCH,Archer DAO Governance Token,0x1F3f9D3068568F8040775be2e8C03C103C61f3aF,18.0 +1271.0,DOS-9cB7,DOS,DOS Network Token,0x0A913beaD80F321E7Ac35285Ee10d9d922659cB7,18.0 +1272.0,MKONG-8065,MKONG,MEME KONG,0xeE6b9CF11D968E0bAc7BFfF547577B8AE35B8065,9.0 +1273.0,ACYC-e147,ACYC,AllCoinsYieldCapital,0xB56A1f3310578f23120182Fb2e58c087EFE6e147,18.0 +1274.0,LITx-7a91,LITx,LITH Token,0x4B48068864F77261838C7849A12853FB94c77a91,18.0 +1275.0,GFX-58fC,GFX,GamyFi,0x65ad6A2288b2Dd23E466226397c8F5D1794e58fC,18.0 +1276.0,WSCRT-68Be,WSCRT,Wrapped SCRT,0x2B89bF8ba858cd2FCee1faDa378D5cd6936968Be,6.0 +1277.0,BARK-ea60,BARK,Bark,0x53340a1EF3a0dDeBA1D94BBd1E2fF55936F0ea60,18.0 +1278.0,NTX-7935,NTX,NuNet Utility Token,0xF0d33BeDa4d734C72684b5f9abBEbf715D0a7935,6.0 +1279.0,WAXE-4DFD,WAXE,WAX Economic Token,0x7a2Bc711E19ba6aff6cE8246C546E8c4B4944DFD,8.0 +1280.0,ONX-1033,ONX,OnX.finance,0xE0aD1806Fd3E7edF6FF52Fdb822432e847411033,18.0 +1281.0,KATA-aE15,KATA,Katana Inu,0x2e85ae1C47602f7927bCabc2Ff99C40aA222aE15,18.0 +1282.0,rDPX-8D11,rDPX,Dopex Rebate Token,0x0ff5A8451A839f5F0BB3562689D9A44089738D11,18.0 +1283.0,XSTUSD-d356,XSTUSD,SORA Synthetic USD,0xc7D9c108D4E1dD1484D3e2568d7f74bfD763d356,18.0 +1284.0,LMT-c8AF,LMT,Lympo Market Token,0x327673aE6B33Bd3d90f0096870059994f30Dc8AF,18.0 +1285.0,UNQT-5d4C,UNQT,Unique Utility Token,0xa80f2C8f61c56546001f5FC2eb8D6E4e72c45d4C,18.0 +1286.0,PLU-264E,PLU,Pluton,0xD8912C10681D8B21Fd3742244f44658dBA12264E,18.0 +1287.0,X7DAO-2dA0,X7DAO,X7DAO,0x7105E64bF67ECA3Ae9b123F0e5Ca2b83b2eF2dA0,18.0 +1288.0,UFT-3AB1,UFT,UniLend Finance Token,0x0202Be363B8a4820f3F4DE7FaF5224fF05943AB1,18.0 +1289.0,RESET-EeD2,RESET,MetaReset,0x30df7D7EE52c1b03cd009e656F00AB875AdCEeD2,18.0 +1290.0,KISHUTAMA-7990,KISHUTAMA,KishuTama,0xDc0804eD9ABA9202E2b976C031d3144BB63a7990,9.0 +1291.0,YOP-4051,YOP,YOP,0xAE1eaAE3F627AAca434127644371b67B18444051,8.0 +1292.0,TENSHI-5292,TENSHI,TENSHI v2,0x52662717e448be36Cb54588499D5A8328BD95292,18.0 +1293.0,UNIQ-8025,UNIQ,Uniqly,0x3758e00b100876C854636eF8Db61988931BB8025,18.0 +1294.0,KNDX-EFC1,KNDX,Kondux,0x7CA5af5bA3472AF6049F63c1AbC324475D44EFC1,9.0 +1295.0,GT-4759,GT,GateChainToken,0xE66747a101bFF2dBA3697199DCcE5b743b454759,18.0 +1296.0,SIS-6dd9,SIS,Symbiosis,0xd38BB40815d2B0c2d2c866e0c72c5728ffC76dd9,18.0 +1297.0,COR-D835,COR,COR Token,0x9C2dc0c3CC2BADdE84B0025Cf4df1c5aF288D835,18.0 +1298.0,AZUKI-BaEd,AZUKI,DokiDokiAzuki,0x910524678C0B1B23FFB9285a81f99C29C11CBaEd,18.0 +1299.0,HEART-897C,HEART,HUMANS,0x8FAc8031e079F409135766C7d5De29cf22EF897C,18.0 +1300.0,FKX-6EBB,FKX,Knoxstertoken,0x16484d73Ac08d2355F466d448D2b79D2039F6EBB,18.0 +1301.0,YVS-f478,YVS,YVS.Finance,0xEC681F28f4561c2a9534799AA38E0d36A83Cf478,18.0 +1302.0,eMTRG-8A9F,eMTRG,Meter Governance mapped by Meter.io,0xBd2949F67DcdC549c6Ebe98696449Fa79D988A9F,18.0 +1303.0,BTSE-32Ef,BTSE,BTSE Token,0x666d875C600AA06AC1cf15641361dEC3b00432Ef,8.0 +1304.0,NFTT-9499,NFTT,NFT.TECH,0x5fA2E9Ba5757504B3d6e8f6da03cc40d4ce19499,18.0 +1305.0,LEASH-6634,LEASH,DOGE KILLER,0x27C70Cd1946795B66be9d954418546998b546634,18.0 +1306.0,ORION-46e4,ORION,Orion Money Token,0x727f064A78DC734D33eEc18d5370aef32Ffd46e4,18.0 +1307.0,GOKU-ED79,GOKU,Goku Inu,0xA64dFe8D86963151E6496BEe513E366F6e42ED79,9.0 +1308.0,HAPPY-26f4,HAPPY,HappyFans,0x3079F61704E9eFa2BcF1db412f735d8d4cFa26f4,18.0 +1309.0,HY-5715,HY,hybrix hydra,0x9b53E429B0baDd98ef7F01F03702986c516a5715,18.0 +1310.0,BANKETH-4cA1,BANKETH,BankEth,0xBE0C826f17680d8Da620855bE89DD6544C034cA1,18.0 +1311.0,DOSE-6515,DOSE,DOSE,0xb31eF9e52d94D4120eb44Fe1ddfDe5B4654A6515,18.0 +1312.0,STILT-bE4b,STILT,Stilton,0xB5F1457d6FBa1956Fb8d31B0B7CAcA14BDe0bE4b,9.0 +1313.0,cUSDT-dCC9,cUSDT,Compound USDT,0xf650C3d88D12dB855b8bf7D11Be6C55A4e07dCC9,8.0 +1314.0,HERO-884E,HERO,Challenge Coin,0x524Ebc93BeEf838F70b4Ae54b675d3e971D5884E,9.0 +1315.0,CRBN-24EE,CRBN,Carbon,0xCdeee767beD58c5325f68500115d4B722b3724EE,18.0 +1316.0,PWRC-4f83,PWRC,PWRCASH,0x6Aa40D02115090D40Dc33C7C5F3Cf05112fA4f83,18.0 +1317.0,GRV-290c,GRV,GroveC,0xF33893DE6eB6aE9A67442E066aE9aBd228f5290c,8.0 +1318.0,BID-02fa,BID,Bidao,0x25e1474170c4c0aA64fa98123bdc8dB49D7802fa,18.0 +1319.0,UFI-a0E3,UFI,PureFi Token,0xcDa4e840411C00a614aD9205CAEC807c7458a0E3,18.0 +1320.0,EDGE-7831,EDGE,Edge,0x4EC1b60B96193a64AcAe44778e51f7BfF2007831,18.0 +1321.0,BTT-7957,BTT,BitTorrent,0xC669928185DbCE49d2230CC9B0979BE6DC797957,18.0 +1322.0,ZONE-d53C,ZONE,GridZone.io,0xC1D9B5A0776d7C8B98b8A838e5a0DD1Bc5Fdd53C,18.0 +1323.0,RELIC-884F,RELIC,MasRelic,0x77132Bb08B02a7a87732ec289EFaB45edF49884F,18.0 +1324.0,DOGENS-2e3c,DOGENS,Dogens,0x1b4dD5eA240732dDAc8d74FD1Cd9026Addc02e3c,9.0 +1325.0,MASTERMIND-9b43,MASTERMIND,Mastermind,0x8b0FdE007458Ee153bd0F66CD448Af5FB3D99b43,18.0 +1326.0,GYSR-CCAb,GYSR,Geyser,0xbEa98c05eEAe2f3bC8c3565Db7551Eb738c8CCAb,18.0 +1327.0,SHIBAKEN-Ab6B,SHIBAKEN,ShibaKen.Finance,0xa4Cf2aFD3B165975afFFBf7e487CDd40C894Ab6B,0.0 +1328.0,DRT-D5Ab,DRT,DomRaiderToken,0x9AF4f26941677C706cfEcf6D3379FF01bB85D5Ab,8.0 +1329.0,FLOW-1BF9,FLOW,Flow Protocol,0xC6e64729931f60D2c8Bc70A27D66D9E0c28D1BF9,9.0 +1330.0,SRM-e0fF,SRM,Serum,0x476c5E26a75bd202a9683ffD34359C0CC15be0fF,6.0 +1331.0,EVED-91bd,EVED,Evedo Token,0x5aaEFe84E0fB3DD1f0fCfF6fA7468124986B91bd,18.0 +1332.0,WUKONG-D714,WUKONG,Monkey King,0xA3ec7DF93090f4DE46FaEA09F73cc40ebe7dD714,18.0 +1333.0,MORK-6F76,MORK,Mork,0xf552b656022c218C26dAd43ad88881Fc04116F76,4.0 +1334.0,tAI-3B7f,tAI,AITravis,0x2F4404C4012476929b6503E1397707480bf23B7f,9.0 +1335.0,CHART-E63E,CHART,ChartEx,0x1d37986F252d0e349522EA6C3B98Cb935495E63E,18.0 +1336.0,POLY-D1eC,POLY,Polymath,0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC,18.0 +1337.0,GATSBY-37b4,GATSBY,Gatsby Inu,0xE22910D04bDc9d55570f3BC52E786b49DddF37b4,18.0 +1338.0,GAS-8469,GAS,Gas DAO,0x6Bba316c48b49BD1eAc44573c5c871ff02958469,18.0 +1339.0,SHIWA-1cc4,SHIWA,SHIWA,0x5022Cb6D39001CDD6F996e8a66500c86128f1cc4,9.0 +1340.0,BAND-7f55,BAND,BandToken,0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55,18.0 +1341.0,BABYDOGE-eBd5,BABYDOGE,BabyDoge Coin,0xAC8E13ecC30Da7Ff04b842f21A62a1fb0f10eBd5,9.0 +1342.0,FUSE-f84d,FUSE,Fuse Token,0x970B9bB2C0444F5E81e9d0eFb84C8ccdcdcAf84d,18.0 +1343.0,MAGA-2228,MAGA,MAGA Coin ETH,0xc9b6A17EbB43491635F603A01f8Bb3e4B5D22228,9.0 +1344.0,DFP2-8E6D,DFP2,Defi Plaza governance,0x2F57430a6ceDA85a67121757785877b4a71b8E6D,18.0 +1345.0,EXP-2f77,EXP,Exp,0xd137561C20BE8e870D62e2aE92269f0950702f77,18.0 +1346.0,GTFO-3398,GTFO,DumpBuster,0xa0A9C16856C96D5E9d80a8696eEA5E02B2Dc3398,9.0 +1347.0,HUSKY-5091,HUSKY,HuskyToken,0xd5281BB2d1eE94866B03A0fcCDd4e900c8Cb5091,9.0 +1348.0,NII-bE52,NII,Nahmii,0x7c8155909cd385F120A56eF90728dD50F9CcbE52,15.0 +1349.0,FAMILY-61f4,FAMILY,The Bitcoin Family,0x833E4c02c47B7e38f5b9A80b26eb07D23d1961f4,4.0 +1350.0,UNCL-Dd49,UNCL,UNCL,0x2f4eb47A1b1F4488C71fc10e39a4aa56AF33Dd49,18.0 +1351.0,CAI-a48D,CAI,CryptoAI,0xf36C5f04127F7470834ed6f98bDDC1BE62aba48D,18.0 +1352.0,MCO2-cacD,MCO2,Moss Carbon Credit,0xfC98e825A2264D890F9a1e68ed50E1526abCcacD,18.0 +1353.0,BMDA-a95E,BMDA,Bermuda,0x4236f8aaF2B1f3A28420Eb15B8e0ddF63201a95E,18.0 +1354.0,MINT-a059,MINT,Public Mint,0x0CDF9acd87E940837ff21BB40c9fd55F68bba059,18.0 +1355.0,DINU-7732,DINU,Dogey-Inu,0xbb1EE07d6c7BAeB702949904080eb61f5D5e7732,18.0 +1356.0,FreqAI-f486,FreqAI,The Razors Edge,0xB685145D7F127b9093d7f9278BaE902EF59Ff486,18.0 +1357.0,NTVRK-157A,NTVRK,NETVRK,0xFc0d6Cf33e38bcE7CA7D89c0E292274031b7157A,18.0 +1358.0,OPCT-c400,OPCT,Opacity,0xDb05EA0877A2622883941b939f0bb11d1ac7c400,18.0 +1359.0,SI-93de,SI,SIREN,0xD23Ac27148aF6A2f339BD82D0e3CFF380b5093de,18.0 +1360.0,PAINT-4042,PAINT,Paint,0x4C6eC08CF3fc987c6C4BEB03184D335A2dFc4042,18.0 +1361.0,WXMR-B0f5,WXMR,Wrapped Monero,0x465e07d6028830124BE2E4aA551fBe12805dB0f5,18.0 +1362.0,EDDA-0aA9,EDDA,EDDA,0xFbbE9b1142C699512545f47937Ee6fae0e4B0aA9,18.0 +1363.0,JACY-4A62,JACY,JACY,0x916c5DE09cF63f6602d1e1793FB41F6437814A62,9.0 +1364.0,BCT-150a,BCT,BananaClubToken,0x350D3f0f41b5B21F0e252fe2645AE9D55562150a,9.0 +1365.0,MCAP-44f0,MCAP,Meta Capital,0xbCE0665b20164d6cd6D15E70feD1E094AD4A44f0,9.0 +1366.0,PLSPAD-C47A,PLSPAD,PULSEPAD.io,0x8a74BC8c372bC7f0E9cA3f6Ac0df51BE15aEC47A,18.0 +1367.0,DOKI-71f5,DOKI,Okidoki Social,0x869DBe51Dc214fcb663604b0F7B548592F8C71f5,9.0 +1368.0,SDOG-E0D4,SDOG,SDOG,0x537edD52ebcb9F48ff2f8a28c51FCdB9D6a6E0D4,18.0 +1369.0,DBOX-D973,DBOX,Decentra Box,0x56c9D5F1E727de03643af220B5cE52DE23D4D973,18.0 +1370.0,ARCHA-C7fD,ARCHA,archangel,0x36E43065e977bC72CB86Dbd8405fae7057CDC7fD,9.0 +1371.0,FMON-e96D,FMON,FMONEY TOKEN,0xD283EC9db7B3094ED5a2c87Eb48D54f5FA96e96D,9.0 +1372.0,IXS-d1b4,IXS,Ixs Token,0x73d7c860998CA3c01Ce8c808F5577d94d545d1b4,18.0 +1373.0,STARS-13Ca,STARS,Mogul Stars,0xc55c2175E90A46602fD42e931f62B3Acc1A013Ca,18.0 +1374.0,PAID-D787,PAID,PAID Network,0x1614F18Fc94f47967A3Fbe5FfcD46d4e7Da3D787,18.0 +1375.0,SNTVT-B7F8,SNTVT,Sentivate,0x7865af71cf0b288b4E7F654f4F7851EB46a2B7F8,18.0 +1376.0,MOMA-D55B,MOMA,MOchi MArket,0xbd1848e1491d4308Ad18287A745DD4DB2A4BD55B,18.0 +1377.0,GLDN-0CC2,GLDN,Gold Retriever,0xFeeB4D0f5463B1b04351823C246bdB84c4320CC2,18.0 +1378.0,VERI-2374,VERI,Veritaseum,0x8f3470A7388c05eE4e7AF3d01D8C722b0FF52374,18.0 +1379.0,IMP-4543,IMP,Imperial Obelisk,0x2D5C73f3597B07F23C2bB3F2422932E67eca4543,18.0 +1380.0,WPT-88eA,WPT,WPT Investing Corp,0x4FD51Cb87ffEFDF1711112b5Bd8aB682E54988eA,18.0 +1381.0,OJE-6409,OJE,OJE Token,0xC5ec4f1FC86DA45AE788EC98756BA70B57676409,18.0 +1382.0,PNK-c04d,PNK,Pinakion,0x93ED3FBe21207Ec2E8f2d3c3de6e058Cb73Bc04d,18.0 +1383.0,TOKR-6772,TOKR,Tokerr,0xA885B6d3C87535de688194Ec3645199ee76D6772,9.0 +1384.0,CLIFF-6669,CLIFF,CliffordInu,0x1B9BAF2A3EdeA91eE431f02d449a1044d5726669,18.0 +1385.0,R34P-81F6,R34P,R34P,0xCAEaf8381D4B20b43AFA42061D6f80319A8881F6,8.0 +1386.0,DCNT-8701,DCNT,Decanect,0x4Ce4C025692B3142dbdE1cd432ef55b9A8D18701,9.0 +1387.0,TRND-7CCb,TRND,Trendering,0xc3dD23A0a854b4f9aE80670f528094E9Eb607CCb,18.0 +1388.0,USF-b9ce,USF,Unslashed Finance Governance Token,0xE0e05c43c097B0982Db6c9d626c4eb9e95C3b9ce,18.0 +1389.0,SHIBU-91a4,SHIBU,SHIBAUNIVERSE.ORG,0x7bFDE33d790411A88D46E9e1be32Fc86228891a4,9.0 +1390.0,oBTC-B2AC,oBTC,Ordinal BTC ,0xfF770E4c68e35DB85c6e0E89a43750eC02bDB2AC,18.0 +1391.0,DEV-aEa0,DEV,Dev Doing Something,0x77E20FC7f2F4084b74284E1190810fCa3679aEa0,9.0 +1392.0,BabyTrump-08B6,BabyTrump,Baby Trump Token,0x99d36e97676A68313ffDc627fd6b56382a2a08B6,9.0 +1393.0,UPR-2385,UPR,Upfire,0xf720E38F678B29B243F7D53B56Acbf5dE98F2385,18.0 +1394.0,MCC-9e0C,MCC,MultiChainCapital,0xC146B7CdBaff065090077151d391f4c96Aa09e0C,9.0 +1395.0,ETHPAD-C442,ETHPAD,ETHPAD.network,0x8dB1D28Ee0d822367aF8d220C0dc7cB6fe9DC442,18.0 +1396.0,KLEE-de71,KLEE,KleeKai,0xA67E9F021B9d208F7e3365B2A155E3C55B27de71,9.0 +1397.0,CELR-C667,CELR,CelerToken,0x4F9254C83EB525f9FCf346490bbb3ed28a81C667,18.0 +1398.0,VetMe-4E1f,VetMe,VetMe,0xe7eF051C6EA1026A70967E8F04da143C67Fa4E1f,9.0 +1399.0,SPO-CC4E,SPO,Spores,0xcbE771323587EA16dACB6016e269D7F08A7ACC4E,18.0 +1400.0,ELF-100e,ELF,ELF Token,0xbf2179859fc6D5BEE9Bf9158632Dc51678a4100e,18.0 +1401.0,NUX-911c,NUX,NUX Peanut.trade,0x89bD2E7e388fAB44AE88BEf4e1AD12b4F1E0911c,18.0 +1402.0,BNV-d749,BNV,BunnyVerse,0x072987D5B36aD8d45552aEd98879a7101cCdd749,18.0 +1403.0,STATS-0caD,STATS,Stats,0x39142c18B6db2a8A41B7018f49E1478837560caD,9.0 +1404.0,DYT-1E14,DYT,DoYourTip,0x740623d2c797b7D8D1EcB98e9b4Afcf99Ec31E14,18.0 +1405.0,MINTYS-bE85,MINTYS,MintySwap,0xBbd900e05b4aF2124390D206F70bc4E583B1bE85,9.0 +1406.0,QR-B002,QR,Qrolli,0xCcDb064a41AFcD432BCEa6F6d0D1E7c371d0B002,9.0 +1407.0,JIG-49E9,JIG,Jigen,0xe2Fc859C838F31C1450448f4FeD92e3284aE49E9,18.0 +1408.0,UNISTAKE-4E5E,UNISTAKE,Unistake,0x9Ed8e7C9604790F7Ec589F99b94361d8AAB64E5E,18.0 +1409.0,UGT-0063,UGT,Unreal Governance Token,0x9cf98Eb8A8B28c83E8612046cf55701Ce3Eb0063,18.0 +1410.0,ZEUS-20b1,ZEUS,ZEUS10000,0xcbC1Aa6961B28cCcb11E1cdDd84Ad8B42Ec920b1,4.0 +1411.0,MONSTR-4660,MONSTR,MonstaVerse,0xba75fBC4C7a553081F7A137b6e652520Db444660,9.0 +1412.0,BlueSparrow-6FdE,BlueSparrow,BlueSparrowToken,0x24cCeDEBF841544C9e6a62Af4E8c2fA6e5a46FdE,9.0 +1413.0,REALM-CFB8,REALM,REALM,0x464FdB8AFFC9bac185A7393fd4298137866DCFB8,18.0 +1414.0,NITRO-87B8,NITRO,Nitro,0x0335A7610D817aeCA1bEBbEfbd392ecC2eD587B8,18.0 +1415.0,STARL-6B24,STARL,StarLink,0x8E6cd950Ad6ba651F6DD608Dc70e5886B1AA6B24,18.0 +1416.0,ShibDoge-928F,ShibDoge,ShibaDoge,0x6ADb2E268de2aA1aBF6578E4a8119b960E02928F,9.0 +1417.0,MARU-2b00,MARU,Marutaro,0xC2456D2118299a2efDFE6522Ff79aA48fC5d2b00,9.0 +1418.0,BleYd-94b9,BleYd,Black Eyed Dragon,0x59B44e9AC4AB8e29db6Faf7baCd726C6B7bC94b9,9.0 +1419.0,ANARCHY-Ce8c,ANARCHY,Anarchy,0x53fD2342B43eCD24AEf1535BC3797F509616Ce8c,9.0 +1420.0,STORJ-b8aC,STORJ,StorjToken,0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC,8.0 +1421.0,SWM-ca39,SWM,SWARM,0x3505F494c3f0fed0B594E01Fa41Dd3967645ca39,18.0 +1422.0,MOD-1D71,MOD,Modefi,0xEA1ea0972fa092dd463f2968F9bB51Cc4c981D71,18.0 +1423.0,TACO-2557,TACO,Tacos,0x00D1793D7C3aAE506257Ba985b34C76AaF642557,18.0 +1424.0,YASHA-D753,YASHA,YASHA,0xD75f1f81B69bDd4Df8EfbB70e9C6F4609009D753,18.0 +1425.0,REDPANDA-44b9,REDPANDA,RedPanda Earth,0x9ba4CBcBb920F67f54A8F8f0001D721E0B8944b9,9.0 +1426.0,PKN-9503,PKN,Poken,0xdf09a216Fac5ADC3e640Db418C0b956076509503,18.0 +1427.0,Totoro-2F12,Totoro,Totoro Inu,0xfc09c7cFD9c175DD9423ca02aE1249579AB12F12,9.0 +1428.0,FTRB-81D7,FTRB,Faith Tribe,0x2596825a84888E8f24b747DF29e11b5dd03C81D7,18.0 +1429.0,CAT+-fbd6,CAT+,Capital Aggregator Token,0x686c77609aFe6A2fac50421888530288B441fbd6,18.0 +1430.0,XCN-fb18,XCN,Chain,0xA2cd3D43c775978A96BdBf12d733D5A1ED94fb18,18.0 +1431.0,SHINJI-0afd,SHINJI,Shinji Inu,0x1F31DD60b84ea2a273cfC56876437E069aE80afd,9.0 +1432.0,SAITAMA-27B2,SAITAMA,SAITAMA,0xCE3f08e664693ca792caCE4af1364D5e220827B2,9.0 +1433.0,KTO-F8fC,KTO,Kounotori,0x616ef40D55C0D2c506f4d6873Bda8090b79BF8fC,9.0 +1434.0,GYOKUTO-612D,GYOKUTO,Tsuki no Usagi,0x166D45e55143ea15032672Ac9f591A4401CC612D,9.0 +1435.0,SHINTAMA-76dA,SHINTAMA,Shintama,0x7e794eD35788b698AE60cefC98eE48015C4876dA,9.0 +1436.0,$CWI-ba5D,$CWI,Crypto Wrestling Inu,0xE2d310CB8992b3Fa1051BA4710F41c43eB5Bba5D,18.0 +1437.0,GAMMA-e197,GAMMA,Gamma,0x6BeA7CFEF803D1e3d5f7C0103f7ded065644e197,18.0 +1438.0,GVC-58Bf,GVC,Galaxy Villains,0x8dc89F4716E027394Bba225b82328C1ea2Ea58Bf,18.0 +1439.0,SHIBN-B3B3,SHIBN,Shibnaut,0xd346E8ADA104093ADcf5f4186087E1AD309BB3B3,18.0 +1440.0,GHX-387d,GHX,GamerCoin,0x728f30fa2f100742C7949D1961804FA8E0B1387d,18.0 +1441.0,CONV-8B50,CONV,Convergence,0xc834Fa996fA3BeC7aAD3693af486ae53D8aA8B50,18.0 +1442.0,DAFI-6439,DAFI,DAFI Token,0xFc979087305A826c2B2a0056cFAbA50aad3E6439,18.0 +1443.0,yShori-d69b,yShori,Shori 勝利,0x25644eA5bE09d1266B5df3F96559Ecdc2D0ad69b,18.0 +1444.0,ELongD-4d1B,ELongD,Elongate Deluxe,0x348B7f3106B5Da47405332534d06069fF9CE4d1B,9.0 +1445.0,eMax-7FF6,eMax,EthereumMax,0x15874d65e649880c2614e7a480cb7c9A55787FF6,18.0 +1446.0,RBC-3333,RBC,RUBIC TOKEN,0x3330BFb7332cA23cd071631837dC289B09C33333,18.0 +1447.0,LAEEB-863d,LAEEB,Laeeb Inu,0x3B1a3C5d9D5C60651D4841C7814aA0FbB45A863d,18.0 +1448.0,$colR-4415,$colR,colR Coin,0x14b40AD2EBA6c1B31db2bA817b07578AFB414415,18.0 +1449.0,Happy-3378,Happy,HappyBear,0x651e44D0df89055c00513d0efb9E8d1A0C843378,18.0 +1450.0,WHL-a46A,WHL,WhaleRoom,0x2aF72850c504dDD3c1876C66a914cAee7Ff8a46A,18.0 +1451.0,SHUEY-5E5D,SHUEY,Shuey Rhon Inu,0xcDcA1B81DbB543BAA92c97b701396Cd3bA315E5D,18.0 +1452.0,iFUND-b0f0,iFUND,UNIFUND,0x04B5E13000C6e9A3255Dc057091F3e3Eeee7b0f0,18.0 +1453.0,TST-9B53,TST,Standard Token,0xa0b93B9e90aB887E53F9FB8728c009746e989B53,18.0 +1454.0,YPIE-CE31,YPIE,Yearn Ecosystem Pie,0x17525E4f4Af59fbc29551bC4eCe6AB60Ed49CE31,18.0 +1455.0,XED-fd86,XED,Exeedme,0xee573a945B01B788B9287CE062A0CFC15bE9fd86,18.0 +1456.0,PICKLE-1Ca5,PICKLE,PickleToken,0x429881672B9AE42b8EbA0E26cD9C73711b891Ca5,18.0 +1457.0,SHUNAV2-8dd1,SHUNAV2,Shuna Inuverse,0xDE72a052cBB212eFf11A4A33d61dF9C5A2De8dd1,9.0 +1458.0,NFP-0834,NFP,New Frontier Presents,0x299698B4B44BD6d023981A7317798dEe12860834,9.0 +1459.0,PAWTH-367F,PAWTH,Pawthereum,0xAEcc217a749c2405b5ebC9857a16d58Bdc1c367F,9.0 +1460.0,TRENDX-c936,TRENDX,Trend X,0xC89d9aa9D9E54bb196319c6195AEA1038d2bc936,18.0 +1461.0,POOLZ-4e23,POOLZ,$Poolz Finance,0x69A95185ee2a045CDC4bCd1b1Df10710395e4e23,18.0 +1462.0,HULK-f3aa,HULK,HULK INU,0x91a5de30e57831529a3c1aF636A78a7E4E83f3aa,18.0 +1463.0,RINIA-FD7D,RINIA,Rinia Inu,0x8f828a0644f12Fa352888E645a90333d30f6FD7D,9.0 +1464.0,KYL-b99C,KYL,Kylin Network,0x67B6D479c7bB412C54e03dCA8E1Bc6740ce6b99C,18.0 +1465.0,BabyShiba-1A1D,BabyShiba,Baby Shiba Coin,0x66A64a8A9cdc54EF97e45a051bA1c8f3D4b41A1D,18.0 +1467.0,DIS-cDC6,DIS,TosDis,0x220B71671b649c03714dA9c621285943f3cbcDC6,18.0 +1468.0,FETCH-c66b,FETCH,Fetch,0xcC779bbBD17b2E68ECdCCaeA3d8C791B1573c66b,18.0 +1469.0,TSANGNYON-C242,TSANGNYON,TSANGNYON HERUKA,0xd031edafac6a6ae5425e77F936022E506444C242,18.0 +1470.0,BIRD-7Ce0,BIRD,Bird.Money,0x70401dFD142A16dC7031c56E862Fc88Cb9537Ce0,18.0 +1471.0,MLT-521d,MLT,Media Licensing Token,0x9506d37f70eB4C3d79C398d326C871aBBf10521d,18.0 +1472.0,GTH-3674,GTH,Gather,0xeb986DA994E4a118d5956b02d8b7c3C7CE373674,18.0 +1473.0,DOGEGF-6Bc5,DOGEGF,DogeGF,0xfb130d93E49DcA13264344966A611dc79a456Bc5,18.0 +1474.0,HT-a161,HT,HuobiToken,0x6f259637dcD74C767781E37Bc6133cd6A68aa161,18.0 +1475.0,DGTX-eC09,DGTX,DigitexFutures,0xc666081073E8DfF8D3d1c2292A29aE1A2153eC09,18.0 +1476.0,AIR-cCeA,AIR,Ape In Records,0xF725f73CAEe250AE384ec38bB2C77C38ef2CcCeA,18.0 +1477.0,WCHI-4605,WCHI,Wrapped CHI,0x6DC02164d75651758aC74435806093E421b64605,8.0 +1478.0,SHIT-469F,SHIT,ShitCoin,0x4e4a47cAC6A28A62dcC20990ed2cdA9BC659469F,18.0 +1479.0,WAGIE-a3Ec,WAGIE,WAGIE,0x492baa7A6450712D4bbCCa01B87F029DEe3Ea3Ec,9.0 +1480.0,DMT-AE6c,DMT,Dark Matter Token,0x79126d32a86e6663F3aAac4527732d0701c1AE6c,18.0 +1481.0,SAITOKI-87Fa,SAITOKI,Saitoki Inu,0xa3c56427683a19F7574b9fc219CFD27d5d6e87Fa,9.0 +1482.0,FIRE-2D43,FIRE,Fire Protocol,0xF921ae2DAC5fa128DC0F6168Bf153ea0943d2D43,8.0 +1483.0,HEY-F7Ee,HEY,Hey,0xE61F6e39711cEc14f8D6c637c2f4568bAA9FF7Ee,18.0 +1484.0,KOMPETE-46E9,KOMPETE,KOMPETE Token,0x1E0b2992079B620AA13A7c2E7c88D2e1E18E46E9,10.0 +1485.0,RLY-E49b,RLY,Rally,0xf1f955016EcbCd7321c7266BccFB96c68ea5E49b,18.0 +1486.0,MDX-1788,MDX,MANDALA EXCHANGE TOKEN,0x947AEb02304391f8fbE5B25D7D98D649b57b1788,18.0 +1487.0,YFIII-2A45,YFIII,DiFy.Finance,0x4be40bc9681D0A7C24A99b4c92F85B9053Fc2A45,18.0 +1488.0,SIPHER-F511,SIPHER,Sipher Token,0x9F52c8ecbEe10e00D9faaAc5Ee9Ba0fF6550F511,18.0 +1489.0,$DG-78a0,$DG,decentral.games,0xEE06A81a695750E71a662B51066F2c74CF4478a0,18.0 +1490.0,CDS-6e5e,CDS,Capital DAO Starter Token,0x3c48Ca59bf2699E51d4974d4B6D284AE52076e5e,18.0 +1491.0,OPTIMUS-215d,OPTIMUS,Optimus,0x562E362876c8Aee4744FC2c6aaC8394C312d215d,9.0 +1492.0,Metis-ed8e,Metis,Metis Token,0x9E32b13ce7f2E80A01932B42553652E053D6ed8e,18.0 +1493.0,PEEP$-9892,PEEP$,The Peoples Coin,0x5919DeA604631016c15c805e3D948A0384879892,9.0 +1494.0,CLAW-1D1C,CLAW,Claw,0x41B25Ff6431074959532dB7435DAdacA65a21D1C,18.0 +1495.0,TheAD-6189,TheAD,The Akragas Decadrachm,0xCB056A2f3cA0B82aB69dcbd677875D68B74D6189,8.0 +1496.0,TAP-db5D,TAP,Tapmydata,0x7f1F2D3dFa99678675ECE1C243d3f7bC3746db5D,18.0 +1497.0,EPAN-Bafc,EPAN,Paypolitan Token,0x72630B1e3B42874bf335020Ba0249e3E9e47Bafc,18.0 +1498.0,AFY-6A21,AFY,Artify,0xa41161AF8D4Ee421ba5fED4328F2B12034796A21,18.0 +1499.0,ERA-01EB,ERA,ERA,0x67776f14E5E9e7845e33fB0c2a3C709d259D01EB,18.0 +1500.0,KOI-856C,KOI,The Dragon Gate,0x8AE340d333fFB274969f505A6520b91024BC856C,9.0 +1501.0,CoShi-B00A,CoShi,CoShi Inu,0x668C50B1c7f46EFFBE3f242687071d7908AAB00A,9.0 +1502.0,WVG0-b611,WVG0,Wrapped Virgin Gen 0,0x25C7b64A93Eb1261E130eC21a3e9918CaA38b611,18.0 +1503.0,AKITA-23E6,AKITA,Akita Inu,0x3301Ee63Fb29F863f2333Bd4466acb46CD8323E6,18.0 +1504.0,KEY-96E7,KEY,SelfKey,0x4CC19356f2D37338b9802aa8E8fc58B0373296E7,18.0 +1505.0,EPIK-dF75,EPIK,Epik Prime,0x4da0C48376C277cdBd7Fc6FdC6936DEE3e4AdF75,18.0 +1506.0,BLES-31Cd,BLES,Blind Boxes Token,0xE796d6ca1ceb1b022EcE5296226BF784110031Cd,18.0 +1507.0,NFY-42bC,NFY,Non-Fungible Yearn,0x1cBb83EbcD552D5EBf8131eF8c9CD9d9BAB342bC,18.0 +1508.0,HRD-3445,HRD,Hoard,0x461B71cff4d4334BbA09489acE4b5Dc1A1813445,9.0 +1509.0,SHPING-1BEC,SHPING,Shping Coin,0x7C84e62859D0715eb77d1b1C4154Ecd6aBB21BEC,18.0 +1510.0,VSP-8421,VSP,VesperToken,0x1b40183EFB4Dd766f11bDa7A7c3AD8982e998421,18.0 +1511.0,NFTP-2465,NFTP,NFT Platform Index,0x68bB81B3F67f7AAb5fd1390ECB0B8e1a806F2465,18.0 +1512.0,STAK-6D13,STAK,Jigstack,0x1F8A626883d7724DBd59eF51CBD4BF1Cf2016D13,18.0 +1513.0,SIGIL-40E4,SIGIL,Sigil Finance,0xF029Fd6b5ED35C825Dd02B7A02952C30002840E4,18.0 +1514.0,CAP-3142,CAP,Cap,0x43044f861ec040DB59A7e324c40507adDb673142,18.0 +1515.0,RIDGE-3165,RIDGE,Ridge,0x64609A845Ad463d07ee51e91a88D1461C3Dc3165,9.0 +1516.0,TAXHAVENINU-bD01,TAXHAVENINU,Tax Haven Inu,0x664C6E221c77313307467B121528ad563107bD01,9.0 +1517.0,VEE-13B7,VEE,BLOCKv Token,0x340D2bdE5Eb28c1eed91B2f790723E3B160613B7,18.0 +1518.0,WNK-8Eba,WNK,Winkies,0xE1BDA0c3Bfa2bE7f740f0119B6a34F057BD58Eba,18.0 +1519.0,NFTL-F2DD,NFTL,NFTLAUNCH.network,0xe7F72Bc0252cA7B16dBb72eEee1AfcDb2429F2DD,18.0 +1520.0,SWINGBY-b13A,SWINGBY,SWINGBY token,0x8287C7b963b405b7B8D467DB9d79eEC40625b13A,18.0 +1521.0,SXP-b6A9,SXP,Swipe,0x8CE9137d39326AD0cD6491fb5CC0CbA0e089b6A9,18.0 +1522.0,KISHU-817D,KISHU,Kishu Inu,0xA2b4C0Af19cC16a6CfAcCe81F192B024d625817D,9.0 +1523.0,GAME-2437,GAME,GAME Credits,0x63f88A2298a5c4AEE3c216Aa6D926B184a4b2437,18.0 +1524.0,1MIL-A016,1MIL,1MILNFT,0xa4eF4b0B23C1fc81d3f9ecF93510e64f58A4A016,18.0 +1525.0,DGMAN-d7C9,DGMAN,DogeMan,0x3cc1020aCDCd64b11Dd417d2C28388E71605d7C9,9.0 +1526.0,MatsuSwap-26C4,MatsuSwap,MatsuSwap,0x2F0F622a93c85C43Fd47f4Ab119360f5846026C4,9.0 +1527.0,LEAP-a134,LEAP,LEAP Token,0x53263d9EF74Db583b15fbC6D5D4e8B83833fa134,18.0 +1528.0,WHITE-6B44,WHITE,Whiteheart Token,0x5F0E628B693018f639D10e4A4F59BD4d8B2B6B44,18.0 +1529.0,imgnAI-CBe0,imgnAI,Image Generation AI | imgnAI.com,0xA735A3AF76CC30791C61c10d585833829d36CBe0,9.0 +1530.0,X7R-ca54,X7R,X7R,0x70008F18Fc58928dcE982b0A69C2c21ff80Dca54,18.0 +1531.0,FOX-e52d,FOX,FOX,0xc770EEfAd204B5180dF6a14Ee197D99d808ee52d,18.0 +1532.0,BOTTO-5BBA,BOTTO,Botto,0x9DFAD1b7102D46b1b197b90095B5c4E9f5845BBA,18.0 +1533.0,DACT-EBec,DACT,Dact Coin,0x343c6de13833bc7d9890eb6B1cd3FBeBC730EBec,9.0 +1534.0,MMAI-a90F,MMAI,MetamonkeyAi,0xaa0c5B3567fd1bac8a2a11EB16c3F81a49eea90F,7.0 +1535.0,CINO-6090,CINO,Cino Token,0x9b0B23b35AD8136E6181F22b346134cE5f426090,18.0 +1536.0,DOKI-7544,DOKI,DokiDokiFinance,0x9cEB84f92A0561fa3Cc4132aB9c0b76A59787544,18.0 +1537.0,TECH-5698,TECH,Cryptomeda,0x6286A9e6f7e745A6D884561D88F94542d6715698,18.0 +1538.0,CENT-35bc,CENT,Centaurify,0x08ba718F288c3b12B01146816bef9FA03cC635bc,18.0 +1539.0,MOON-4824,MOON,MoonToken,0x68a3637bA6E75c0f66B61A42639c4e9fCD3D4824,18.0 +1540.0,SWT-c29A,SWT,ShibWallet,0x1f05DeE43dF9fd0Cd7F4b011B20b04870a30c29A,18.0 +1541.0,TRADE-4fB1,TRADE,UniTrade,0x6F87D756DAf0503d08Eb8993686c7Fc01Dc44fB1,18.0 +1542.0,GENART-BaC8,GENART,GEN.ART,0x12E56851Ec22874520Dc4c7fa0A8a8d7DBa1BaC8,18.0 +1543.0,BASE-5fDC,BASE,Base Protocol,0x07150e919B4De5fD6a63DE1F9384828396f25fDC,9.0 +1544.0,SPHRI-b3Ec,SPHRI,Spherium Token,0x8A0cdfaB62eD35b836DC0633482798421C81b3Ec,18.0 +1545.0,LPT-B239,LPT,Livepeer Token,0x58b6A8A3302369DAEc383334672404Ee733aB239,18.0 +1546.0,MITx-1Db6,MITx,Morpheus Infrastructure Token,0x4a527d8fc13C5203AB24BA0944F4Cb14658D1Db6,18.0 +1547.0,CLIQ-6767,CLIQ,Cliq,0x0Def8d8addE14c9eF7c2a986dF3eA4Bd65826767,18.0 +1548.0,SHIBO-CDa2,SHIBO,Shibosu,0x38e3b07D607dEF629b4f3f46a0082006fdd6CDa2,18.0 +1549.0,ankrETH-c3cb,ankrETH,Ankr Staked ETH,0xE95A203B1a91a908F9B9CE46459d101078c2c3cb,18.0 +1550.0,STOS-Bdcc,STOS,Stratos Token,0x08c32b0726C5684024ea6e141C50aDe9690bBdcc,18.0 +1551.0,FCL-0EB3,FCL,Fractal Protocol Token,0xF4d861575ecC9493420A3f5a14F85B13f0b50EB3,18.0 +1552.0,SWAI-7eAe,SWAI,SchwiftAI,0x3540DFCaD7CF102a2E44AA0e2132FAb1c89d7eAe,18.0 +1553.0,TSX-9Bfd,TSX,TradeStars TSX,0x734C90044a0bA31B3F2e640c10dC5d3540499Bfd,18.0 +1554.0,RARE-6350,RARE,SuperRare,0xba5BDe662c17e2aDFF1075610382B9B691296350,18.0 +1555.0,A Birds Nest-873A,A Birds Nest,HOOT,0x12A7530D6f9e1a9B0351D78aB711f7C2c033873A,18.0 +1556.0,MoFi-7544,MoFi,MobiFi,0xB2dbF14D0b47ED3Ba02bDb7C954e05A72deB7544,18.0 +1557.0,$TRDL-188a,$TRDL,Strudel Finance,0x297D33e17e61C2Ddd812389C2105193f8348188a,18.0 +1558.0,DODO-4DDd,DODO,DODO bird,0x43Dfc4159D86F3A37A5A4B3D4580b888ad7d4DDd,18.0 +1559.0,Fortune-B015,Fortune,Fortune,0x9F009D03E1b7F02065017C90e8e0D5Cb378eB015,9.0 +1560.0,wLITI-5f93,wLITI,wLitiCapital,0x0b63128C40737B13647552e0C926bCFEccC35f93,18.0 +1561.0,GSWAP-f8B2,GSWAP,gameswap.org,0xaac41EC512808d64625576EDdd580e7Ea40ef8B2,18.0 +1562.0,HELIOS-01a1,HELIOS,Mission Helios,0xC6d1f1D5a46de07E73091f1c8793293B203f01a1,18.0 +1563.0,TEN-40E4,TEN,Tokenomy,0xDD16eC0F66E54d453e6756713E533355989040E4,18.0 +1564.0,LABRA-d600,LABRA,Labra,0x106d3C66d22D2DD0446df23D7F5960752994d600,9.0 +1565.0,SCAN-871b,SCAN,CoinScan,0x234D51eE02be808A0160b19b689660Fb7BFA871b,9.0 +1566.0,TXL-4b41,TXL,Tixl Token,0x8eEF5a82E6Aa222a60F009ac18c24EE12dBf4b41,18.0 +1567.0,ROGE-c80A,ROGE,Rogue Doge,0x45734927Fa2f616FbE19E65f42A0ef3d37d1c80A,9.0 +1568.0,SAITANOBI-F1C6,SAITANOBI,Saitanobi,0x5e9F35E8163c44cD7e606BdD716AbED32AD2F1C6,9.0 +1569.0,TONE-03c4,TONE,TE-FOOD/TustChain,0x2Ab6Bb8408ca3199B8Fa6C92d5b455F820Af03c4,18.0 +1570.0,GRC-53c6,GRC,GreenCoin,0x46D886887B6908183032c75dee1b731B26D653c6,18.0 +1571.0,HOKK-21E8,HOKK,Hokkaido Inu,0xe87e15B9c7d989474Cb6d8c56b3DB4eFAD5b21E8,18.0 +1572.0,HOICHI-d2b6,HOICHI,Hoichi 芳一,0xC4EE0aA2d993ca7C9263eCFa26c6f7e13009d2b6,18.0 +1573.0,BBANK-f267,BBANK,BlockBank,0xF4b5470523cCD314C6B9dA041076e7D79E0Df267,18.0 +1574.0,RIOT-2Eb4,RIOT,RIOT,0xf56408077487cB879c992909C5b5C66D68c02Eb4,18.0 +1575.0,PZ-38E0,PZ,Paradigm Zero,0x578Dc16c47327429fF1594fA3eB77A96F38438E0,9.0 +1576.0,WOLVERINU-5f14,WOLVERINU,WOLVERINU,0x7Cc97Bf17C5AdaBe25F9D19D15A1eC8A1ad65f14,18.0 +1577.0,EGGS-82e0,EGGS,Eggs,0x2e516BA5Bf3b7eE47fb99B09eaDb60BDE80a82e0,18.0 +1578.0,CARDS-52d9,CARDS,CARD.STARTER,0x3d6F0DEa3AC3C607B3998e6Ce14b6350721752d9,18.0 +1579.0,LFT-3F82,LFT,LendFlare DAO Token,0xB620Be8a1949AA9532e6a3510132864EF9Bc3F82,18.0 +1580.0,BUH-4427,BUH,BUHUND,0x66bcD0C22Bb15cD1bA7199C7a383DC89528f4427,18.0 +1581.0,$CHOO-F8A0,$CHOO,Chooky Inu,0x9c5476Af06590A9277C7706fe70c0a42A480F8A0,18.0 +1582.0,DFYN-9023,DFYN,DFYN Token,0x9695e0114e12C0d3A3636fAb5A18e6b737529023,18.0 +1583.0,ZINU-d508,ZINU,ZINU,0xC5FDf3569af74f3B3e97E46A187a626352D2d508,9.0 +1584.0,SHIBORG-a741,SHIBORG,Shibrobi,0x372C95CE229a7Af37D141F627d09f6Df1DbAa741,9.0 +1585.0,VALUE-8E5c,VALUE,Value Liquidity,0x49E833337ECe7aFE375e44F4E3e8481029218E5c,18.0 +1586.0,KEI-A842,KEI,keisukeinu.finance,0xc0114F14638a333A4D5C3b04F09b96372348A842,9.0 +1587.0,RDT-fCa3,RDT,Ridotto,0x4740735AA98Dc8aa232BD049f8F0210458E7fCa3,18.0 +1588.0,OIN-1259,OIN,oinfinance,0x9aeB50f542050172359A0e1a25a9933Bc8c01259,8.0 +1589.0,SWRV-D433,SWRV,Swerve DAO Token,0xB8BAa0e4287890a5F79863aB62b7F175ceCbD433,18.0 +1590.0,QSP-b80d,QSP,Quantstamp Token,0x99ea4dB9EE77ACD40B119BD1dC4E33e1C070b80d,18.0 +1591.0,RR-68eD,RR,Red Rabbit,0xfe98C2B85cAaFE841ca7Fa8b3B912a178A3f68eD,18.0 +1592.0,GDAO-86Bc,GDAO,Governor,0x515d7E9D75E2b76DB60F8a051Cd890eBa23286Bc,18.0 +1593.0,PTF-39F7,PTF,PowerTrade Fuel Token,0xC57d533c50bC22247d49a368880fb49a1caA39F7,18.0 +1594.0,HOGE-7607,HOGE,hoge.finance,0xfAd45E47083e4607302aa43c65fB3106F1cd7607,9.0 +1595.0,WWY-E322,WWY,WeWay Token,0x9Ab70e92319f0b9127df78868Fd3655fB9f1E322,18.0 +1596.0,WIZ-06B2,WIZ,WIZ,0x603778e5e07e180E300bD10df7fA626313a206B2,4.0 +1597.0,SHR-a964,SHR,ShareToken,0xd98F75b1A3261dab9eEd4956c93F33749027a964,2.0 +1598.0,KEEP-aFEC,KEEP,KEEP Token,0x85Eee30c52B0b379b046Fb0F85F4f3Dc3009aFEC,18.0 +1599.0,ARTEQ-c787,ARTEQ,arteQ NFT Investment Fund,0x805C2077f3ab224D889f9c3992B41B2F4722c787,0.0 +1600.0,NET-A71F,NET,DEFINET,0x77A9B858aA8417fd318ecEE01C1d6D9fEF31A71F,18.0 +1601.0,GME-5590,GME,GameStop.Finance,0x9eb6bE354d88fD88795a04DE899a57A77C545590,18.0 +1602.0,VADER-0983,VADER,Vader,0x2602278EE1882889B946eb11DC0E810075650983,18.0 +1603.0,BARD-14DF,BARD,Bard Protocol,0x9E7e87608A34Bc66396D53e69B9495Bd8f5414DF,9.0 +1604.0,THEOS-Da1d,THEOS,THEOS,0x9e10f61749c4952C320412A6B26901605Ff6Da1d,18.0 +1605.0,BLOCK-E-0a60,BLOCK-E,BLOCK-E,0xa9f9aCB92E4E2f16410511D56839A5Bd1d630a60,9.0 +1606.0,CINU-8c32,CINU,CheemsInu,0xA64D5d1eB67748226d84812B45711453f1118c32,9.0 +1607.0,VOLT-58Ac,VOLT,Volt Inu,0x7db5af2B9624e1b3B4Bb69D6DeBd9aD1016A58Ac,9.0 +1608.0,oDOGE-EaBC,oDOGE,Ordinal Doge,0x796a4503b444A71b331c9556bEF0815237ddEaBC,18.0 +1609.0,BC-2Ae9,BC,Bitcoin,0xe03B2642A5111aD0EFc0cbCe766498c2dd562Ae9,9.0 +1610.0,DANDY-9B82,DANDY,dandy.dego,0x9Dfc4B433D359024Eb3E810d77d60fbE8B0d9B82,18.0 +1611.0,SIDUS-1102,SIDUS,SIDUS,0x549020a9Cb845220D66d3E9c6D9F9eF61C981102,18.0 +1612.0,TheRadio-622C,TheRadio,Radioreum,0xAA2DEd323944b25C0B6f1F891Bc96F010b65622C,18.0 +1613.0,HXRO-38f3,HXRO,Hxro,0x4bD70556ae3F8a6eC6C4080A0C327B24325438f3,18.0 +1614.0,NORD-a0DE,NORD,Nord Token,0x6e9730EcFfBed43fD876A264C982e254ef05a0DE,18.0 +1615.0,PoA-B8cE,PoA,Proof Of Apes,0x1d2d542e6D9d85A712deB4D1a7D96a16CE00B8cE,18.0 +1616.0,LEAD-C4ce,LEAD,Lead Token,0x1dD80016e3d4ae146Ee2EBB484e8edD92dacC4ce,18.0 +1617.0,imBTC-8923,imBTC,The Tokenized Bitcoin,0x3212b29E33587A00FB1C83346f5dBFA69A458923,8.0 +1618.0,AXL-C0E0,AXL,AXL INU,0x25b24B3c47918b7962B3e49C4F468367F73CC0E0,18.0 +1619.0,BCUBE-0A93,BCUBE,b-cube.ai Token,0x93C9175E26F57d2888c7Df8B470C9eeA5C0b0A93,18.0 +1620.0,TOR-7056,TOR,Tor Wallet,0x35073CA7bAC0c2eDf58fb34A2CBC39Ea2fbB7056,18.0 +1621.0,SCX-bF21,SCX,Scarcity,0x1B8568FbB47708E9E9D31Ff303254f748805bF21,18.0 +1622.0,MAGIC-Ac9A,MAGIC,MAGIC,0xB0c7a3Ba49C7a6EaBa6cD4a96C55a1391070Ac9A,18.0 +1623.0,SARCO-F51A,SARCO,Sarcophagus,0x7697B462A7c4Ff5F8b55BDBC2F4076c2aF9cF51A,18.0 +1624.0,BRIGHT-af55,BRIGHT,Bright Union,0xBEaB712832112bd7664226db7CD025B153D3af55,18.0 +1625.0,wSIENNA-64f9,wSIENNA,Sienna (ERC20),0x9b00e6E8D787b13756eb919786c9745054DB64f9,18.0 +1626.0,BALTO-8dBC,BALTO,Balto Token,0x5955f7d312c5d84B004d259D55072C4F0A478dBC,18.0 +1627.0,SHIH-1465,SHIH,Shih Tzu,0x841FB148863454A3b3570f515414759BE9091465,18.0 +1628.0,SWIFY-f2fB,SWIFY,Swapify,0x9C7376b5060C47E555f5F53005aA3D5A7C66f2fB,9.0 +1629.0,EVN-A7ec,EVN,Evn Token,0x9aF15D7B8776fa296019979E70a5BE53c714A7ec,18.0 +1630.0,mefi-Ec07,mefi,The meme finance,0xe13879194578C6F1A591a96C45B65022c43CEc07,9.0 +1631.0,PLSB-8D06,PLSB,PulseBitcoin,0x5EE84583f67D5EcEa5420dBb42b462896E7f8D06,12.0 +1632.0,TOKU-BD82,TOKU,Toku,0x9eEC1A4814323a7396c938bc86aeC46b97F1BD82,18.0 +1633.0,MRI-c977,MRI,Marshall Rogan Inu,0x0913dDAE242839f8995c0375493f9a1A3Bddc977,18.0 +1634.0,ALPA-514A,ALPA,AlpaToken,0x7cA4408137eb639570F8E647d9bD7B7E8717514A,18.0 +1635.0,TOKE-8C94,TOKE,Tokemak,0x2e9d63788249371f1DFC918a52f8d799F4a38C94,18.0 +1636.0,TOS-7B48,TOS,TOSA INU,0x34748FEDAd669C788aaBe4fb325A4587941F7B48,18.0 +1637.0,DOWS-c559,DOWS,Shadows Network,0x661Ab0Ed68000491d98C796146bcF28c20d7c559,18.0 +1638.0,MIKAWA-6A26,MIKAWA,Mikawa Inu,0x0888Fd2960Ddf57Cfb561B59d73Dd2b9524F6A26,9.0 +1639.0,DOV-79b1,DOV,DOVU,0xac3211a5025414Af2866FF09c23FC18bc97e79b1,18.0 +1640.0,eQUAD-7DF2,eQUAD,QuadrantProtocol,0xC28e931814725BbEB9e670676FaBBCb694Fe7DF2,18.0 +1641.0,RVP-D48a,RVP,RevolutionPopuli ERC20 Token,0x17EF75AA22dD5f6C2763b8304Ab24f40eE54D48a,18.0 +1642.0,NAME-d842,NAME,Polkadomain Token,0xe1A4c5BBb704a92599FEdB191f451E0d3a1ed842,18.0 +1643.0,DGVC-7b30,DGVC,DegenVC,0x26E43759551333e57F073bb0772F50329A957b30,18.0 +1644.0,EQX-8B15,EQX,EQIFi Token,0xBd3de9a069648c84d27d74d701C9fa3253098B15,18.0 +1645.0,cETH-0ED5,cETH,Compound Ether,0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5,8.0 +1646.0,AXI-c39a,AXI,Axioms,0x73EE6D7e6b203125aDd89320E9F343d65ec7c39a,18.0 +1647.0,ZERO-9bf8,ZERO,ZERO,0x0eC78ED49C2D27b315D462d43B5BAB94d2C79bf8,18.0 +1648.0,BNF-1057,BNF,BonFi,0x1DE5e000C41C8d35b9f1f4985C23988f05831057,18.0 +1649.0,TIGER-337F,TIGER,TigerCoin,0xB83c27805aAcA5C7082eB45C868d955Cf04C337F,18.0 +1650.0,SHINJA-84ed,SHINJA,Shibnobi,0x7DAc25b1A665e1c70F25F1fC37d88C99274984ed,9.0 +1651.0,WOLFY-e36f,WOLFY,WOLFYCOIN,0x7DbbCaE15d4DB168e01673400D7844870cc1e36f,9.0 +1652.0,INV-FB68,INV,Inverse DAO,0x41D5D79431A913C4aE7d69a668ecdfE5fF9DFB68,18.0 +1653.0,REVO-1409,REVO,Revomon,0x155040625D7ae3e9caDA9a73E3E44f76D3Ed1409,18.0 +1654.0,( ͡° ͜ʖ ͡°)-1c4c,( ͡° ͜ʖ ͡°),Lenny Face,0xDadb4aE5B5D3099Dd1f586f990B845F2404A1c4c,18.0 +1655.0,DEGEN-c855,DEGEN,DEGEN Index,0x126c121f99e1E211dF2e5f8De2d96Fa36647c855,18.0 +1656.0,GFARM2-1e1B,GFARM2,Gains V2,0x831091dA075665168E01898c6DAC004A867f1e1B,18.0 +1657.0,GUM-0f24,GUM,GourmetGalaxy,0x4f5fa8f2d12e5eB780f6082Dd656C565C48E0f24,18.0 +1658.0,ROCKI-aa04,ROCKI,ROCKI,0xFf44b937788215ecA197BAaf9AF69dbdC214aa04,18.0 +1659.0,LOCG-27d0,LOCG,LOCGame,0x60Eb57d085C59932d5fAa6c6026268A4386927d0,18.0 +1660.0,ZRO-E5e0,ZRO,PROTOCOL ZERO,0xd79F43113B22D1eA9F29cfcC7BB287489F8EE5e0,18.0 +1661.0,PBR-d695,PBR,PolkaBridge,0x298d492e8c1d909D3F63Bc4A36C66c64ACB3d695,18.0 +1662.0,MVI-34D7,MVI,Metaverse Index,0x72e364F2ABdC788b7E918bc238B21f109Cd634D7,18.0 +1663.0,DOUGH-7b2D,DOUGH,PieDAO DOUGH v2,0xad32A8e6220741182940c5aBF610bDE99E737b2D,18.0 +1664.0,RFuel-36E5,RFuel,Rio Fuel Token,0xaf9f549774ecEDbD0966C52f250aCc548D3F36E5,18.0 +1665.0,CTCN-1FD8,CTCN,Contracoin,0xFD6C31bb6F05Fc8dB64F4b740Ab758605c271FD8,18.0 +1666.0,aDAI-f85d,aDAI,Aave Interest bearing DAI,0xfC1E690f61EFd961294b3e1Ce3313fBD8aa4f85d,18.0 +1667.0,LKT-BA69,LKT,Locker Token,0xd3E133a0A14Bb8B595e5Fbf9851c7c783685BA69,18.0 +1668.0,KIBA-af3c,KIBA,Kiba Inu,0x005D1123878Fc55fbd56b54C73963b234a64af3c,18.0 +1669.0,GIGA-9cea,GIGA,GigaSwap,0x83249c6794BCa5a77Eb8c0AF9F1A86E055459cea,9.0 +1670.0,ADX-B7c3,ADX,AdEx Network,0xADE00C28244d5CE17D72E40330B1c318cD12B7c3,18.0 +1671.0,DOBE-A3d5,DOBE,Dobermann,0xe7aB45162f5979F09B0bDa1CC7DfC97C270EA3d5,18.0 +1672.0,VAI-395c,VAI,VAIOT Token,0xD13cfD3133239a3c73a9E535A5c4DadEE36b395c,18.0 +1673.0,YMNT-C254,YMNT,Yamanote-Sen,0xe59A1fe295f940E5226DcF6411Ef2Bdf3089C254,9.0 +1674.0,DOGGER-5Cbe,DOGGER,Dogger Token,0xb3Cc3d7E656893F22d2372b0aE57106F6b155Cbe,18.0 +1675.0,rHEGIC2-eE5f,rHEGIC2,HEGICTokenIOU Phase II,0xAd7Ca17e23f13982796D27d1E6406366Def6eE5f,18.0 +1676.0,BITE-D88D,BITE,DragonBite,0x4eED0fa8dE12D5a86517f214C2f11586Ba2ED88D,18.0 +1677.0,SHINSHU-cC0A,SHINSHU,Shinshu Inu,0x2965395F71B7d97ede251E9B63e44dfA9647cC0A,18.0 +1678.0,TRIB-5Af0,TRIB,Contribute,0xe09216F1d343Dd39D6Aa732a08036fee48555Af0,18.0 +1679.0,ASTRAL-28a1,ASTRAL,Astral AI Project,0xC74B43cC61b627667a608c3F650c2558F88028a1,18.0 +1680.0,SMI-2214,SMI,SafeMoon Inu,0xCd7492db29E2ab436e819b249452EE1bbDf52214,8.0 +1681.0,DREAM-7d02,DREAM,DREAM,0xb44377B74Ef1773639B663d0754cB8410A847d02,18.0 +1682.0,SAT-1332,SAT,SoMee Advertising Token V2,0xc9F1016d336ef77AeE75Fc11Ad64C5Ecf9121332,18.0 +1683.0,JSHIBA-4c7c,JSHIBA,Jomon Shiba,0x1426cC6D52D1B14e2B3b1Cb04d57ea42B39c4c7c,9.0 +1684.0,DTH-c924,DTH,DeathWolf,0x0cf75471B0FbF76A315A75eBDa6600ab92Fdc924,18.0 +1685.0,KEL-5432,KEL,KelVpn Token,0x4ABB9cC67BD3da9Eb966d1159A71a0e68BD15432,18.0 +1686.0,BLANK-9666,BLANK,GoBlank Token,0x41A3Dba3D677E573636BA691a70ff2D606c29666,18.0 +1687.0,NAOS-4496,NAOS,NAOSToken,0x4a615bB7166210CCe20E6642a6f8Fb5d4D044496,18.0 +1688.0,MOAR-701a,MOAR,MOAR Finance,0x187Eff9690E1F1A61d578C7c492296eaAB82701a,18.0 +1689.0,VAL-d1E4,VAL,Sora Validator Token,0xe88f8313e61A97cEc1871EE37fBbe2a8bf3ed1E4,18.0 +1690.0,LKR-CDcf,LKR,Polkalokr,0x80CE3027a70e0A928d9268994e9B85d03Bd4CDcf,18.0 +1691.0,ARCHIE-8f90,ARCHIE,Archie Neko,0xFE5F69dfa2d4501E78078266F6d430c079098f90,9.0 +1692.0,DZOO-ca83,DZOO,DegenZoo,0xc97d6C52F3ADD91Fa1c5287a453d7444aECBca83,18.0 +1693.0,ZAP-b104,ZAP,ZAP TOKEN,0x6781a0F84c7E9e846DCb84A9a5bd49333067b104,18.0 +1694.0,INSURE-393E,INSURE,InsureToken,0xd83AE04c9eD29d6D3E6Bf720C71bc7BeB424393E,18.0 +1695.0,TQUEEN-73fC,TQUEEN,TigerQueen,0x1C720999A4F8B2B0E9199039D353D2c9A77A73fC,18.0 +1696.0,DMTR-4fdB,DMTR,Dimitra Token,0x51cB253744189f11241becb29BeDd3F1b5384fdB,18.0 +1697.0,BABYSAITAMA-f045,BABYSAITAMA,Baby Saitama Inu,0xf79F9020560963422eCC9C0c04D3a21190BBf045,9.0 +1698.0,AllIn-3Ebe,AllIn,All In,0x9B2b931d6AB97B6A887b2C5d8529537E6FE73Ebe,9.0 +1699.0,DBUY-5782,DBUY,Doont Buy,0x4EcE5C5CfB9B960A49aAe739E15cDB6cfDcc5782,9.0 +1700.0,OKAGE-89eC,OKAGE,Okage Inu,0x8dfc8cc3201425669FaE803e1eB125cddd4189eC,18.0 +1701.0,NU-A4Cc,NU,NuCypher,0x4fE83213D56308330EC302a8BD641f1d0113A4Cc,18.0 +1702.0,LIT-9723,LIT,Litentry,0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723,18.0 +1703.0,ARC-e7c2,ARC,ARC,0xC82E3dB60A52CF7529253b4eC688f631aad9e7c2,18.0 +1704.0,KALLY-AD07,KALLY,Polkally,0xfd30C9BEA1A952FEeEd2eF2C6B2Ff8A8FC4aAD07,18.0 +1705.0,LSS-E320,LSS,Lossless Token,0x3B9BE07d622aCcAEd78f479BC0EDabFd6397E320,18.0 +1706.0,MFC-5820,MFC,Marshall Fighting Championship,0x337DD23d05c27bff099d3604938BFc23A9B25820,18.0 +1707.0,DIGI-d848,DIGI,Digi,0x3CbF23c081fAA5419810ce0F6BC1ECb73006d848,18.0 +1708.0,SNOW-79AE,SNOW,SnowSwap,0xfe9A29aB92522D14Fc65880d817214261D8479AE,18.0 +1709.0,RVF-96D2,RVF,Rocket Vault,0xdc8aF07A7861bedD104B8093Ae3e9376fc8596D2,18.0 +1710.0,BOWL-5794,BOWL,BOWL SHIBARIUM,0x760Ea31711aC14cb9Ba81aC25453C6f378fA5794,9.0 +1711.0,KENNEL-039a,KENNEL,Kennel,0x25d4e7fe624FcC6E7F0b52D142F40c9ACEcF039a,18.0 +1712.0,SYN-8BD9,SYN,SynLev,0x1695936d6a953df699C38CA21c2140d497C08BD9,18.0 +1713.0,TNGL-C1C2,TNGL,Tangle,0x5aF28EB9deC75e86CDFBD2e41a474b54B211C1C2,9.0 +1714.0,SHFT-6d19,SHFT,Shibcraft,0xF5a56bD9Ee4a3E2D493ab8e072658794B38b6d19,18.0 +1715.0,MEL-4892,MEL,Melalie,0xed0889F7E1c7C7267407222Be277e1f1Ef4d4892,18.0 +1716.0,AVG-311f,AVG,Avocado DAO Token,0xa41F142b6eb2b164f8164CAE0716892Ce02f311f,18.0 +1717.0,BTFA-C133,BTFA,Banana Task Force Ape,0xC631bE100F6Cf9A7012C23De5a6ccb990EAFC133,9.0 +1718.0,ROBO-3061,ROBO,Robo Token,0x6FC2f1044A3b9bB3e43A43EC8F840843Ed753061,18.0 +1719.0,URQA-3136,URQA,UREEQA Token,0x1735Db6AB5BAa19eA55d0AdcEeD7bcDc008B3136,18.0 +1720.0,BAO-9F3A,BAO,Bao Token V2,0xCe391315b414D4c7555956120461D21808A69F3A,18.0 +1721.0,X7103-c105,X7103,X7103,0x7103eBdbF1f89be2d53EFF9B3CF996C9E775c105,18.0 +1722.0,IAG-1Fc8,IAG,IAGON,0x40EB746DEE876aC1E78697b7Ca85142D178A1Fc8,18.0 +1723.0,HIKARI-4e39,HIKARI,HIKARI,0xd4126f195a8de772EeFfa61a4aB6dd43462F4e39,18.0 +1724.0,Shibgun-929c,Shibgun,Shibagun,0xa3BA969DD831D4eFf2bAF930e7F66D2eef5D929c,18.0 +1725.0,rushAI-c45B,rushAI,AlphaRushAI,0x69d47846bb7B884062FaBc08A4A7dEADCd98c45B,18.0 +1726.0,FND-f17e,FND,Foundation,0xB13d747d783BF1A9F1D65Df74C080C890045f17e,7.0 +1727.0,RAMP-Ed9f,RAMP,RAMP DEFI,0x33D0568941C0C64ff7e0FB4fbA0B11BD37deEd9f,18.0 +1728.0,ZORA-5ae6,ZORA,Zoracles,0xD8E3FB3b08eBA982F2754988d70D57eDc0055ae6,9.0 +1729.0,VXL-2b31,VXL,Voxel X Network,0x16CC8367055aE7e9157DBcB9d86Fd6CE82522b31,18.0 +1730.0,KEYS-86ff,KEYS,Keys,0xe0a189C975e4928222978A74517442239a0b86ff,9.0 +1731.0,SER-8fDC,SER,Serum,0xb19189Fb36c816f3e0f16065057B07B790998fDC,18.0 +1732.0,NEURONI-f332,NEURONI,Neuroni.AI,0x922e2708462c7a3d014D8344F7C4d92b27ECf332,18.0 +1733.0,TTX-4D9B,TTX,TTX NFT,0xeF2e239b21A81719abAabC6239e2e90859B44D9B,18.0 +1734.0,BabyDoge-460B,BabyDoge,Baby Doge Coin,0xAC57De9C1A09FeC648E93EB98875B212DB0d460B,9.0 +1735.0,wALV-D497,wALV,Alvey Chain,0x256D1fCE1b1221e8398f65F9B36033CE50B2D497,18.0 +1736.0,BNSD-0188,BNSD,bns.finance,0x668DbF100635f593A3847c0bDaF21f0a09380188,18.0 +1737.0,ODA-5d90,ODA,Eiichiro Oda,0x0C6Bf55F60143Fa1dA202AC8c9b8Ce484b5a5d90,18.0 +1738.0,CVP-DcA1,CVP,Concentrated Voting Power,0x38e4adB44ef08F22F5B5b76A8f0c2d0dCbE7DcA1,18.0 +1739.0,RABBIT-Fd35,RABBIT,Rabbit2023,0x706f280Cdb92260fe2D50EDA545F834ff1fbFd35,9.0 +1740.0,$XMU-D2cF,$XMU,Mushe,0x56123908ACA89bf60cE9659aE9F4589E46c8D2cF,9.0 +1741.0,KIT-B4F4,KIT,DexKit,0x7866E48C74CbFB8183cd1a929cd9b95a7a5CB4F4,18.0 +1742.0,RAZOR-d2cd,RAZOR,RAZOR,0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd,18.0 +1743.0,DOP-A2ef,DOP,Drops Ownership Power,0x6bB61215298F296C55b19Ad842D3Df69021DA2ef,18.0 +1744.0,GZLR-7632,GZLR,Guzzler,0x9f4909Cc95FB870BF48C128C1Fdbb5F482797632,18.0 +1745.0,DINERO-Be79,DINERO,DINERO,0xa3ad8c7AB6b731045b5b16E3fDf77975c71ABe79,18.0 +1746.0,IND-3705,IND,Indorse Token,0xf8e386EDa857484f5a12e4B5DAa9984E06E73705,18.0 +1747.0,AVS-b3b2,AVS,AlgoVest,0x94d916873B22C9C1b53695f1c002F78537B9b3b2,18.0 +1748.0,BFIGHT-d657,BFIGHT,BARFIGHT,0x6B5DDe2c94EcC10C93e8A44288bEFAD2a89bd657,9.0 +1749.0,XY-50DE,XY,XY Token,0x77777777772cf0455fB38eE0e75f38034dFa50DE,18.0 +1750.0,TON-520a,TON,TONToken,0x6a6c2adA3Ce053561C2FbC3eE211F23d9b8C520a,18.0 +1751.0,IC-6457,IC,Icy,0xA876f27F13A9eB6E621202cEFDD5AFc4a90E6457,9.0 +1752.0,HOBBES-4140,HOBBES,Hobbes,0x819c1A1568934Ee59d9F3C8B9640908556c44140,18.0 +1753.0,SMOL-030e,SMOL,smolting inu,0x553539d40AE81FD0d9C4b991B0b77bE6f6Bc030e,18.0 +1754.0,NFT-850a,NFT,APENFT,0x198d14F2Ad9CE69E76ea330B374DE4957C3F850a,6.0 +1755.0,BTCP-f5Ab,BTCP,BitcoinPro,0x723CbfC05e2cfcc71d3d89e770D32801A5eEf5Ab,8.0 +1756.0,UPI-B67c,UPI,Pawtocol Network UPI Token,0x70D2b7C19352bB76e4409858FF5746e500f2B67c,18.0 +1757.0,WIZ-edF2,WIZ,BlueWizard,0x33d20575f20C6A1881F8ab08E69F6fbAFfAEedF2,12.0 +1758.0,IPOR-9090,IPOR,IPOR Token,0x1e4746dC744503b53b4A082cB3607B169a289090,18.0 +1759.0,INUBIS-604c,INUBIS,Inubis,0x3667d6B1AEE4f96b608EE365FdA9fa5BA866604c,9.0 +1760.0,UCO-21fa,UCO,UnirisToken,0x8a3d77e9d6968b780564936d15B09805827C21fa,18.0 +1761.0,Dubbz-Da17,Dubbz,Dubbz,0x38029C62DfA30D9FD3CaDf4C64e9b2ab21DbDa17,18.0 +1762.0,FREN-583A,FREN,FrenChain,0x8e14c88aB0644eF41bd7138ab91C0160D8c1583A,18.0 +1763.0,BitANT-D1a6,BitANT,BitANT,0x15Ee120fD69BEc86C1d38502299af7366a41D1a6,18.0 +1764.0,KAWA-60Ec,KAWA,Kawakami,0x5552E5a89A70cB2eF5AdBbC45a6BE442fE7160Ec,9.0 +1765.0,ALOHA-FabE,ALOHA,ALOHA,0x455F7Ef6D8BCfc35f9337e85aEe1B0600a59FabE,18.0 +1766.0,HUSL-26be,HUSL,The HUSL,0xa2881F7F441267042f9778fFA0d4F834693426be,18.0 +1767.0,RVST-d4bA,RVST,Revest,0x120a3879da835A5aF037bB2d1456beBd6B54d4bA,18.0 +1768.0,DPX-dC81,DPX,Dopex Governance Token,0xEec2bE5c91ae7f8a338e1e5f3b5DE49d07AfdC81,18.0 +1769.0,$ADS-001f,$ADS,Alkimi Exchange,0x3106a0a076BeDAE847652F42ef07FD58589E001f,18.0 +1770.0,MXC-386e,MXC,MXCToken,0x5Ca381bBfb58f0092df149bD3D243b08B9a8386e,18.0 +1771.0,YORI-4661,YORI,The Path Of Light,0x1Ab052Db3216835182926A6d516762B0f1634661,9.0 +1772.0,ETH2.0-9fE8,ETH2.0,Proof of Memes,0x04A6b6DE116Fb8bF57e5eE8b05e0293EA3639fE8,18.0 +1773.0,CHAIN-81c4,CHAIN,Chain Games,0xC4C2614E694cF534D407Ee49F8E44D125E4681c4,18.0 +1774.0,CATAI-8d17,CATAI,Catgirl AI,0xBC1A4555745e9C5334eBF9DcfEC0B51285aF8d17,18.0 +1775.0,BPTL-62BF,BPTL,BPTL,0x3a1BC4014C4C493DB3dBfBDD8ee1417113b462BF,18.0 +1776.0,FMT-A54C,FMT,Finminity,0x99c6e435eC259A7E8d65E1955C9423DB624bA54C,18.0 +1777.0,PUBLX-33E8,PUBLX,PUBLX,0x1a6658F40e51b372E593B7d2144c1402d5cf33E8,18.0 +1778.0,STARS-180D,STARS,StarShip,0x7CCFeEF4F0Ff48B0E0abD19bBBebae90939f180D,18.0 +1779.0,WINRY-9F30,WINRY,Winry Inu,0x1a87077C4F834884691B8ba4fc808D2eC93A9F30,9.0 +1780.0,WILD-0e34,WILD,Wilder,0x2a3bFF78B79A009976EeA096a51A948a3dC00e34,18.0 +1781.0,SMBR-62Dd,SMBR,SOMBRA,0x16B3E050e9e2f0Ac4f1BEA1b3E4fdc43d7f062Dd,9.0 +1782.0,IDRT-b48A,IDRT,Rupiah Token,0x998FFE1E43fAcffb941dc337dD0468d52bA5b48A,2.0 +1783.0,SENATE-4470,SENATE,SENATE,0x34Be5b8C30eE4fDe069DC878989686aBE9884470,18.0 +1784.0,KONO-7Df4,KONO,Konomi,0x850aAB69f0e0171A9a49dB8BE3E71351c8247Df4,18.0 +1785.0,MP3-e7a0,MP3,mp3,0x018fb5Af9d015Af25592a014C4266a84143De7a0,18.0 +1786.0,TKINU-9F14,TKINU,Tsuki Inu,0xda23d301761E4e2bF474951f978f6DFB6F3C9F14,9.0 +1787.0,GINU-B306,GINU,GiveWell Inu,0x74bE64B45D394FA57816c1950E94dBB8d7A7B306,9.0 +1788.0,M-b2d5,M,M,0xC3E486F614e297d8E016aC2805e81707C627b2d5,18.0 +1789.0,EXRT-9925,EXRT,EXRT,0xb20043F149817bff5322F1b928e89aBFC65A9925,8.0 +1790.0,WAIF-4b20,WAIF,Waifu,0xB2279B6769CFBa691416F00609b16244c0cF4b20,18.0 +1791.0,RJV-adaB,RJV,Rejuve Token,0x02c3296C6eb50249f290AE596F2bE9454bFfadaB,6.0 +1792.0,LITH-4a42,LITH,Lithium,0x188E817B02e635D482AE4D81e25DdA98A97C4a42,18.0 +1793.0,HEROS-6f62,HEROS,Heros Token,0xb622400807765e73107B7196F444866D7EdF6f62,9.0 +1794.0,STRNGR-CF38,STRNGR,Stronger,0xDc0327D50E6C73db2F8117760592C8BBf1CDCF38,18.0 +1795.0,SHFT-2D85,SHFT,Shyft [ Wrapped ],0xb17C88bDA07D28B3838E0c1dE6a30eAfBCF52D85,18.0 +1796.0,BETTER-319A,BETTER,Better Money,0xA7925aA2A6e4575ab0C74D169f3BC3e03D4C319A,4.0 +1797.0,Mikaboshi-63f4,Mikaboshi,Amatsu-Mikaboshi,0xaE86f48c0B00F2a3eaeF4ba4c23d17368f0f63f4,18.0 +1798.0,SNT-5B9E,SNT,Status Network Token,0x744d70FDBE2Ba4CF95131626614a1763DF805B9E,18.0 +1799.0,FREE-f526,FREE,Ross Ulbricht Genesis Collection,0x4CD0c43B0D53bc318cc5342b77EB6f124E47f526,18.0 +1800.0,dKUMA-A3a8,dKUMA,KumaDex Token,0x3f5dd1A1538a4F9f82E543098f01F22480B0A3a8,18.0 +1801.0,ITS-21C4,ITS,IterationSyndicate,0xC32cC5b70BEe4bd54Aa62B9Aefb91346d18821C4,18.0 +1802.0,MOUSEWORM-5dA8,MOUSEWORM,MouseWorm,0xA848a1D33D8ef1633397A6acf617620fab8E5dA8,6.0 +1803.0,VERSE-dC0a,VERSE,Shibaverse,0x7aE0d42f23C33338dE15bFa89C7405c068d9dC0a,18.0 +1804.0,ALEX-5315,ALEX,AlexMasmej,0x8BA6DcC667d3FF64C1A2123cE72FF5F0199E5315,4.0 +1805.0,UMI-C69C,UMI,UmiToken,0x61107a409fFFe1965126aa456Af679719695C69C,18.0 +1806.0,milkAI-4F39,milkAI,milkAI,0x9f826324bb9BdcF7E7Eb274BEDc417BD45D74F39,8.0 +1807.0,JULIEN-332B,JULIEN,Julien,0xe6710e0CdA178f3D921f456902707B0d4C4A332B,4.0 +1808.0,STOP-f4Ee,STOP,SatoPay,0x8c3eE4F778E282B59D42d693A97b80b1ed80f4Ee,18.0 +1809.0,DRYP-b027,DRYP,Dripto,0xBE1fa1303e2979Ab4d4e5dF3D1c6e3656ACAb027,18.0 +1810.0,TLOS-AC88,TLOS,pTokens TLOS,0x7825e833D495F3d1c28872415a4aee339D26AC88,18.0 +1811.0,MUTE-400c,MUTE,Mute.io,0xA49d7499271aE71cd8aB9Ac515e6694C755d400c,18.0 +1812.0,LTX-d092,LTX,Lattice Token,0xa393473d64d2F9F026B60b6Df7859A689715d092,8.0 +1813.0,TWOPAW-47e8,TWOPAW,TWOPAW Token,0xf7de6DEf3D319811418d69Bf56c532A815FC47e8,18.0 +1814.0,BEZOGE-f695,BEZOGE,Bezoge Earth,0xDC349913d53b446485E98b76800b6254f43Df695,9.0 +1815.0,ESS-40f7,ESS,ESSENTIA,0xfc05987bd2be489ACCF0f509E44B0145d68240f7,18.0 +1816.0,KAI-C093,KAI,KardiaChain Token,0xD9Ec3ff1f8be459Bb9369b4E79e9Ebcf7141C093,18.0 +1817.0,VIDT-7Bb1,VIDT,VIDT Datalink,0xfeF4185594457050cC9c23980d301908FE057Bb1,18.0 +1818.0,CHIRO-775c,CHIRO,Chihiro Inu,0x35156b404C3f9bdaf45ab65Ba315419bcDe3775c,9.0 +1819.0,YAE-1EAF,YAE,Cryptonovae,0x4eE438be38F8682ABB089F2BFeA48851C5E71EAF,18.0 +1820.0,DEP-8163,DEP,DEAPCOIN,0x1A3496C18d558bd9C6C8f609E1B129f67AB08163,18.0 +1821.0,YAX-A289,YAX,yAxis,0xb1dC9124c395c1e97773ab855d66E879f053A289,18.0 +1822.0,REKT-362b,REKT,RektSkulls,0x8a7664E782860E856031D6c31EB3bde721Bc362b,18.0 +1823.0,YUP-BCC9,YUP,YUP,0x69bBC3F8787d573F1BBDd0a5f40C7bA0Aee9BCC9,18.0 +1824.0,wBAN-A034,wBAN,Wrapped Banano,0xe20B9e246db5a0d21BF9209E4858Bc9A3ff7A034,18.0 +1825.0,ZKP-c5B3,ZKP,zkProof,0x09637E374Ec5baB8C9e9654a97C9593e3038c5B3,9.0 +1826.0,ARCAI-b5E9,ARCAI,Archive AI,0x5c8190b76E90B4DD0702740cF6Eb0F7eE01Ab5E9,9.0 +1827.0,GETH-74B8,GETH,Guarded Ether,0x3802c218221390025BCEABBaD5D8C59F40eB74B8,18.0 +1828.0,BCUG-E9AF,BCUG,Blockchain Cuties Universe Governance Token,0x14Da7b27b2E0FedEfe0a664118b0c9bc68e2E9AF,18.0 +1829.0,VAB-9a04,VAB,Vabble,0xe7aE6D0C56CACaf007b7e4d312f9af686a9E9a04,18.0 +1830.0,T-Bba1,T,T,0x5b985B4F827072FebE33091b42729522B557Bba1,18.0 +1831.0,UNN-3a9D,UNN,UNION Protocol Governance Token,0x226f7b842E0F0120b7E194D05432b3fd14773a9D,18.0 +1832.0,DHP-920d,DHP,dHealth,0xc40F23A3E9613E012944f7957edCe97899Fa920d,18.0 +1833.0,PHNX-F2f7,PHNX,PhoenixDAO,0x38A2fDc11f526Ddd5a607C1F251C065f40fBF2f7,18.0 +1834.0,PERL-0318,PERL,Perlin,0xeca82185adCE47f39c684352B0439f030f860318,18.0 +1835.0,AST-A75a,AST,AirSwap Token,0x27054b13b1B798B345b591a4d22e6562d47eA75a,4.0 +1836.0,DONUT-54A9,DONUT,Donut,0xC0F9bD5Fa5698B6505F643900FFA515Ea5dF54A9,18.0 +1837.0,kSEED-0850,kSEED,KUSH.FINANCE,0x3F09400313e83d53366147e3ea0e4e2279D80850,18.0 +1838.0,MTHD-a169,MTHD,Method,0x84bA4aEcfDe39D69686a841BAb434C32d179a169,18.0 +1839.0,MIMIR-383C,MIMIR,Mimir Token,0x71dc40668682a124231301414167E4CF7f55383C,18.0 +1840.0,ESS-8b3e,ESS,Empty Set Share,0x24aE124c4CC33D6791F8E8B63520ed7107ac8b3e,18.0 +1841.0,FTM-7870,FTM,Fantom Token,0x4E15361FD6b4BB609Fa63C81A2be19d873717870,18.0 +1842.0,WQT-95bF,WQT,Work Quest Token,0x06677Dc4fE12d3ba3C7CCfD0dF8Cd45e4D4095bF,18.0 +1843.0,STREETH-DfA5,STREETH,STREETH,0xB840d10D840eF47c233FEC1fd040F5B145a6DfA5,18.0 +1844.0,ROCK-42BC,ROCK,MoonRock,0x1a6921F7B92113c79306f1A9E148D83445ac42BC,9.0 +1845.0,MEME-a8Db,MEME,MEME Inu.,0x74B988156925937bD4E082f0eD7429Da8eAea8Db,18.0 +1846.0,GWD-A56b,GWD,GreenWorld,0x674c964AC0E89d847d6B0aBd144b797bf78BA56b,6.0 +1847.0,NCT-246E,NCT,NameChangeToken,0x8A9c4dfe8b9D8962B31e4e16F8321C44d48e246E,18.0 +1848.0,BDS-1100,BDS,Black Dragon Society,0x1856BC58f5511269aFE2CA1e89Bf08CBDCD01100,18.0 +1849.0,buidl-63db,buidl,dfohub,0x7b123f53421b1bF8533339BFBdc7C98aA94163db,18.0 +1850.0,LAYER-366b,LAYER,Unilayer,0x0fF6ffcFDa92c53F615a4A75D982f399C989366b,18.0 +1851.0,HANDY-684c,HANDY,Handy Token,0x8bbe1a2961B41340468D0548c2cd5B7DFA9b684c,18.0 +1852.0,dART-dDBF,dART,dART Token,0x5a4623F305A8d7904ED68638AF3B4328678edDBF,18.0 +1853.0,FIFTY-c3aa,FIFTY,FIFTYONEFIFTY,0xf7DD746A613Fb6362D44eCEDEB743f62ade6c3aa,9.0 +1854.0,AI-7D80,AI,Chat AI,0xa89Bf95c5f15a847c8Eb8D348cd7feD719AD7D80,18.0 +1855.0,ORN-434a,ORN,Orion Protocol,0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a,8.0 +1856.0,FST-3606,FST,Futureswap Token,0x0E192d382a36De7011F795Acc4391Cd302003606,18.0 +1857.0,WELD-6dE0,WELD,Weld.Money,0xDD2a36AE937bc134ea694d77fC7e2E36f5d86dE0,18.0 +1858.0,ERN-3505,ERN,@EthernityChain $ERN Token,0xBBc2AE13b23d715c30720F079fcd9B4a74093505,18.0 +1859.0,Gold 1-E5B0,Gold 1,Teh Golden One,0x0Ec72CD6690db40B16be166858299F19D4f8E5B0,9.0 +1860.0,YourWallet-C429,YourWallet,YourWallet,0xDa70FBaC9e1C9Ac3475c24A3A847f85f1388C429,18.0 +1861.0,GTR-61c6,GTR,Ghost Trader,0x32DebF31D5ED90ca2e287D306fc23FaFAD9361c6,18.0 +1862.0,arNXM-b1dD,arNXM,Armor NXM,0x1337DEF18C680aF1f9f45cBcab6309562975b1dD,18.0 +1863.0,PIF-6513,PIF,Play It Forward DAO,0xB30F5d11b94efBBfDeaa4de38eDFFCeEc0bE6513,18.0 +1864.0,KMT-0f0f,KMT,FiveKM KMT,0x184b6f31aeAa6a19Eb207dFeA01F4289629e0f0f,18.0 +1865.0,NCT-33d1,NCT,Nectar,0x9E46A38F5DaaBe8683E10793b06749EEF7D733d1,18.0 +1866.0,DGRN-8115,DGRN,Degrain,0x71E368Ed06814Bf35d4E663eFf946400a5BC8115,18.0 +1867.0,STACY-B327,STACY,Stacy,0xf12EC0D3Dab64DdEfBdC96474bDe25af3FE1B327,18.0 +1868.0,eSOV-F7a5,eSOV,eSOV,0xbdab72602e9AD40FC6a6852CAf43258113B8F7a5,18.0 +1869.0,GALA-03dA,GALA,Gala,0x15D4c048F83bd7e37d49eA4C83a07267Ec4203dA,8.0 +1870.0,DPI-3C2b,DPI,DefiPulse Index,0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b,18.0 +1871.0,OPENAI-5041,OPENAI,OpenAI,0x6A6AA13393B7d1100c00a57c76c39e8B6C835041,9.0 +1872.0,VRX-B4e5,VRX,Verox,0x87DE305311D5788e8da38D19bb427645b09CB4e5,18.0 +1873.0,XI-Ec8c,XI,Xi Token,0x295B42684F90c77DA7ea46336001010F2791Ec8c,18.0 +1874.0,KOMBAT-C7fA,KOMBAT,Crypto Kombat Token,0x878CF148ccBb50426043a9AFFe54Ba408221C7fA,8.0 +1875.0,MSI-6fde,MSI,Martin Shkreli Inu,0xc4C75F2A0cB1a9ACc33929512dc9733EA1Fd6fde,18.0 +1876.0,METANO-1afb,METANO,METANO,0x9D9e399e5385e2b9A58d4F775A1E16441b571afb,18.0 +1877.0,BST-34FC,BST,BlockStar Token,0x4E4bFfAA8df6F0dC3e5600bBACf7DA55f37134FC,18.0 +1878.0,DEXT-C75a,DEXT,DEXTools,0xfB7B4564402E5500dB5bB6d63Ae671302777C75a,18.0 +1879.0,BURP-4A7c,BURP,Burp,0x33f391F4c4fE802b70B77AE37670037A92114A7c,18.0 +1880.0,INNIT-7c18,INNIT,InnitForTheTECH,0x62A8C2818BD7034DC24CD22368C3E53E8eB47c18,18.0 +1881.0,DEFX-8eDa,DEFX,DeFinity,0x5F474906637bdCDA05f29C74653F6962bb0f8eDa,18.0 +1882.0,RAGE-886F,RAGE,RageToken,0x94804dc4948184fFd7355f62Ccbb221c9765886F,18.0 +1883.0,WARP-Dd71,WARP,Warp Token,0xEd40834A13129509A89be39a9bE9C0E96A0DDd71,18.0 +1884.0,QUAD-77EE,QUAD,Quadency Token,0xAB2A7B5876D707e0126B3A75EF7781c77c8877EE,18.0 +1885.0,PUSSY-a1ad,PUSSY,PUSSY token,0x9196E18Bc349B1F64Bc08784eaE259525329a1ad,18.0 +1886.0,SKT-a8C1,SKT,Sukhavati Network Token,0x012E0e6342308b247F36Ee500ECb14dc77a7a8C1,8.0 +1887.0,ABI-77CD,ABI,Abachi,0xa31DFe74cDA04de990CafC6a0aB2BB6d6C9077CD,9.0 +1888.0,AiWallet-8B19,AiWallet,AiWallet Token,0xc5A927AD2d1a92Dc5f9662Ce03F7140a8B738B19,18.0 +1889.0,XOR-F677,XOR,Sora Token,0x40FD72257597aA14C7231A7B1aaa29Fce868F677,18.0 +1890.0,AISC-B9d9,AISC,Ai Smart Chain,0xB7Df0f42FAe30acf30C9A5BA147D6B792b5eB9d9,18.0 +1891.0,KAT-509C,KAT,Kambria Token,0x14da230d6726C50F759Bc1838717F8CE6373509C,18.0 +1892.0,MAD-d875,MAD,MADToken,0x5B09A0371C1DA44A8E24D36Bf5DEb1141a84d875,18.0 +1893.0,SKL-a7A7,SKL,SKALE,0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7,18.0 +1894.0,NCDT-3C1B,NCDT,NCDToken,0xE0C8b298db4cfFE05d1bEA0bb1BA414522B33C1B,18.0 +1895.0,VRA-7255,VRA,VERA,0xF411903cbC70a74d22900a5DE66A2dda66507255,18.0 +1896.0,KP3R-5A44,KP3R,Keep3rV1,0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44,18.0 +1897.0,DIE-4aC7,DIE,Die Protocol,0x6Ef6610d24593805144d73b13d4405E00A4E4aC7,18.0 +1898.0,ONIGI-1582,ONIGI,Onigiri Neko,0xb4615AAD766f6De3c55330099E907fF7F13f1582,9.0 +1899.0,STATE-8eB1,STATE,New World Order,0x00C2999c8B2AdF4ABC835cc63209533973718eB1,18.0 +1900.0,STG-2Cd6,STG,StargateToken,0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6,18.0 +1901.0,GAIN-F614,GAIN,GainDAO Token,0x874CB28A655e0Ef827d810E211aE4b9cBcbaF614,18.0 +1902.0,BBW-8F69,BBW,BabyWhale,0xd2287a52287dd64AE2c690D74322E2e345dC8F69,18.0 +1903.0,ECT-6783,ECT,Echain Token,0xda4Dd9586D27202A338843Dd6B9824d267006783,9.0 +1904.0,HBOT-e9CB,HBOT,Hummingbot Governance Token,0xE5097D9baeAFB89f9bcB78C9290d545dB5f9e9CB,18.0 +1905.0,IMX-79fF,IMX,Immutable X,0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF,18.0 +1906.0,YCO-0893,YCO,Y Coin,0x3D0293f06daF4311B482564330D57C8Db6C10893,8.0 +1907.0,HOODIE-FE75,HOODIE,CryptoPunk #7171,0xdffA3a7f5B40789C7A437DbE7B31b47F9B08FE75,18.0 +1908.0,eMAID-a303,eMAID,MaidSafeCoin,0x329c6E459FFa7475718838145e5e85802Db2a303,18.0 +1909.0,AGRS-bdDa,AGRS,Agoras Token,0x738865301A9b7Dd80Dc3666dD48cF034ec42bdDa,8.0 +1910.0,BOSON-0de9,BOSON,Boson Token,0xC477D038d5420C6A9e0b031712f61c5120090de9,18.0 +1911.0,IDEAS-cC02,IDEAS,IDEAS,0x443b29fc978058Abe3Fc2f4c3c6b76c57fdecC02,18.0 +1912.0,BIT-a4C5,BIT,BitDAO,0x1A4b46696b2bB4794Eb3D4c26f1c55F9170fa4C5,18.0 +1913.0,PRVG-8E3d,PRVG,Privilege,0x2Ec3275f7aCe4044e499823F511cd58250be8E3d,8.0 +1914.0,FLP-BcD3,FLP,FLIP Token,0x3a1Bda28AdB5B0a812a7CF10A1950c920F79BcD3,18.0 +1915.0,INST-03eb,INST,Instadapp,0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb,18.0 +1916.0,BOB-1B0B,BOB,BOB,0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0B,18.0 +1917.0,GGTK-EF76,GGTK,GGToken,0xFA99A87b14B02e2240C79240C5a20F945ca5EF76,18.0 +1918.0,SOL-b89c,SOL,Wrapped SOL,0xD31a59c85aE9D8edEFeC411D448f90841571b89c,9.0 +1919.0,arte-87b9,arte,ethart,0x34612903Db071e888a4dADcaA416d3EE263a87b9,18.0 +1920.0,LQTY-c54D,LQTY,LQTY,0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D,18.0 +1921.0,sifu-C313,sifu,Sifu,0x29127fE04ffa4c32AcAC0fFe17280ABD74eAC313,18.0 +1922.0,OGV-12D0,OGV,Origin Dollar Governance,0x9c354503C38481a7A7a51629142963F98eCC12D0,18.0 +1923.0,DINO-c68F,DINO,DinoLFG,0x49642110B712C1FD7261Bc074105E9E44676c68F,18.0 +1924.0,NYM-90e1,NYM,NYM,0x525A8F6F3Ba4752868cde25164382BfbaE3990e1,6.0 +1925.0,ITP-DE31,ITP,Interport Token,0x2b1D36f5B61AdDAf7DA7ebbd11B35FD8cfb0DE31,18.0 +1926.0,auraBAL-608d,auraBAL,Aura BAL,0x616e8BfA43F920657B3497DBf40D6b1A02D4608d,18.0 +1927.0,RAE-8756,RAE,RAE Token,0xE5a3229CCb22b6484594973A03a3851dCd948756,18.0 +1928.0,wCFG-34F0,wCFG,Wrapped Centrifuge,0xc221b7E65FfC80DE234bbB6667aBDd46593D34F0,18.0 +1929.0,cvxCRV-0Aa7,cvxCRV,Convex CRV,0x62B9c7356A2Dc64a1969e19C23e4f579F9810Aa7,18.0 +1930.0,T-beE5,T,Threshold Network Token,0xCdF7028ceAB81fA0C6971208e83fa7872994beE5,18.0 +1931.0,VINU-52c9,VINU,Vita Inu,0xAFCdd4f666c84Fed1d8BD825aA762e3714F652c9,18.0 +1932.0,NUTS-0bc0,NUTS,NutsDAO,0x981dc247745800bD2cA28a4bF147f0385Eaa0bc0,18.0 +1933.0,TPRO-4D15,TPRO,TPRO,0x3540abE4f288B280A0740ad5121aEc337c404D15,18.0 +1934.0,PUNK-232A,PUNK,CryptoPunks,0x269616D549D7e8Eaa82DFb17028d0B212D11232A,18.0 +1935.0,RADAR-4DbE,RADAR,DappRadar,0x44709a920fCcF795fbC57BAA433cc3dd53C44DbE,18.0 +1936.0,ACH-143d,ACH,Alchemy,0xEd04915c23f00A313a544955524EB7DBD823143d,8.0 +1937.0,MEME-b760,MEME,MEME,0x60c7AEa107EA3cDAb21455e187cFB7e54E09b760,18.0 +1938.0,VXV-bFCe,VXV,VectorspaceAI,0x7D29A64504629172a429e64183D6673b9dAcbFCe,18.0 +1939.0,MEZZ-4bC3,MEZZ,MEZZ Token,0xC4c346eDc55504574cCEB00AA1091d22404A4bC3,18.0 +1940.0,Pomi-77DA,Pomi,Pomi Coin,0x96ef7f9cF1B6eCC66E482A6598fc9F009E9277DA,8.0 +1941.0,TRIO-3308,TRIO,Maximus Trio,0xF55cD1e399e1cc3D95303048897a680be3313308,8.0 +1942.0,FPIS-1fdb,FPIS,Frax Price Index Share,0xc2544A32872A91F4A553b404C6950e89De901fdb,18.0 +1943.0,COW-5Ea8,COW,CoinWind Token,0x34965f73Cfa05Bf8d8aF37cB4af64Fa950605Ea8,18.0 +1944.0,WBNB-7605,WBNB,Wrapped BNB,0x418D75f65a02b3D53B2418FB8E1fe493759c7605,18.0 +1945.0,VOLT-9b25,VOLT,VOLTAGE,0xfFbF315f70E458e49229654DeA4cE192d26f9b25,18.0 +1946.0,FOREX-259B,FOREX,handleFOREX,0xDb298285FE4C5410B05390cA80e8Fbe9DE1F259B,18.0 +1947.0,frxETH-Aa1f,frxETH,Frax Ether,0x5E8422345238F34275888049021821E8E08CAa1f,18.0 +1948.0,🌐-3953,🌐,QAO,0x3402E15b3EA0f1aEC2679c4Be4c6d051ceF93953,18.0 +1949.0,DCHF-7A36,DCHF,Defi Franc,0x045da4bFe02B320f4403674B3b7d121737727A36,18.0 +1950.0,NSFW-BF19,NSFW,Pleasure Coin,0x8f006D1e1D9dC6C98996F50a4c810F17a47fBF19,18.0 +1951.0,FACTR-B9D5,FACTR,Defactor,0xe0bCEEF36F3a6eFDd5EEBFACD591423f8549B9D5,18.0 +1952.0,ZMT-62b2,ZMT,Zipmex Token,0xaa602dE53347579f86b996D2Add74bb6F79462b2,18.0 +1953.0,DECI-4eA6,DECI,Maximus Decimus,0x6b32022693210cD2Cfc466b9Ac0085DE8fC34eA6,8.0 +1954.0,ISHND-5dbf,ISHND,Stronghands Finance,0x9e6b19874e97fe8E8CAD77f2c0AB5E7a693E5dbf,18.0 +1955.0,gtcETH-065e,gtcETH,Gitcoin Staked ETH Index (gtcETH),0x36c833Eed0D376f75D1ff9dFDeE260191336065e,18.0 +1956.0,SDL-6871,SDL,Saddle DAO,0xf1Dc500FdE233A4055e25e5BbF516372BC4F6871,18.0 +1957.0,PRIME-28CF,PRIME,Prime,0xb23d80f5FefcDDaa212212F028021B41DEd428CF,18.0 +1958.0,BZR-BA8F,BZR,BAZAARS,0x8d96B4ab6C741a4C8679AE323a100d74f085BA8F,18.0 +1959.0,COM-34A8,COM,Communis,0x5A9780Bfe63f3ec57f01b087cD65BD656C9034A8,12.0 +1960.0,LUCKY-6140,LUCKY,Maximus Lucky,0x6B0956258fF7bd7645aa35369B55B61b8e6d6140,8.0 +1961.0,NXRA-EF9e,NXRA,AllianceBlock Nexera Token,0x644192291cc835A93d6330b24EA5f5FEdD0eEF9e,18.0 +1962.0,WAMPL-49Ef,WAMPL,Wrapped Ampleforth,0xEDB171C18cE90B633DB442f2A6F72874093b49Ef,18.0 +1963.0,sILV2-b068,sILV2,Escrowed Illuvium 2,0x7E77dCb127F99ECe88230a64Db8d595F31F1b068,18.0 +1964.0,BTRFLY-e5Da,BTRFLY,BTRFLY,0xc55126051B22eBb829D00368f4B12Bde432de5Da,18.0 +1965.0,HAIR-6f42,HAIR,HairDAO Token,0x9Ce115f0341ae5daBC8B477b74E83db2018A6f42,18.0 +1966.0,MS-908F,MS,Morphswap,0x6d6554939D646f274d0FC3cEcB7dab5d76bc908F,18.0 +1967.0,SGT-EcDD,SGT,Sharedstake.finance,0x24C19F7101c1731b85F1127EaA0407732E36EcDD,18.0 +1968.0,D2T-7A76,D2T,Dash 2 Trade,0x4Dd942bAa75810a3C1E876e79d5cD35E09C97A76,18.0 +1969.0,TGBP-00a5,TGBP,TrueGBP,0x00000000441378008EA67F4284A57932B1c000a5,18.0 +1970.0,FCC-e079,FCC,Freechat Coin,0x171b1DAefac13A0A3524Fcb6BEDdC7B31E58e079,18.0 +1971.0,ALICE-63E8,ALICE,ALICE,0xAC51066d7bEC65Dc4589368da368b212745d63E8,6.0 +1972.0,EFI-3733,EFI,Efinity Token,0x656C00e1BcD96f256F224AD9112FF426Ef053733,18.0 +1973.0,XDEFI-B777,XDEFI,XDEFI,0x72B886d09C117654aB7dA13A14d603001dE0B777,18.0 +1974.0,MNW-f6E4,MNW,Morpheus.Network,0xd3E4Ba569045546D09CF021ECC5dFe42b1d7f6E4,18.0 +1975.0,HOPR-81dA,HOPR,HOPR Token,0xF5581dFeFD8Fb0e4aeC526bE659CFaB1f8c781dA,18.0 +1976.0,SPUME-5283,SPUME,Spume,0xa16a609fF4e1A15b6cCb469E7a5dD14E89305283,18.0 +1977.0,GEAR-Ab5D,GEAR,Gearbox,0xBa3335588D9403515223F109EdC4eB7269a9Ab5D,18.0 +1978.0,OMI-749e,OMI,OMI Token,0xeD35af169aF46a02eE13b9d79Eb57d6D68C1749e,18.0 +1979.0,EURe-273f,EURe,Monerium EUR emoney,0x3231Cb76718CDeF2155FC47b5286d82e6eDA273f,18.0 +1980.0,MRPH-56c8,MRPH,Morpheus.Network,0x7B0C06043468469967DBA22d1AF33d77d44056c8,4.0 +1981.0,TKING-DAFA,TKING,Tiger King,0x24E89bDf2f65326b94E36978A7EDeAc63623DAFA,18.0 +1982.0,RSR-5d70,RSR,Reserve Rights,0x320623b8E4fF03373931769A31Fc52A4E78B5d70,18.0 +1983.0,DUST-c5F0,DUST,DUST Token,0xe2E109f1b4eaA8915655fE8fDEfC112a34ACc5F0,18.0 +1984.0,MAHA-49B0,MAHA,MahaDAO,0x745407c86DF8DB893011912d3aB28e68B62E49B0,18.0 +1985.0,ARIA20-4aF9,ARIA20,ARIANEE,0xeDF6568618A00C6F0908Bf7758A16F76B6E04aF9,18.0 +1986.0,CNG-44bf,CNG,Changer,0x5C1d9aA868a30795F92fAe903eDc9eFF269044bf,18.0 +1987.0,PRBLY-F7E7,PRBLY,Probably Nothing,0x6361F338Ab8DEf2AF3f2A1Be7BD8A7dB3156F7E7,18.0 +1988.0,XOY-9e52,XOY,XOYCoin,0xe9F1d62c671EFe99896492766c0B416bD3FB9e52,8.0 +1989.0,ccBCH-b789,ccBCH,Cross-Chain BCH,0xdB792B1D8869A7CFc34916d6c845Ff05A7C9b789,8.0 +1990.0,BANANA-F03a,BANANA,Banana,0x94e496474F1725f1c1824cB5BDb92d7691A4F03a,18.0 +1991.0,PUNKS-12EA,PUNKS,PUNKS,0x30c084890FC07D78F3499ffc818B3225bC8812EA,18.0 +1992.0,WEB3-e601,WEB3,Arch Ethereum Web3,0xe8e8486228753E01Dbc222dA262Aa706Bd67e601,18.0 +1993.0,XIDR-aa52,XIDR,XIDR,0xebF2096E01455108bAdCbAF86cE30b6e5A72aa52,6.0 +1994.0,₡ABIN-F830,₡ABIN,₡ABIN,0x1934E252f840aA98dfCe2b6205B3E45c41AeF830,18.0 +1995.0,STMX-D71C,STMX,StormX,0xa62cc35625B0C8dc1fAEA39d33625Bb4C15bD71C,18.0 +1996.0,AMKT-aE8D,AMKT,Alongside Crypto Market Index,0xF17A3fE536F8F7847F1385ec1bC967b2Ca9caE8D,18.0 +1997.0,FUND-7f75,FUND,Unification,0xe9B076B476D8865cDF79D1Cf7DF420EE397a7f75,9.0 +1998.0,NGC-f131,NGC,NAGA Coin,0x72dD4b6bd852A3AA172Be4d6C5a6dbEc588cf131,18.0 +1999.0,JPG-249c,JPG,JPG NFT Index,0x02e7Ac540409D32C90BfB51114003a9E1fF0249c,18.0 +2000.0,ZUSD-04fA,ZUSD,Z.com USD,0xc56c2b7e71B54d38Aab6d52E94a04Cbfa8F604fA,6.0 +2001.0,WRAB-C285,WRAB,White Rabbit,0x45D74446748fB432F05E7a85bD974aBB7af5C285,18.0 +2002.0,UTU-189B,UTU,UTU Coin,0xa58a4f5c4Bb043d2CC1E170613B74e767c94189B,18.0 +2003.0,GLQ-4D24,GLQ,GraphLinq,0x9F9c8ec3534c3cE16F928381372BfbFBFb9F4D24,18.0 +2004.0,KROM-d789,KROM,Kromatika,0x3af33bEF05C2dCb3C7288b77fe1C8d2AeBA4d789,18.0 +2005.0, SHOP-4B8b, SHOP,SHOP,0x64b78325d7495D6d4be92f234fa3f3B8d8964B8b,18.0 +2006.0,CERES-0aDA,CERES,Ceres,0x2e7B0d4F9B2EaF782eD3D160e3a0a4b1a7930aDA,18.0 +2007.0,ELA-1867,ELA,ELA on Ethereum,0xe6fd75ff38Adca4B97FBCD938c86b98772431867,18.0 +2008.0,PILOT-9525,PILOT,Unipilot,0x37C997B35C619C21323F3518B9357914E8B99525,18.0 +2009.0,UNBNK-442f,UNBNK,Unbanked,0x06B884e60794Ce02AafAb13791B59A2e6A07442f,18.0 +2010.0,KUJI-3fe7,KUJI,Kuji,0x96543ef8d2C75C26387c1a319ae69c0BEE6f3fe7,6.0 +2011.0,EUL-E07b,EUL,Euler,0xd9Fcd98c322942075A5C3860693e9f4f03AAE07b,18.0 +2012.0,UNT-fdFe,UNT,Unity Network,0x8d610E20481F4C4f3aCB87bBa9c46BeF7795fdFe,18.0 +2013.0,MIDAS-66A5,MIDAS,Midas,0x97e6e31aFb2d93d437301e006D9DA714616766A5,18.0 +2014.0,BCNT-2CD9,BCNT,Bincentive Token,0x9669890e48f330ACD88b78D63E1A6b3482652CD9,18.0 +2015.0,QRDO-2463,QRDO,Qredo Token,0x4123a133ae3c521FD134D7b13A2dEC35b56c2463,8.0 +2016.0,MVRS-f8c1,MVRS,Meta MVRS,0xBEDE1F59Fa4412556fEF69f1B9969F2003E3f8c1,18.0 +2017.0,XFT-45aE,XFT,Offshift,0x76BC677d444f1E9d57dAf5187ee2b7dC852745aE,18.0 +2018.0,UST-87a5,UST,UST,0xa693B19d2931d498c5B318dF961919BB4aee87a5,6.0 +2019.0,VEGA-bc6e,VEGA,VEGA,0xcB84d72e61e383767C4DFEb2d8ff7f4FB89abc6e,18.0 +2020.0,iZi-c200,iZi,izumi Token,0x9ad37205d608B8b219e6a2573f922094CEc5c200,18.0 +2021.0,TRG-4928,TRG,The Rug Game,0x93eEB426782BD88fCD4B48D7b0368CF061044928,18.0 +2022.0,WOMBAT-F9dd,WOMBAT,Wombat,0x0C9c7712C83B3C70e7c5E11100D33D9401BdF9dd,18.0 +2023.0,HARAMBE-38c6,HARAMBE,Harambe,0xADe6FDAba1643E4D1eeF68Da7170F234470938c6,18.0 +2024.0,THOL-0618,THOL,Tholos,0x207e14389183A94343942de7aFbC607F57460618,18.0 +2025.0,ACRIA-c58A,ACRIA,Acria Token,0x44F5909E97E1CBf5FBbDF0FC92FD83cde5d5c58A,18.0 +2026.0,POLY-fdad,POLY,Poly Maximus,0x9d93692E826A4bd9e903e2A27D7FbD1e116efdad,9.0 +2027.0,GRPFT-364A,GRPFT,GRAPEFRUIT,0x64B986211c0CC675143F895C437b79c3cadf364A,8.0 +2028.0,BTRFLY-eC3A,BTRFLY,BTRFLY,0xC0d4Ceb216B3BA9C3701B291766fDCbA977ceC3A,9.0 +2029.0,sETH2-043A,sETH2,StakeWise Staked ETH2,0xFe2e637202056d30016725477c5da089Ab0A043A,18.0 +2030.0,ZURR-e08D,ZURR,ZURRENCY,0x89509aA1D14a8E1E5364Ec4C3B041213bcDbe08D,18.0 +2031.0,AIN-0385,AIN,AI Network,0x3A810ff7211b40c4fA76205a14efe161615d0385,18.0 +2032.0,ALCA-8F8b,ALCA,AliceNet Staking Token,0xBb556b0eE2CBd89ed95DdEA881477723A3Aa8F8b,18.0 +2033.0,CADC-2Eef,CADC,CAD Coin,0xcaDC0acd4B445166f12d2C07EAc6E2544FbE2Eef,18.0 +2034.0,BYTES-8c95,BYTES,BYTES,0x7d647b1A0dcD5525e9C6B3D14BE58f27674f8c95,18.0 +2035.0,LOOMI-2451,LOOMI,LOOMI,0xEb57Bf569Ad976974C1F861a5923A59F40222451,18.0 +2036.0,AGLD-9A20,AGLD,Adventure Gold,0x32353A6C91143bfd6C7d363B546e62a9A2489A20,18.0 +2037.0,SPELL-e5F6,SPELL,Spell Token,0x090185f2135308BaD17527004364eBcC2D37e5F6,18.0 +2038.0,NFD-5346,NFD,Feisty Doge NFT,0xDFDb7f72c1F195C5951a234e8DB9806EB0635346,18.0 +2039.0,BANK-2921,BANK,Float Bank,0x24A6A37576377F63f194Caa5F518a60f45b42921,18.0 +2040.0,TERA2-3231,TERA2,Terareum,0x33909C9CE97Ce509daB3A038B3eC7ac3d1Be3231,4.0 +2041.0,BLOCKS-24eB,BLOCKS,BLOCKS,0x8a6D4C8735371EBAF8874fBd518b56Edd66024eB,18.0 +2042.0,ATH-C8F6,ATH,Athens,0x2F9411088cEF82Fd9fB904Eb8092f28eB485C8F6,18.0 +2043.0,LIT-C341,LIT,Liquidity Incentive Token,0xfd0205066521550D7d7AB19DA8F72bb004b4C341,18.0 +2044.0,H2O-1701,H2O,H2O,0x0642026E7f0B6cCaC5925b4E7Fa61384250e1701,18.0 +2045.0,CenX-cf79,CenX,Centralex Token,0x504cDe95dBC5d90d09B802F43B371971adbEcf79,18.0 +2046.0,SOON-B771,SOON,NONbeta,0x6100dd79fCAA88420750DceE3F735d168aBcB771,18.0 +2047.0,XIV-392C,XIV,INVERSE,0x44f262622248027f8E2a8Fb1090c4Cf85072392C,18.0 +2048.0,ETHMAXY-69E2,ETHMAXY,ETH Max Yield Index,0x0FE20E0Fa9C78278702B05c333Cc000034bb69E2,18.0 +2049.0,SWEAT-3A35,SWEAT,SWEAT,0xB4b9DC1C77bdbb135eA907fd5a08094d98883A35,18.0 +2050.0,PRNT-15FD,PRNT,PrimeNumbers,0x7Cfea0DD176651E7B5a1CeD9c4fAf8Ee295315FD,18.0 +2051.0,QANX-3AAA,QANX,QANX Token,0xAAA9214F675316182Eaa21C85f0Ca99160CC3AAA,18.0 +2052.0,PDI-8B48,PDI,Phuture DeFi Index,0x632806BF5c8f062932Dd121244c9fbe7becb8B48,18.0 +2053.0,SYN-9F29,SYN,Synapse,0x0f2D719407FdBeFF09D87557AbB7232601FD9F29,18.0 +2054.0,BETA-9D28,BETA,Beta Token,0xBe1a001FE942f96Eea22bA08783140B9Dcc09D28,18.0 +2055.0,FLUX-B1d9,FLUX,FLUX,0x469eDA64aEd3A3Ad6f868c44564291aA415cB1d9,18.0 +2056.0,DON-92c6,DON,Donkey,0x4576E6825B462b6916D2a41E187626E9090A92c6,18.0 +2057.0,DOG-8899,DOG,The Doge NFT,0xBAac2B4491727D78D2b78815144570b9f2Fe8899,18.0 +2058.0,MET-89aa,MET,Metronome2,0x2Ebd53d035150f328bd754D6DC66B99B0eDB89aa,18.0 +2059.0,IZE-327B,IZE,Galvan,0xf7e945FcE8F19302AaCc7E1418b0A0bdef89327B,8.0 +2060.0,MCRT-478D,MCRT,MagicCraft,0xde16Ce60804a881e9F8c4eBB3824646EDecd478D,9.0 +2061.0,LORDS-18b0,LORDS,Lords,0x686f2404e77Ab0d9070a46cdfb0B7feCDD2318b0,18.0 +2062.0,WOOF-d0a3,WOOF,WoofWork.io,0x6BC08509B36A98E829dFfAD49Fde5e412645d0a3,18.0 +2063.0,USDD-b5c6,USDD,Decentralized USD,0x0C10bF8FcB7Bf5412187A595ab97a3609160b5c6,18.0 +2064.0,WSTRAX-A51B,WSTRAX,WrappedStrax,0xa3C22370de5f9544f0c4De126b1e46cEadF0A51B,18.0 +2065.0,MON-fc17,MON,Moneta,0x1EA48B9965bb5086F3b468E50ED93888a661fc17,18.0 +2066.0,MORE-85D0,MORE,More,0xbEEf3bB9dA340EbdF0f5bae2E85368140d7D85D0,18.0 +2067.0,PXP-314f,PXP, PointPay Crypto Banking Token V2 ,0x95aA5d2DbD3c16ee3fdea82D5C6EC3E38CE3314f,18.0 +2068.0,JPYC-7BDB,JPYC,JPY Coin,0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB,18.0 +2069.0,LUNA-Fa3d,LUNA,LUNA,0xbd31EA8212119f94A611FA969881CBa3EA06Fa3d,6.0 +2070.0,PEBBLE-a4A8,PEBBLE,Etherrock #72,0xDC98c5543F3004DEBfaad8966ec403093D0aa4A8,18.0 +2071.0,RUSH-9eC7,RUSH,Rush coin,0x382A1667C9062F0621362F49076Ef6e4fE4C9eC7,18.0 +2072.0,IGG-caeA,IGG,IG Gold,0x8FfE40A3D0f80C0CE6b203D5cDC1A6a86d9AcaeA,6.0 +2073.0,ORC-2F51,ORC,Orbit Chain,0x662b67d00A13FAf93254714DD601F5Ed49Ef2F51,18.0 +2074.0,QDT-2Ef3,QDT,QuadransToken,0x9Adc7710E9d1b29d8a78c04d52D32532297C2Ef3,18.0 +2075.0,HMX-3a88,HMX,Hermes,0xb012Be90957D70D9a070918027655F998C123a88,18.0 +2076.0,$HACHI-AAFf,$HACHI,HACHI,0x967B0c95295ead8fAef70d26A7846AeCD349AAFf,18.0 +2077.0,MAP-28e4,MAP,MAP Protocol,0x9E976F211daea0D652912AB99b0Dc21a7fD728e4,18.0 +2078.0,GRAIN-e58e,GRAIN,GRAIN Token,0x6589fe1271A0F29346796C6bAf0cdF619e25e58e,18.0 +2079.0,HPO-1a84,HPO,Hippopotamus,0xa0ED3C520dC0632657AD2EaaF19E26C4fD431a84,18.0 +2080.0,MTO-324F,MTO,Merchant Token,0xE66b3AA360bB78468c00Bebe163630269DB3324F,18.0 +2081.0,SWISE-2FA2,SWISE,StakeWise,0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2,18.0 +2082.0,ANFD-211b,ANFD,Angry Doge,0x4F14cDBd815B79E9624121f564f24685c6B1211b,18.0 +2083.0,DVF-1918,DVF,DeversiFi Token,0xDDdddd4301A082e62E84e43F474f044423921918,18.0 +2084.0,TIA-Ea26,TIA,Tia Token,0x824E35f7A75324f99300aFAC75ECF7354E17Ea26,9.0 +2085.0,MEMAG-7AF6,MEMAG,Meta Masters Guild,0x6E39A587691b8c9D4341cE0A960998ED6F537AF6,18.0 +2086.0,BASE-04e0,BASE,Maximus Base,0xe9f84d418B008888A992Ff8c6D22389C2C3504e0,8.0 +2087.0,EUROC-C33c,EUROC,Euro Coin,0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c,6.0 +2088.0,WMATIC-2D43,WMATIC,Wrapped Matic,0x7c9f4C87d911613Fe9ca58b579f737911AAD2D43,18.0 +2089.0,BZZ-F8Cb,BZZ,BZZ,0x19062190B1925b5b6689D7073fDfC8c2976EF8Cb,16.0 +2090.0,UwU-5257,UwU,UwU Lend,0x55C08ca52497e2f1534B59E2917BF524D4765257,18.0 +2091.0,WAIT-19F7,WAIT,Wait,0xb5588C411ba0bb7D38865fdC51D082d004e519F7,0.0 +2092.0,TCAP-aFa4,TCAP,TCAP Token,0x16c52CeeCE2ed57dAd87319D91B5e3637d50aFa4,18.0 +2093.0,vETH-21Ab,vETH,Voucher Ethereum,0xc3D088842DcF02C13699F936BB83DFBBc6f721Ab,18.0 +2094.0,BOBA-Efbc,BOBA,Boba Token,0x42bBFa2e77757C645eeaAd1655E0911a7553Efbc,18.0 +2095.0,ankrMATIC-480C,ankrMATIC,Ankr Staked MATIC,0x26dcFbFa8Bc267b250432c01C982Eaf81cC5480C,18.0 +2096.0,PRINTS-cb95,PRINTS,Fingerprints,0x4dd28568D05f09b02220b09C2cb307bFd837cb95,18.0 +2097.0,PYR-9682,PYR,PYR Token,0x430EF9263E76DAE63c84292C3409D61c598E9682,18.0 +2098.0,$MECHA-9Ef5,$MECHA,Mechanium,0xC5bcc8BA3F33Ab0d64f3473e861BDC0685b19Ef5,18.0 +2099.0,WAVAX-Eda3,WAVAX,Wrapped AVAX,0x85f138bfEE4ef8e540890CFb48F620571d67Eda3,18.0 +2100.0,CRI-3E4d,CRI,Crypto International,0x12E951934246186F50146235d541D3bD1D463E4d,18.0 +2101.0,SKEB-C810,SKEB,Skeb Coin,0x6D614686550B9E1c1DF4b2cD8f91C9D4df66C810,18.0 +2102.0,SPOT-bafE,SPOT,SPOT,0xC1f33e0cf7e40a67375007104B929E49a581bafE,9.0 +2103.0,ELAND-3205,ELAND,Etherland,0x33E07f5055173cF8FeBedE8B21B12D1e2b523205,18.0 +2104.0,dsETH-B3BE,dsETH,Diversified Staked ETH Index (dsETH),0x341c05c0E9b33C0E38d64de76516b2Ce970bB3BE,18.0 +2105.0,MAI-f609,MAI,MindsyncAI,0x75387e1287Dd85482aB66102DA9f6577E027f609,18.0 +2106.0,ZERO-5eCC,ZERO,ZeroLiquid,0xB0Ed33f79D89541dfdCb04A8f04Bc2c6be025eCC,18.0 +2107.0,NFTL-9638,NFTL,Nifty League,0x3c8D2FCE49906e11e71cB16Fa0fFeB2B16C29638,18.0 +2108.0,CNC-5cFC,CNC,Conic Finance Token,0x9aE380F0272E2162340a5bB646c354271c0F5cFC,18.0 +2109.0,DVI-9770,DVI,Dvision,0x10633216E7E8281e33c86F02Bf8e565a635D9770,18.0 +2110.0,icETH-6A84,icETH,Interest Compounding ETH Index,0x7C07F7aBe10CE8e33DC6C5aD68FE033085256A84,18.0 +2111.0,THX-4B31,THX,THX Network,0xe632ea2eF2CFD8Fc4a2731C76F99078Aef6a4B31,18.0 +2112.0,cvxFPIS-7Df6,cvxFPIS,Convex FPIS,0xa2847348b58CEd0cA58d23c7e9106A49f1427Df6,18.0 +2113.0,GRG-C964,GRG,Rigo Token,0x4FbB350052Bca5417566f188eB2EBCE5b19BC964,18.0 +2114.0,Nvir-6804,Nvir,NvirWorld,0x9d71CE49ab8A0E6D2a1e7BFB89374C9392FD6804,18.0 +2115.0,GFI-8D2b,GFI,Goldfinch,0xdab396cCF3d84Cf2D07C4454e10C8A6F5b008D2b,18.0 +2116.0,EASE-c61c,EASE,Ease Token,0xEa5eDef1287AfDF9Eb8A46f9773AbFc10820c61c,18.0 +2117.0,ASTRA-3E23,ASTRA,Astra DAO,0x7E9c15C43f0D6C4a12E6bdfF7c7D55D0f80e3E23,18.0 +2118.0,CITIZEN-A8Ea,CITIZEN,KONG Land Alpha Citizenship,0x77F0cc420dEa0aE726Db6Bef1460A4B69176A8Ea,18.0 +2119.0,GODS-FD97,GODS,Gods Unchained,0xccC8cb5229B0ac8069C51fd58367Fd1e622aFD97,18.0 +2120.0,rETH2-86c5,rETH2,StakeWise Reward ETH2,0x20BC832ca081b91433ff6c17f85701B6e92486c5,18.0 +2121.0,GDC-aF31,GDC,Global Digital Content,0x301C755bA0fcA00B1923768Fffb3Df7f4E63aF31,18.0 +2122.0,LOVE-A27C,LOVE,UkraineDAO Flag NFT,0x5380442d3C4EC4f5777f551f5EDD2FA0F691A27C,18.0 +2123.0,LAKE-C400,LAKE,Data Lake Token,0xF9Ca9523E5b5A42C3018C62B084Db8543478C400,18.0 +2124.0,OUSD-5e86,OUSD,Origin Dollar,0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86,18.0 +2125.0,KXA-Cd89,KXA,Kryxivia Coin,0x2223bF1D7c19EF7C06DAB88938EC7B85952cCd89,18.0 +2126.0,FPI-E08E,FPI,Frax Price Index,0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E,18.0 +2127.0,MEGA-B10E,MEGA,MegaWorld $MEGA Token,0x1892F6ff5FBE11c31158F8c6f6F6e33106c5B10E,18.0 +2128.0,PENDLE-a827,PENDLE,Pendle,0x808507121B80c02388fAd14726482e061B8da827,18.0 +2129.0,FOLD-5921,FOLD,Manifold Finance,0xd084944d3c05CD115C09d072B9F44bA3E0E45921,18.0 +2130.0,WALLET-94Ae,WALLET,Ambire Wallet,0x88800092fF476844f74dC2FC427974BBee2794Ae,18.0 +2131.0,rETH-3593,rETH,StaFi,0x9559Aaa82d9649C7A7b220E7c461d2E74c9a3593,18.0 +2132.0,ALLUO-0B09,ALLUO,Alluo Token,0x1E5193ccC53f25638Aa22a940af899B692e10B09,18.0 +2133.0,BRIGHT-0DfE,BRIGHT,Bright,0x5dD57Da40e6866C9FcC34F4b6DDC89F1BA740DfE,18.0 +2134.0,GPOOL-A09d,GPOOL,Genesis Pool,0x797de1Dc0b9fAf5E25c1f7Efe8dF9599138fA09d,18.0 +2135.0,BOO-Fa58,BOO,SpookyToken,0x55aF5865807b196bD0197e0902746F31FBcCFa58,18.0 +2136.0,OHM-a899,OHM,Olympus,0x383518188C0C6d7730D91b2c03a03C837814a899,9.0 +2137.0,XAI-bEAc,XAI,XAI Stablecoin,0xd7C9F0e536dC865Ae858b0C0453Fe76D13c3bEAc,18.0 +2138.0,MTRM-7581,MTRM,Materium,0xcd17fA52528f37FACB3028688E62ec82d9417581,0.0 +2139.0,SUMMER-CA5c,SUMMER,Summer Token,0x4D4f3715050571A447FfFa2Cd4Cf091C7014CA5c,18.0 +2140.0,AUTUMN-3a99,AUTUMN,Autumn Token,0x4c3bAe16c79c30eEB1004Fb03C878d89695e3a99,18.0 +2141.0,JUSTICE-90B5,JUSTICE,AssangeDAO,0x59d1e836F7b7210A978b25a855085cc46fd090B5,18.0 +2142.0,RTH-8bC8,RTH,Rotharium,0x3FD8f39A962eFDA04956981C31AB89FAB5FB8bC8,18.0 +2143.0,DEO-cf8e,DEO,Demeter,0x5E7F20e72C21f6D0Bf0A2814FD4164176401cf8e,18.0 +2144.0,GIV-0DA0,GIV,Giveth,0x900dB999074d9277c5DA2A43F252D74366230DA0,18.0 +2145.0,OM-c95d,OM,MANTRA DAO,0x3593D125a4f7849a1B059E64F4517A86Dd60c95d,18.0 +2146.0,CTSI-6B5D,CTSI,Cartesi Token,0x491604c0FDF08347Dd1fa4Ee062a822A5DD06B5D,18.0 +2147.0,KCS-8811,KCS,KuCoin Token,0xf34960d9d60be18cC1D5Afc1A6F012A723a28811,6.0 +2148.0,PDT-9893,PDT,Paragons DAO Token,0x375aBB85C329753b1Ba849a601438AE77eEc9893,18.0 +2149.0,PAW-5136,PAW,PAWZONE,0x1AA51bc7eb181ce48CE626Bf62f8956Fa9555136,18.0 +2150.0,CQT-6240,CQT,Covalent Query Token,0xD417144312DbF50465b1C641d016962017Ef6240,18.0 +2151.0,COW-97aB,COW,CoW Protocol Token,0xDEf1CA1fb7FBcDC777520aa7f396b4E015F497aB,18.0 +2152.0,SOUL-f07F,SOUL,Phantasma Stake,0x75858677e27C930FB622759FeafFeE2b754Af07F,8.0 +2153.0,WSTR-12B1,WSTR,WrappedStar,0xF0dC76C22139ab22618dDFb498BE1283254612B1,18.0 +2154.0,X8X-fa4c,X8X,X8XToken,0x910Dfc18D6EA3D6a7124A6F8B5458F281060fa4c,18.0 +2155.0,PSTAKE-7006,PSTAKE,pSTAKE Finance,0xfB5c6815cA3AC72Ce9F5006869AE67f18bF77006,18.0 +2156.0,GEL-EA05,GEL,Gelato Network Token,0x15b7c0c907e4C6b9AdaAaabC300C08991D6CEA05,18.0 +2157.0,SHI-AD5a,SHI,Shina Inu,0x243cACb4D5fF6814AD668C3e225246efA886AD5a,18.0 +2158.0,NABOX-77Fb,NABOX,Nabox Token,0x03D1E72765545729A035e909eDd9371a405f77Fb,18.0 +2159.0,TOWN-Ab7F,TOWN,TownCoin,0x3Dd98C8A089dBCFF7e8FC8d4f532BD493501Ab7F,8.0 +2160.0,3Crv-E490,3Crv,Curve.fi DAI/USDC/USDT,0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490,18.0 +2161.0,SSV-7f54,SSV,SSV Token,0x9D65fF81a3c488d585bBfb0Bfe3c7707c7917f54,18.0 +2162.0,BKR-58Fd,BKR,Balkari Token,0x77271813bd9167e75B5DF9c230cf58d64f0A58Fd,18.0 +2163.0,FX-5057,FX,Function X,0x8c15Ef5b4B21951d50E53E4fbdA8298FFAD25057,18.0 +2164.0,KAPPA-BeF4,KAPPA,Kappa Token,0x5D2C6545d16e3f927a25b4567E39e2cf5076BeF4,18.0 +2165.0,FLOOR-455e,FLOOR,Floor,0xf59257E961883636290411c11ec5Ae622d19455e,9.0 +2166.0,GPT-47F8,GPT,CryptoGPT Token,0xD04E772BC0d591fBD288f2E2a86aFA3D3CB647F8,18.0 +2167.0,LSETH-d048,LSETH,Liquid Staked ETH,0x628eBC64A38269E031AFBDd3C5BA857483B5d048,18.0 +2168.0,LEAN-99F8,LEAN,Lean Management Token,0xFb83869f7EE52AEBadDEA254F647953AfB1F99F8,18.0 +2169.0,MYC-F5Ba,MYC,Mycelium,0x4b13006980aCB09645131b91D259eaA111eaF5Ba,18.0 +2170.0,TCR-F050,TCR,Tracer,0x9C4A4204B79dd291D6b6571C5BE8BbcD0622F050,18.0 +2171.0,SOLID-0990,SOLID,Solidly,0x777172D858dC1599914a1C4c6c9fC48c99a60990,18.0 +2172.0,AXS-B28b,AXS,Axie Infinity Shard,0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b,18.0 +2173.0,NFTI-4a81,NFTI,Scalara NFT Index,0x525eF76138Bf76118d786DbedeaE5F87aaBf4a81,18.0 +2174.0,CRETH2-dB64,CRETH2,Cream ETH Token,0x49D72e3973900A195A155a46441F0C08179FdB64,18.0 +2175.0,NATION-2069,NATION,Nation3,0x333A4823466879eeF910A04D473505da62142069,18.0 +2176.0,WINTER-845f,WINTER,Winter Token,0xCcbA0b2bc4BAbe4cbFb6bD2f1Edc2A9e86b7845f,18.0 +2177.0,wMEMO-af57,wMEMO,Wrapped MEMO,0x3b79a28264fC52c7b4CEA90558AA0B162f7Faf57,18.0 +2178.0,WGRLC-5BE9,WGRLC,Wrapped GRLC,0x58f7345b5295E43aA454911571f13be186655BE9,8.0 +2179.0,LM-bec9,LM,LeisureMeta,0x7BEC98609cB6378D6F995e8f8097Ee78376fbec9,18.0 +2180.0,GMT-1989,GMT,GoMining Token,0x7Ddc52c4De30e94Be3A6A0A2b259b2850f421989,18.0 +2181.0,UDT-1517,UDT,Unlock Discount Token,0x90DE74265a416e1393A450752175AED98fe11517,18.0 +2182.0,SOS-aEe0,SOS,SOS,0x3b484b82567a09e2588A13D54D032153f0c0aEe0,18.0 +2183.0,SBECOM-0A28,SBECOM,SheBollETH Commerce,0x888E88E71378133b7ADa5A90c08Bc97D772A0A28,18.0 +2184.0,GBPT-bA98,GBPT,poundtoken,0x86B4dBE5D203e634a12364C0e428fa242A3FbA98,18.0 +2185.0,TOS-8153,TOS,TONStarter,0x409c4D8cd5d2924b9bc5509230d16a61289c8153,18.0 +2186.0,POW-9258,POW,POW,0x43Ab765ee05075d78AD8aa79dcb1978CA3079258,18.0 +2187.0,CODE-8f11,CODE,Developer DAO,0xb24cd494faE4C180A89975F1328Eab2a7D5d8f11,18.0 +2188.0,SWTH-20bB,SWTH,Switcheo Token,0xB4371dA53140417CBb3362055374B10D97e420bB,8.0 +2189.0,NFTX-f776,NFTX,NFTX,0x87d73E916D7057945c9BcD8cdd94e42A6F47f776,18.0 +2190.0,WOOFY-57f1,WOOFY,Woofy,0xD0660cD418a64a1d44E9214ad8e459324D8157f1,12.0 +2191.0,UWL-8Df5,UWL,UniWhales.io,0xdbDD6F355A37b94e6C7D32fef548e98A280B8Df5,18.0 +2192.0,WPC-6746,WPC,WePiggy Coin,0x6F620EC89B8479e97A6985792d0c64F237566746,18.0 +2193.0,WAR-1543,WAR,Wrapped AR,0x4FaDC7A98f2Dc96510e42dD1A74141eEae0C1543,12.0 +2194.0,IPISTR-348e,IPISTR,IPI Shorter,0x888888888888f195E27A2E0F98D712952aB9348e,18.0 +2195.0,LED-BF6D,LED,LedgerScore,0x72De803b67B6AB05B61EFab2Efdcd414D16eBF6D,18.0 +2196.0,KRX-7922,KRX,KRYZA Exchange,0x93ad9b819C88D98B4c9641470A96E24769Ae7922,9.0 +2197.0,CNFI-2Ae9,CNFI,Connect Financial,0xEABB8996eA1662cAd2f7fB715127852cd3262Ae9,18.0 +2198.0,DAM-86Df,DAM,Datamine,0xF80D589b3Dbe130c270a69F1a69D050f268786Df,18.0 +2199.0,KCT-A27E,KCT,Konnect,0x4c601dc69AfFb0D4Fc8dE1Ac303705e432A4A27E,18.0 +2200.0,PAL-f4BF,PAL,Paladin Token,0xAB846Fb6C81370327e784Ae7CbB6d6a6af6Ff4BF,18.0 +2201.0,DAR-62a3,DAR,Dalarnia,0x081131434f93063751813C619Ecca9C4dC7862a3,6.0 +2202.0,GAL-9875,GAL,Project Galaxy,0x5fAa989Af96Af85384b8a938c2EdE4A7378D9875,18.0 +2203.0,GMM-c279,GMM,Gamium [via ChainPort.io],0x4B19C70Da4c6fA4bAa0660825e889d2F7eaBc279,18.0 +2204.0,FORT-Ec29,FORT,Forta,0x41545f8b9472D758bB669ed8EaEEEcD7a9C4Ec29,18.0 +2205.0,GOG-9c62,GOG,Guild of Guardians,0x9AB7bb7FdC60f4357ECFef43986818A2A3569c62,18.0 +2206.0,ALIS-4fAB,ALIS,AlisToken,0xEA610B1153477720748DC13ED378003941d84fAB,18.0 +2207.0,GBYTE-cc2a,GBYTE,Imported GBYTE,0x31F69dE127C8A0fF10819C0955490a4Ae46fcc2a,18.0 +2208.0,XOLO-B252,XOLO,Xoloitzcuintli,0x3252d4221f92b7Af3774Da8312F01600eC84B252,18.0 +2209.0,GEM-F806,GEM,NFTmall GEM Token,0x9b17bAADf0f21F03e35249e0e59723F34994F806,18.0 +2210.0,QUA-88B7,QUA,Quarashi,0xd35c06a2781f648c75290976ecF71E71582188B7,18.0 +2211.0,BXR-D695,BXR,Blockster,0x97A3BD8a445cC187c6A751F392e15C3B2134D695,18.0 +2212.0,$PAPER-9397,$PAPER,PaperToken,0x21018CBC9ad730542130bE180b577b74DB2a9397,18.0 +2213.0,KRAUSE-603b,KRAUSE,KRAUSE,0x9F6F91078A5072A8B54695DAfA2374Ab3cCd603b,18.0 +2214.0,PLOT-66Bb,PLOT,PLOT,0x72F020f8f3E8fd9382705723Cd26380f8D0c66Bb,18.0 +2215.0,INXT-16D4,INXT,Internxt,0x4A8f5F96D5436e43112c2fBC6a9f70DA9e4E16D4,8.0 +2216.0,WACME-1170,WACME,Wrapped ACME,0xDF4Ef6EE483953fE3B84ABd08C6A060445c01170,8.0 +2217.0,JPEG-45a3,JPEG,JPEG’d Governance Token,0xE80C0cd204D654CEbe8dd64A4857cAb6Be8345a3,18.0 +2218.0,PLQ-BB7B,PLQ,PlanQ,0xd23Ed8cA350CE2631F7EcDC5E6bf80D0A1DeBB7B,18.0 +2219.0,MDT-7d26,MDT,Measurable Data Token,0x814e0908b12A99FeCf5BC101bB5d0b8B5cDf7d26,18.0 +2220.0,ILV-ca0E,ILV,Illuvium,0x767FE9EDC9E0dF98E07454847909b5E959D7ca0E,18.0 +2221.0,KNIGHT-16bC,KNIGHT,CitaDAO,0x3541A5C1b04AdABA0B83F161747815cd7B1516bC,18.0 +2222.0,USDS-2eBe,USDS,StableUSD,0xA4Bdb11dc0a2bEC88d24A3aa1E6Bb17201112eBe,6.0 +2223.0,PET-5C5F,PET,Pet Token,0xB870679a7Fa65b924026F496De7f27c1DD0e5C5F,18.0 +2224.0,CSX-9C8c,CSX,Coinstox Token,0x3aadc3BCe49724ce299fD9F3850211211c399C8c,18.0 +2225.0,BOOP-3Ce1,BOOP,Boop,0x8013266cb5c9dd48bE3Ad7D1CE832874d64B3Ce1,18.0 +2226.0,MNTL-3295,MNTL,AssetMantle,0x2C4F1DF9c7DE0C59778936C9b145fF56813F3295,6.0 +2227.0,KCAL-79F9,KCAL,Phantasma Energy,0x47C1178F49140ECdBfbdF0aE2935cDB640D579F9,10.0 +2228.0,EXD-6560,EXD,Exorde Network Token,0x02dE007D412266a2e0Fa9287C103474170F06560,18.0 +2229.0,BENT-C375,BENT,Bent Token,0x01597E397605Bf280674Bf292623460b4204C375,18.0 +2230.0,LUCHOW-7C57,LUCHOW,LunaChow,0xA5Ef74068d04ba0809B7379dD76Af5Ce34Ab7C57,18.0 +2231.0,JBX-6f66,JBX,Juicebox,0x3abF2A4f8452cCC2CF7b4C1e4663147600646f66,18.0 +2232.0,anonUSD-1eFd,anonUSD,anonUSD,0x5a7E6C8204A1359DB9AAcab7bA5Fc309B7981eFd,18.0 +2233.0,AGOV-280c,AGOV,Answer Governance,0xd1420AF453Fd7bf940573431D416cAcE7fF8280c,18.0 +2234.0,MOVE-324C,MOVE,Mover,0x3FA729B4548beCBAd4EaB6EF18413470e6D5324C,18.0 +2235.0,BTC2x-FLI-1c2b,BTC2x-FLI,BTC 2x Flexible Leverage Index,0x0B498ff89709d3838a063f1dFA463091F9801c2b,18.0 +2236.0,LIT-783b,LIT,LIT,0xC5b3D3231001a776123194Cf1290068e8b0C783b,18.0 +2237.0,cV-5683,cV,cVToken,0x50bC2Ecc0bfDf5666640048038C1ABA7B7525683,18.0 +2238.0,SPRING-d4FE,SPRING,Spring Token,0xf04aF3f4E4929F7CD25A751E6149A3318373d4FE,18.0 +2239.0,MOONEY-1395,MOONEY,MOONEY,0x20d4DB1946859E2Adb0e5ACC2eac58047aD41395,18.0 +2240.0,SBLX-5F80,SBLX,SocialBlox,0xf6af18F94d55B8888B557cb3da0Ec623BA245F80,18.0 +2241.0,CHO-3099,CHO,choise.com Token,0xBBa39Fd2935d5769116ce38d46a71bde9cf03099,18.0 +2242.0,MNE-d0E0,MNE,Minereum,0x426CA1eA2406c07d75Db9585F22781c096e3d0E0,8.0 +2243.0,MILADY-EB48,MILADY,Milady Maker,0x227c7DF69D3ed1ae7574A1a7685fDEd90292EB48,18.0 +2244.0,bLUSD-79C3,bLUSD,bLUSD,0xB9D7DdDca9a4AC480991865EfEf82E01273F79C3,18.0 +2245.0,ARTIC-731e,ARTIC,ARTIC,0xE83D5FB2c60B3A2597452e248CF7b2f52a7E731e,18.0 +2246.0,PHONON-03Ec,PHONON,Phonon DAO,0x758B4684BE769E92eeFeA93f60DDA0181eA303Ec,18.0 +2247.0,NEC-7A5e,NEC,Ethfinex Nectar Token,0xCc80C051057B774cD75067Dc48f8987C4Eb97A5e,18.0 +2248.0,UNIDX-D96C,UNIDX,UniDex,0x95b3497bBcCcc46a8F45F5Cf54b0878b39f8D96C,18.0 +2249.0,SURE-416E,SURE,inSure,0xcb86c6A22CB56B6cf40CaFEDb06BA0DF188a416E,18.0 +2250.0,BOLLY-ea99,BOLLY,Bollycoin,0x6bd361e10c1afed0d95259e7C0115f3A60e4ea99,18.0 +2251.0,IMPT-1f85,IMPT,IMPT,0x04C17b9D3b29A78F7Bd062a57CF44FC633e71f85,18.0 +2252.0,AIOZ-BF18,AIOZ,AIOZ Network,0x626E8036dEB333b408Be468F951bdB42433cBF18,18.0 +2253.0,FF-94CD,FF,Forefront,0x7E9D8f07A64e363e97A648904a89fb4cd5fB94CD,18.0 +2254.0,TSCT-5035,TSCT,Transient,0x805EA9c07B49dd23cE11ec66dC6d8a2957385035,18.0 +2255.0,CPOOL-FaC5,CPOOL,Clearpool,0x66761Fa41377003622aEE3c7675Fc7b5c1C2FaC5,18.0 +2256.0,CDT-85Cc,CDT,CheckDot,0xCdB37A4fBC2Da5b78aA4E41a432792f9533e85Cc,18.0 +2257.0,$MNB-A366,$MNB,Mineable,0x42b91f1d05afeA671a2dA3c780eDa2aBf0A2A366,18.0 +2258.0,TAIL-77c4,TAIL,Tail Finance,0x4384b85FE228AE727B129230211194E4A50877c4,9.0 +2259.0,BED-7dc6,BED,Bankless BED Index,0x2aF1dF3AB0ab157e1E2Ad8F88A7D04fbea0c7dc6,18.0 +2260.0,HFT-cADC,HFT,Hashflow,0xb3999F658C0391d94A37f7FF328F3feC942BcADC,18.0 +2261.0,PUNDIX-0C38,PUNDIX,Pundi X Token,0x0FD10b9899882a6f2fcb5c371E17e70FdEe00C38,18.0 +2262.0,MVDG-9750,MVDG,Metaverse Dog,0x2eE543b8866F46cC3dC93224C6742a8911a59750,18.0 +2263.0,ANT-5A2e,ANT,Aragon Network Token,0xa117000000f279D81A1D3cc75430fAA017FA5A2e,18.0 +2264.0,BTU-cc9f,BTU,BTU Protocol,0xb683D83a532e2Cb7DFa5275eED3698436371cc9f,18.0 +2265.0,PANDA-00DC,PANDA,PandaDAO,0x3cBb7f5d7499Af626026E96a2f05df806F2200DC,18.0 +2266.0,BLOOD-B50c,BLOOD,Blood,0x95392f142Af1c12F6e39897Ff9B09c599666B50c,18.0 +2267.0,BAM-4AaB,BAM,Bambi,0x9DB0FB0Aebe6A925B7838D16e3993A3976A64AaB,18.0 +2268.0,ETH2x_FLI-65BD,ETH2x_FLI,ETH 2x Flexible Leverage Index,0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD,18.0 +2269.0,UNIBOT-5040,UNIBOT,Unibot,0x25127685dC35d4dc96C7fEAC7370749d004C5040,18.0 +2270.0,LHINU-038d,LHINU,Love Hate Inu,0xCeDefE438860D2789dA6419b3a19cEcE2A41038d,18.0 +2271.0,RIBBIT-5fFe,RIBBIT,Ribbit,0xb794Ad95317f75c44090f64955954C3849315fFe,18.0 +2272.0,TURBO-20D3,TURBO,Turbo,0xA35923162C49cF95e6BF26623385eb431ad920D3,18.0 +2273.0,SFOX-76d5,SFOX,StonedFox,0xdfba8e8fFCc348B006e893e78De233B8597076d5,18.0 +2274.0,wjAURA-Cd1F,wjAURA,Wrapped Jones AURA,0x198d7387Fa97A73F05b8578CdEFf8F2A1f34Cd1F,18.0 +2275.0,BEE-307c,BEE,Babylon Bee,0x4C4F2B9DEB3c91006719Bb3232DD4eb39977307c,18.0 +2276.0,BIAO-5D8a,BIAO,Biaocoin,0x00282FD551D03dC033256C4bf119532e8C735D8a,2.0 +2277.0,TUCKER-A84f,TUCKER,Tucker Carlson,0x6f49694827d46A14Baf2a7b1eAC3e6eB3526A84f,9.0 +2276.0,Auction-9096,Auction,Auction,0xA9B1Eb5908CfC3cdf91F9B8B3a74108598009096,18.0 +2277.0,ANGLE-14c2,ANGLE,ANGLE,0x31429d1856aD1377A8A0079410B297e1a9e214c2,18.0 +2278.0,WXRP-e1B9,WXRP,WXRP,0x39fBBABf11738317a448031930706cd3e612e1B9,18.0 +2279.0,WIZARD-D8Fb,WIZARD,WIZARD,0x87931E7AD81914e7898d07c68F145fC0A553D8Fb,18.0 +2280.0,USH-EC48,USH,USH,0xE60779CC1b2c1d0580611c526a8DF0E3f870EC48,18.0 +2281.0,GENE-D67E,GENE,GENE,0x21413c119b0C11C5d96aE1bD328917bC5C8ED67E,18.0 +2282.0,SDL-8C23,SDL,SDL,0xA95C5ebB86E0dE73B4fB8c47A45B792CFeA28C23,18.0 +2283.0,AURA-16bE,AURA,AURA,0x6047e101aaa9Ab9b02fe5Cbc1DD03c2C7C8516bE,18.0 +2284.0,RAD-06FB,RAD,RAD,0xdDc6625FEcA10438857DD8660C021Cd1088806FB,18.0 +2285.0,OXO-09fc,OXO,OXO,0x47daC6BD80f024575a6d367aF5Ba8e89202A09fc,18.0 +2286.0,OETH-8dC3,OETH,OETH,0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3,18.0 +2287.0,FUMO-5aa6,FUMO,FUMO,0x2890dF158D76E584877a1D17A85FEA3aeeB85aa6,18.0 +2288.0,BITCOIN-EEa9,BITCOIN,BITCOIN,0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9,8.0 +2289.0,PEPE2.0-62AD,PEPE2.0,PEPE2.0,0xfb66321D7C674995dFcC2cb67A30bC978dc862AD,18.0 +2290.0,PEPE3.0-5398,PEPE3.0,PEPE3.0,0x0e92C90867bF82ebbE66ae0352a4C6D876Fb5398,18.0 +2291.0,RLB-3f3d,RLB,RLB,0x046EeE2cc3188071C02BfC1745A6b17c656e3f3d,18.0 +2292.0,RLB-3f3d,RLB,RLB,0x046EeE2cc3188071C02BfC1745A6b17c656e3f3d,18.0 +2293.0,eUSD-A371,eUSD,eUSD,0x97de57eC338AB5d51557DA3434828C5DbFaDA371,18.0 +2294.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 +2295.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 +2296.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 +2297.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 +2298.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 +2299.0,pETH-78c7,pETH,pETH,0x836A808d4828586A69364065A1e064609F5078c7,18.0 +2300.0,DXN-cB6F,DXN,DXN,0x80f0C1c49891dcFDD40b6e0F960F84E6042bcB6F,18.0 +2301.0,swETH-Ed78,swETH,swETH,0xf951E335afb289353dc249e82926178EaC7DEd78,18.0 +2302.0,swETH-Ed78,swETH,swETH,0xf951E335afb289353dc249e82926178EaC7DEd78,18.0 +2303.0,PSYOP-53D3,PSYOP,PSYOP,0x3007083EAA95497cD6B2b809fB97B6A30bdF53D3,18.0 +2304.0,FROGDOG-e16C,FROGDOG,FROGDOG,0x3cda61B56278842876e7fDD56123d83DBAFAe16C,18.0 +2305.0,BAZED-8F4a,BAZED,BAZED,0x3eE4B152824b657644c7A9B50694787e80EB8F4a,18.0 +2306.0,SHIBIE-a98F,SHIBIE,SHIBIE,0x4965b3b90f3a63Fc72F74e53322f66b2a174a98F,18.0 +2307.0,SHIBIE-a98F,SHIBIE,SHIBIE,0x4965b3b90f3a63Fc72F74e53322f66b2a174a98F,18.0 +2308.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 +2309.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 +2310.0,RVT-2244,RVT,RVT,0x3d1BA9be9f66B8ee101911bC36D3fB562eaC2244,18.0 +2311.0,Homer Pepe-ea3c,Homer Pepe,Homer Pepe,0x86803e2012CBA1Ca09d87393f5C739FA9E58ea3c,9.0 +2312.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 +2313.0,CBot-a71C,CBot,CBot,0xf49311af05a4Ffb1dbf33d61e9b2d4f0a7d4a71C,9.0 +2314.0,CBot-a71C,CBot,CBot,0xf49311af05a4Ffb1dbf33d61e9b2d4f0a7d4a71C,9.0 +2315.0,GUISE-AFb8,GUISE,GUISE,0x7721A4cb6190EDB11d47f51C20968436ECcDAFb8,18.0 +2316.0,HODL-FecE,HODL,HODL,0x7b5FD0BB4154292173807aE6ae05153787e3FecE,18.0 +2317.0,HVH-0E0E,HVH,HVH,0xd076C4Ba62c57b3Fa10800bcfD8dA66742110E0E,18.0 +2318.0,GUISE-AFb8,GUISE,GUISE,0x7721A4cb6190EDB11d47f51C20968436ECcDAFb8,18.0 +2319.0,LBR-1ebd,LBR,LBR,0xed1167b6Dc64E8a366DB86F2E952A482D0981ebd,18.0 +2320.0,BITCOIN-EEa9,BITCOIN,BITCOIN,0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9,8.0 +2321.0,FGATE-2E92,FGATE,FGATE,0x97808Df7Afb14134d37a91576bDb8b95dFCD2E92,18.0 +2322.0,CAL-36E1,CAL,CAL,0x20561172f791f915323241E885b4f7D5187c36E1,18.0 +2323.0,CAL-36E1,CAL,CAL,0x20561172f791f915323241E885b4f7D5187c36E1,18.0 +2324.0,DORKL-aCf3,DORKL,DORKL,0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3,18.0 +2325.0,DORKL-aCf3,DORKL,DORKL,0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3,18.0 +2326.0,DORKL-aCf3,DORKL,DORKL,0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3,18.0 +2327.0,WAGMI-3a67,WAGMI,WAGMI,0x92CC36D66e9d739D50673d1f27929a371FB83a67,18.0 +2328.0,USDB-f060,USDB,USDB,0x309627af60F0926daa6041B8279484312f2bf060,18.0 +2329.0,PB-03Dc,PB,PB,0x996Ca7e71C37D70132889e29d17d2e44427A03Dc,18.0 +2330.0,THOR-8044,THOR,THOR,0xa5f2211B9b8170F694421f2046281775E8468044,18.0 +2331.0,PIXL-dd64,PIXL,PIXL,0x427A03Fb96D9A94A6727fbcfbBA143444090dd64,18.0 +2332.0,xcRMRK-06e4,xcRMRK,xcRMRK,0x471Ea49dd8E60E697f4cac262b5fafCc307506e4,10.0 +2333.0,YGG-CF73,YGG,YGG,0x25f8087EAD173b73D6e8B84329989A8eEA16CF73,18.0 +2334.0,PXLDY-F051,PXLDY,PXLDY,0xbC91A632E78db7c74508Ea26e91B266aa235F051,18.0 +2335.0,WSB-2f64,WSB,WSB,0xe1590A6FA0CFf9C960181cb77d8a873601772f64,18.0 +2336.0,C98-229f,C98,C98,0xAE12C5930881c53715B369ceC7606B70d8EB229f,18.0 +18.0,,,,, +2338.0,BPT-37da,BPT,BPT,0x0eC9F76202a7061eB9b3a7D6B59D36215A7e37da,18.0 +2339.0,REMIO-Fdbc,REMIO,REMIO,0xa35Bd2246978Dfbb1980DFf8Ff0f5834335dFdbc,18.0 +2340.0,OOKI-379B,OOKI,OOKI,0x0De05F6447ab4D22c8827449EE4bA2D5C288379B,18.0 +2341.0,MASQ-054c,MASQ,MASQ,0x06F3C323f0238c72BF35011071f2b5B7F43A054c,18.0 From 766af05760472c86086fed2816510bd721148d97 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Thu, 28 Sep 2023 03:02:44 -0700 Subject: [PATCH 26/33] bugfix for running with tenderly_fork_id --- fastlane_bot/events/utils.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fastlane_bot/events/utils.py b/fastlane_bot/events/utils.py index fa2b9641a..26b7c2b25 100644 --- a/fastlane_bot/events/utils.py +++ b/fastlane_bot/events/utils.py @@ -1245,6 +1245,7 @@ def set_network_connection_to_tenderly( The manager object. """ + print(f"\n ***^^^^ [set_network_connection_to_tenderly] tenderly_uri: {tenderly_uri}, forked_from_block: {forked_from_block}, tenderly_fork_id: {tenderly_fork_id}") assert ( not use_cached_events ), "Cannot replay from block and use cached events at the same time" @@ -1257,6 +1258,9 @@ def set_network_connection_to_tenderly( f"Using Tenderly fork id: {tenderly_fork_id} at {tenderly_uri}" ) mgr.cfg.w3 = Web3(Web3.HTTPProvider(tenderly_uri)) + elif tenderly_uri: + mgr.cfg.logger.info(f"Connecting to Tenderly fork at {tenderly_uri}") + mgr.cfg.w3 = Web3(Web3.HTTPProvider(tenderly_uri)) if tenderly_fork_id and not forked_from_block: forked_from_block = mgr.cfg.w3.eth.blockNumber From 56a55f66632a836760e8271d12c6860332443903 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Thu, 28 Sep 2023 03:30:08 -0700 Subject: [PATCH 27/33] bugfix for tenderly events if running with tenderly_fork_id set --- fastlane_bot/events/utils.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/fastlane_bot/events/utils.py b/fastlane_bot/events/utils.py index 26b7c2b25..16e68c634 100644 --- a/fastlane_bot/events/utils.py +++ b/fastlane_bot/events/utils.py @@ -1033,16 +1033,16 @@ def get_latest_events( List[Any] A list of the latest events. """ - carbon_pol_events = [] + tenderly_tenderly_events = [] if mgr.tenderly_fork_id: - carbon_pol_events = get_tenderly_pol_events( + tenderly_pol_events = get_tenderly_pol_events( mgr=mgr, start_block=start_block, current_block=current_block, tenderly_fork_id=mgr.tenderly_fork_id, ) - mgr.cfg.logger.info(f"carbon_pol_events: {len(carbon_pol_events)}") + mgr.cfg.logger.info(f"carbon_pol_events: {len(tenderly_tenderly_events)}") # Get all event filters, events, and flatten them events = [ @@ -1056,10 +1056,23 @@ def get_latest_events( ] ] - events += carbon_pol_events - # Filter out the latest events per pool, save them to disk, and update the pools latest_events = filter_latest_events(mgr, events) + + if mgr.tenderly_fork_id: + if tenderly_tenderly_events: + latest_tenderly_events = filter_latest_events(mgr, tenderly_tenderly_events) + latest_events += latest_tenderly_events + + # remove the events from any mgr.tenderly_event_exchanges exchanges + for exchange in mgr.tenderly_event_exchanges: + if pool_type := mgr.pool_type_from_exchange_name(exchange): + latest_events = [ + event + for event in latest_events + if not pool_type.event_matches_format(event) + ] + carbon_pol_events = [event for event in latest_events if "token" in event["args"]] mgr.cfg.logger.info( f"Found {len(latest_events)} new events, {len(carbon_pol_events)} carbon_pol_events" @@ -1245,7 +1258,6 @@ def set_network_connection_to_tenderly( The manager object. """ - print(f"\n ***^^^^ [set_network_connection_to_tenderly] tenderly_uri: {tenderly_uri}, forked_from_block: {forked_from_block}, tenderly_fork_id: {tenderly_fork_id}") assert ( not use_cached_events ), "Cannot replay from block and use cached events at the same time" From 4175cf224dc044774be37ddd72a22e71dc7c42a3 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Thu, 28 Sep 2023 03:34:11 -0700 Subject: [PATCH 28/33] Update tokens.csv --- fastlane_bot/data/tokens.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/fastlane_bot/data/tokens.csv b/fastlane_bot/data/tokens.csv index 382946280..d537d6415 100644 --- a/fastlane_bot/data/tokens.csv +++ b/fastlane_bot/data/tokens.csv @@ -2340,3 +2340,4 @@ id,key,symbol,name,address,decimals 2339.0,REMIO-Fdbc,REMIO,REMIO,0xa35Bd2246978Dfbb1980DFf8Ff0f5834335dFdbc,18.0 2340.0,OOKI-379B,OOKI,OOKI,0x0De05F6447ab4D22c8827449EE4bA2D5C288379B,18.0 2341.0,MASQ-054c,MASQ,MASQ,0x06F3C323f0238c72BF35011071f2b5B7F43A054c,18.0 +2342.0,DELTA-20EF,DELTA,DELTA,0x9EA3b5b4EC044b70375236A281986106457b20EF,18.0 From a71ecd11ed1cbccc0063ed430cd0d247e87317e4 Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Thu, 28 Sep 2023 03:54:17 -0700 Subject: [PATCH 29/33] Improved token.csv handling --- fastlane_bot/events/managers/contracts.py | 53 +++++++++++++++++------ 1 file changed, 39 insertions(+), 14 deletions(-) diff --git a/fastlane_bot/events/managers/contracts.py b/fastlane_bot/events/managers/contracts.py index 8c9be5e3a..a84aba4e4 100644 --- a/fastlane_bot/events/managers/contracts.py +++ b/fastlane_bot/events/managers/contracts.py @@ -228,14 +228,25 @@ def get_token_info_from_contract( """ contract = self.get_or_create_token_contracts(web3, erc20_contracts, addr) tokens_filepath = 'fastlane_bot/data/tokens.csv' - token_data = pd.read_csv(tokens_filepath) + token_data = pd.read_csv(tokens_filepath, index_col=[0]) try: return self._get_and_save_token_info_from_contract( contract=contract, addr=addr, token_data=token_data, tokens_filepath=tokens_filepath ) - except Exception as e: - self.cfg.logger.debug(f"Failed to get symbol and decimals for {addr} {e}") + except self.FailedToGetTokenDetailsException as e: + self.cfg.logger.debug(f"{e}") + + class FailedToGetTokenDetailsException(Exception): + """ + Exception caused when token details are unable to be fetched by the contract + """ + + def __init__(self, addr): + self.message = f"Failed to get token symbol and decimals for token address: {addr}" + + def __str__(self): + return self.message def _get_and_save_token_info_from_contract(self, contract: Contract, addr: str, token_data: pd.DataFrame, tokens_filepath: str) -> Tuple[str, int]: @@ -260,21 +271,35 @@ def _get_and_save_token_info_from_contract(self, contract: Contract, addr: str, """ symbol = contract.functions.symbol().call() - decimals = contract.functions.decimals().call() key = self.get_tkn_key(symbol=symbol, addr=addr) + + if key in token_data['key'].unique(): + decimals = token_data.loc[token_data['key'] == key, 'decimals'].iloc[0] + return symbol, decimals + else: + decimals = contract.functions.decimals().call() + + if symbol is None or decimals is None: + raise self.FailedToGetTokenDetailsException(addr=addr) + new_data = { - "id": [len(token_data) + 1], - "key": [key], - "symbol": [symbol], - "name": [symbol], - "address": [addr], - "decimals": [decimals] + "key": key, + "symbol": symbol, + "name": symbol, + "address": addr, + "decimals": decimals } self.cfg.logger.info(f"Adding new token {key} to {tokens_filepath}") - row = pd.DataFrame(new_data) - token_data = pd.concat([token_data, row], ignore_index=True) - token_data.to_csv(tokens_filepath, index=False) - + next_index = len(token_data.index) + try: + row = pd.DataFrame(new_data, columns=token_data.columns, index=[next_index]) + token_data = pd.concat([token_data, row]) + token_data.to_csv(tokens_filepath) + except Exception: + # If CSV fails to update, we still return the token symbol & decimals + return ( + symbol, decimals + ) return ( symbol, decimals ) From c4e68445b8bd79403993b78f148c760e79251e8f Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Thu, 28 Sep 2023 03:59:43 -0700 Subject: [PATCH 30/33] Update tokens.csv --- fastlane_bot/data/tokens.csv | 6522 ++++++++++++++++++++++------------ 1 file changed, 4179 insertions(+), 2343 deletions(-) diff --git a/fastlane_bot/data/tokens.csv b/fastlane_bot/data/tokens.csv index d537d6415..0927274ce 100644 --- a/fastlane_bot/data/tokens.csv +++ b/fastlane_bot/data/tokens.csv @@ -1,2343 +1,4179 @@ -id,key,symbol,name,address,decimals -1.0,OCTO-2BA3,OCTO,OCTO,0x7240aC91f01233BaAf8b064248E80feaA5912BA3,18.0 -2.0,USDC-eB48,USDC,USDC,0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48,6.0 -3.0,ECO-5727,ECO,ECO,0x8dBF9A4c99580fC7Fd4024ee08f3994420035727,18.0 -4.0,WBTC-C599,WBTC,WBTC,0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599,8.0 -5.0,DIGG-01C3,DIGG,DIGG,0x798D1bE841a82a273720CE31c822C61a67a601C3,9.0 -6.0,SPIRAL-1C3c,SPIRAL,SPIRAL,0x01792e1548Dc317bDE6123fe92da1Fe6d7311C3c,9.0 -7.0,DYP-ef17,DYP,DYP,0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17,18.0 -8.0,FTG-7659,FTG,FTG,0x3A4CaB3DcfaB144FE7eB2B5a3e288Cc03dC07659,18.0 -9.0,USDT-1ec7,USDT,USDT,0xdAC17F958D2ee523a2206206994597C13D831ec7,6.0 -10.0,ORE-782A,ORE,ORE,0x4f640F2529ee0cF119A2881485845FA8e61A782A,18.0 -11.0,CWEB-Bf04,CWEB,CWEB,0x505B5eDa5E25a67E1c24A2BF1a527Ed9eb88Bf04,18.0 -12.0,BigSB-b6F6,BigSB,BigSB,0x131157c6760f78f7dDF877C0019Eba175BA4b6F6,18.0 -13.0,FRAX-b99e,FRAX,FRAX,0x853d955aCEf822Db058eb8505911ED77F175b99e,18.0 -14.0,USDx-23E3,USDx,USDx,0x2F6081E3552b1c86cE4479B80062A1ddA8EF23E3,9.0 -15.0,RFOX-8262,RFOX,RFOX,0xa1d6Df714F91DeBF4e0802A542E13067f31b8262,18.0 -16.0,DAI-1d0F,DAI,DAI,0x6B175474E89094C44Da98b954EedeAC495271d0F,18.0 -17.0,IDLE-D39e,IDLE,IDLE,0x875773784Af8135eA0ef43b5a374AaD105c5D39e,18.0 -18.0,HAI-9a63,HAI,HAI,0x05Fb86775Fd5c16290f1E838F5caaa7342bD9a63,8.0 -19.0,PULSE-97cE,PULSE,PULSE,0x52A047Ee205701895Ee06A375492490EC9C597cE,18.0 -20.0,GUILD-475A,GUILD,GUILD,0x83E9F223e1edb3486F876EE888d76bFba26c475A,18.0 -21.0,SPDR-0Fdd,SPDR,SPDR,0xbcD4b7dE6fde81025f74426D43165a5b0D790Fdd,18.0 -22.0,SNP-FA9d,SNP,SNP,0x6911F552842236bd9E8ea8DDBB3fb414e2C5FA9d,18.0 -23.0,OCC-7207,OCC,OCC,0x2F109021aFe75B949429fe30523Ee7C0D5B27207,18.0 -24.0,DAWN-9aFa,DAWN,DAWN,0x580c8520dEDA0a441522AEAe0f9F7A5f29629aFa,18.0 -25.0,Shird-695f,Shird,Shird,0x8916187112fd6e3624a80C42FA354Cd9756E695f,9.0 -26.0,PEAK-Ad78,PEAK,PEAK,0x630d98424eFe0Ea27fB1b3Ab7741907DFFEaAd78,8.0 -27.0,HGET-5148,HGET,HGET,0x7968bc6a03017eA2de509AAA816F163Db0f35148,6.0 -28.0,bluSGD-db22,bluSGD,bluSGD,0x92830ef7c8d651Ed3A708053c602E807bAd7db22,18.0 -29.0,ZRX-F498,ZRX,ZRX,0xE41d2489571d322189246DaFA5ebDe1F4699F498,18.0 -30.0,NineFi-2f1d,NineFi,NineFi,0xe78BFF28D3c5195C752E734E95421bb4bd742f1d,18.0 -31.0,RBIS-9D7D,RBIS,RBIS,0xf34B1Db61ACa1a371fE97BAd2606c9f534fb9D7D,18.0 -32.0,WFAIR-8972,WFAIR,WFAIR,0xC6065B9fc8171Ad3D29bad510709249681758972,18.0 -33.0,SST-9868,SST,SST,0x2863916C6ebDBBf0c6f02F87b7eB478509299868,18.0 -34.0,UNI-F984,UNI,UNI,0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984,18.0 -35.0,DSD-66e3,DSD,DSD,0xBD2F0Cd039E0BFcf88901C98c0bFAc5ab27566e3,18.0 -36.0,NKN-c9eb,NKN,NKN,0x5Cf04716BA20127F1E2297AdDCf4B5035000c9eb,18.0 -37.0,PLR-9C17,PLR,PLR,0xe3818504c1B32bF1557b16C238B2E01Fd3149C17,18.0 -38.0,UNKAI-B73D,UNKAI,UNKAI,0x8a34D707189fBFa46930ABFDe3D22abDC48AB73D,9.0 -39.0,DPR-07a1,DPR,DPR,0xf3AE5d769e153Ef72b4e3591aC004E89F48107a1,18.0 -40.0,DOGZ-33eF,DOGZ,DOGZ,0x82A77710495A35549D2aDD797412b4a4497D33eF,18.0 -41.0,ALD-2a8D,ALD,ALD,0xb26C4B3Ca601136Daf98593feAeff9E0CA702a8D,18.0 -42.0,ONIGIRI-30D0,ONIGIRI,ONIGIRI,0xcf9c692F7e62Af3c571D4173fd4ABf9A3E5330D0,18.0 -43.0,EYE-1c65,EYE,EYE,0x155ff1A85F440EE0A382eA949f24CE4E0b751c65,18.0 -44.0,XPR-A2af,XPR,XPR,0xD7EFB00d12C2c13131FD319336Fdf952525dA2af,4.0 -45.0,MARK-4253,MARK,MARK,0x67c597624B17b16fb77959217360B7cD18284253,9.0 -46.0,TANGO-3Bef,TANGO,TANGO,0x182F4c4C97cd1c24E1Df8FC4c053E5C47bf53Bef,18.0 -47.0,GENI-6a39,GENI,GENI,0xAAC1abdb4fB7a91a0e2E036dFacC45F708ed6a39,18.0 -48.0,GMEE-2373,GMEE,GMEE,0xD9016A907Dc0ECfA3ca425ab20B6b785B42F2373,18.0 -49.0,MFI-355B,MFI,MFI,0xAa4e3edb11AFa93c41db59842b29de64b72E355B,18.0 -50.0,KOL-d414,KOL,KOL,0x1CC30e2EAc975416060Ec6FE682041408420d414,18.0 -51.0,CE-EecE,CE,CE,0x8F12Dfc7981DE79A8A34070a732471f2D335EecE,18.0 -52.0,ACR-E3CF,ACR,ACR,0x76306F029f8F99EFFE509534037Ba7030999E3CF,18.0 -53.0,DLTA-D823,DLTA,DLTA,0x0000000DE40dfa9B17854cBC7869D80f9F98D823,18.0 -54.0,HEX-eb39,HEX,HEX,0x2b591e99afE9f32eAA6214f7B7629768c40Eeb39,8.0 -55.0,VPAD-4EDc,VPAD,VPAD,0x51FE2E572e97BFEB1D719809d743Ec2675924EDc,18.0 -56.0,BASv2-5287,BASv2,BASv2,0x106538CC16F938776c7c180186975BCA23875287,18.0 -57.0,FLy-1472,FLy,FLy,0x85f6eB2BD5a062f5F8560BE93FB7147e16c81472,4.0 -58.0,XIO-5704,XIO,XIO,0x0f7F961648aE6Db43C75663aC7E5414Eb79b5704,18.0 -59.0,PLUG-976a,PLUG,PLUG,0x47DA5456bC2e1ce391b645Ce80F2E97192e4976a,18.0 -60.0,NOW-693b,NOW,NOW,0xE9A95d175a5f4C9369f3b74222402eB1b837693b,8.0 -61.0,RCN-75A6,RCN,RCN,0xF970b8E36e23F7fC3FD752EeA86f8Be8D83375A6,18.0 -62.0,VIS-E863,VIS,VIS,0x469084939d1c20Fae3C73704FE963941C51bE863,18.0 -63.0,KAP-8569,KAP,KAP,0x9625cE7753ace1fa1865A47aAe2c5C2Ce4418569,18.0 -64.0,SLICE-16D1,SLICE,SLICE,0x0AeE8703D34DD9aE107386d3eFF22AE75Dd616D1,18.0 -65.0,CSM-8861,CSM,CSM,0x2620638EDA99F9e7E902Ea24a285456EE9438861,18.0 -66.0,GRO-74D7,GRO,GRO,0x3Ec8798B81485A254928B70CDA1cf0A2BB0B74D7,18.0 -67.0,FORTH-0ce0,FORTH,FORTH,0x77FbA179C79De5B7653F68b5039Af940AdA60ce0,18.0 -68.0,DORA-c81d,DORA,DORA,0xbc4171f45EF0EF66E76F979dF021a34B46DCc81d,18.0 -69.0,DENA-a1DA,DENA,DENA,0x15F0EEDF9Ce24fc4b6826E590A8292CE5524a1DA,18.0 -70.0,ZEUM-8190,ZEUM,ZEUM,0x436dA116249044E8B4464F0Cf21Dd93311d88190,18.0 -71.0,WOZX-b79F,WOZX,WOZX,0x34950Ff2b487d9E5282c5aB342d08A2f712eb79F,18.0 -72.0,TGL-4e92,TGL,TGL,0xCc4450EDEfbBEb450E2f205f4ECEfF7232D54e92,18.0 -73.0,CORN-ea5E,CORN,CORN,0xa456b515303B2Ce344E9d2601f91270f8c2Fea5E,18.0 -74.0,JGN-e041,JGN,JGN,0x73374Ea518De7adDD4c2B624C0e8B113955ee041,18.0 -75.0,CP-CFCa,CP,CP,0x5BDC32663Ec75E85ff4abc2CAe7ae8B606A2CFCa,18.0 -76.0,FARM-A14D,FARM,FARM,0xa0246c9032bC3A600820415aE600c6388619A14D,18.0 -77.0,JOY-1FB5,JOY,JOY,0x4E114d405b9Ba2F59524941733e505Ae03Fb1FB5,18.0 -78.0,PEPE-E35F,PEPE,PEPE,0x4A27e9aAb8F8bA9de06766C8476eD1D16494E35F,18.0 -79.0,WETH-6Cc2,WETH,WETH,0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2,18.0 -80.0,X2Y2-EBC9,X2Y2,X2Y2,0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9,18.0 -81.0,FANC-c045,FANC,FANC,0xbB126042235E6bD38B17744cb31a8bF4A206c045,18.0 -82.0,ANB-9692,ANB,ANB,0x2c9acEb63181cd08a093d052ec041e191f229692,18.0 -83.0,REVV-A8Ca,REVV,REVV,0x557B933a7C2c45672B610F8954A3deB39a51A8Ca,18.0 -84.0,Mars-70B7,Mars,Mars,0x66C0DDEd8433c9EA86C8cf91237B14e10b4d70B7,18.0 -85.0,REL-05ec,REL,REL,0xb6c4267C4877BB0D6b1685Cfd85b0FBe82F105ec,18.0 -86.0,MTL-355e,MTL,MTL,0xF433089366899D83a9f26A773D59ec7eCF30355e,8.0 -87.0,DOG-868D,DOG,DOG,0x47D920a911cB9a0Ad4618698bA3feF800aBC868D,18.0 -88.0,WAVES-f29a,WAVES,WAVES,0x1cF4592ebfFd730c7dc92c1bdFFDfc3B9EfCf29a,18.0 -89.0,BUSD-7C53,BUSD,BUSD,0x4Fabb145d64652a948d72533023f6E7A623C7C53,18.0 -90.0,NGL-66aE,NGL,NGL,0x2653891204F463fb2a2F4f412564b19e955166aE,18.0 -91.0,ELON-60F3,ELON,ELON,0x761D38e5ddf6ccf6Cf7c55759d5210750B5D60F3,18.0 -92.0,GAME-1d1c,GAME,GAME,0xD567B5F02b9073aD3a982a099a23Bf019FF11d1c,5.0 -93.0,SRK-74E6,SRK,SRK,0x0488401c3F535193Fa8Df029d9fFe615A06E74E6,18.0 -94.0,$LSVR-c09B,$LSVR,$LSVR,0x79A06aCb8bdd138BEEECcE0f1605971f3AC7c09B,18.0 -95.0,MGG-8740,MGG,MGG,0x7237C0B30B1355f1B76355582f182F6f04B08740,18.0 -96.0,wOXEN-bcc5,wOXEN,wOXEN,0xd1e2d5085b39B80C9948AeB1b9aA83AF6756bcc5,9.0 -97.0,GEM-efcC,GEM,GEM,0x9008064E6cf73e27a3Aba4B10E69f855A4F8efcC,18.0 -98.0,UBI-E9a4,UBI,UBI,0xDd1Ad9A21Ce722C151A836373baBe42c868cE9a4,18.0 -99.0,LINK-86CA,LINK,LINK,0x514910771AF9Ca656af840dff83E8264EcF986CA,18.0 -100.0,DEXG-436D,DEXG,DEXG,0xB81D70802a816B5DacBA06D708B5acF19DcD436D,18.0 -101.0,XEN-6Fb8,XEN,XEN,0x06450dEe7FD2Fb8E39061434BAbCFC05599a6Fb8,18.0 -102.0,PEPES-7E12,PEPES,PEPES,0x6BF765C43030387a983f429c1438e9D2025B7E12,18.0 -103.0,SPWN-1126,SPWN,SPWN,0xe516D78d784C77D479977BE58905B3f2b1111126,18.0 -104.0,GYEN-D911,GYEN,GYEN,0xC08512927D12348F6620a698105e1BAac6EcD911,6.0 -105.0,TOAD-eD1e,TOAD,TOAD,0xBfB2b6870501a6Ff17121D676A0A45a38c9eeD1e,9.0 -106.0,ARPA-b71a,ARPA,ARPA,0xBA50933C268F567BDC86E1aC131BE072C6B0b71a,18.0 -107.0,EVA-8707,EVA,EVA,0xd6cAF5Bd23CF057f5FcCCE295Dcc50C01C198707,18.0 -108.0,BAG-14b0,BAG,BAG,0x28A06c02287e657ec3F8e151A13C36A1D43814b0,18.0 -109.0,ABR-8C7C,ABR,ABR,0xa11bD36801d8fa4448F0ac4ea7A62e3634cE8C7C,18.0 -110.0,OXAI-Fe9d,OXAI,OXAI,0x428dca9537116148616a5A3E44035Af17238Fe9d,18.0 -111.0,UBXN-1065,UBXN,UBXN,0x7A73839bd0e5cdED853cB01aa9773F8989381065,18.0 -112.0,OIL-88a5,OIL,OIL,0x0275E1001e293C46CFe158B3702AADe0B99f88a5,18.0 -113.0,ESD-d723,ESD,ESD,0x36F3FD68E7325a35EB768F1AedaAe9EA0689d723,18.0 -114.0,LXF-772A,LXF,LXF,0xA799C4ADcf62E025cE4D8aBE6A77CebC487d772A,18.0 -115.0,ERP-2267,ERP,ERP,0x0a0e3bfD5a8cE610E735D4469Bc1b3b130402267,18.0 -116.0,IOEN-893A,IOEN,IOEN,0x1e4E46b7BF03ECE908c88FF7cC4975560010893A,18.0 -117.0,VNDC-b5DE,VNDC,VNDC,0x1F3F677Ecc58F6A1F9e2CF410dF4776a8546b5DE,0.0 -118.0,BACON-38e7,BACON,BACON,0x34f797e7190C131cF630524655A618b5BD8738e7,18.0 -119.0,DTX-3F75,DTX,DTX,0x765f0C16D1Ddc279295c1a7C24B0883F62d33F75,18.0 -120.0,LINA-1937,LINA,LINA,0x3E9BC21C9b189C09dF3eF1B824798658d5011937,18.0 -121.0,PINA-780D,PINA,PINA,0x02814F435dD04e254Be7ae69F61FCa19881a780D,18.0 -122.0,PEPEBET-0350,PEPEBET,PEPEBET,0x33Cf519030235F75A13F29aFcFF5D6ff4Fd10350,18.0 -123.0,ARMOR-E46a,ARMOR,ARMOR,0x1337DEF16F9B486fAEd0293eb623Dc8395dFE46a,18.0 -124.0,MATIC-eBB0,MATIC,MATIC,0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0,18.0 -125.0,SOTU-9162,SOTU,SOTU,0xa91c82B6933105C23298E631A0C1Be751D239162,18.0 -126.0,HEZ-8dEE,HEZ,HEZ,0xEEF9f339514298C6A857EfCfC1A762aF84438dEE,18.0 -127.0,STRONG-017c,STRONG,STRONG,0x990f341946A3fdB507aE7e52d17851B87168017c,18.0 -128.0,PPAY-3Bb2,PPAY,PPAY,0x054D64b73d3D8A21Af3D764eFd76bCaA774f3Bb2,18.0 -129.0,GST-1404,GST,GST,0x473037de59cf9484632f4A27B509CFE8d4a31404,8.0 -130.0,FNK-48Ad,FNK,FNK,0xB5FE099475d3030DDe498c3BB6F3854F762A48Ad,18.0 -131.0,ICE-7DF9,ICE,ICE,0xf16e81dce15B08F326220742020379B855B87DF9,18.0 -132.0,REEF-5ACf,REEF,REEF,0xFE3E6a25e6b192A42a44ecDDCd13796471735ACf,18.0 -133.0,FRONT-793f,FRONT,FRONT,0xf8C3527CC04340b208C854E985240c02F7B7793f,18.0 -134.0,FMTA-9AB4,FMTA,FMTA,0xAa9D866666C2A3748d6B23Ff69E63E52f08d9AB4,18.0 -135.0,ZERO-a574,ZERO,ZERO,0xF0939011a9bb95c3B791f0cb546377Ed2693a574,18.0 -136.0,SHROOM-f183,SHROOM,SHROOM,0xEd0439EACf4c4965AE4613D77a5C2Efe10e5f183,18.0 -137.0,FLASH-F2F8,FLASH,FLASH,0xB1f1F47061A7Be15C69f378CB3f69423bD58F2F8,18.0 -138.0,NAO-53dc,NAO,NAO,0xd049206fB408a611E543791F2d8F102a8bC253dc,18.0 -139.0,MPL-35e6,MPL,MPL,0x33349B282065b0284d756F0577FB39c158F935e6,18.0 -140.0,DOE-d7eF,DOE,DOE,0xf8E9F10c22840b613cdA05A0c5Fdb59A4d6cd7eF,18.0 -141.0,DERC-a9aE,DERC,DERC,0x9fa69536d1cda4A04cFB50688294de75B505a9aE,18.0 -142.0,BLU-1FfD,BLU,BLU,0xe5D2e173B120341face9e9970889C9FE64081FfD,18.0 -143.0,PRE-2A0F,PRE,PRE,0xEC213F83defB583af3A000B1c0ada660b1902A0F,18.0 -144.0,DBI-0EcE,DBI,DBI,0x2dE509bf0014ddF697b220bE628213034d320EcE,18.0 -145.0,XFIT-7441,XFIT,XFIT,0x4aa41bC1649C9C3177eD16CaaA11482295fC7441,18.0 -146.0,ELFI-16f4,ELFI,ELFI,0x4dA34f8264CB33A5c9F17081B9EF5Ff6091116f4,18.0 -147.0,ASW-2a11,ASW,ASW,0x56694577564FdD577a0ABB20FE95C1E2756C2a11,18.0 -148.0,BEL-7e14,BEL,BEL,0xA91ac63D040dEB1b7A5E4d4134aD23eb0ba07e14,18.0 -149.0,HORD-3448,HORD,HORD,0x43A96962254855F16b925556f9e97BE436A43448,18.0 -150.0,DIGITS-404F,DIGITS,DIGITS,0xBE56ab825fD35678A32dc35bc4EB17e238e1404F,18.0 -151.0,FWT-a295,FWT,FWT,0x20e7125677311Fca903A8897042b9983f22Ea295,18.0 -152.0,CLS-de37,CLS,CLS,0x675BBC7514013E2073DB7a919F6e4cbeF576de37,18.0 -153.0,SAKURA-FeD6,SAKURA,SAKURA,0xb208b1a5664574F72d22E9e9981837310cACFeD6,9.0 -154.0,REQ-938a,REQ,REQ,0x8f8221aFbB33998d8584A2B05749bA73c37a938a,18.0 -155.0,BOND-750f,BOND,BOND,0x0391D2021f89DC339F60Fff84546EA23E337750f,18.0 -156.0,ZKS-58c6,ZKS,ZKS,0xe4815AE53B124e7263F08dcDBBB757d41Ed658c6,18.0 -157.0,ROUTE-3dB4,ROUTE,ROUTE,0x16ECCfDbb4eE1A85A33f3A9B21175Cd7Ae753dB4,18.0 -158.0,CRU-3c41,CRU,CRU,0x32a7C02e79c4ea1008dD6564b35F131428673c41,18.0 -159.0,CIRUS-8756,CIRUS,CIRUS,0xA01199c61841Fce3b3daFB83FeFC1899715c8756,18.0 -160.0,SYNR-490a,SYNR,SYNR,0xbc6E06778708177a18210181b073DA747C88490a,18.0 -161.0,GLM-6429,GLM,GLM,0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429,18.0 -162.0,DEC-E7F3,DEC,DEC,0x9393fdc77090F31c7db989390D43F454B1A6E7F3,3.0 -163.0,SD-D10f,SD,SD,0x30D20208d987713f46DFD34EF128Bb16C404D10f,18.0 -164.0,BLZ-D668,BLZ,BLZ,0x5732046A883704404F284Ce41FfADd5b007FD668,18.0 -165.0,MTLX-1d14,MTLX,MTLX,0x2e1E15C44Ffe4Df6a0cb7371CD00d5028e571d14,18.0 -166.0,NFTY-3208,NFTY,NFTY,0xE1D7C7a4596B038CEd2A84bF65B8647271C53208,18.0 -167.0,DXP-B745,DXP,DXP,0x88aa4a6C5050b9A1b2Aa7e34D0582025cA6AB745,18.0 -168.0,OCT-c6DC,OCT,OCT,0xF5cFBC74057C610c8EF151A439252680AC68c6DC,18.0 -169.0,DG-dEDE,DG,DG,0x53C8395465A84955c95159814461466053DedEDE,18.0 -170.0,iAI-2122,iAI,iAI,0x6dDe4fFD6dB302Bc9a46850f61399e082f6c2122,18.0 -171.0,SPOOL-0976,SPOOL,SPOOL,0x40803cEA2b2A32BdA1bE61d3604af6a814E70976,18.0 -172.0,MASK-3074,MASK,MASK,0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074,18.0 -173.0,ASTO-4689,ASTO,ASTO,0x823556202e86763853b40e9cDE725f412e294689,18.0 -174.0,XCAD-6Aa0,XCAD,XCAD,0x7659CE147D0e714454073a5dd7003544234b6Aa0,18.0 -175.0,STABLZ-F7cd,STABLZ,STABLZ,0xA4Eb9C64eC359D093eAc7B65F51Ef933D6e5F7cd,18.0 -176.0,SNP-E873,SNP,SNP,0x795dBF627484F8248D3d6c09c309825c1563E873,18.0 -177.0,RACA-9040,RACA,RACA,0x12BB890508c125661E03b09EC06E404bc9289040,18.0 -178.0,ARCH-1011,ARCH,ARCH,0x73C69d24ad28e2d43D03CBf35F79fE26EBDE1011,18.0 -179.0,VOW-46Fb,VOW,VOW,0x1BBf25e71EC48B84d773809B4bA55B6F4bE946Fb,18.0 -180.0,TSUKA-69eD,TSUKA,TSUKA,0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD,9.0 -181.0,eXRD-9414,eXRD,eXRD,0x6468e79A80C0eaB0F9A2B574c8d5bC374Af59414,18.0 -182.0,RAD-64A3,RAD,RAD,0x31c8EAcBFFdD875c74b94b077895Bd78CF1E64A3,18.0 -183.0,BDT-d5Cf,BDT,BDT,0x4Efe8665e564bF454cCF5C90Ee16817F7485d5Cf,18.0 -184.0,PROS-4B56,PROS,PROS,0x8642A849D0dcb7a15a974794668ADcfbe4794B56,18.0 -185.0,OPUL-6444,OPUL,OPUL,0x80D55c03180349Fff4a229102F62328220A96444,18.0 -186.0,FLX-0770,FLX,FLX,0x3Ea8ea4237344C9931214796d9417Af1A1180770,18.0 -187.0,POLAR-075E,POLAR,POLAR,0x58fcAa970339a9b1f8c0a5b4F3Fcd7af2bA3075E,18.0 -188.0,Z3-61a6,Z3,Z3,0x50Eec6D765792dCfB0913C8403ef2A12e1B861a6,18.0 -189.0,Okinami-4121,Okinami,Okinami,0x1C4853Ec0d55e420002c5eFaBc7Ed8e0bA7A4121,9.0 -190.0,HDRN-5e06,HDRN,HDRN,0x3819f64f282bf135d62168C1e513280dAF905e06,9.0 -191.0,FLEX-bc0A,FLEX,FLEX,0xFcF8eda095e37A41e002E266DaAD7efC1579bc0A,18.0 -192.0,DAO-09Ad,DAO,DAO,0x0f51bb10119727a7e5eA3538074fb341F56B09Ad,18.0 -193.0,WOO-5D4B,WOO,WOO,0x4691937a7508860F876c9c0a2a617E7d9E945D4B,18.0 -194.0,O-c40f,O,O,0xb53ecF1345caBeE6eA1a65100Ebb153cEbcac40f,18.0 -195.0,POND-D26C,POND,POND,0x57B946008913B82E4dF85f501cbAeD910e58D26C,18.0 -196.0,ALI-4181,ALI,ALI,0x6B0b3a982b4634aC68dD83a4DBF02311cE324181,18.0 -197.0,NRFX-94a4,NRFX,NRFX,0x01b443495834D667b42f54d2b77eEd6951eD94a4,18.0 -198.0,XDEX-6c83,XDEX,XDEX,0x000000000000d0151E748d25b766e77efe2A6c83,18.0 -199.0,OTHR-C334,OTHR,OTHR,0x407a3E019c655B779ccD098Ff50377E4C5F1C334,9.0 -200.0,UNIX-7aC8,UNIX,UNIX,0xDDD6A0ECc3c6F6C102E5eA3d8Af7B801d1a77aC8,18.0 -201.0,INSUR-7429,INSUR,INSUR,0x544c42fBB96B39B21DF61cf322b5EDC285EE7429,18.0 -202.0,GR-575c,GR,GR,0xcE593a29905951E8Fc579bC092ecA72577dA575c,6.0 -203.0,FLUT-1870,FLUT,FLUT,0x4F08705FB8F33AffC231ed66e626B40E84A71870,11.0 -204.0,SYLO-dcd4,SYLO,SYLO,0xf293d23BF2CDc05411Ca0edDD588eb1977e8dcd4,18.0 -205.0,BAC-A69a,BAC,BAC,0x3449FC1Cd036255BA1EB19d65fF4BA2b8903A69a,18.0 -206.0,MYTH-2003,MYTH,MYTH,0xBA41Ddf06B7fFD89D1267b5A93BFeF2424eb2003,18.0 -207.0,HDAO-fF2D,HDAO,HDAO,0xdaC657ffD44a3B9d8aba8749830Bf14BEB66fF2D,18.0 -208.0,BNT-FF1C,BNT,BNT,0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C,18.0 -209.0,DNXC-f03a,DNXC,DNXC,0x20a8CEC5fffea65Be7122BCaB2FFe32ED4Ebf03a,18.0 -210.0,BRKL-9ff8,BRKL,BRKL,0x4674a4F24C5f63D53F22490Fb3A08eAAAD739ff8,18.0 -211.0,FEAR-1E83,FEAR,FEAR,0x88A9A52F944315D5B4e917b9689e65445C401E83,18.0 -212.0,UDO-dC06,UDO,UDO,0xea3983Fc6D0fbbC41fb6F6091f68F3e08894dC06,18.0 -213.0,MUSK-2Cd8,MUSK,MUSK,0x6069c9223e8a5DA1ec49ac5525d4BB757Af72Cd8,18.0 -214.0,SALT-0581,SALT,SALT,0x4156D3342D5c385a87D264F90653733592000581,8.0 -215.0,RPG-e251,RPG,RPG,0x0E5C8C387C5EBa2eCbc137aD012aeD5Fe729e251,18.0 -216.0,OBOT-0c32,OBOT,OBOT,0xeDADeB5fAa413e6c8623461849DFD0B7C3790c32,18.0 -217.0,DUCK-305F,DUCK,DUCK,0xC0bA369c8Db6eB3924965e5c4FD0b4C1B91e305F,18.0 -218.0,BAMBOO-2e89,BAMBOO,BAMBOO,0xf56842Af3B56Fd72d17cB103f92d027bBa912e89,18.0 -219.0,O3-7d28,O3,O3,0xEe9801669C6138E84bD50dEB500827b776777d28,18.0 -220.0,KYOKO-BaC2,KYOKO,KYOKO,0x14a32f050FACF226Ec60882398A9BF36d91DBaC2,18.0 -221.0,CHANGE-2754,CHANGE,CHANGE,0x7051faED0775f664a0286Af4F75ef5ed74e02754,18.0 -222.0,MDF-B411,MDF,MDF,0x1a57367C6194199e5D9aEa1cE027431682dfB411,18.0 -223.0,TIDAL-33B7,TIDAL,TIDAL,0x29CbD0510EEc0327992CD6006e63F9Fa8E7f33B7,18.0 -224.0,Daruma-f704,Daruma,Daruma,0xA888D9616C2222788fa19f05F77221A290eEf704,9.0 -225.0,SDAO-875F,SDAO,SDAO,0x993864E43Caa7F7F12953AD6fEb1d1Ca635B875F,18.0 -226.0,NFTD-B379,NFTD,NFTD,0x8E0fE2947752BE0d5ACF73aaE77362Daf79cB379,18.0 -227.0,PNL-B459,PNL,PNL,0x9FC8f0ca1668E87294941b7f627e9C15eA06B459,18.0 -228.0,DDX-Ed3A,DDX,DDX,0x3A880652F47bFaa771908C07Dd8673A787dAEd3A,18.0 -229.0,RPL-Bd93,RPL,RPL,0xB4EFd85c19999D84251304bDA99E90B92300Bd93,18.0 -230.0,BADGER-E53d,BADGER,BADGER,0x3472A5A71965499acd81997a54BBA8D852C6E53d,18.0 -231.0,SENT-556F,SENT,SENT,0x97AbEe33Cd075c58BFdd174e0885e08E8f03556F,18.0 -232.0,ALBT-0Eb0,ALBT,ALBT,0x00a8b738E453fFd858a7edf03bcCfe20412f0Eb0,18.0 -233.0,AKRO-53d7,AKRO,AKRO,0x8Ab7404063Ec4DBcfd4598215992DC3F8EC853d7,18.0 -234.0,ERC20-EPK-40c4,ERC20-EPK,ERC20-EPK,0xDaF88906aC1DE12bA2b1D2f7bfC94E9638Ac40c4,18.0 -235.0,BTTY-3D0A,BTTY,BTTY,0x9cc83D580180f0d37d00e5d86ce868f73b6E3D0A,18.0 -236.0,icc-a177,icc,icc,0x70E67ec0939ec87c3a77b089CA08E0443ea4a177,18.0 -237.0,DON-c88a,DON,DON,0x217ddEad61a42369A266F1Fb754EB5d3EBadc88a,18.0 -238.0,MPS-D47D,MPS,MPS,0x96c645D3D3706f793Ef52C19bBACe441900eD47D,0.0 -239.0,Umoon-C5da,Umoon,Umoon,0x71de2285ec83BB6517D2B3eC8DEb2A6c44D8C5da,18.0 -240.0,IOI-1d81,IOI,IOI,0x8B3870Df408fF4D7C3A26DF852D41034eDa11d81,6.0 -241.0,BUMP-2168,BUMP,BUMP,0x785c34312dfA6B74F6f1829f79ADe39042222168,18.0 -242.0,CRF-219d,CRF,CRF,0x508df5aa4746bE37b5b6A69684DfD8BDC322219d,18.0 -243.0,WDOGE-98E7,WDOGE,WDOGE,0x35a532d376FFd9a705d0Bb319532837337A398E7,18.0 -244.0,HILO-5ff6,HILO,HILO,0xbb9FD9Fa4863C03c574007fF3370787B9cE65ff6,18.0 -245.0,VR-8cdD,VR,VR,0x7d5121505149065b562C789A0145eD750e6E8cdD,18.0 -246.0,NUM-3079,NUM,NUM,0x3496B523e5C00a4b4150D6721320CdDb234c3079,18.0 -247.0,BTBS-4356,BTBS,BTBS,0x32E6C34Cd57087aBBD59B5A4AECC4cB495924356,18.0 -248.0,CPRX-978f,CPRX,CPRX,0xc6e145421FD494B26dCF2BFeB1b02b7c5721978f,18.0 -249.0,FORM-FA2a,FORM,FORM,0x21381e026Ad6d8266244f2A583b35F9E4413FA2a,18.0 -250.0,EAG8-EeE4,EAG8,EAG8,0x0A8b16b27D5219c8C6b57D5442CE31D81573EeE4,8.0 -251.0,HAN-511F,HAN,HAN,0x0c90C57aaf95A3A87eadda6ec3974c99D786511F,18.0 -252.0,AGIX-b542,AGIX,AGIX,0x5B7533812759B45C2B44C19e320ba2cD2681b542,8.0 -253.0,VENDETTA-53c3,VENDETTA,VENDETTA,0x3A529A8d4f2ea64D206339fA12A3aF4D431F53c3,18.0 -254.0,DFI-358A,DFI,DFI,0x8Fc8f8269ebca376D046Ce292dC7eaC40c8D358A,8.0 -255.0,Dejitaru Shirudo-16AC,Dejitaru Shirudo,Dejitaru Shirudo,0xcf4C68Db4C2FA0bf58dF07B14f45cE7709a716AC,18.0 -256.0,SHIB-C4cE,SHIB,SHIB,0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE,18.0 -257.0,CHSB-35Ba,CHSB,CHSB,0xba9d4199faB4f26eFE3551D490E3821486f135Ba,8.0 -258.0,XETA-3550,XETA,XETA,0x967Fb0D760ED3ce53AfE2f0A071674cccAe73550,18.0 -259.0,XMT-721e,XMT,XMT,0x3E5D9D8a63CC8a88748f229999CF59487e90721e,18.0 -260.0,ZAM-f4c6,ZAM,ZAM,0xd373576a9e738F37Dc6882328358Ff69c4cAf4c6,18.0 -261.0,MAXI-e84b,MAXI,MAXI,0x0d86EB9f43C57f6FF3BC9E23D8F9d82503f0e84b,8.0 -262.0,NRFB-f9E8,NRFB,NRFB,0x00281dFCe4cfD72c0b6FDA2AAaF077258743f9E8,0.0 -263.0,BLID-56A5,BLID,BLID,0x8A7aDc1B690E81c758F1BD0F72DFe27Ae6eC56A5,18.0 -264.0,ARW-34E4,ARW,ARW,0x351cAa9045D65107b9d311D922D15887cfd634E4,18.0 -265.0,FEI-87CA,FEI,FEI,0x956F47F50A910163D8BF957Cf5846D573E7f87CA,18.0 -266.0,ZENIQ-7233,ZENIQ,ZENIQ,0x5b52bfB8062Ce664D74bbCd4Cd6DC7Df53Fd7233,18.0 -267.0,cDAI-3643,cDAI,cDAI,0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643,8.0 -268.0,CMT-Dc18,CMT,CMT,0xE910c2a090516Fb7a7Be07f96a464785f2D5Dc18,18.0 -269.0,DEGENS-8B71,DEGENS,DEGENS,0xDd039990Bd551Ce7437d3bF54d155220B7988B71,18.0 -270.0,LBlock-D329,LBlock,LBlock,0x2b867efD2dE4Ad2B583Ca0CB3dF9C4040Ef4D329,9.0 -271.0,ID-6406,ID,ID,0x2dfF88A56767223A5529eA5960Da7A3F5f766406,18.0 -272.0,SCOIN-0EB4,SCOIN,SCOIN,0x3f5DF2F90DF67E10974fBcB1729c00D3f87c0EB4,6.0 -273.0,SPC-Ad20,SPC,SPC,0x86ed939B500E121C0C5f493F399084Db596dAd20,18.0 -274.0,TEAM-dE02,TEAM,TEAM,0xB7c9E99Da8A857cE576A830A9c19312114d9dE02,8.0 -275.0,NCR-ed9c,NCR,NCR,0xDB5C3C46E28B53a39C255AA39A411dD64e5fed9c,18.0 -276.0,STFX-Db2d,STFX,STFX,0x9343e24716659A3551eB10Aff9472A2dcAD5Db2d,18.0 -277.0,GRT-44a7,GRT,GRT,0xc944E90C64B2c07662A292be6244BDf05Cda44a7,18.0 -278.0,TONCOIN-def1,TONCOIN,TONCOIN,0x582d872A1B094FC48F5DE31D3B73F2D9bE47def1,9.0 -279.0,BEAR-A26a,BEAR,BEAR,0x17837004eA685690b32dbEaD02a274Ec4333A26a,18.0 -280.0,LDO-1B32,LDO,LDO,0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32,18.0 -281.0,CRV-cd52,CRV,CRV,0xD533a949740bb3306d119CC777fa900bA034cd52,18.0 -282.0,MKR-79A2,MKR,MKR,0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2,18.0 -283.0,RNDR-eb24,RNDR,RNDR,0x6De037ef9aD2725EB40118Bb1702EBb27e4Aeb24,18.0 -284.0,ICHI-A881,ICHI,ICHI,0x903bEF1736CDdf2A537176cf3C64579C3867A881,9.0 -285.0,FXS-64D0,FXS,FXS,0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0,18.0 -286.0,RAINI-d5eD,RAINI,RAINI,0xeB953eDA0DC65e3246f43DC8fa13f35623bDd5eD,18.0 -287.0,IPT-FC3d,IPT,IPT,0xd909C5862Cdb164aDB949D92622082f0092eFC3d,18.0 -288.0,XDAO-Ad28,XDAO,XDAO,0x71eebA415A523F5C952Cc2f06361D5443545Ad28,18.0 -289.0,ICHI-C4d6,ICHI,ICHI,0x111111517e4929D3dcbdfa7CCe55d30d4B6BC4d6,18.0 -290.0,TR3-5F98,TR3,TR3,0xF61BF4d1A948487d61b8fa63808AAC06bda55F98,18.0 -291.0,LOOKS-421E,LOOKS,LOOKS,0xf4d2888d29D722226FafA5d9B24F9164c092421E,18.0 -292.0,BONE-18d9,BONE,BONE,0x9813037ee2218799597d83D4a5B6F3b6778218d9,18.0 -293.0,SWASH-2F80,SWASH,SWASH,0xA130E3a33a4d84b04c3918c4E5762223Ae252F80,18.0 -294.0,CELL-e099,CELL,CELL,0x26c8AFBBFE1EBaca03C2bB082E69D0476Bffe099,18.0 -295.0,CLB-3c84,CLB,CLB,0x0AD896863ce4Cd84f10a9D30D4f509cefFd53c84,18.0 -296.0,PP-CfD0,PP,PP,0x9565c2036963697786705120Fc59310F747bCfD0,18.0 -297.0,SMTX-419b,SMTX,SMTX,0x102203517ce35AC5Cab9a2cda80DF03f26c7419b,18.0 -298.0,WMLX-1AAd,WMLX,WMLX,0x77D0cb0ab54F9E74b9405a5B3f60DA06A78F1AAd,0.0 -299.0,TRB-78a0,TRB,TRB,0x88dF592F8eb5D7Bd38bFeF7dEb0fBc02cf3778a0,18.0 -300.0,MM-c611,MM,MM,0x6B4c7A5e3f0B99FCD83e9c089BDDD6c7FCe5c611,18.0 -301.0,HOME-1F62,HOME,HOME,0xb8919522331C59f5C16bDfAA6A121a6E03A91F62,6.0 -302.0,XYO-E758,XYO,XYO,0x55296f69f40Ea6d20E478533C15A6B08B654E758,18.0 -303.0,oneICHI-1e07,oneICHI,oneICHI,0x4db2c02831c9ac305FF9311Eb661f80f1dF61e07,18.0 -304.0,HYVE-f7d4,HYVE,HYVE,0xd794DD1CAda4cf79C9EebaAb8327a1B0507ef7d4,18.0 -305.0,B2M-0a1f,B2M,B2M,0xd7c302fc3ac829C7E896a32c4Bd126f3e8Bd0a1f,18.0 -306.0,rETH-6393,rETH,rETH,0xae78736Cd615f374D3085123A210448E74Fc6393,18.0 -307.0,XTP-50fc,XTP,XTP,0x6368e1E18c4C419DDFC608A0BEd1ccb87b9250fc,18.0 -308.0,AVINOC-A3EF,AVINOC,AVINOC,0xF1cA9cb74685755965c7458528A36934Df52A3EF,18.0 -309.0,DOLA-9ce4,DOLA,DOLA,0x865377367054516e17014CcdED1e7d814EDC9ce4,18.0 -310.0,OHM-f1D5,OHM,OHM,0x64aa3364F17a4D01c6f1751Fd97C2BD3D7e7f1D5,9.0 -311.0,UCOIL-9a13,UCOIL,UCOIL,0x549044000a94870ab7c5017cd8fB0AEfa9239a13,18.0 -312.0,SPH-a406,SPH,SPH,0xA0CF46eb152656C7090e769916eb44a138aaa406,18.0 -313.0,ASH-0b92,ASH,ASH,0x64D91f12Ece7362F91A6f8E7940Cd55F05060b92,18.0 -314.0,LUSD-8bA0,LUSD,LUSD,0x5f98805A4E8be255a32880FDeC7F6728C6568bA0,18.0 -315.0,PINE-3a51,PINE,PINE,0x569424c5EE13884A193773fDC5d1c5f79C443a51,18.0 -316.0,eLunr-Aa5A,eLunr,eLunr,0xA87135285Ae208e22068AcDBFf64B11Ec73EAa5A,4.0 -317.0,SWAP-4EFe,SWAP,SWAP,0xCC4304A31d09258b0029eA7FE63d032f52e44EFe,18.0 -318.0,RELAY-841c,RELAY,RELAY,0x5D843Fa9495d23dE997C394296ac7B4D721E841c,18.0 -319.0,CHEQ-4de7,CHEQ,CHEQ,0x70EDF1c215D0ce69E7F16FD4E6276ba0d99d4de7,9.0 -320.0,CPD-5355,CPD,CPD,0x9b31bb425D8263fA1b8B9d090b83CF0C31665355,18.0 -321.0,CGG-5e43,CGG,CGG,0x1fE24F25b1Cf609B9c4e7E12D802e3640dFA5e43,18.0 -322.0,Y2B-0650,Y2B,Y2B,0xF9C12B27cE5058ab98ce11BD53900f84E18C0650,18.0 -323.0,cbETH-9704,cbETH,cbETH,0xBe9895146f7AF43049ca1c1AE358B0541Ea49704,18.0 -324.0,DSU-7109,DSU,DSU,0x605D26FBd5be761089281d5cec2Ce86eeA667109,18.0 -325.0,CRPT-6d8B,CRPT,CRPT,0x08389495D7456E1951ddF7c3a1314A4bfb646d8B,18.0 -326.0,LEXE-6833,LEXE,LEXE,0x53011E93F21EC7A74cdfBB7E6548F1ABCE306833,18.0 -327.0,POLA-2CED,POLA,POLA,0xc691bc298a304d591Ad9b352c7A8D216dE9f2CED,18.0 -328.0,MANA-C942,MANA,MANA,0x0F5D2fB29fb7d3CFeE444a200298f468908cC942,18.0 -329.0,one1INCH-3857,one1INCH,one1INCH,0x853Bb55c1f469902F088A629db8C8803A9BE3857,18.0 -330.0,GENI-FCc8,GENI,GENI,0x444444444444C1a66F394025Ac839A535246FCc8,9.0 -331.0,IDV-8840,IDV,IDV,0x45448E05020576929fcDEabC228E35b420098840,18.0 -332.0,L2-4D24,L2,L2,0xBbff34E47E559ef680067a6B1c980639EEb64D24,18.0 -333.0,ARTH-8a71,ARTH,ARTH,0x8CC0F052fff7eaD7f2EdCCcaC895502E884a8a71,18.0 -334.0,DRGN-A05E,DRGN,DRGN,0x419c4dB4B9e25d6Db2AD9691ccb832C8D9fDA05E,18.0 -335.0,BTRST-2824,BTRST,BTRST,0x799ebfABE77a6E34311eeEe9825190B9ECe32824,18.0 -336.0,FAKT-dC48,FAKT,FAKT,0xC3FFbE26E9446aC52008FfC8C1191d60A12bdC48,18.0 -337.0,GNO-6b96,GNO,GNO,0x6810e776880C02933D47DB1b9fc05908e5386b96,18.0 -338.0,DIA-9419,DIA,DIA,0x84cA8bc7997272c7CfB4D0Cd3D55cd942B3c9419,18.0 -339.0,SWIV-6f2d,SWIV,SWIV,0xbf30461210b37012783957D90dC26B95Ce3b6f2d,18.0 -340.0,USDC-1130,USDC,USDC,0x566957eF80F9fd5526CD2BEF8BE67035C0b81130,6.0 -341.0,wPPC-2958,wPPC,wPPC,0x044d078F1c86508e13328842Cc75AC021B272958,6.0 -342.0,TOL-2cFA,TOL,TOL,0xd07D9Fe2d2cc067015E2b4917D24933804f42cFA,18.0 -343.0,ALEPH-F628,ALEPH,ALEPH,0x27702a26126e0B3702af63Ee09aC4d1A084EF628,18.0 -344.0,GF-E238,GF,GF,0xAaEf88cEa01475125522e117BFe45cF32044E238,18.0 -345.0,CND-95fa,CND,CND,0xd4c435F5B09F855C3317c8524Cb1F586E42795fa,18.0 -346.0,ECOx-736a,ECOx,ECOx,0xcccD1Ba9f7acD6117834E0D28F25645dECb1736a,18.0 -347.0,SNX-2a6F,SNX,SNX,0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F,18.0 -348.0,RAIL-A33D,RAIL,RAIL,0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D,18.0 -349.0,OK-4189,OK,OK,0xd3Ac016b1B8C80EeAdDe4D186A9138C9324e4189,18.0 -350.0,ALCX-c8DF,ALCX,ALCX,0xdBdb4d16EdA451D0503b854CF79D55697F90c8DF,18.0 -351.0,ROYA-48DB,ROYA,ROYA,0x7eaF9C89037e4814DC0d9952Ac7F888C784548DB,18.0 -352.0,HOP-a3CC,HOP,HOP,0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC,18.0 -353.0,CVX-9D2B,CVX,CVX,0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B,18.0 -354.0,DAMM-16b8,DAMM,DAMM,0xb3207935FF56120f3499e8aD08461Dd403bF16b8,18.0 -355.0,BPLC-21b4,BPLC,BPLC,0x426FC8BE95573230f6e6bc4af91873F0c67b21b4,18.0 -356.0,GTC-163F,GTC,GTC,0xDe30da39c46104798bB5aA3fe8B9e0e1F348163F,18.0 -357.0,GPO-3aCE,GPO,GPO,0x4ad7a056191F4c9519fAcd6D75FA94CA26003aCE,18.0 -358.0,QLT-c87c,QLT,QLT,0x0173661769325565d4f011b2e5Cda688689Cc87c,9.0 -359.0,IOTX-4d69,IOTX,IOTX,0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69,18.0 -360.0,APE-4381,APE,APE,0x4d224452801ACEd8B2F0aebE155379bb5D594381,18.0 -361.0,AGV-382B,AGV,AGV,0xf4F618Eff5eF36Cde2FCa4FBD86554c62Fb1382B,18.0 -362.0,DREP-b4c2,DREP,DREP,0x3Ab6Ed69Ef663bd986Ee59205CCaD8A20F98b4c2,18.0 -363.0,QNT-4675,QNT,QNT,0x4a220E6096B25EADb88358cb44068A3248254675,18.0 -364.0,BLOCKIFY-3C21,BLOCKIFY,BLOCKIFY,0x7D608CfAa805a752788847e5C46Ce9C03Fb43C21,18.0 -365.0,UNV-A673,UNV,UNV,0xf009f5531dE69067435e32c4b9D36077F4C4A673,18.0 -366.0,HBTC-d380,HBTC,HBTC,0x0316EB71485b0Ab14103307bf65a021042c6d380,18.0 -367.0,SLD-a084,SLD,SLD,0x1ef6A7e2c966fb7C5403EFEFdE38338b1a95a084,18.0 -368.0,SYL-eb9C,SYL,SYL,0x92925Acf2771Bc59143228499f9610FE5176eb9C,18.0 -369.0,JASMY-03EC,JASMY,JASMY,0x7420B4b9a0110cdC71fB720908340C03F9Bc03EC,18.0 -370.0,NBT-824c,NBT,NBT,0x446F2A8A39Cc730ef378Be759A3c57f1a3fE824c,18.0 -371.0,BRD-9aD6,BRD,BRD,0x558EC3152e2eb2174905cd19AeA4e34A23DE9aD6,18.0 -372.0,ULX-636F,ULX,ULX,0x5Aa158404fEd6b4730C13F49d3a7F820e14A636F,18.0 -373.0,AMPL-A161,AMPL,AMPL,0xD46bA6D942050d489DBd938a2C909A5d5039A161,9.0 -374.0,XMON-Bf74,XMON,XMON,0x3aaDA3e213aBf8529606924d8D1c55CbDc70Bf74,18.0 -375.0,REN-2a38,REN,REN,0x408e41876cCCDC0F92210600ef50372656052a38,18.0 -376.0,UFO-DC3B,UFO,UFO,0x249e38Ea4102D0cf8264d3701f1a0E39C4f2DC3B,18.0 -377.0,TAMA-88c8,TAMA,TAMA,0x12b6893cE26Ea6341919FE289212ef77e51688c8,18.0 -378.0,HOT-26E2,HOT,HOT,0x6c6EE5e31d828De241282B9606C8e98Ea48526E2,18.0 -379.0,EGG-6a0c,EGG,EGG,0x65cCD72c0813CE6f2703593B633202a0F3Ca6a0c,18.0 -380.0,PHA-2f4E,PHA,PHA,0x6c5bA91642F10282b576d91922Ae6448C9d52f4E,18.0 -381.0,agEUR-Bce8,agEUR,agEUR,0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8,18.0 -382.0,FIEF-a02D,FIEF,FIEF,0xeA068Fba19CE95f12d252aD8Cb2939225C4Ea02D,18.0 -383.0,ETHO-7096,ETHO,ETHO,0x0b5326Da634f9270FB84481DD6F94d3dC2cA7096,18.0 -384.0,SPANK-6a18,SPANK,SPANK,0x42d6622deCe394b54999Fbd73D108123806f6a18,18.0 -385.0,ATC-5c9e,ATC,ATC,0x0fAD86Cc1b412b330494E350Bf1dC1994AC55c9e,6.0 -386.0,SUM-40b1,SUM,SUM,0x043C308BB8a5aE96D0093444be7f56459F1340b1,18.0 -387.0,CPI-ec53,CPI,CPI,0x2b67D1a87A8D8B280A23e97bC55095215eE0ec53,18.0 -388.0,PAPER-0e8C,PAPER,PAPER,0x7aE1D57b58fA6411F32948314BadD83583eE0e8C,18.0 -389.0,EURT-E491,EURT,EURT,0xC581b735A1688071A1746c968e0798D642EDE491,6.0 -390.0,GOB-8A80,GOB,GOB,0xd6929179D752d5D25c5efe2d9729eb77D7138A80,18.0 -391.0,oSQTH-E86B,oSQTH,oSQTH,0xf1B99e3E573A1a9C5E6B2Ce818b617F0E664E86B,18.0 -392.0,SDEX-BEeF,SDEX,SDEX,0x5DE8ab7E27f6E7A1fFf3E5B337584Aa43961BEeF,18.0 -393.0,XCM-8e25,XCM,XCM,0x36ac219f90f5A6A3C77f2a7B660E3cC701f68e25,18.0 -394.0,BRZ-2e2B,BRZ,BRZ,0x420412E765BFa6d85aaaC94b4f7b708C89be2e2B,4.0 -395.0,0xBTC-5B31,0xBTC,0xBTC,0xB6eD7644C69416d67B522e20bC294A9a9B405B31,8.0 -396.0,XAUt-2F38,XAUt,XAUt,0x68749665FF8D2d112Fa859AA293F07A622782F38,6.0 -397.0,ETHV-aC76,ETHV,ETHV,0xC53342fd7575f572b0fF4569e31941A5B821aC76,18.0 -398.0,FET-Ad85,FET,FET,0xaea46A60368A7bD060eec7DF8CBa43b7EF41Ad85,18.0 -399.0,RAI-4919,RAI,RAI,0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919,18.0 -400.0,USDP-89E1,USDP,USDP,0x8E870D67F660D95d5be530380D0eC0bd388289E1,18.0 -401.0,stETH-fE84,stETH,stETH,0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84,18.0 -402.0,CHZ-b4AF,CHZ,CHZ,0x3506424F91fD33084466F402d5D97f05F8e3b4AF,18.0 -403.0,TXA-A830,TXA,TXA,0x4463e6A3dEd0dBE3F6e15bC8420dFc55e5FeA830,18.0 -404.0,DENT-A258,DENT,DENT,0x3597bfD533a99c9aa083587B074434E61Eb0A258,8.0 -405.0,SUDO-B7F9,SUDO,SUDO,0x3446Dd70B2D52A6Bf4a5a192D9b0A161295aB7F9,18.0 -406.0,sUSD-5f51,sUSD,sUSD,0x57Ab1ec28D129707052df4dF418D58a2D46d5f51,18.0 -407.0,ELT-1B02,ELT,ELT,0xc0AE17Eb994fa828540FFa53776B3830233A1B02,18.0 -408.0,ELAN-28B5,ELAN,ELAN,0x1b5036bEc1B82D44d52Fa953A370b3c6Cd9328B5,18.0 -409.0,INNBC-8c42,INNBC,INNBC,0xB67718b98d52318240c52E71A898335da4A28c42,6.0 -410.0,MLP-1152,MLP,MLP,0xE22020F47B7378dfedcedd2C81d4137c22fE1152,18.0 -411.0,DYDX-Eff5,DYDX,DYDX,0x92D6C1e31e14520e676a687F0a93788B716BEff5,18.0 -412.0,ACX-F82F,ACX,ACX,0x44108f0223A3C3028F5Fe7AEC7f9bb2E66beF82F,18.0 -413.0,BAT-87EF,BAT,BAT,0x0D8775F648430679A709E98d2b0Cb6250d2887EF,18.0 -414.0,CTX-f98D,CTX,CTX,0x321C2fE4446C7c963dc41Dd58879AF648838f98D,18.0 -415.0,STC-7e7E,STC,STC,0x15B543e986b8c34074DFc9901136d9355a537e7E,18.0 -416.0,RDX-9ecD,RDX,RDX,0xd8C4ef2D99c9F962180008418a5665Fcc4b99ecD,18.0 -417.0,OLY-Fb1f,OLY,OLY,0x6595b8fD9C920C81500dCa94e53Cdc712513Fb1f,18.0 -418.0,APM-BA6c,APM,APM,0xC8C424B91D8ce0137bAB4B832B7F7D154156BA6c,18.0 -419.0,CRAB-b735,CRAB,CRAB,0x24BCeC1AFda63E622a97F17cFf9a61FFCfd9b735,18.0 -420.0,CTO-6C47,CTO,CTO,0xa5e48a6E56e164907263e901B98D9b11CCB46C47,18.0 -421.0,AAVE-DaE9,AAVE,AAVE,0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9,18.0 -422.0,LYXe-be6D,LYXe,LYXe,0xA8b919680258d369114910511cc87595aec0be6D,18.0 -423.0,CXO-7143,CXO,CXO,0xb6EE9668771a79be7967ee29a63D4184F8097143,18.0 -424.0,AXL-E5f3,AXL,AXL,0x467719aD09025FcC6cF6F8311755809d45a5E5f3,6.0 -425.0,GUSD-d5Cd,GUSD,GUSD,0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd,2.0 -426.0,THEO-eac2,THEO,THEO,0xfAc0403a24229d7e2Edd994D50F5940624CBeac2,9.0 -427.0,FUN-711b,FUN,FUN,0x419D0d8BdD9aF5e606Ae2232ed285Aff190E711b,8.0 -428.0,ZZ-55ad,ZZ,ZZ,0xC91a71A1fFA3d8B22ba615BA1B9c01b2BBBf55ad,18.0 -429.0,ADS-d22A,ADS,ADS,0xcfcEcFe2bD2FED07A9145222E8a7ad9Cf1Ccd22A,11.0 -430.0,RBN-fA6B,RBN,RBN,0x6123B0049F904d730dB3C36a31167D9d4121fA6B,18.0 -431.0,wTAO-0A44,wTAO,wTAO,0x77E06c9eCCf2E797fd462A92B6D7642EF85b0A44,9.0 -432.0,HUNT-6fa5,HUNT,HUNT,0x9AAb071B4129B083B01cB5A0Cb513Ce7ecA26fa5,18.0 -433.0,gOHM-a52f,gOHM,gOHM,0x0ab87046fBb341D058F17CBC4c1133F25a20a52f,18.0 -434.0,BBTC-2541,BBTC,BBTC,0x9BE89D2a4cd102D8Fecc6BF9dA793be995C22541,8.0 -435.0,XSGD-cA96,XSGD,XSGD,0x70e8dE73cE538DA2bEEd35d14187F6959a8ecA96,6.0 -436.0,ASIC-3047,ASIC,ASIC,0x347a96a5BD06D2E15199b032F46fB724d6c73047,12.0 -437.0,ICSA-69ed,ICSA,ICSA,0xfc4913214444aF5c715cc9F7b52655e788A569ed,9.0 -438.0,wstETH-2Ca0,wstETH,wstETH,0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0,18.0 -439.0,PLSD-36A7,PLSD,PLSD,0x34F0915a5f15a66Eba86F6a58bE1A471FB7836A7,12.0 -440.0,EUROe-2974,EUROe,EUROe,0x820802Fa8a99901F52e39acD21177b0BE6EE2974,6.0 -441.0,BLUR-8b44,BLUR,BLUR,0x5283D291DBCF85356A21bA090E6db59121208b44,18.0 -442.0,PAR-4703,PAR,PAR,0x68037790A0229e9Ce6EaA8A99ea92964106C4703,18.0 -443.0,SAITO-B57B,SAITO,SAITO,0xFa14Fa6958401314851A17d6C5360cA29f74B57B,18.0 -444.0,DUSK-A551,DUSK,DUSK,0x940a2dB1B7008B6C776d4faaCa729d6d4A4AA551,18.0 -445.0,ISK-a75C,ISK,ISK,0x17d2628D30F8e9E966c9Ba831c9B9b01ea8Ea75C,18.0 -446.0,WFLOW-3B2b,WFLOW,WFLOW,0x5c147e74D63B1D31AA3Fd78Eb229B65161983B2b,18.0 -447.0,MIM-17F3,MIM,MIM,0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3,18.0 -448.0,CoreDAO-Dd58,CoreDAO,CoreDAO,0xf66Cd2f8755a21d3c8683a10269F795c0532Dd58,18.0 -449.0,SEURO-9A00,SEURO,SEURO,0xb399511642FE1666c6a07f83483e6E4feAed9A00,18.0 -450.0,TEXAN-88d7,TEXAN,TEXAN,0xcFCFfE432A48dB53F59c301422d2EdD77B2A88d7,18.0 -451.0,DEXE-Cbd6,DEXE,DEXE,0xde4EE8057785A7e8e800Db58F9784845A5C2Cbd6,18.0 -452.0,COMP-6888,COMP,COMP,0xc00e94Cb662C3520282E6f5717214004A7f26888,18.0 -453.0,COT-9ff8,COT,COT,0x5c872500c00565505F3624AB435c222E558E9ff8,18.0 -454.0,DAPP-1649,DAPP,DAPP,0x939B462ee3311f8926c047D2B576C389092b1649,4.0 -455.0,BORING-92CA,BORING,BORING,0xBC19712FEB3a26080eBf6f2F7849b417FdD792CA,18.0 -456.0,eRSDL-D3A6,eRSDL,eRSDL,0x5218E472cFCFE0b64A064F055B43b4cdC9EfD3A6,18.0 -457.0,DIP-cD83,DIP,DIP,0xc719d010B63E5bbF2C0551872CD5316ED26AcD83,18.0 -458.0,DRC-e606,DRC,DRC,0xa150Db9b1Fa65b44799d4dD949D922c0a33Ee606,0.0 -459.0,DXD-5521,DXD,DXD,0xa1d65E8fB6e87b60FECCBc582F7f97804B725521,18.0 -460.0,EDEN-1559,EDEN,EDEN,0x1559FA1b8F28238FD5D76D9f434ad86FD20D1559,18.0 -461.0,ENJ-3B9c,ENJ,ENJ,0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c,18.0 -462.0,BBS-B430,BBS,BBS,0xFe459828c90c0BA4bC8b42F5C5D44F316700B430,18.0 -463.0,BMI-E688,BMI,BMI,0x725C263e32c72dDC3A19bEa12C5a0479a81eE688,18.0 -464.0,ANKR-EDD4,ANKR,ANKR,0x8290333ceF9e6D528dD5618Fb97a76f268f3EDD4,18.0 -465.0,bBADGER-fC28,bBADGER,bBADGER,0x19D97D8fA813EE2f51aD4B4e04EA08bAf4DFfC28,18.0 -466.0,FRM-A68C,FRM,FRM,0xE5CAeF4Af8780E59Df925470b050Fb23C43CA68C,6.0 -467.0,ETH-EEeE,ETH,ETH,0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE,18.0 -468.0,1INCH-C302,1INCH,1INCH,0x111111111117dC0aa78b770fA6A738034120C302,18.0 -469.0,ALPHA-0975,ALPHA,ALPHA,0xa1faa113cbE53436Df28FF0aEe54275c13B40975,18.0 -470.0,AMP-95C2,AMP,AMP,0xfF20817765cB7f73d4bde2e66e067E58D11095C2,18.0 -471.0,ANT-88C0,ANT,ANT,0x960b236A07cf122663c4303350609A66A7B288C0,18.0 -472.0,APW-60c8,APW,APW,0x4104b135DBC9609Fc1A9490E61369036497660c8,18.0 -473.0,ARCONA-52B3,ARCONA,ARCONA,0x0f71B8De197A1C84d31de0F1fA7926c365F052B3,18.0 -474.0,AUC-5663,AUC,AUC,0xc12d099be31567add4e4e4d0D45691C3F58f5663,18.0 -475.0,FODL-b9C3,FODL,FODL,0x4C2e59D098DF7b6cBaE0848d66DE2f8A4889b9C3,18.0 -476.0,PHTR-22dA,PHTR,PHTR,0xE1Fc4455f62a6E89476f1072530C20CF1A0622dA,18.0 -477.0,RLC-7375,RLC,RLC,0x607F4C5BB672230e8672085532f7e901544a7375,9.0 -478.0,ROOK-3d4a,ROOK,ROOK,0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a,18.0 -479.0,RPL-A51f,RPL,RPL,0xD33526068D116cE69F19A9ee46F0bd304F21A51f,18.0 -480.0,RUNE-49cb,RUNE,RUNE,0x3155BA85D5F96b2d030a4966AF206230e46849cb,18.0 -481.0,SFI-902c,SFI,SFI,0xb753428af26E81097e7fD17f40c88aaA3E04902c,18.0 -482.0,SHEESHA-E768,SHEESHA,SHEESHA,0x232FB065D9d24c34708eeDbF03724f2e95ABE768,18.0 -483.0,TEMP-1aB9,TEMP,TEMP,0xA36FDBBAE3c9d55a1d67EE5821d53B50B63A1aB9,18.0 -484.0,TRAC-0A6F,TRAC,TRAC,0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F,18.0 -485.0,UOS-5C8c,UOS,UOS,0xD13c7342e1ef687C5ad21b27c2b65D772cAb5C8c,4.0 -486.0,vBNT-7f94,vBNT,vBNT,0x48Fb253446873234F2fEBbF9BdeAA72d9d387f94,18.0 -487.0,VITA-A321,VITA,VITA,0x81f8f0bb1cB2A06649E51913A151F0E7Ef6FA321,18.0 -488.0,VLX-Edb9,VLX,VLX,0x8C543AED163909142695f2d2aCd0D55791a9Edb9,18.0 -489.0,wNXM-2bDE,wNXM,wNXM,0x0d438F3b5175Bebc262bF23753C1E53d03432bDE,18.0 -490.0,WXT-E915,WXT,WXT,0xa02120696c7B8fE16C09C749E4598819b2B0E915,18.0 -491.0,YFI-d93e,YFI,YFI,0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e,18.0 -492.0,ZCN-3B78,ZCN,ZCN,0xb9EF770B6A5e12E45983C5D80545258aA38F3B78,10.0 -493.0,LYRA-05Bf,LYRA,LYRA,0x01BA67AAC7f75f647D94220Cc98FB30FCc5105Bf,18.0 -494.0,OCEAN-9F48,OCEAN,OCEAN,0x967da4048cD07aB37855c090aAF366e4ce1b9F48,18.0 -495.0,renBTC-B27D,renBTC,renBTC,0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D,8.0 -496.0,HEGIC-8430,HEGIC,HEGIC,0x584bC13c7D411c00c01A62e8019472dE68768430,18.0 -497.0,INDEX-4cab,INDEX,INDEX,0x0954906da0Bf32d5479e25f46056d22f08464cab,18.0 -498.0,KNC-D200,KNC,KNC,0xdd974D5C2e2928deA5F71b9825b8b646686BD200,18.0 -499.0,KTN-FC1C,KTN,KTN,0x491E136FF7FF03E6aB097E54734697Bb5802FC1C,18.0 -500.0,LPL-75B8,LPL,LPL,0x99295f1141d58A99e939F7bE6BBe734916a875B8,18.0 -501.0,LRC-EafD,LRC,LRC,0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD,18.0 -502.0,RARI-41CF,RARI,RARI,0xFca59Cd816aB1eaD66534D82bc21E7515cE441CF,18.0 -503.0,MLN-1892,MLN,MLN,0xec67005c4E498Ec7f55E092bd1d35cbC47C91892,18.0 -504.0,MONA-412A,MONA,MONA,0x275f5Ad03be0Fa221B4C6649B8AeE09a42D9412A,18.0 -505.0,MPH-35C5,MPH,MPH,0x8888801aF4d980682e47f1A9036e589479e835C5,18.0 -506.0,NDX-5F83,NDX,NDX,0x86772b1409b61c639EaAc9Ba0AcfBb6E238e5F83,18.0 -507.0,NEXO-5206,NEXO,NEXO,0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206,18.0 -508.0,NMR-6671,NMR,NMR,0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671,18.0 -509.0,NOIA-b6ca,NOIA,NOIA,0xa8c8CfB141A3bB59FEA1E2ea6B79b5ECBCD7b6ca,18.0 -510.0,OPIUM-eC11,OPIUM,OPIUM,0x888888888889C00c67689029D7856AAC1065eC11,18.0 -511.0,POWR-1269,POWR,POWR,0x595832F8FC6BF59c85C527fEC3740A1b7a361269,6.0 -512.0,PSP-3dE5,PSP,PSP,0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5,18.0 -513.0,DATA-8b76,DATA,DATA,0x8f693ca8D21b157107184d29D398A8D082b38b76,18.0 -514.0,xSUSHI-4272,xSUSHI,xSUSHI,0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272,18.0 -515.0,ENS-9D72,ENS,ENS,0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72,18.0 -516.0,UMA-F828,UMA,UMA,0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828,18.0 -517.0,RNB-e743,RNB,RNB,0x2A039B1D9bBDccBb91be28691b730ca893e5e743,18.0 -518.0,SATA-bEe1,SATA,SATA,0x3ebb4A4e91Ad83BE51F8d596533818b246F4bEe1,18.0 -519.0,ACRE-FC21,ACRE,ACRE,0xb2cABf797bc907B049e4cCB5b84d13be3a8CFC21,18.0 -520.0,CROWN-E0fa,CROWN,CROWN,0x444d6088B0F625f8C20192623B3C43001135E0fa,18.0 -521.0,SHIBGF-65d6,SHIBGF,SHIBGF,0x505a84a03e382331A1Be487b632Cf357748b65d6,18.0 -522.0,MFG-0312,MFG,MFG,0x6710c63432A2De02954fc0f851db07146a6c0312,18.0 -523.0,EWTB-6054,EWTB,EWTB,0x178c820f862B14f316509ec36b13123DA19A6054,18.0 -524.0,FTX Token-a4c9,FTX Token,FTX Token,0x50D1c9771902476076eCFc8B2A83Ad6b9355a4c9,18.0 -525.0,1ONE-f9D3,1ONE,1ONE,0xD5cd84D6f044AbE314Ee7E414d37cae8773ef9D3,18.0 -526.0,BZRX-f4b3,BZRX,BZRX,0x56d811088235F11C8920698a204A5010a788f4b3,18.0 -527.0,bDIGG-8e1a,bDIGG,bDIGG,0x7e7E112A68d8D2E221E11047a72fFC1065c38e1a,18.0 -528.0,SUSHI-0fE2,SUSHI,SUSHI,0x6B3595068778DD592e39A122f4f5a5cF09C90fE2,18.0 -529.0,PEPE-1933,PEPE,PEPE,0x6982508145454Ce325dDbE47a25d4ec3d2311933,18.0 -530.0,XCHF-fc08,XCHF,XCHF,0xB4272071eCAdd69d933AdcD19cA99fe80664fc08,18.0 -531.0,ARB-4ad1,ARB,ARB,0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1,18.0 -532.0,LBR-aCcA,LBR,LBR,0xC98835e792553e505AE46e73a6fD27a23985aCcA,18.0 -533.0,HRP-12Bf,HRP,HRP,0xbd15Ad921e1B480209AF549874a2fCb80DC312Bf,18.0 -534.0,Silo-B1f8,Silo,Silo,0x6f80310CA7F2C654691D1383149Fa1A57d8AB1f8,18.0 -535.0,0x0-1AD5,0x0,0x0,0x5a3e6A77ba2f983eC0d371ea3B475F8Bc0811AD5,9.0 -536.0,SMT-7173,SMT,SMT,0xB17548c7B510427baAc4e267BEa62e800b247173,18.0 -537.0,pepecoin-489A,pepecoin,pepecoin,0xA9E8aCf069C58aEc8825542845Fd754e41a9489A,18.0 -538.0,JAY-CA6E,JAY,JAY,0xDA7C0810cE6F8329786160bb3d1734cf6661CA6E,18.0 -539.0,WYD-8991,WYD,WutYuDoin?,0xbae9992488AE7f7c1EDB34Ed74c213B28d928991,18.0 -540.0,WSB-0c49,WSB,WSB Coin,0x0414D8C87b271266a5864329fb4932bBE19c0c49,18.0 -541.0,TRU-3784,TRU,TrueFi,0x4C19596f5aAfF459fA38B0f7eD92F11AE6543784,8.0 -542.0,BAL-4e3D,BAL,Balancer,0xba100000625a3754423978a60c9317c58a424e3D,18.0 -543.0,MTA-AcD2,MTA,Meta,0xa3BeD4E1c75D00fa6f4E5E6922DB7261B5E9AcD2,18.0 -544.0,QUICK-6F2f,QUICK,Quickswap,0x6c28AeF8977c9B773996d0e8376d2EE379446F2f,18.0 -545.0,BOR-c1A9,BOR,BoringDAO,0x3c9d6c1C73b31c837832c72E04D3152f051fc1A9,18.0 -546.0,STAKE-95e6,STAKE,STAKE,0x0Ae055097C6d159879521C384F1D2123D1f195e6,18.0 -547.0,CRO-450b,CRO,CRO,0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b,8.0 -548.0,BNB-DD52,BNB,BNB,0xB8c77482e45F1F44dE1745F52C74426C631bDD52,18.0 -549.0,PATH-7588,PATH,PathDao,0x2a2550e0A75aCec6D811AE3930732F7f3ad67588,18.0 -550.0,PERP-3447,PERP,Perpetual,0xbC396689893D065F41bc2C6EcbeE5e0085233447,18.0 -551.0,POOL-844e,POOL,PoolTogether,0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e,18.0 -552.0,SMARTCREDIT-DA13,SMARTCREDIT,SMARTCREDIT Token,0x72e9D9038cE484EE986FEa183f8d8Df93f9aDA13,18.0 -553.0,CEL-D42d,CEL,Celsius,0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d,4.0 -554.0,renZEC-37C2,renZEC,renZEC,0x1C5db575E2Ff833E46a2E9864C22F4B22E0B37C2,8.0 -555.0,OMG-0C07,OMG,OMGToken,0xd26114cd6EE289AccF82350c8d8487fedB8A0C07,18.0 -556.0,INSAI-4674,INSAI,Insight,0xceec4aE5CF5300aC9A49a816961Af9393b214674,6.0 -557.0,$DGTV-966D,$DGTV,Doge-TV,0xFEb6d5238Ed8F1d59DCaB2db381AA948e625966D,18.0 -558.0,MATRIX-1C36,MATRIX,MatrixSwapToken,0xc8D3DCb63C38607Cb0c9d3F55E8eccE628A01C36,18.0 -559.0,CREAM-B200,CREAM,Cream,0x2ba592F78dB6436527729929AAf6c908497cB200,18.0 -560.0,INU-Bda5,INU,Inu.,0x050D94685c6B0477E1Fc555888AF6e2bB8dFBda5,18.0 -561.0,CHEW-7Cb3,CHEW,CHEW,0xf5d126077096e5b01BC30FFa5d9324D7202d7Cb3,18.0 -562.0,N1-C16D,N1,NFTify,0xaCbd826394189Cf2623C6DF98a18b41fC8fFC16D,18.0 -563.0,FLX-91F4,FLX,Flex Ungovernance Token,0x6243d8CEA23066d098a15582d81a598b4e8391F4,18.0 -564.0,MUSE-fc81,MUSE,Muse,0xB6Ca7399B4F9CA56FC27cBfF44F4d2e4Eef1fc81,18.0 -565.0,BST-7F4a,BST,BlocksquareToken,0x509A38b7a1cC0dcd83Aa9d06214663D9eC7c7F4a,18.0 -566.0,SAND-a5d0,SAND,SAND,0x3845badAde8e6dFF049820680d1F14bD3903a5d0,18.0 -567.0,PLAY-45bC,PLAY,InfinityGaming,0x95b4e47025372Ded4B73F9b5F0671B94a81445bC,9.0 -568.0,WG0-C057,WG0,Wrapped Gen 0,0xa10740ff9FF6852eac84cdcfF9184e1D6d27C057,18.0 -569.0,HEAL-541a,HEAL,Heal The World,0x383B0b2ce2e1757b5e1D087D8f36013eA595541a,9.0 -570.0,CNTR-064B,CNTR,Centaur Token,0x03042482d64577A7bdb282260e2eA4c8a89C064B,18.0 -571.0,AMAS-4f52,AMAS,Amasa Token,0x65a8fbA02F641a13Bb7B01d5E1129b0521004f52,18.0 -572.0,ASIA-6011,ASIA,ASIA COIN,0xF519381791C03DD7666C142D4E49Fd94d3536011,18.0 -573.0,KoaCombat-544C,KoaCombat,KoaCombat,0x6769D86f9C430f5AC6d9c861a0173613F1C5544C,9.0 -574.0,DUCKER-01A7,DUCKER,Duckereum,0xa52bfFAD02B1FE3f86A543a4e81962d3B3bB01A7,18.0 -575.0,HKBY-d7D4,HKBY,Huckleberry Inu,0x645C52CF6c5C58AA4064494f5b5FFE9C7EC0d7D4,18.0 -576.0,LSD-d9fd,LSD,Liquid Staking Derivatives,0x97D4F49eEb0E2c96d5EbAA71AB8418e563ecd9fd,9.0 -577.0,SHIB0.5-dE1b,SHIB0.5,Half Shiba Inu,0x8Eb94A06b4716093DBfE335cbdb098DEb2dcdE1b,18.0 -578.0,XDB-9d27,XDB,digitalbits,0xB9EefC4b0d472A44be93970254Df4f4016569d27,7.0 -579.0,DC-9180,DC,Dogechain Token,0x7B4328c127B85369D9f82ca0503B000D09CF9180,18.0 -580.0,Shibmerican-5609,Shibmerican,Shibmerican | t.me/Shibmerican,0x440238CC07186aDEA6653a2E8cb9a24737615609,9.0 -581.0,HONR-79B8,HONR,DeltaFlare,0x39Ea10E507720783C27eDd5F96Bf2D6e199579B8,18.0 -582.0,NIIFI-BCb8,NIIFI,NiiFiToken,0x852e5427c86A3b46DD25e5FE027bb15f53c4BCb8,15.0 -583.0,LETSGO-BB95,LETSGO,Lets Go Brandon,0xA6586E19EF681b1AC0ED3D46413D199a555dBB95,18.0 -584.0,FEG-C945,FEG,FEGtoken,0x389999216860AB8E0175387A0c90E5c52522C945,9.0 -585.0,FEG-2A11,FEG,FEG Token,0xbededDf2eF49E87037c4fb2cA34d1FF3D3992A11,18.0 -586.0,DDOS-02C3,DDOS,Disbalancer,0x7FBEC0bb6A7152e77C30D005B5D49cbC08A602C3,18.0 -587.0,OVR-3697,OVR,OVR,0x21BfBDa47A0B4B5b1248c767Ee49F7caA9B23697,18.0 -588.0,DOGPAD-9C1c,DOGPAD,DogPad,0x6f3277ad0782a7DA3eb676b85a8346A100BF9C1c,18.0 -589.0,LTO-294D,LTO,LTO Network Token,0x3DB6Ba6ab6F95efed1a6E794caD492fAAabF294D,8.0 -590.0,IONX-4217,IONX,Charged Particles - IONX,0x02D3A27Ac3f55d5D91Fb0f52759842696a864217,18.0 -591.0,FOTO-C49F,FOTO,FOTO,0xF6eA0E60cee427B90aA36f327eE61d1d4CABC49F,18.0 -592.0,QMALL-2198,QMALL,Qmall Token,0x2217e5921B7edfB4BB193a6228459974010D2198,18.0 -593.0,WAGMIGAMES-00F0,WAGMIGAMES,WAGMI GAMES,0x3B604747ad1720C01ded0455728b62c0d2F100F0,18.0 -594.0,KINE-F05D,KINE,Kine Governance Token,0xCbfef8fdd706cde6F208460f2Bf39Aa9c785F05D,18.0 -595.0,FXF-0f12,FXF,Finxflo,0x8a40c222996f9F3431f63Bf80244C36822060f12,18.0 -596.0,SAN-f098,SAN,SANtiment network token,0x7C5A0CE9267ED19B22F8cae653F198e3E8daf098,18.0 -597.0,⚗️-b7aB,⚗️,Alchemist,0x88ACDd2a6425c3FaAE4Bc9650Fd7E27e0Bebb7aB,18.0 -598.0,SHIBDAO-b9A8,SHIBDAO,Shibarium DAO,0xB197a6Fdd8AB825332eDEbA1AB5C4D1Bf97fb9A8,18.0 -599.0,XP-b2Ac,XP,PolkaFantasy,0x948c70Dc6169Bfb10028FdBE96cbC72E9562b2Ac,18.0 -600.0,$WEAPON-762d,$WEAPON,Megaweapon,0x0b8057C3Cc676C329c25C1d0Cd27776efA73762d,9.0 -601.0,LAIKA-EC0b,LAIKA,LAIKA,0x77f9CF0bd8C500CfFdF420e72343893aeCC2EC0b,18.0 -602.0,IMX-4a00,IMX,Impermax,0x7b35Ce522CB72e4077BaeB96Cb923A5529764a00,18.0 -603.0,STREAMERINU-259a,STREAMERINU,Streamer Inu,0x0e8D2EB7D6bDF28393c25a1966385Ad32Ff0259a,18.0 -604.0,BFLY-c063,BFLY,Butterfly Protocol Governance Token,0xf680429328caaaCabee69b7A9FdB21a71419c063,18.0 -605.0,SUKU-E4d7,SUKU,SUKU,0x0763fdCCF1aE541A5961815C0872A8c5Bc6DE4d7,18.0 -606.0,CUDOS-dB35,CUDOS,CudosToken,0x817bbDbC3e8A1204f3691d14bB44992841e3dB35,18.0 -607.0,SASHIMI-64c2,SASHIMI,SashimiToken,0xC28E27870558cF22ADD83540d2126da2e4b464c2,18.0 -608.0,AAG-8F97,AAG,AAG,0x5ba19d656B65f1684cFea4Af428C23B9f3628F97,18.0 -609.0,dogep-80b9,dogep,Doge Protocol,0xE7eaec9Bca79d537539C00C58Ae93117fB7280b9,18.0 -610.0,STRP-ADc9,STRP,Strips Token,0x97872EAfd79940C7b24f7BCc1EADb1457347ADc9,18.0 -611.0,STA-eED1,STA,Statera,0xa7DE087329BFcda5639247F96140f9DAbe3DeED1,18.0 -612.0,KIBSHI-2361,KIBSHI,KiboShib,0x02e7F808990638E9e67E1f00313037EDe2362361,18.0 -613.0,Ichigo-78B5,Ichigo,Ichigo Inu,0x8254C1C134436F74047F79eaAeA97E3324eF78B5,9.0 -614.0,PACK-1Ab2,PACK,Pack,0xb186035490C8602EaD853EC98bE05E3461521Ab2,18.0 -615.0,SWFTC-fC1e,SWFTC,SwftCoin,0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e,8.0 -616.0,BZN-35d4,BZN,Benzene,0x6524B87960c2d573AE514fd4181777E7842435d4,18.0 -617.0,LOOT-8335,LOOT,LOOT Token,0x721A1B990699eE9D90b6327FaaD0A3E840aE8335,18.0 -618.0,kitty-52a2,kitty,Kitty Inu,0x044727e50ff30DB57fad06Ff4F5846eAb5eA52a2,9.0 -619.0,CVC-4E45,CVC,Civic,0x41e5560054824eA6B0732E656E3Ad64E20e94E45,8.0 -620.0,TOON-EF02,TOON,PontoonToken,0xaeE433ADeBe0FBB88dAa47eF0C1A513CaA52EF02,18.0 -621.0,FLONA-524A,FLONA,FLONA,0xEf27252B567F6B3fe35b34A85bE322917abE524A,18.0 -622.0,BOTZ-2F80,BOTZ,Beep,0x3475fC1D0d2e03761C19D5C7601fe476f0E02F80,18.0 -623.0,TRXC-7d8e,TRXC,TRONCLASSIC,0xaD5Fe5B0B8eC8fF4565204990E4405B2Da117d8e,0.0 -624.0,PPDEX-0cf7,PPDEX,Pepedex,0xf1F508c7C9f0d1b15a76fbA564eEf2d956220cf7,18.0 -625.0,DEPAY-55eb,DEPAY,DePay,0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb,18.0 -626.0,FABRIC-e523,FABRIC,MetaFabric,0x8c6Fa66c21aE3fC435790E451946a9Ea82E6e523,18.0 -627.0,LUNA-1ea9,LUNA,Wrapped LUNA Token,0xd2877702675e6cEb975b4A1dFf9fb7BAF4C91ea9,18.0 -628.0,GHST-1550,GHST,Aavegotchi GHST Token,0x3F382DbD960E3a9bbCeaE22651E88158d2791550,18.0 -629.0,CAPS-15e2,CAPS,Capsule Coin,0x03Be5C903c727Ee2C8C4e9bc0AcC860Cca4715e2,18.0 -630.0,MCONTENT-b3F4,MCONTENT,MContent,0xD3c51de3E6DD9b53D7f37699AFB3EE3Bf9B9b3F4,6.0 -631.0,QUID-B6D4,QUID,Quid Ika,0x9d38F670D15C14716BE1F109a4F453E966A2B6D4,9.0 -632.0,SPELLFIRE-7C91,SPELLFIRE,SPELLFIRE Token,0x3A0b022f32b3191D44E5847da12dc0B63fb07C91,18.0 -633.0,GEO-6750,GEO,GeoDB Coin,0x147faF8De9d8D8DAAE129B187F0D02D819126750,18.0 -634.0,BPRO-5f61,BPRO,B.Protocol,0xbbBBBBB5AA847A2003fbC6b5C16DF0Bd1E725f61,18.0 -635.0,RBIF-5ceB,RBIF,ROBO INU,0x7B32e70e8D73ac87c1B342e063528B2930b15ceB,9.0 -636.0,BITE-43BA,BITE,Bite,0x34103e1190b824a44C6a638438d425cbA21143BA,18.0 -637.0,QOM-4974,QOM,Shiba Predator,0xa71d0588EAf47f12B13cF8eC750430d21DF04974,18.0 -638.0,SMTY-3283,SMTY,SMTYToken,0xbF776e4FCa664D791C4Ee3A71e2722990E003283,18.0 -639.0,PIKA-3578,PIKA,PIKA,0x60F5672A271C7E39E787427A18353ba59A4A3578,18.0 -640.0,PUSH-EEEE,PUSH,Ethereum Push Notification Service,0xf418588522d5dd018b425E472991E52EBBeEEEEE,18.0 -641.0,$FLUFFY-4c31,$FLUFFY,FLUFFY TOKEN,0xc2a2E9B87b37938D934Fd51CfEC0C5Fd5cB14c31,18.0 -642.0,ibETH-9c7A,ibETH,Interest Bearing ETH,0x67B66C99D3Eb37Fa76Aa3Ed1ff33E8e39F0b9c7A,18.0 -643.0,GEN-Addf,GEN,DAOstack,0x543Ff227F64Aa17eA132Bf9886cAb5DB55DCAddf,18.0 -644.0,$VXON-67b3,$VXON,VoxNET,0x048Aa6E69D5117BD665aF4128383a6982B8367b3,4.0 -645.0,ETHM-3794,ETHM,Ethereum Meta,0xFD957F21bd95E723645C07C48a2d8ACB8Ffb3794,18.0 -646.0,ITGR-Bc98,ITGR,Integral,0xD502F487e1841Fdc805130e13eae80c61186Bc98,18.0 -647.0,MUNCH-a301,MUNCH,MUNCH Token,0x944eeE930933BE5E23b690c8589021Ec8619a301,9.0 -648.0,BabyFloki-f956,BabyFloki,BabyFloki,0xdF35988d795d90711e785B488Bb2127692e6f956,9.0 -649.0,RBX-3299,RBX,RBX,0x8254e26e453EB5aBd29B3c37AC9E8Da32E5d3299,18.0 -650.0,ZEON-0532,ZEON,ZEON,0xE5B826Ca2Ca02F09c1725e9bd98d9a8874C30532,18.0 -651.0,ALPHA-940B,ALPHA,Alpha,0x138C2F1123cF3f82E4596d097c118eAc6684940B,18.0 -652.0,RAC-a3e9,RAC,RAC,0xc22B30E4cce6b78aaaADae91E44E73593929a3e9,18.0 -653.0,SPROUT-219E,SPROUT,SPROUT,0x9b8e9d523D1D6bC8EB209301c82C7D64D10b219E,18.0 -654.0,PNT-AAeD,PNT,pNetwork Token,0x89Ab32156e46F46D02ade3FEcbe5Fc4243B9AAeD,18.0 -655.0,DGMV-960c,DGMV,DigiMetaverse,0x8EEdEFe828A0f16C8fc80e46a87Bc0f1De2d960c,18.0 -656.0,OXT-3Deb,OXT,Orchid,0x4575f41308EC1483f3d399aa9a2826d74Da13Deb,18.0 -657.0,WISE-5bd6,WISE,Wise Token,0x66a0f676479Cee1d7373f3DC2e2952778BfF5bd6,18.0 -658.0,KFT-b207,KFT,Knit Finance,0xEF53462838000184F35f7D991452e5f25110b207,18.0 -659.0,2CRZ-F3fA,2CRZ,2CrazyToken,0x2C9C19cE3b15ae77C6d80aEc3C1194Cfd6F7F3fA,18.0 -660.0,METADOGE-62eD,METADOGE,Meta Doge,0x8530b66ca3DDf50E0447eae8aD7eA7d5e62762eD,18.0 -661.0,YIELD-db9B,YIELD,Yield Protocol,0xa8B61CfF52564758A204F841E636265bEBC8db9B,18.0 -662.0,٨-91e6,٨,Dentacoin,0x08d32b0da63e2C3bcF8019c9c5d849d7a9d791e6,0.0 -663.0,UMX-bC15,UMX,https://unimex.network/,0x10Be9a8dAe441d276a5027936c3aADEd2d82bC15,18.0 -664.0,PINU-9670,PINU,Piccolo Inu,0x3a1311B8C404629E38f61D566cefEFed083B9670,9.0 -665.0,FYT-8ca7,FYT,Flora Yield Token,0x77F2BE773CA0887ba2b3Ef8344C8CF13C98d8ca7,18.0 -666.0,AWC-13f4,AWC,Atomic Wallet Token,0xaD22f63404f7305e4713CcBd4F296f34770513f4,8.0 -667.0,K9-C3Fc,K9,K9,0x2bD0FB740e403B505A3146F9aC02df883Fd5C3Fc,18.0 -668.0,SHIK-5572,SHIK,SHIKOKU INU,0x24dA31e7BB182cb2cABfEF1d88db19C2AE1f5572,18.0 -669.0,TX-5Fdf,TX,Tradix,0x8954D907520532c1f0d89d42569232Fd0f995Fdf,8.0 -670.0,DNT-04ea,DNT,district0x Network Token,0x0AbdAce70D3790235af448C88547603b945604ea,18.0 -671.0,ELONONE-0aa2,ELONONE,ASTROELON,0x97b65710D03E12775189F0D113202cc1443b0aa2,9.0 -672.0,DNS-d73D,DNS,Dot Names,0x6C5Aa4244113E77414386630B7F963dbE1B4d73D,18.0 -673.0,ZOGI-2A0C,ZOGI,Zogi,0x7e80e4d7d5725499791CF8b17A4586F1f0672A0C,18.0 -674.0,ePING-8E47,ePING,ePING,0xC7B89491Bb148551547837ea6ccB4Bb5144d8E47,9.0 -675.0,PERI-8492,PERI,Peri Finance Token,0x5d30aD9C6374Bf925D0A75454fa327AACf778492,18.0 -676.0,EJS-79C2,EJS,Enjinstarter,0x96610186F3ab8d73EBEe1CF950C750f3B1Fb79C2,18.0 -677.0,KOYO-c9d4,KOYO,Yofune Nushi,0x9dAeF41E08Bc88183572b03796C96a7ace1Ec9d4,18.0 -678.0,REP-E862,REP,Reputation,0x1985365e9f78359a9B6AD760e32412f4a445E862,18.0 -679.0,F9-CC1F,F9,Falcon 9,0x38A94e92A19E970c144DEd0B2DD47278CA11CC1F,9.0 -680.0,CHR-bAA2,CHR,Chroma,0x8A2279d4A90B6fe1C4B30fa660cC9f926797bAA2,6.0 -681.0,YLD-6F48,YLD,Yield,0xF94b5C5651c888d928439aB6514B93944eEE6F48,18.0 -682.0,ANGEL-d5A1,ANGEL,Angel,0x6C7B97c7e09E790D161769a52F155125FAc6d5A1,18.0 -683.0,CPTINU-6971,CPTINU,Captain Inu,0x7Cca2e1c9B0519f52029467914A15E782BF66971,18.0 -684.0,PSWAP-21BB,PSWAP,Polkaswap,0x519C1001D550C0a1DaE7d1fC220f7d14c2A521BB,18.0 -685.0,BOXA-0110,BOXA,BOXA,0x7662c015D845EF487fDe32cb884653bE9c9E0110,9.0 -686.0,MINER-f016,MINER,Meta Miner,0x2B645A57e82123796c3EA7d78DE27c3e3ff7f016,18.0 -687.0,Rhllor-7238,Rhllor,Token of Fire,0x90E2Fa98DfC518317600Dd3DC571DE8D071a7238,9.0 -688.0,FVT-5e32,FVT,Finance.Vote Token,0x45080a6531d671DDFf20DB42f93792a489685e32,18.0 -689.0,DRC-5Ef8,DRC,Dracula Token,0xb78B3320493a4EFaa1028130C5Ba26f0B6085Ef8,18.0 -690.0,BTSG-54A9,BTSG,BitSong,0x05079687D35b93538cbd59fe5596380cae9054A9,18.0 -691.0,ZOOT-926c,ZOOT,Zoo Token,0x1341A2257fa7b770420Ef70616f888056f90926c,9.0 -692.0,CORX-CF97,CORX,CorionX utility token,0x26a604DFFE3ddaB3BEE816097F81d3C4a2A4CF97,8.0 -693.0,CRE-478e,CRE,CarryToken,0x115eC79F1de567eC68B7AE7eDA501b406626478e,18.0 -694.0,VLT-4d11,VLT,Bankroll Vault,0x6b785a0322126826d8226d77e173d75DAfb84d11,18.0 -695.0,STND-999d,STND,Standard,0x9040e237C3bF18347bb00957Dc22167D0f2b999d,18.0 -696.0,FLOKI-6a2E,FLOKI,FLOKI,0xcf0C122c6b73ff809C693DB761e7BaeBe62b6a2E,9.0 -697.0,UBX-09f3,UBX,UBX,0xF5B5eFc906513b4344EbAbCF47A04901f99F09f3,0.0 -698.0,LIT-46B2,LIT,LITION,0x763Fa6806e1acf68130D2D0f0df754C93cC546B2,18.0 -699.0,DODI-7665,DODI,DoubleDice Token,0x4E08F03079c5CD3083eA331Ec61bCC87538B7665,18.0 -700.0,CWS-33e0,CWS,Crowns,0xaC0104Cca91D167873B8601d2e71EB3D4D8c33e0,18.0 -701.0,XTK-AdEB,XTK,xToken,0x7F3EDcdD180Dbe4819Bd98FeE8929b5cEdB3AdEB,18.0 -702.0,NOONE-f0cf,NOONE,No one,0x296233E84c1D7bfF11121BF6D60f0FFA39C3f0cf,9.0 -703.0,PROXY-fF29,PROXY,PROXY,0x82089a9c7c4a07352F7433fBce1D4Ee9a722fF29,9.0 -704.0,ORD-E4Ec,ORD,ordinex,0xBe00734799A67a62Af2819825580318aC1B1E4Ec,18.0 -705.0,ARES-d523,ARES,Ares Protocol,0x358AA737e033F34df7c54306960a38d09AaBd523,18.0 -706.0,MNY-586f,MNY,MoonieNFT Token,0xA6F7645ed967FAF708A614a2fcA8D4790138586f,18.0 -707.0,UPP-f652,UPP,SENTINEL PROTOCOL,0xC86D054809623432210c107af2e3F619DcFbf652,18.0 -708.0,VIDYA-2C30,VIDYA,Vidya,0x3D3D35bb9bEC23b06Ca00fe472b50E7A4c692C30,18.0 -709.0,DXY-E9dB,DXY,DXY.FINANCE,0x39Fa206c1648944f92E8F7B626e1CBdf78d7E9dB,18.0 -710.0,:ZKT:-3966,:ZKT:,ZkTsunami,0x76fcA1adb104770B38581B64d55e67fA5A0f3966,9.0 -711.0,MONGOOSE-f156,MONGOOSE,Mongoose,0xa1817B6d8D890F3943b61648992730373B71f156,9.0 -712.0,PAN-7c44,PAN,Panvala pan,0xD56daC73A4d6766464b38ec6D91eB45Ce7457c44,18.0 -713.0,MCB-Ce42,MCB,MCDEX Token,0x4e352cF164E64ADCBad318C3a1e222E9EBa4Ce42,18.0 -714.0,AGFI-451f,AGFI,Aggregated Finance,0x4D0F56d728c5232ab07fAA0BdcbA23670A35451f,9.0 -715.0,DOKE-A128,DOKE,Doke Inu,0x517ABf1fCDBD76BC75B532683ada9113E313A128,9.0 -716.0,COC-3caf,COC,CocktailBar,0x22B6C31c2bEB8f2d0d5373146Eed41Ab9eDe3caf,8.0 -717.0,RESTAURANTS-D491,RESTAURANTS,Devour Token,0xDffC63f92c939deB112D88735ade3B4D21B6D491,18.0 -718.0,cUSDC-7563,cUSDC,Compound USD Coin,0x39AA39c021dfbaE8faC545936693aC917d5E7563,8.0 -719.0,FAI-87F5,FAI,Fairum Community,0xCda2f16C6Aa895D533506B426AFF827b709c87F5,18.0 -720.0,Skey-D442,Skey,SmartKey,0x06A01a4d579479Dd5D884EBf61A31727A3d8D442,8.0 -721.0,UTK-F99c,UTK,Utrust Token,0xdc9Ac3C20D1ed0B540dF9b1feDC10039Df13F99c,18.0 -722.0,GN-d044,GN,GN,0xc5019E129b75D380d3d837B8e609dEc6c8f5d044,9.0 -723.0,TUSD-b376,TUSD,TrueUSD,0x0000000000085d4780B73119b644AE5ecd22b376,18.0 -724.0,SVX-a13C,SVX,Savix,0xc434b27736A6882D33094d34792999702860a13C,9.0 -725.0,DRCT-07Ca,DRCT,Direct,0x9d561d63375672ABd02119b9Bc4FB90EB9E307Ca,18.0 -726.0,$Dwagon-294a,$Dwagon,Dwagon,0xdf1A2f85F3af80E85d14DdAAB2933C8caA09294a,18.0 -727.0,CUMINU-7536,CUMINU,Cum Inu,0xd6327ce1fb9D6020E8C2c0E124A1eC23DCAb7536,18.0 -728.0,COLLAR-5486,COLLAR,Collar,0x1a16B2B93B37A7EF5cB0A4F978CeD45FE14a5486,18.0 -729.0,LMY-851f,LMY,Lunch Money,0x66fD97a78d8854fEc445cd1C80a07896B0b4851f,18.0 -730.0,EVOAI-c696,EVOAI,EvolveAI,0x6Fbc20483b53CEa47839Bb8e171Abd6D67C3c696,9.0 -731.0,SNS-19DB,SNS,Shibarium Name Service,0xEa4a2327E75252517535fd013b7C6706609819DB,18.0 -732.0,XRT-1cb7,XRT,Robonomics,0x7dE91B204C1C737bcEe6F000AAA6569Cf7061cb7,9.0 -733.0,SUPER-0A55,SUPER,SuperFarm,0xe53EC727dbDEB9E2d5456c3be40cFF031AB40A55,18.0 -734.0,MATH-DD30,MATH,MATH Token,0x08d967bb0134F2d07f7cfb6E246680c53927DD30,18.0 -735.0,METR-03f0,METR,Metria,0x405CE8B2eAeeA7D4Ba5Fc160848cB2A6569e03f0,18.0 -736.0,PARA-EF1E,PARA,ParaWerx,0xD16fd95D949F996e3808EeEa0e3881C59E76EF1E,18.0 -737.0,INUINU-eB5f,INUINU,Inu Inu,0xC6bDb96E29c38DC43f014Eed44dE4106A6A8eB5f,18.0 -738.0,JPYC-cD53,JPYC,JPY Coin,0x2370f9d504c7a6E775bf6E14B3F12846b594cD53,18.0 -739.0,GS-3112,GS,Gen Shards,0xe0B9a2C3E9f40CF74B2C7F591B2b0CCa055c3112,18.0 -740.0,OHMI-533C,OHMI,One Hundred Million Inu,0x4159862bcF6B4393A80550b1ed03DFfa6f90533C,18.0 -741.0,WHALE-38e0,WHALE,WHALE,0x9355372396e3F6daF13359B7b607a3374cc638e0,4.0 -742.0,INJ-ca30,INJ,Injective Token,0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30,18.0 -743.0,CyOp-2f31,CyOp,CyOp | Protocol,0xddaC9C604BA6Bc4ACEc0FBB485B83f390ECF2f31,9.0 -744.0,ABYSS-8DA6,ABYSS,ABYSS,0x0E8d6b471e332F140e7d9dbB99E5E3822F728DA6,18.0 -745.0,$SHIBP-9235,$SHIBP,Shibarium Pad,0xC90906d45046059221e908de5Cc8fcfaCA859235,18.0 -746.0,$EVCoin-6E11,$EVCoin,EverestCoin,0x06fCe0DAB5b26e503E1C4Db48aa165DcaAAa6E11,9.0 -747.0,mUSD-35a5,mUSD,mStable USD,0xe2f2a5C287993345a840Db3B0845fbC70f5935a5,18.0 -748.0,BCDT-62a5,BCDT,Blockchain Certified Data Token,0xAcfa209Fb73bF3Dd5bBfb1101B9Bc999C49062a5,18.0 -749.0,BTE-80Ef,BTE,Betero,0x73B708E84837FFCcDE2933e3A1531fe61D5e80Ef,18.0 -750.0,WLEO-3998,WLEO,Wrapped LEO,0x73A9fb46e228628f8f9BB9004eCa4f4F529D3998,3.0 -751.0,ARTX-7710,ARTX,ARTX Token,0x741b0428Efdf4372A8DF6FB54B018dB5e5aB7710,18.0 -752.0,WOOL-e525,WOOL,WOOL,0x8355DBE8B0e275ABAd27eB843F3eaF3FC855e525,18.0 -753.0,DWEB-285F,DWEB,DecentraWeb,0xE7f58A92476056627f9FdB92286778aBd83b285F,18.0 -754.0,APEFI-278D,APEFI,Ape Finance,0x4332f8A38f14BD3D8D1553aF27D7c7Ac6C27278D,18.0 -755.0,RADAR-DEa8,RADAR,Radar,0xf9FBE825BFB2bF3E387af0Dc18caC8d87F29DEa8,18.0 -756.0,AIDI-d1b8,AIDI,Aidi Inu,0xdA1E53E088023Fe4D1DC5a418581748f52CBd1b8,9.0 -757.0,FROGEX-Def1,FROGEX,FrogeX,0x5fA54fdDF1870C344DbFaBb37dFab8700Ec0Def1,9.0 -758.0,PXT-B262,PXT,Populous XBRL token,0xc14830E53aA344E8c14603A91229A0b925b0B262,8.0 -759.0,BLAST-2Eda,BLAST,SafeBLAST,0x614D7f40701132E25fe6fc17801Fbd34212d2Eda,9.0 -760.0,ZIG-4f01,ZIG,ZigCoin,0xb2617246d0c6c0087f18703d576831899ca94f01,18.0 -761.0,VEMP-6eEC,VEMP,vEmpire Gamer Token,0xcFEB09C3c5F0f78aD72166D55f9e6E9A60e96eEC,18.0 -762.0,MC-E5d6,MC,Merit Circle,0x949D48EcA67b17269629c7194F4b727d4Ef9E5d6,18.0 -763.0,DDDD-48E0,DDDD,People's Punk,0x8cA9a0fbd8DB501F013F2e9e33a1B9dC129A48E0,18.0 -764.0,DG-588D,DG,Decentral Games,0x4b520c812E8430659FC9f12f6d0c39026C83588D,18.0 -765.0,CULT-5A13,CULT,Cult DAO,0xf0f9D895aCa5c8678f706FB8216fa22957685A13,18.0 -766.0,SEFI-B8Ac,SEFI,Secret Finance,0x773258b03c730F84aF10dFcB1BfAa7487558B8Ac,6.0 -767.0,BIGCAP-6181,BIGCAP,BIGCAP,0xE29F1241E6015A4949cb7E3f07234BA794006181,18.0 -768.0,RYOSHI-618e,RYOSHI,Ryoshis Vision,0x777E2ae845272a2F540ebf6a3D03734A5a8f618e,18.0 -769.0,POS32-2aB0,POS32,PoS-32,0x8eb5bD8c9Ab0F8ad28e94693F3c889F490bE2aB0,18.0 -770.0,JIZZ-a352,JIZZ,JizzRocket,0x8b937AF714aC7E2129bD33D93641F52b665Ca352,18.0 -771.0,USHIBA-7c9A,USHIBA,American Shiba,0xB893A8049f250b57eFA8C62D51527a22404D7c9A,9.0 -772.0,PRQ-d7D2,PRQ,Parsiq Token,0x362bc847A3a9637d3af6624EeC853618a43ed7D2,18.0 -773.0,NBNG-8ea2,NBNG,NOBUNAGA,0x9275e8386A5BDdA160c0e621e9A6067b8fd88ea2,18.0 -774.0,LST-4405,LST,Lendroid Support Token,0x4de2573e27E648607B50e1Cfff921A33E4A34405,18.0 -775.0,LDN-a158,LDN,Ludena Protocol,0xb29663Aa4E2e81e425294193616c1B102B70a158,18.0 -776.0,PIE-e842,PIE,DeFiPIE Token,0x607C794cDa77efB21F8848B7910ecf27451Ae842,18.0 -777.0,INUS-8c00,INUS,MultiPlanetary Inus,0x39207D2E2fEEF178FBdA8083914554C59D9f8c00,18.0 -778.0,HVN-2D9D,HVN,Hive Project Token,0xC0Eb85285d83217CD7c891702bcbC0FC401E2D9D,8.0 -779.0,QUAI-5c89,QUAI,QUAI,0x40821CD074dfeCb1524286923bC69315075b5c89,18.0 -780.0,HUSD-87e1,HUSD,HUSD,0xdF574c24545E5FfEcb9a659c229253D4111d87e1,8.0 -781.0,MEVFree-498a,MEVFree,MEVFree,0x1936C91190E901B7dD55229A574AE22B58Ff498a,18.0 -782.0,CORE-23D7,CORE,cVault.finance,0x62359Ed7505Efc61FF1D56fEF82158CcaffA23D7,18.0 -783.0,MOONS-6A56,MOONS,MoonTools.io,0x260e63d91fCCC499606BAe3FE945c4ed1CF56A56,18.0 -784.0,DOMI-f83F,DOMI,Domi,0x45C2F8c9B4c0bDC76200448cc26C48ab6ffef83F,18.0 -785.0,UNDEAD-7947,UNDEAD,Undead Blocks,0x310C8F00b9dE3c31Ab95ea68feb6C877538f7947,18.0 -786.0,KIRO-b137,KIRO,Kirobo,0xB1191F691A355b43542Bea9B8847bc73e7Abb137,18.0 -787.0,KISHIMOTO-1dB5,KISHIMOTO,Kishimoto,0xAE36155a55F04a696b8362777620027882B31dB5,9.0 -788.0,GEEQ-1b78,GEEQ,Geeq,0x6B9f031D718dDed0d681c20cB754F97b3BB81b78,18.0 -789.0,DEV-5b26,DEV,Dev,0x5cAf454Ba92e6F2c929DF14667Ee360eD9fD5b26,18.0 -790.0,BASAN-b2bF,BASAN,BASAN,0x970cf867Ca0530a989f222bE01FdD67C1ab5b2bF,18.0 -791.0,BREED-702e,BREED,BreederDAO,0x94E9EB8b5Ab9fd6B9ea3169D55FFAde62a01702e,18.0 -792.0,MATTER-FEBe,MATTER,Antimatter.Finance Governance Token,0x9B99CcA871Be05119B2012fd4474731dd653FEBe,18.0 -793.0,M87-B462,M87,MESSIER,0x8AF5FedC0f263841C18F31D9DbCC97A47e1aB462,18.0 -794.0,MOETA-a55B,MOETA,Moeta,0x238A1FcC2F65ed50c1e1797cF5857CBA3E82a55B,9.0 -795.0,PRT-2892,PRT,Portion Token,0x6D0F5149c502faf215C89ab306ec3E50b15e2892,18.0 -796.0,UMAD-326f,UMAD,UMAD,0x31c2415c946928e9FD1Af83cdFA38d3eDBD4326f,8.0 -797.0,UNCX-B1D0,UNCX,UniCrypt,0xaDB2437e6F65682B85F814fBc12FeC0508A7B1D0,18.0 -798.0,CATE-136c,CATE,Cash Tech,0xa42F266684ac2aD6ecb00df95b1c76EFbb6f136c,18.0 -799.0,B20-EfD8,B20,B.20,0xc4De189Abf94c57f396bD4c52ab13b954FebEfD8,18.0 -800.0,OGN-Ae26,OGN,OriginToken,0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26,18.0 -801.0,BCMC-93F9,BCMC,Blockchain Monster Coin,0x2BA8349123de45E931a8C8264c332E6e9CF593F9,18.0 -802.0,LCS-dBA8,LCS,LocalCoinSwap Cryptoshare,0xAA19961b6B858D9F18a115f25aa1D98ABc1fdBA8,18.0 -803.0,TERRAFORM-f1E4,TERRAFORM,Terraform DAO,0x9C5673002d854de18e9F6Feb7f9825F88c5bf1E4,18.0 -804.0,Ly-99F2,Ly,Lilly Finance,0x8686525d6627A25C68De82c228448f43c97999F2,9.0 -805.0,UST-1acD,UST,Wrapped UST Token,0xa47c8bf37f92aBed4A126BDA807A7b7498661acD,18.0 -806.0,LIEN-557E,LIEN,lien,0xaB37e1358b639Fd877f015027Bb62d3ddAa7557E,8.0 -807.0,SHKOOBY-11fb,SHKOOBY,SHKOOBY INU,0x29A5c1Db7321C5c9EaE57F9366eE8eef00cA11fb,18.0 -808.0,LON-c952,LON,Tokenlon,0x0000000000095413afC295d19EDeb1Ad7B71c952,18.0 -809.0,OKB-a86c,OKB,OKB,0x75231F58b43240C9718Dd58B4967c5114342a86c,18.0 -810.0,APY-6611,APY,APY Governance Token,0x95a4492F028aa1fd432Ea71146b433E7B4446611,18.0 -811.0,CIV-361d,CIV,Civilization,0x37fE0f067FA808fFBDd12891C0858532CFE7361d,18.0 -812.0,0NE-f4C2,0NE,Stone,0x73A83269b9bbAFC427E76Be0A2C1a1db2a26f4C2,18.0 -813.0,YAXIS-FE73,YAXIS,yAxis V2,0x0adA190c81b814548ddC2F6AdC4a689ce7C1FE73,18.0 -814.0,TOMOE-FaBa,TOMOE,TomoChain,0x05D3606d5c81EB9b7B18530995eC9B29da05FaBa,18.0 -815.0,MANDOX-86B6,MANDOX,Mandox,0x33D203FA03bb30b133De0fE2d6533C268bA286B6,9.0 -816.0,Kabosu Inu-0E55,Kabosu Inu,Kabosu Inu,0xD34A2051aC17BDD44D76AA84EA7Fcf8419130E55,18.0 -817.0,PPBLZ-97b8,PPBLZ,Pepemon,0x4D2eE5DAe46C86DA2FF521F7657dad98834f97b8,18.0 -818.0,RBXSamurai-c647,RBXSamurai,RBXS,0xA9639160481b625ba43677bE753E0A70bf58c647,18.0 -819.0,QUIDD-7c07,QUIDD,QUIDD,0xDA9FDAb21bC4A5811134A6E0Ba6CA06624e67c07,18.0 -820.0,KRL-DAC0,KRL,Kryll,0x464eBE77c293E473B48cFe96dDCf88fcF7bFDAC0,18.0 -821.0,OJA-291A,OJA,Ojamu Token,0x0aA7eFE4945Db24d95cA6E117BBa65Ed326e291A,18.0 -822.0,BAO-61C1,BAO,BaoToken,0x374CB8C27130E2c9E04F44303f3c8351B9De61C1,18.0 -823.0,ISP-9014,ISP,Ispolink Token,0xC8807f0f5BA3fa45FfBdc66928d71c5289249014,18.0 -824.0,DHT-Fa84,DHT,dHedge DAO Token,0xca1207647Ff814039530D7d35df0e1Dd2e91Fa84,18.0 -825.0,MUST-288f,MUST,Must,0x9C78EE466D6Cb57A4d01Fd887D2b5dFb2D46288f,18.0 -826.0,Dione-D697,Dione,Dione,0x89B69F2d1adffA9A253d40840B6Baa7fC903D697,9.0 -827.0,CITADEL-C1BB,CITADEL,The Citadel,0x6caDf6ABBCeb53e631C288778DAAcF125481C1BB,18.0 -828.0,TWT-F5cF,TWT,TwitFi Token,0xd4Df22556e07148e591B4c7b4f555a17188CF5cF,9.0 -829.0,BANK-A198,BANK,Bankless Token,0x2d94AA3e47d9D5024503Ca8491fcE9A2fB4DA198,18.0 -830.0,SYNC-FD32,SYNC,SYNC,0xB6ff96B8A8d214544Ca0dBc9B33f7AD6503eFD32,18.0 -831.0,MOPS-D967,MOPS,Mops,0x602f65BB8B8098Ad804E99DB6760Fd36208cD967,18.0 -832.0,NPXS-e5B3,NPXS,Pundi X Token,0xA15C7Ebe1f07CaF6bFF097D8a589fb8AC49Ae5B3,18.0 -833.0,MOOV-56a7,MOOV,dotmoovs,0x24EC2Ca132abf8F6f8a6E24A1B97943e31f256a7,18.0 -834.0,DHV-4b2A,DHV,DeHive.finance,0x62Dc4817588d53a056cBbD18231d91ffCcd34b2A,18.0 -835.0,RGT-C623,RGT,Rari Governance Token,0xD291E7a03283640FDc51b121aC401383A46cC623,18.0 -836.0,SLP-Aa25,SLP,Smooth Love Potion,0xCC8Fa225D80b9c7D42F96e9570156c65D6cAAa25,0.0 -837.0,POOF-f57A,POOF,Poof Token,0x888ceA2BBDD5D47a4032cf63668D7525C74af57A,18.0 -838.0,ONG-4dAe,ONG,onG,0xd341d1680Eeee3255b8C4c75bCCE7EB57f144dAe,18.0 -839.0,ARNC-8EE4,ARNC,Arnoya classic,0x7495e5Cc8F27e0bd5bD4cb86d17F0D841cA58EE4,18.0 -840.0,TKP-AcaC,TKP,TOKPIE,0xd31695a1d35E489252CE57b129FD4b1B05E6AcaC,18.0 -841.0,PRARE-C796,PRARE,PolkaRareToken,0x2C2f7e7C5604D162d75641256b80F1Bf6f4dC796,18.0 -842.0,AUTH-bD80,AUTH,Authencity.,0x0107C4aAa31940eF88760aCb1F32424CA8d8bD80,8.0 -843.0,Shiryo-Inu-8F02,Shiryo-Inu,Shiryo-Inu,0x1E2F15302B90EddE696593607b6bD444B64e8F02,9.0 -844.0,CPU-6626,CPU,CPUcoin,0x6D52DfeFb16BB9Cdc78bfCA09061e44574886626,18.0 -845.0,ROKO-FF98,ROKO,ROKO,0x6f222E04F6c53Cc688FfB0Abe7206aAc66A8FF98,18.0 -846.0,LEND-ab03,LEND,EthLend Token,0x80fB784B7eD66730e8b1DBd9820aFD29931aab03,18.0 -847.0,POCHI-4d90,POCHI,Pochi Inu,0x8eB1779A32678452eB273A22d413207299904d90,18.0 -848.0,PP-010B,PP,Pension Plan,0xf14b9ADF84812bA463799357f4dc716b4384010B,8.0 -849.0,CCv2-8F11,CCv2,CryptoCart V2,0x612E1726435fE38dD49A0B35b4065B56f49c8F11,18.0 -850.0,CUT-Ab9e,CUT,Ctrl-X,0x135783B60cf5d71DAFF7a377f9eb7dB8D2dEAb9e,18.0 -851.0,CURRY-de77,CURRY,CURRYSWAP,0xc2D3AE29c8309c14994D02Ecd228cf86f3Efde77,18.0 -852.0,HAKA-2210,HAKA,TribeOne,0xD85AD783cc94bd04196a13DC042A3054a9B52210,18.0 -853.0,NRG-2069,NRG,Energi,0x1416946162B1C2c871A73B07E932D2fB6C932069,18.0 -854.0,XEND-4903,XEND,XEND,0xE4CFE9eAa8Cdb0942A80B7bC68fD8Ab0F6D44903,18.0 -855.0,UNO-1A77,UNO,UnoRe,0x474021845C4643113458ea4414bdb7fB74A01A77,18.0 -856.0,BAG-5726,BAG,tehBag,0x235C8EE913d93c68D2902a8e0b5a643755705726,18.0 -857.0,KUMA-3E02,KUMA,Kuma Inu,0x48C276e8d03813224bb1e55F953adB6d02FD3E02,18.0 -858.0,SAUDISHIB-e23d,SAUDISHIB,SAUDI SHIBA INU,0x34d31446a522252270b89b09016296ec4c98e23d,8.0 -859.0,DELREY-28dd,DELREY,Delrey Inu,0xfca89d55A768375Ab7cA04485A35a964BEA828dd,18.0 -860.0,SEEN-Fd33,SEEN,seen.haus,0xCa3FE04C7Ee111F0bbb02C328c699226aCf9Fd33,18.0 -861.0,SHOE-32c9,SHOE,ShoeFy,0x0fD67B4ceb9b607Ef206904eC73459c4880132c9,18.0 -862.0,HACHI-ccFe,HACHI,HACHI,0x2a7e415C169cE3a580c6F374Dc26f6Aaad1EccFe,18.0 -863.0,VOICE-C6A9,VOICE,Voice Token,0x2e2364966267B5D7D2cE6CD9A9B5bD19d9C7C6A9,18.0 -864.0,BFT-326f,BFT,BF Token,0x01fF50f8b7f74E4f00580d9596cd3D0d6d6E326f,18.0 -865.0,FUND-996b,FUND,Teh Fund,0x7d8d7c26179b7A6aebbF66A91C38ED92d5B4996b,18.0 -866.0,BONDLY-68c9,BONDLY,Bondly,0x91dFbEE3965baAEE32784c2d546B7a0C62F268c9,18.0 -867.0,SHIL-fCe1,SHIL,Shila Inu,0x20c3fa331A385b63EE39137e99d0cF2db142fCe1,18.0 -868.0,BLXM-1a08,BLXM,bloXmove Token,0x38d9eb07A7b8Df7D86F440A4A5c4a4c1a27E1a08,18.0 -869.0,COIN-a850,COIN,Coin Utility Token,0xE61fDAF474Fac07063f2234Fb9e60C1163Cfa850,18.0 -870.0,COLL-0eF3,COLL,Collateral,0x957891C11616D3E0B0A76a76fb42724C382E0eF3,18.0 -871.0,SHAKE-6189,SHAKE,SHAKE token by SpaceSwap v2,0x6006FC2a849fEdABa8330ce36F5133DE01F96189,18.0 -872.0,K21-04AF,K21,k21.kanon.art,0xB9d99C33eA2d86EC5eC6b8A4dD816EBBA64404AF,18.0 -873.0,KEANU-c952,KEANU,Keanu Inu,0x106552C11272420aAd5d7e94f8AcAb9095A6c952,9.0 -874.0,sETH-31cb,sETH,Synth sETH,0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb,18.0 -875.0,PHTK-Ae7b,PHTK,PhunToken,0x1FEE5588cb1De19c70B6aD5399152D8C643FAe7b,18.0 -876.0,LCX-fe41,LCX,LCX,0x037A54AaB062628C9Bbae1FDB1583c195585fe41,18.0 -877.0,SHIN-660b,SHIN,Shinsekai,0xa27A6FA698a63f82e559914c11C6Cd888060660b,18.0 -878.0,CMOS-2a8e,CMOS,CoinMerge OS,0x87869A9789291A6cEC99f3c3Ef2fF71fcEb12a8e,9.0 -879.0,DINGO-4614,DINGO,Dingo Token,0x1f961BCEAEF8eDF6fb2797C0293FfBDe3E994614,9.0 -880.0,IMP-6FE2,IMP,Imperial Obelisk,0x42A0D24Cb5c423EAAF926cE3984aAfF0C4ff6FE2,9.0 -881.0,LUFFY-EBd7,LUFFY,LUFFY,0x54012cDF4119DE84218F7EB90eEB87e25aE6EBd7,9.0 -882.0,BULK-9593,BULK,Bulk Token,0xa143ac515dCA260A46C742C7251eF3B268639593,18.0 -883.0,PAYT-e2E2,PAYT,PayAccept,0x8EF47555856f6Ce2E0cd7C36AeF4FAb317d2e2E2,18.0 -884.0,LOCK-9EE9,LOCK,LiquidLock,0xb48EE8F8FA3885Fc08831ff366ec8df608159EE9,18.0 -885.0,PIP-8707,PIP,Pi-Protocol,0x37613D64258c0FE09d5E53EeCb091DA5b8fA8707,18.0 -886.0,NUME-F1C3,NUME,NumisMe Token,0x34769D3e122C93547836AdDD3eb298035D68F1C3,18.0 -887.0,ZCX-8804,ZCX,ZEN Exchange Token,0xC52C326331E9Ce41F04484d3B5E5648158028804,18.0 -888.0,VISION-3996,VISION,Vision Token,0xF406F7A9046793267bc276908778B29563323996,18.0 -889.0,GenBlok-82A8,GenBlok,The Genesis Block,0x83C141Ee88c502cB9654DE93598e9F16555082A8,9.0 -890.0,wPE-881b,wPE,OPES Finance,0xd075e95423C5c4BA1E122CaE0f4CdFA19b82881b,18.0 -891.0,API3-B88a,API3,API3,0x0b38210ea11411557c13457D4dA7dC6ea731B88a,18.0 -892.0,GVT-2a0c,GVT,Gro Vault Token,0x3ADb04E127b9C0a5D36094125669d4603AC52a0c,18.0 -893.0,EXRN-6e75,EXRN,EXRP Network,0xe469c4473af82217B30CF17b10BcDb6C8c796e75,0.0 -894.0,FRY-bE69,FRY,Foundry Logistics Token,0x6c972b70c533E2E045F333Ee28b9fFb8D717bE69,18.0 -895.0,ETHY-08B5,ETHY,Ethereum Yield,0xd1AFBCCC9A2c2187ea544363B986EA0AB6EF08B5,18.0 -896.0,cBSN-B25B,cBSN,BSNcommunitynet,0x7d4B1d793239707445305D8d2456D2c735F6B25B,18.0 -897.0,NEKO-341F,NEKO,MANEKI-NEKO,0x1E9D0bB190Ac34492aa11B80D28c1C86487a341F,18.0 -898.0,VFY-e922,VFY,Venify,0x00DD5Ad8F5d9c5118BcEeb526c55eA6b2C07e922,18.0 -899.0,EGT-3170,EGT,ElonGoat,0x450E7F6e3a2f247A51b98C39297a9a5BfbDb3170,9.0 -900.0,VERA-e468,VERA,Vera,0xd7f0cC50AD69408aE58be033F4f85D2367C2e468,18.0 -901.0,BFC-Ab9c,BFC,Bifrost,0x0c7D5ae016f806603CB1782bEa29AC69471CAb9c,18.0 -902.0,YFII-aB83,YFII,YFII.finance,0xa1d0E215a23d7030842FC67cE582a6aFa3CCaB83,18.0 -903.0,TEL-790F,TEL,Telcoin,0x467Bccd9d29f223BcE8043b84E8C8B282827790F,2.0 -904.0,SFG-90dd,SFG,SafeGrow,0xA71DCaaf5ba390B1B2012323A8810fAc121F90dd,18.0 -905.0,KDOE-82C5,KDOE,Kudoe,0x5f190F9082878cA141F858c1c90B4C59fe2782C5,18.0 -906.0,PIXIA-69Ae,PIXIA,PixiaAI,0x67675239Fa58c84e75f947c14f566842Dccb69Ae,18.0 -907.0,POLI-6Db9,POLI,Polinate,0xa1a36D3537bBe375Cc9694795F663DDC8D516Db9,18.0 -908.0,SOMEE-1447,SOMEE,SoMee.Social,0x65F9A292f1AEED5D755Aa2fD2Fb17AB2E9431447,18.0 -909.0,BSL-53Ac,BSL,BankSocial,0x0AF55d5fF28A3269d69B98680Fd034f115dd53Ac,8.0 -910.0,SpillWays-7b47,SpillWays,SpillWays,0x8790f2fc7Ca2e7Db841307FB3f4e72a03Baf7b47,18.0 -911.0,DGCL-B851,DGCL,DigiCol Token,0x63B8b7d4A3EFD0735c4BFFBD95B332a55e4eB851,18.0 -912.0,IMPACTXP-49aE,IMPACTXP,ImpactXP,0xb12494C8824fc069757F47d177E666c571Cd49aE,9.0 -913.0,NFTI-7F4C,NFTI,NFT INDEX,0xe5feeaC09D36B18b3FA757E5Cf3F8dA6B8e27F4C,18.0 -914.0,BUSY-3f4a,BUSY,Busy,0x5CB3ce6D081fB00d5f6677d196f2d70010EA3f4a,18.0 -915.0,COTI-55c5,COTI,COTI Token,0xDDB3422497E61e13543BeA06989C0789117555c5,18.0 -916.0,pBTC-733b,pBTC,pTokens BTC,0x5228a22e72ccC52d415EcFd199F99D0665E7733b,18.0 -917.0,DSD-8658,DSD,DeFi Nation Signals DAO,0x1e3a2446C729D34373B87FD2C9CBb39A93198658,18.0 -918.0,AURA-3DBF,AURA,Aura,0xC0c293ce456fF0ED870ADd98a0828Dd4d2903DBF,18.0 -919.0,TRL-Ec41,TRL,Triall,0x58f9102bF53Cf186682Bd9a281d3Cd3c616eEc41,18.0 -920.0,TVK-3988,TVK,Terra Virtua Kolect,0xd084B83C305daFD76AE3E1b4E1F1fe2eCcCb3988,18.0 -921.0,X7105-D105,X7105,X7105,0x7105FAA4a26eD1c67B8B2b41BEc98F06Ee21D105,18.0 -922.0,LGB-1288,LGB,Let's Go Brandon,0x21E783bcf445B515957A10E992aD3c8E9FF51288,18.0 -923.0,ETHV-24d6,ETHV,Ethverse Token,0xEeEeeeeEe2aF8D0e1940679860398308e0eF24d6,18.0 -924.0,SHUSKY-3a75,SHUSKY,Siberian Husky,0x236d53148F83706C3d670064809577385f923a75,9.0 -925.0,JRT-343A,JRT,Jarvis Reward Token,0x8A9C67fee641579dEbA04928c4BC45F66e26343A,18.0 -926.0,ADAPAD-0289,ADAPAD,ADAPAD.io,0xDB0170e2d0c1CC1b2E7a90313d9B9afA4f250289,18.0 -927.0,CIMO-667a,CIMO,Cinnamoon,0xC3f65b1c45B0D42a472CD0Fbd37dD6678AEf667a,9.0 -928.0,TROVE-E114,TROVE,Trove DAO,0x59c6900949aD1835f07a04321f4d9934a054E114,18.0 -929.0,PP-9483,PP,PP,0xeCe8531550Fc599ccB2c7734494FBc358d0a9483,18.0 -930.0,MAGE-2B15,MAGE,MetaBrands,0xd52AAE39a2b5CC7812F7B9450EBB61DfEf702B15,18.0 -931.0,BEPRO-d36A,BEPRO,BetProtocolToken,0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A,18.0 -932.0,ALN-5748,ALN,Aluna,0x8185Bc4757572Da2a610f887561c32298f1A5748,18.0 -933.0,MYOBU-Fb07,MYOBU,Myōbu,0xDfDd3459D4F87234751696840092ee20C970Fb07,9.0 -934.0,DDIM-8E20,DDIM,DuckDaoDime,0xFbEEa1C75E4c4465CB2FCCc9c6d6afe984558E20,18.0 -935.0,ZEE-d4c5,ZEE,ZeroSwapToken,0x2eDf094dB69d6Dcd487f1B3dB9febE2eeC0dd4c5,18.0 -936.0,eYe-2E89,eYe,eYe on Ethereum,0x9A257C90Fa239fBA07771ef7da2d554D148c2E89,18.0 -937.0,DOGEZ-8617,DOGEZ,Dogezilla,0x4D8046B2f7986FEB5a4b0781EbF5Fa2D7a808617,18.0 -938.0,ECC-Ac55,ECC,Empire Capital,0xC84D8d03aA41EF941721A4D77b24bB44D7C7Ac55,9.0 -939.0,CHEDDA-837D,CHEDDA,Chedda Token,0x16756EC1DEb89A2106C35E0B586a799D0A61837D,18.0 -940.0,Pacha-0d4E,Pacha,Kay Pacha,0x2Dd1B9410c73E16b60240E529e38E30425F00d4E,10.0 -941.0,CGT-EAA0,CGT,CACHE Gold,0xF5238462E7235c7B62811567E63Dd17d12C2EAA0,8.0 -942.0,VST-472C,VST,VentiSwap Token,0xb7C2fcD6d7922eddd2A7A9B0524074A60D5b472C,18.0 -943.0,GAINS-5Ce9,GAINS,Gains,0xd9b312D77Bc7BEd9B9CecB56636300bED4Fe5Ce9,18.0 -944.0,WHITE-0fe1,WHITE,White Ethereum,0xFe4BEb9217cdDf2422d4bd65449b76d807b30fe1,9.0 -945.0,AIPAD-8AAf,AIPAD,AIPAD.tech,0xE55d97A97ae6A17706ee281486E98A84095d8AAf,18.0 -946.0,YDF-E66a,YDF,Yieldification,0x30dcBa0405004cF124045793E1933C798Af9E66a,18.0 -947.0,CHADS-5c5E,CHADS,chads.vc,0x69692D3345010a207b759a7D1af6fc7F38b35c5E,18.0 -948.0,BXX-7898,BXX,Baanx,0x6b1a8f210Ec6b7B6643cea3583Fb0c079f367898,18.0 -949.0,BOMB-6714,BOMB,BOMB,0x1C95b093d6C236d3EF7c796fE33f9CC6b8606714,0.0 -950.0,SHAMAN-FA5a,SHAMAN,Shaman,0x5fCe9Fc9B5d62aF082A59D0823A062F7529eFA5a,18.0 -951.0,FOAM-C121,FOAM,FOAM Token,0x4946Fcea7C692606e8908002e55A582af44AC121,18.0 -952.0,DOGS-ba21,DOGS,Dogcoin,0xBcCD27062ae1A2BeA5731c904b96EDfb163Aba21,9.0 -953.0,UBT-ee5e,UBT,UniBright,0x8400D94A5cb0fa0D041a3788e395285d61c9ee5e,8.0 -954.0,ICNQ-390A,ICNQ,Iconiq Lab Token,0xB3e2Cb7CccfE139f8FF84013823Bf22dA6B6390A,18.0 -955.0,ADEL-A182,ADEL,Akropolis Delphi,0x94d863173EE77439E4292284fF13fAD54b3BA182,18.0 -956.0,CMS-4F82,CMS,CryptoMoonShots,0x1f22AD99C334e6689bAe751CC225bCC38fe54F82,18.0 -957.0,SDG-9a01,SDG,SyncDAO Governance,0xCF8829AE9384540c886A151fac3a865794cB9a01,18.0 -958.0,ORAO-d035,ORAO,ORAO Network,0xEE1CeA7665bA7aa97e982EdeaeCb26B59a04d035,18.0 -959.0,TORA-7670,TORA,Tora Inu,0x7a3f7F6675514D4d611b442A4B76752f6AB77670,18.0 -960.0,POWER-E509,POWER,UniPower,0xF2f9A7e93f845b3ce154EfbeB64fB9346FCCE509,18.0 -961.0,OFI-97dC,OFI,Ordinals Finance,0x419E35E3515c2fDB652C898bF7A0B21FB20497dC,9.0 -962.0,INSTAR-DAF3,INSTAR,INSTAR,0x8193711b2763Bc7DfD67Da0d6C8c26642eafDAF3,4.0 -963.0,MTAO-0f71,MTAO,MEME TAO,0x1E8E29CA51363D923725aB9DaC73Bd7e9C440f71,9.0 -964.0,OPTIG-F44b,OPTIG,Catgirl Optimus,0xD5DF655087d99B7B720A5bc8711F296180A4F44b,18.0 -965.0,POM-e7E4,POM,Pomeranian,0x24ffe459F51ea20C5d8ad49843529fc33654e7E4,9.0 -966.0,MIR-E608,MIR,Wrapped MIR Token,0x09a3EcAFa817268f77BE1283176B946C4ff2E608,18.0 -967.0,COLI-8437,COLI,Coliquidity Token,0xd49EFA7BC0D339D74f487959C573d518BA3F8437,18.0 -968.0,CRNO-ca8E,CRNO,Chronoly,0xE23311294467654E0CaB14cD32A169A41be5ca8E,18.0 -969.0,SANI-342F,SANI,Sanin Inu,0x4521C9aD6A3D4230803aB752Ed238BE11F8B342F,18.0 -970.0,Dogefather-8c06,Dogefather,Dogefather,0x73C61dD9E121dE834A4f3ed607263EE33b308c06,9.0 -971.0,METRIC-14AC,METRIC,Metric.exchange,0xEfc1C73A3D8728Dc4Cf2A18ac5705FE93E5914AC,18.0 -972.0,COMFI-F1e4,COMFI,CompliFi,0x752Efadc0a7E05ad1BCCcDA22c141D01a75EF1e4,18.0 -973.0,4SHIBA-984d,4SHIBA,FOREVER SHIBA,0xB04bf60E468743418E87291d7c9301a5299d984d,18.0 -974.0,TRDG-68b5,TRDG,Tardigrades.Finance,0x92a42Db88Ed0F02c71D439e55962Ca7CAB0168b5,9.0 -975.0,DVD-9582,DVD,DAOventuresDeFi,0x77dcE26c03a9B833fc2D7C31C22Da4f42e9d9582,18.0 -976.0,HAUS-f687,HAUS,DAOhaus Token,0xf2051511B9b121394FA75B8F7d4E7424337af687,18.0 -977.0,CAW-e452,CAW,A Hunters Dream,0xf3b9569F82B18aEf890De263B84189bd33EBe452,18.0 -978.0,MARSH-cF37,MARSH,UnmarshalToken,0x5a666c7d92E5fA7Edcb6390E4efD6d0CDd69cF37,18.0 -979.0,MX-7f36,MX,MX Token,0x11eeF04c884E24d9B7B4760e7476D06ddF797f36,18.0 -980.0,MARVIN-8C8a,MARVIN,Marvin Inu,0xcAa9Ed6D7502595B555113D4517668aE24038C8a,18.0 -981.0,FWB-99A8,FWB,Friends With Benefits Pro,0x35bD01FC9d6D5D81CA9E055Db88Dc49aa2c699A8,18.0 -982.0,TICKR-0d24,TICKR,Tickr,0xf0a163a26601D9dc8Aef26b388Eadb7B1c620d24,9.0 -983.0,FNT-9D59,FNT,Falcon,0xDc5864eDe28BD4405aa04d93E05A0531797D9D59,6.0 -984.0,MILK2-c1de,MILK2,MilkyWay Token by SpaceSwap v2,0x80c8C3dCfB854f9542567c8Dac3f44D709eBc1de,18.0 -985.0,H-d17a,H,H,0xc6956b78e036b87Ba2aB9810BF081eb76EEDd17a,18.0 -986.0,TIME-A260,TIME,ChronoTech Token,0x485d17A6f1B8780392d53D64751824253011A260,8.0 -987.0,SLM-686e,SLM,SolomonDefi,0x07a0AD7a9dfc3854466F8F29A173bf04bbA5686e,18.0 -988.0,CCX-8B59,CCX,ClearCryptos,0x1D6405138A335cE5FD7364086334EfB3E4F28B59,18.0 -989.0,USHI-ec55,USHI,Ushi,0x6Dca182ac5E3f99985bC4Ee0f726d6472aB1ec55,18.0 -990.0,BT-Ca3a,BT,BT.Finance,0x76c5449F4950f6338A393F53CdA8b53B0cd3Ca3a,18.0 -991.0,FOLO-122a,FOLO,Follow,0xB2a63A5Dd36C91eC2DA59B188ff047F66fac122a,18.0 -992.0,ROOT-570E,ROOT,RootKit,0xCb5f72d37685C3D5aD0bB5F982443BC8FcdF570E,18.0 -993.0,LPOOL-Df5B,LPOOL,Launchpool token,0x6149C26Cd2f7b5CCdb32029aF817123F6E37Df5B,18.0 -994.0,KIMCHI-eDa0,KIMCHI,KIMCHI.finance,0x1E18821E69B9FAA8e6e75DFFe54E7E25754beDa0,18.0 -995.0,HELLSING-6EAD,HELLSING,Hellsing Inu,0xB087C2180e3134Db396977065817aed91FEa6EAD,9.0 -996.0,CUBE-39f4,CUBE,Somnium Space Cubes,0xDf801468a808a32656D2eD2D2d80B72A129739f4,8.0 -997.0,YFL-c0be,YFL,YFLink,0x28cb7e841ee97947a86B06fA4090C8451f64c0be,18.0 -998.0,ETHIX-0D3e,ETHIX,Ethix,0xFd09911130e6930Bf87F2B0554c44F400bD80D3e,18.0 -999.0,CIA-817d,CIA,CIA,0x52F4D5EE6c91e01Be67CA1F64b11eD0EE370817d,9.0 -1000.0,NODE-0DA0,NODE,DAppNode DAO Token,0xDa007777D86AC6d989cC9f79A73261b3fC5e0DA0,18.0 -1001.0,REPv2-C9bB,REPv2,Reputation,0x221657776846890989a759BA2973e427DfF5C9bB,18.0 -1002.0,ODDZ-5Bf6,ODDZ,OddzToken,0xCd2828fc4D8E8a0eDe91bB38CF64B1a81De65Bf6,18.0 -1003.0,MCHC-ECC3,MCHC,MCHCoin,0xD69F306549e9d96f183B1AecA30B8f4353c2ECC3,18.0 -1004.0,HAKKA-3bcd,HAKKA,Hakka Finance,0x0E29e5AbbB5FD88e28b2d355774e73BD47dE3bcd,18.0 -1005.0,PLANB-499B,PLANB,PlanB DAO,0xe77f82f288A6a7EB4Ac295a86FccB1F6D240499B,18.0 -1006.0,CVR-e6c6,CVR,PolkaCover,0x3C03b4EC9477809072FF9CC9292C9B25d4A8e6c6,18.0 -1007.0,$DOSA-1b8a,$DOSA,Dosa,0xeE2B297408063E0967096bafDCfD1278d5BF1b8a,18.0 -1008.0,IDEX-cfAE,IDEX,IDEX Token,0xB705268213D593B8FD88d3FDEFF93AFF5CbDcfAE,18.0 -1009.0,PMON-D0b2,PMON,Polkamon,0x1796ae0b0fa4862485106a0de9b654eFE301D0b2,18.0 -1010.0,DINGER-fA68,DINGER,Dinger Token,0x9e5BD9D9fAd182ff0A93bA8085b664bcab00fA68,9.0 -1011.0,ISLA-702d,ISLA,Defiville Island Token,0x20a68F9e34076b2dc15ce726d7eEbB83b694702d,18.0 -1012.0,ZEUS-F867,ZEUS,ZEUS,0x6ef460EB3563CfCc73F8147B0A77DAFFeE71F867,18.0 -1013.0,FSW-26DB,FSW,FalconSwap Token,0xfffffffFf15AbF397dA76f1dcc1A1604F45126DB,18.0 -1014.0,RELAX-3001,RELAX,Relaxable,0x801dE502C493aa9d3F9F79A0348fbc00521b3001,18.0 -1015.0,UZUMAKI-9aa3,UZUMAKI,Uzumaki Inu,0xD4c64f0Fe38ecdaF0Baefd7859E18185a73b9aa3,9.0 -1016.0,BCB-eb7e,BCB,Blockchain Bets,0x2d886570A0dA04885bfD6eb48eD8b8ff01A0eb7e,9.0 -1017.0,FINU-Ca1C,FINU,Formula Inu,0x2c022e58C5E3Ee213F06f975fd8a0d3a6fE9Ca1C,18.0 -1018.0,ASKO-8603,ASKO,Askobar Network,0xeEEE2a622330E6d2036691e983DEe87330588603,18.0 -1019.0,HEEL-B366,HEEL,Good Dog,0xf941D3AAbf2EE0F5589E68Ba6047b8329592B366,9.0 -1020.0,INFI-848C,INFI,INFI,0x159751323A9E0415DD3d6D42a1212fe9F4a0848C,18.0 -1021.0,BLT-B82e,BLT,Bloom Token,0x107c4504cd79C5d2696Ea0030a8dD4e92601B82e,18.0 -1022.0,VOLT-C597,VOLT,Volt Inu,0x3F7Aff0EF20AA2E646290DfA4E67611B2220C597,9.0 -1023.0,RWS-7802,RWS,Robonomics Web Services :: V1,0x08AD83D779BDf2BBE1ad9cc0f78aa0D24AB97802,18.0 -1024.0,TORN-116C,TORN,TornadoCash,0x77777FeDdddFfC19Ff86DB637967013e6C6A116C,18.0 -1025.0,KAINET-FC8a,KAINET,KAINET,0xB097Dd6a23175C10eAA45A1F410d7eB4cFDAFC8a,9.0 -1026.0,CTR-d375,CTR,Creator Chain,0x923b83c26B3809d960fF80332Ed00aA46D7Ed375,18.0 -1027.0,BiFi-BA81,BiFi,BiFi,0x2791BfD60D232150Bff86b39B7146c0eaAA2BA81,18.0 -1028.0,Suki-18d5,Suki,Sukiyaki,0xD212046F89680aC9F106B9c63f314cc9808e18d5,18.0 -1029.0,Gorilla Inu-3908,Gorilla Inu,Gorilla Inu | Apes Together Strong,0x68257309fCdfE1e6eDb592DA97aC8215fe583908,9.0 -1030.0,GET-6A1B,GET,GET,0x8a854288a5976036A725879164Ca3e91d30c6A1B,18.0 -1031.0,ALERT-c1fB,ALERT,ALERT,0xaE377ed00DF9b9663B253bE93035EF1CfECBc1fB,9.0 -1032.0,SHIDO-a703,SHIDO,Shido Inu,0x173E552Bf97BBD50b455514ac52991Ef639ba703,9.0 -1033.0,VPP-5e6e,VPP,Virtue Player Points,0x5EeAA2DCb23056F4E8654a349E57eBE5e76b5e6e,18.0 -1034.0,EHIVE-6C75,EHIVE,Ethereum Hive,0x10B506Ae42b5466d548EdC4C02a4CE9828386C75,18.0 -1035.0,KEYFI-9052,KEYFI,KeyFi Token,0xB8647e90C0645152Fccf4d9AbB6B59Eb4AA99052,18.0 -1036.0,WGMI-6f75,WGMI,WGMI,0xE23FaEfcdAAe646527eb86b1C746A25Ae4a36f75,18.0 -1037.0,CRAMER-8ee0,CRAMER,Cramer Coin,0x64Df3aAB3b21cC275bB76c4A581Cf8B726478ee0,18.0 -1038.0,BITT-6D51,BITT,BITTOKEN,0x9F9913853f749b3fE6D6D4e16a1Cc3C1656B6D51,18.0 -1039.0,AZK-1A99,AZK,AnonZK,0x5408245a4D7c685F59cE6D3b8B35916dd6c11A99,18.0 -1040.0,POWER-F093,POWER,Kingmaker,0x0263994554Ec08cc60473dbf8ceE60f9EedbF093,18.0 -1041.0,BIST-093F,BIST,Bistroo Token,0x6e8908cfa881C9f6f2C64d3436E7b80b1bf0093F,18.0 -1042.0,KARMA-951C,KARMA,Karma,0xdfe691F37b6264a90Ff507EB359C45d55037951C,4.0 -1043.0,YETIC-6E6F,YETIC,YetiCoin,0xdF96bDE075d59e9143b325C75aF38e208c986E6F,9.0 -1044.0,PANTO-aA9d,PANTO,PANTOMIME,0x54B8D105aA09342FAD6b352D41a0bAd3E1a9aA9d,18.0 -1045.0,COGE-6806,COGE,Cogecoin,0xC382e04099A435439725BB40647e2B32dC136806,18.0 -1046.0,IMPACTX-2669,IMPACTX,ImpactX,0x5aF6ad286C8Ed6633284f2F135C4716057d52669,9.0 -1047.0,MYST-f361,MYST,Mysterium,0x4Cf89ca06ad997bC732Dc876ed2A7F26a9E7f361,18.0 -1048.0,MR-29Aa,MR,METARUFFY,0xa4Cb3ef5f41a4D89D6FCed22ea8a1C57957629Aa,18.0 -1049.0,X7101-E105,X7101,X7101,0x7101a9392EAc53B01e7c07ca3baCa945A56EE105,18.0 -1050.0,HID-9c9D,HID,Hypersign Identity Token,0xB14eBF566511B9e6002bB286016AB2497B9b9c9D,18.0 -1051.0,RIO-4097,RIO,Realio Network,0xf21661D0D1d76d3ECb8e1B9F1c923DBfffAe4097,18.0 -1052.0,TRIBE-212B,TRIBE,Tribe,0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B,18.0 -1053.0,NeRF-76c5,NeRF,Neural Radiance Field,0xaF8942831F3A096f708b8b31F191B8958Cf176c5,18.0 -1054.0,RDN-c8e6,RDN,Raiden Token,0x255Aa6DF07540Cb5d3d297f0D0D4D84cb52bc8e6,18.0 -1055.0,wOMI-A670,wOMI,Wrapped OMI Token,0x04969cD041C0cafB6AC462Bd65B536A5bDB3A670,18.0 -1056.0,xFUND-7881,xFUND,unification.com/xfund,0x892A6f9dF0147e5f079b0993F486F9acA3c87881,9.0 -1057.0,Z-e491,Z,ZINJA,0x1BE56412c9606E7285280F76A105EBa56996e491,9.0 -1058.0,meh-c981,meh,meh,0xBA98C0FbebC892F5b07a42B0FeBD606913EBc981,18.0 -1059.0,GRUMPY-021b,GRUMPY,Grumpy Cat,0x93B2FfF814FCaEFFB01406e80B4Ecd89Ca6A021b,9.0 -1060.0,LSD-31FF,LSD,LSD Coin,0xfAC77A24E52B463bA9857d6b758ba41aE20e31FF,18.0 -1061.0,PLA-b430,PLA,PlayDapp Token,0x3a4f40631a4f906c2BaD353Ed06De7A5D3fCb430,18.0 -1062.0,LINU-D581,LINU,Luna Inu,0x78132543D8E20D2417d8a07D9ae199D458A0D581,18.0 -1063.0,wMBX-432d,wMBX,wMBX Token,0x71ba91dC68C6a206Db0A6A92B4b1De3f9271432d,18.0 -1064.0,MANDOX-a4a4,MANDOX,MandoX,0xAFbF03181833aB4E8DEc24D708a2a24c2bAaa4a4,9.0 -1065.0,yDAI+yUSDC+yUSDT+yTUSD-06A8,yDAI+yUSDC+yUSDT+yTUSD,Curve.fi yDAI/yUSDC/yUSDT/yTUSD,0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8,18.0 -1066.0,MINDS-c068,MINDS,Minds,0xB26631c6dda06aD89B93C71400D25692de89c068,18.0 -1067.0,X7102-A105,X7102,X7102,0x7102DC82EF61bfB0410B1b1bF8EA74575bf0A105,18.0 -1068.0,X7104-C105,X7104,X7104,0x7104D1f179Cc9cc7fb5c79Be6Da846E3FBC4C105,18.0 -1069.0,TRU-276c,TRU,Truebit,0xf65B5C5104c4faFD4b709d9D60a185eAE063276c,18.0 -1070.0,IM-a936,IM,Internet Money,0x0A58153a0CD1cfaea94cE1f7FdC5D7E679eCa936,18.0 -1071.0,KTLYO-27c8,KTLYO,Katalyo Token,0x24E3794605C84E580EEA4972738D633E8a7127c8,18.0 -1072.0,FRIN-1D15,FRIN,Fringe,0xC9fE6E1C76210bE83DC1B5b20ec7FD010B0b1D15,18.0 -1073.0,KODACHI-fd16,KODACHI,Kodachi Token,0x57c411e9a358e2d2d0a6b058cEDb709175e8fd16,18.0 -1074.0,ziot-796a,ziot,ziot,0xfB22cED41B1267dA411F68c879f4Defd0bD4796a,18.0 -1075.0,XCUR-86bd,XCUR,Curate,0xE1c7E30C42C24582888C758984f6e382096786bd,8.0 -1076.0,TYRANT-ec27,TYRANT,Fable Of The Dragon,0x8EE325AE3E54e83956eF2d5952d3C8Bc1fa6ec27,9.0 -1077.0,NFT-7042,NFT,NFT Protocol,0xcB8d1260F9c92A3A545d409466280fFdD7AF7042,18.0 -1078.0,REM-6B6d,REM,REMME token,0x83984d6142934bb535793A82ADB0a46EF0F66B6d,4.0 -1079.0,SATS-Abf8,SATS,SATOSHIS VISION,0x6C22910c6F75F828B305e57c6a54855D8adeAbf8,9.0 -1080.0,Kusunoki-0308,Kusunoki,Kusunoki Samurai,0x36919a60a2B67B6d2329863093D180d23d5A0308,18.0 -1081.0,WBUY-3ed8,WBUY,Wrapped BUY Token,0x396eC402B42066864C406d1ac3bc86B575003ed8,2.0 -1082.0,RENA-9b76,RENA,Rena,0x56de8BC61346321D4F2211e3aC3c0A7F00dB9b76,18.0 -1083.0,DMOD-18d7,DMOD,Demodyfi Token,0x5f6c5C2fB289dB2228d159C69621215e354218d7,18.0 -1084.0,CAT-7dB3,CAT,Cat Token,0x56015BBE3C01fE05bc30A8a9a9Fd9A88917e7dB3,18.0 -1085.0,Nsure-2114,Nsure,Nsure Network Token,0x20945cA1df56D237fD40036d47E866C7DcCD2114,18.0 -1086.0,rUSD-C8F6,rUSD,Realio Network USD Stablecoin,0xF9A2D7E60a3297E513317AD1d7Ce101CC4C6C8F6,18.0 -1087.0,MFT-7428,MFT,Mainframe Token,0xDF2C7238198Ad8B389666574f2d8bc411A4b7428,18.0 -1088.0,EMPIRE-3665,EMPIRE,Empire Network,0xf124eD9Ec309907808b1FBc6BEdB2a76927B3665,18.0 -1089.0,BETA-dbE2,BETA,Beta Token,0x35F67c1D929E106FDfF8D1A55226AFe15c34dbE2,18.0 -1090.0,CTI-f244,CTI,ClinTex,0x8c18D6a985Ef69744b9d57248a45c0861874f244,18.0 -1091.0,RAID-97C9,RAID,Raider Inu - The AI Raid Leader,0x2022760aCDe82079cbEDa17D3afC67dC1F3D97C9,18.0 -1092.0,PYRO-Cd72,PYRO,PYROmatic,0x1e2D230C7A7F4C679Fb1378F1f51dEDeAe85Cd72,18.0 -1093.0,$NOWAI-7956,$NOWAI,NOWAI,0x987441856BA4f463544FC68ccBF6a80F434a7956,18.0 -1094.0,LIF-6465,LIF,Lif,0x9C38688E5ACB9eD6049c8502650db5Ac8Ef96465,18.0 -1095.0,$ANRX-09E0,$ANRX,AnRKey X,0xCae72A7A0Fd9046cf6b165CA54c9e3a3872109E0,18.0 -1096.0,HANU-BCC0,HANU,Hanu Yokia,0x72E5390EDb7727E3d4e3436451DADafF675dBCC0,12.0 -1097.0,GLCH-D564,GLCH,Glitch,0x038a68FF68c393373eC894015816e33Ad41BD564,18.0 -1098.0,APYS-3615,APYS,APYSwap,0xf7413489c474ca4399eeE604716c72879Eea3615,18.0 -1099.0,SERP-5Eec,SERP,SHIBARIUM PERPETUALS,0xFd414e39155F91E94443a9Fe97E856569d0F5Eec,9.0 -1100.0,TAIL-1e31,TAIL,Tail,0xFeeeef4D7b4Bf3cc8BD012D02D32Ba5fD3D51e31,18.0 -1101.0,ADD-7d56,ADD,ADD,0x635d081fD8F6670135D8a3640E2cF78220787d56,18.0 -1102.0,RAIN-4D57,RAIN,Rainmaker Games,0x71Fc1F555a39E0B698653AB0b475488EC3c34D57,18.0 -1103.0,ADVT-9b72,ADVT,Advantis Token,0x69e37422cB87d963367F73A119C8ce9a4D529b72,9.0 -1104.0,POLK-cfbF,POLK,Polkamarkets,0xD478161C952357F05f0292B56012Cd8457F1cfbF,18.0 -1105.0,CLAW-8cc3,CLAW,Claw,0xe115401B985306837B9f1495c8e9d7f8f8328cc3,18.0 -1106.0,DEC-b9b3,DEC,Decentr,0x30f271C9E86D2B7d00a6376Cd96A1cFBD5F0b9b3,18.0 -1107.0,JAM-5A72,JAM,Geojam,0x23894DC9da6c94ECb439911cAF7d337746575A72,18.0 -1108.0,SPICE-8193,SPICE,SPICE,0x9b6dB7597a74602a5A806E33408e7E2DAFa58193,18.0 -1109.0,Yf-DAI-9577,Yf-DAI,YfDAI.finance,0xf4CD3d3Fda8d7Fd6C5a500203e38640A70Bf9577,18.0 -1110.0,UFARM-af88,UFARM,UNIFARM Token,0x40986a85B4cFCDb054A6CBFB1210194fee51af88,18.0 -1111.0,GAI-78BF,GAI,GeneraitivAI,0x0d8ca4b20b115D4DA5c13DC45Dd582A5de3e78BF,18.0 -1112.0,TUF-c8f1,TUF,TUF Token,0x6f8b23296394d20eC048FbDec8eBc0CA90f5c8f1,18.0 -1113.0,SCIFI-2CB4,SCIFI,ScifiToken,0xfDC4a3FC36df16a78edCAf1B837d3ACAaeDB2CB4,18.0 -1114.0,BART-63Ba,BART,BarterTrade,0x54C9EA2E9C9E8eD865Db4A4ce6711C2a0d5063Ba,18.0 -1115.0,KEK-6a82,KEK,KeKChain,0x67954768E721FAD0f0f21E33e874497C73ED6a82,18.0 -1116.0,ORBS-B0FA,ORBS,Orbs,0xff56Cc6b1E6dEd347aA0B7676C85AB0B3D08B0FA,18.0 -1117.0,ZEFU-1229,ZEFU,Zenfuse Trading Platform Token,0xB1e9157c2Fdcc5a856C8DA8b2d89b6C32b3c1229,18.0 -1118.0,BKING-aF04,BKING,King Arthur,0x1cA02DD95f3F1e33DA7F5AfE15EA866dAb07aF04,9.0 -1119.0,WallStreetInu-eA26,WallStreetInu,Wall Street Inu,0xd68Cb7a643079311B8645ED90F2D5267CfA6eA26,9.0 -1120.0,BAKT-1C0B,BAKT,BACKED,0x8379f52d09b9998eCbA731288EE4fE532fD91C0B,18.0 -1121.0,ALCAZAR-9bFe,ALCAZAR,Alcazar,0x10f44a834097469AC340592d28c479c442E99bFe,18.0 -1122.0,THE-2861,THE,The Protocol,0x0cbA60Ca5eF4D42f92A5070A8fEDD13BE93E2861,18.0 -1123.0,wBIND-0115,wBIND,Wrapped BIND,0x15334DCb171e8b65D6650321581dcA83bE870115,8.0 -1124.0,STACK-0Ba4,STACK,StackOS,0x56A86d648c435DC707c8405B78e2Ae8eB4E60Ba4,18.0 -1125.0,VIBE-Dfba,VIBE,Vibe Coin,0xe8Ff5C9c75dEb346acAc493C463C8950Be03Dfba,18.0 -1126.0,FLOKI-827c,FLOKI,Floki Musk,0x67Cc621AB2d086a101Cff3340df0A065Ac75827c,18.0 -1127.0,BRO-8771,BRO,BRO Token,0x1C84656Cb4c286DaA16f27D8B305F1053B5a8771,18.0 -1128.0,α-69f5,α,.alpha,0x48AF7b1c9dac8871C064f62FcEC0d9d6F7c269f5,18.0 -1129.0,LUNCH-e7e0,LUNCH,LunchDao,0x71a28feAEe902966DC8D355e7B8Aa427D421e7e0,18.0 -1130.0,GOVI-6107,GOVI,GOVI,0xeEAA40B28A2d1b0B08f6f97bB1DD4B75316c6107,18.0 -1131.0,ACAP-6A41,ACAP,Alpha Capital,0xd5A98E77d1fEB091344096301Ea336a5C07a6A41,18.0 -1132.0,BNS-E07C,BNS,BNS Token,0x695106Ad73f506f9D0A9650a78019A93149AE07C,8.0 -1133.0,TOWER-7d0B,TOWER,TOWER,0x1C9922314ED1415c95b9FD453c3818fd41867d0B,18.0 -1134.0,JEJUDOGE-79B9,JEJUDOGE,Jejudoge,0x939A7A577D93ad29B64C1595B1284ce660A479B9,18.0 -1135.0,BDP-480e,BDP,BDPToken,0xf3dcbc6D72a4E1892f7917b7C43b74131Df8480e,18.0 -1136.0,ORAI-c1b5,ORAI,Oraichain Token,0x4c11249814f11b9346808179Cf06e71ac328c1b5,18.0 -1137.0,uDOO-2ffB,uDOO,uDOO,0x12f649A9E821F90BB143089a6e56846945892ffB,18.0 -1138.0,ATRI-FB62,ATRI,AtariToken,0xdacD69347dE42baBfAEcD09dC88958378780FB62,0.0 -1139.0,Coval-76Df,Coval,CircuitsOfValue,0x3D658390460295FB963f54dC0899cfb1c30776Df,8.0 -1140.0,SUZUME-7E43,SUZUME,Shita-Kiri Suzume,0x0B452278223D3954F4AC050949D7998e373e7E43,18.0 -1141.0,QRX-14D8,QRX,QuiverX,0x6e0daDE58D2d89eBBe7aFc384e3E4f15b70b14D8,18.0 -1142.0,WAIT-EDd7,WAIT,HOURGLASS,0x2559813BBb508C4C79e9CCCE4703Bcb1f149EDd7,9.0 -1143.0,HIGH-0282,HIGH,Highstreet token,0x71Ab77b7dbB4fa7e017BC15090b2163221420282,18.0 -1144.0,TOSHI-6BdC,TOSHI,Toshi Tools,0x77a90B04d64189d4D09508612C09219bC6816BdC,9.0 -1145.0,LOOM-3DB0,LOOM,LoomToken,0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0,18.0 -1146.0,UMB-83B2,UMB,Umbrella,0x6fC13EACE26590B80cCCAB1ba5d51890577D83B2,18.0 -1147.0,GEAR-F5a9,GEAR,Bitgear,0x1b980e05943dE3dB3a459C72325338d327B6F5a9,18.0 -1148.0,SUNC-C56F,SUNC,Sunrise Token,0x692aCCdD8b86692427E0aa4752AE917Df01CC56F,18.0 -1149.0,$EARN-D79c,$EARN,EARN,0xA87Ed75C257f1ec38393bEA0A83d55Ac2279D79c,9.0 -1150.0,PAXG-Af78,PAXG,Paxos Gold,0x45804880De22913dAFE09f4980848ECE6EcbAf78,18.0 -1151.0,EQZ-0Bb0,EQZ,Equalizer,0x1Da87b114f35E1DC91F72bF57fc07A768Ad40Bb0,18.0 -1152.0,TYC-658F,TYC,Tycoon Token,0x3A82D3111aB5faF39d847D46023d9090261A658F,18.0 -1153.0,SIG-6517,SIG,xSigma,0x7777777777697cFEECF846A76326dA79CC606517,18.0 -1154.0,$SHARBI-c9a9,$SHARBI,SHARBI,0xF3A3023e6Dede84AD88a656A3269F2A36e83c9a9,9.0 -1155.0,EBOX-15c5,EBOX,ethbox Token,0x33840024177A7DacA3468912363BeD8b425015c5,18.0 -1156.0,XTM-62Fe,XTM,Torum,0xCd1fAFf6e578Fa5cAC469d2418C95671bA1a62Fe,18.0 -1157.0,SKRT-77f6,SKRT,Sekuritance,0x887168120cb89Fb06F3E74Dc4AF20D67dF0977f6,18.0 -1158.0,XLON-9D58,XLON,Xenlon Mars,0x36ff4DaE0E88113D68B1209e245B0e3Af92E9D58,18.0 -1159.0,SHOPX-D848,SHOPX,SPLYT SHOPX,0x7BEF710a5759d197EC0Bf621c3Df802C2D60D848,18.0 -1160.0,WPSL-CC29,WPSL,Wrapped PSL,0xC775C0C30840Cb9F51e21061B054ebf1A00aCC29,5.0 -1161.0,FIS-cC8d,FIS,StaFi,0xef3A930e1FfFFAcd2fc13434aC81bD278B0ecC8d,18.0 -1162.0,DIVI-3a77,DIVI,Divi,0x246908BfF0b1ba6ECaDCF57fb94F6AE2FcD43a77,8.0 -1163.0,SHIBELON-De6d,SHIBELON,ShibElon,0x4c584CD339bdDE73B7F5210486dd8bbeEE3fDe6d,9.0 -1164.0,AAPX-0811,AAPX,AMPnet APX Token,0xbfD815347d024F449886c171f78Fa5B8E6790811,18.0 -1165.0,POLS-D5Aa,POLS,PolkastarterToken,0x83e6f1E41cdd28eAcEB20Cb649155049Fac3D5Aa,18.0 -1166.0,LGCY-8A0d,LGCY,LGCY Network,0xaE697F994Fc5eBC000F8e22EbFfeE04612f98A0d,18.0 -1167.0,COT-4CE8,COT,CosplayToken,0x5CAc718A3AE330d361e39244BF9e67AB17514CE8,18.0 -1168.0,InvectAI-2904,InvectAI,InvectAI,0xCAE7F3aa6D456463bEf0E5B508542b69D96f2904,8.0 -1169.0,SOCKS-91d5,SOCKS,Unisocks Edition 0,0x23B608675a2B2fB1890d3ABBd85c5775c51691d5,18.0 -1170.0,PAR-ee06,PAR,Parachute,0x1BeEF31946fbbb40B877a72E4ae04a8D1A5Cee06,18.0 -1171.0,ARNX-e283,ARNX,Aeron,0x0C37Bcf456bC661C14D596683325623076D7e283,18.0 -1172.0,SNC-0404,SNC,SunContract,0xF4134146AF2d511Dd5EA8cDB1C4AC88C57D60404,18.0 -1173.0,bALPHA-15A6,bALPHA,bAlpha,0x7a5ce6abD131EA6B148a022CB76fc180ae3315A6,18.0 -1174.0,RARE-c7C8,RARE,RARE.UNIQUE,0x93dfaf57D986B9cA77Df9376c50878E013D9c7C8,18.0 -1175.0,BEND-6218,BEND,Bend Token,0x0d02755a5700414B26FF040e1dE35D337DF56218,18.0 -1176.0,EVNY-8E60,EVNY,EVNY Token,0x9A24B8E8A6D4563c575A707b1275381119298E60,18.0 -1177.0,SKY-B0d4,SKY,The SkyToken,0x090FC4D5436D98E13473c4d6109De6A18BCfB0d4,18.0 -1178.0,VTX-A832,VTX,Vortex DeFi,0xceb286C9604c542d3cc08b41AA6C9675B078A832,18.0 -1179.0,HAY-33bb,HAY,HAYFEVER,0xF6269e2e0C271fb6AF35E7f8a539EbC7155E33bb,9.0 -1180.0,RISE-0cA3,RISE,EverRise,0xC17c30e98541188614dF99239cABD40280810cA3,18.0 -1181.0,STRIP-3C02,STRIP,StripCoin,0xE9cB6838902CCF711f16a9EA5A1170F8e9853C02,18.0 -1182.0,RSC-F571,RSC,ResearchCoin,0xD101dCC414F310268c37eEb4cD376CcFA507F571,18.0 -1183.0,renDOGE-71A7,renDOGE,renDOGE,0x3832d2F059E55934220881F831bE501D180671A7,8.0 -1184.0,M2-D15C,M2,M2,0x965d79F1A1016B574a62986e13Ca8Ab04DfdD15C,18.0 -1185.0,STMX-2803,STMX,StormX,0xbE9375C6a420D2eEB258962efB95551A5b722803,18.0 -1186.0,NFAi-7969,NFAi,Not Financial Advice,0x8eEcaad83a1Ea77bD88A818d4628fAfc4CaD7969,18.0 -1187.0,FEY-6072,FEY,Feyorra,0xe8E06a5613dC86D459bC8Fb989e173bB8b256072,18.0 -1188.0,TAILS-6360,TAILS,TAILS,0x3d79Abb948bc76794ff4a0bCd60170a741f26360,9.0 -1189.0,SOLVE-406F,SOLVE,Healthcare Administration Token,0x446C9033E7516D820cc9a2ce2d0B7328b579406F,8.0 -1190.0,CTASK-3934,CTASK,CTASK Token,0x196c81385Bc536467433014042788Eb707703934,18.0 -1191.0,SALE-B589,SALE,DxSale.Network,0xF063fE1aB7a291c5d06a86e14730b00BF24cB589,18.0 -1192.0,CFi-1eF4,CFi,CyberFi Token,0x63b4f3e3fa4e438698CE330e365E831F7cCD1eF4,18.0 -1193.0,HINA-6764,HINA,Hina Inu,0xbD0a4bf098261673d5E6e600Fd87ddcd756e6764,9.0 -1194.0,CHIP-18bE,CHIP,Ask Chip,0x5A5389bA78F04D783E9F30e5A8C45727c5E018bE,9.0 -1195.0,SOV-2c16,SOV,ShibOriginalVision,0x2C5BC2Ba3614fD27FCc7022eA71d9172E2632c16,18.0 -1196.0,ISLA-5947,ISLA,Insula,0x697eF32B4a3F5a4C39dE1cB7563f24CA7BfC5947,18.0 -1197.0,LIFE-8EE6,LIFE,Life Crypto,0x6c936D4AE98E6d2172dB18c16C4b601C99918EE6,18.0 -1198.0,TKN-E73a,TKN,Monolith TKN,0xaAAf91D9b90dF800Df4F55c205fd6989c977E73a,8.0 -1199.0,VID-C9E5,VID,VideoCoin,0x2C9023bBc572ff8dc1228c7858A280046Ea8C9E5,18.0 -1200.0,GETH-3De9,GETH,Goerli ETH,0xdD69DB25F6D620A7baD3023c5d32761D353D3De9,18.0 -1201.0,EWW-21a8,EWW,EndlessWebWorlds,0x3d38F87BeF0123f5764635C7E11048027E0721a8,9.0 -1202.0,SONIC-0ee5,SONIC,Sonic,0xd1cD47746B8e72359b28C1c84a4F6a19dc1A0ee5,18.0 -1203.0,ZINU-6caA,ZINU,Zombie Inu,0xc50EF449171a51FbeAFd7c562b064B6471C36caA,9.0 -1204.0,GNFT-6C2b,GNFT,GNFT,0xc502002aEB1b9309FcCb016adF50507987Fc6C2b,18.0 -1205.0,DPAY-Dd78,DPAY,Devour,0xE5A733681bbE6cd8c764Bb8078ef8E13a576Dd78,18.0 -1206.0,TOK-3C30,TOK,TOK,0x4Fb721eF3Bf99e0f2c193847afA296b9257d3C30,8.0 -1207.0,JUP-2Be8,JUP,Jupiter,0x4B1E80cAC91e2216EEb63e29B957eB91Ae9C2Be8,18.0 -1208.0,NMS-91a9,NMS,Nemesis,0x77252494C25444F8598A0c74Ffc90ADc535291a9,18.0 -1209.0,KEX-a4F8,KEX,KIRA Network,0x16980b3B4a3f9D89E33311B5aa8f80303E5ca4F8,6.0 -1210.0,SWAPP-c244,SWAPP,Swapp Token,0x8CB924583681cbFE487A62140a994A49F833c244,18.0 -1211.0,SHINU-C53F,SHINU,Sheikh Inu,0x0d229c3FF2d76E4b88Ca4F9d3D3353F4545EC53F,18.0 -1212.0,PAY-3ea3,PAY,PayBolt,0xe580074A10360404AF3ABfe2d524D5806D993ea3,18.0 -1213.0,SIMP-4C99,SIMP,SIMP,0x41C21693e60FC1a5dBb7c50e54E7A6016aA44C99,18.0 -1214.0,WAS-0E1b,WAS,Wasder Token,0x0c572544a4Ee47904d54aaA6A970AF96B6f00E1b,18.0 -1215.0,PCNT-0C3b,PCNT,Playcent,0x657B83A0336561C8f64389a6f5aDE675C04b0C3b,18.0 -1216.0,PTOY-CC06,PTOY,Patientory,0x8Ae4BF2C33a8e667de34B54938B0ccD03Eb8CC06,8.0 -1217.0,PKF-8AEb,PKF,PolkaFoundry,0x8B39B70E39Aa811b69365398e0aACe9bee238AEb,18.0 -1218.0,DSLA-ECBe,DSLA,DSLA,0x3aFfCCa64c2A6f4e3B6Bd9c64CD2C969EFd1ECBe,18.0 -1219.0,GATE-82E4,GATE,GATE,0x9d7630aDF7ab0b0CB00Af747Db76864df0EC82E4,18.0 -1220.0,HLD-8187,HLD,Hackerlabs DAO,0xCA1308E38340C69E848061aA2C3880daeB958187,9.0 -1221.0,NEBO-b455,NEBO,CSP DAO,0x7f0c8B125040f707441cad9e5eD8a8408673b455,18.0 -1222.0,DOGY-6839,DOGY,DogeYield,0x9c405acf8688AfB61B3197421cDeeC1A266c6839,18.0 -1223.0,PNODE-82D2,PNODE,Pinknode Token,0xAF691508BA57d416f895e32a1616dA1024e882D2,18.0 -1224.0,PTPA-9E6c,PTPA,Pumptopia,0xC0B182B2E06164568a3310Ca1086e9bf19209E6c,18.0 -1225.0,SNOV-d969,SNOV,Snovio,0xBDC5bAC39Dbe132B1E030e898aE3830017D7d969,18.0 -1226.0,MNTP-ECCc,MNTP,Goldmint MNT Prelaunch Token,0x83cee9e086A77e492eE0bB93C2B0437aD6fdECCc,18.0 -1227.0,ID-Eb83,ID,Everest ID,0xEBd9D99A3982d547C5Bb4DB7E3b1F9F14b67Eb83,18.0 -1228.0,iDYP-e056,iDYP,iDeFiYieldProtocol,0xBD100d061E120b2c67A24453CF6368E63f1Be056,18.0 -1229.0,PRIMATE-95ff,PRIMATE,PRIMATE,0x46e98FFE40E408bA6412bEb670507e083C8B95ff,18.0 -1230.0,EMON-974a,EMON,EthermonToken,0xd6A5aB46ead26f49b03bBB1F9EB1Ad5c1767974a,18.0 -1231.0,YUNA-62f9,YUNA,Yuna (YunaToken.io),0x2F6f397332B0F8b4536430bCC97980aA838f62f9,18.0 -1232.0,RHO-90Ec,RHO,Rho Token,0x3F3Cd642E81d030D7b514a2aB5e3a5536bEb90Ec,18.0 -1233.0,SANSHU-344D,SANSHU,Sanshu Inu,0xc73C167E7a4Ba109e4052f70D5466D0C312A344D,9.0 -1234.0,VRA-E41F,VRA,VERA,0xdF1D6405df92d981a2fB3ce68F6A03baC6C0E41F,18.0 -1235.0,ATOR-79ce,ATOR,AirTor Protocol,0x0F7B3F5a8FeD821c5eb60049538a548dB2D479ce,18.0 -1236.0,AUDIO-B998,AUDIO,Audius,0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998,18.0 -1237.0,QLINDO-b46E,QLINDO,Qlindo Realestate Investment Token,0xC18c07a18198A6340cf4d94855fE5eb6DD33b46E,0.0 -1238.0,COOK-6eF5,COOK,Cook Token,0xFF75CEd57419bcaEBe5F05254983b013B0646eF5,18.0 -1239.0,PDEX-Aaea,PDEX,Polkadex,0xF59ae934f6fe444afC309586cC60a84a0F89Aaea,18.0 -1240.0,CARD-D708,CARD,Cardstack,0x954b890704693af242613edEf1B603825afcD708,18.0 -1241.0,HTB-A941,HTB,Hotbit Token,0x6be61833FC4381990e82D7D4a9F4c9B3F67eA941,18.0 -1242.0,FOUR-F4D0,FOUR,The 4th Pillar Token,0x4730fB1463A6F1F44AEB45F6c5c422427f37F4D0,18.0 -1243.0,PAN-4c92,PAN,Pantos Token,0x536381a8628dBcC8C70aC9A30A7258442eAb4c92,8.0 -1244.0,HAKI-6697,HAKI,HAKI,0xF90c7f66eAc7E2130bF677D69a250b2136Cf6697,18.0 -1245.0,PAW-1B01,PAW,PAWSWAP,0xDc63269eA166b70d4780b3A11F5C825C2b761B01,18.0 -1246.0,SHIV-cB43,SHIV,ShibVinci,0xe9615071341c6F0392A5dFDE1645Ad01b810cB43,9.0 -1247.0,GNYerc20-51d4,GNYerc20,GNYerc20,0xb1f871Ae9462F1b2C6826E88A7827e76f86751d4,18.0 -1248.0,UMBR-d35C,UMBR,UmbriaToken,0xa4bBE66f151B22B167127c770016b15fF97Dd35C,18.0 -1249.0,LEO-2Ca3,LEO,Bitfinex LEO Token,0x2AF5D2aD76741191D15Dfe7bF6aC92d4Bd912Ca3,18.0 -1250.0,DEXTF-89f0,DEXTF,DEXTF Token,0x5F64Ab1544D28732F0A24F4713c2C8ec0dA089f0,18.0 -1251.0,Kitty Dinger-3BC6,Kitty Dinger,Schrodinger,0x2C33B28527A63Cdf13C0B24Ce4cf5BF9C9fB3BC6,9.0 -1252.0,G*-2fA3,G*,G*,0x97E19E2a5458294842036404E6A05571D8Bc2fA3,18.0 -1253.0,APOLLO-3CAb,APOLLO,Apollo Inu,0xADf86E75d8f0F57e0288D0970E7407eaA49b3CAb,9.0 -1254.0,DOGEFI-646D,DOGEFI,DOGEFI,0x9B9087756eCa997C5D595C840263001c9a26646D,18.0 -1255.0,TRVL-1F3d,TRVL,TRVL,0xd47bDF574B4F76210ed503e0EFe81B58Aa061F3d,18.0 -1256.0,ARV-429E,ARV,Artemis Vision,0x28fDA76721a8077A5dE802Ab0212849B8c38429E,18.0 -1257.0,RND-6b29,RND,random,0x1c7E83f8C581a967940DBfa7984744646AE46b29,18.0 -1258.0,UniFi-CEb5,UniFi,UniFi,0x9E78b8274e1D6a76a0dBbf90418894DF27cBCEb5,18.0 -1259.0,POLC-6B37,POLC,Polka City,0xaA8330FB2B4D5D07ABFE7A72262752a8505C6B37,18.0 -1260.0,SWFL-538A,SWFL,Swapfolio,0xBa21Ef4c9f433Ede00badEFcC2754B8E74bd538A,18.0 -1262.0,BOLT-a789,BOLT,Bolt Token,0xD5930C307d7395Ff807F2921F12C5EB82131a789,18.0 -1263.0,HAPI-Fb54,HAPI,HAPI,0xD9c2D319Cd7e6177336b0a9c93c21cb48d84Fb54,18.0 -1264.0,FREE-e4Fd,FREE,Free Coin,0x2F141Ce366a2462f02cEA3D12CF93E4DCa49e4Fd,18.0 -1265.0,KANGAL-d337,KANGAL,Kangal,0x6E765D26388A17A6e86c49A8E41DF3F58aBcd337,18.0 -1266.0,DBNB-d888,DBNB,DecentraBNB,0x833850BE8858722Cfc5E5e75f2Fe6275E055d888,9.0 -1267.0,STACK-3a0a,STACK,Stacker Ventures Token,0xe0955F26515d22E347B17669993FCeFcc73c3a0a,18.0 -1268.0,LOL-C032,LOL,LOL,0xf91AC30E9b517f6D57e99446ee44894e6C22C032,9.0 -1269.0,$AI-C2a1,$AI,Alpha Intelligence,0x5d259E3FbcAdef1abfeA5582e456Bc7F0aebC2a1,18.0 -1270.0,ARCH-f3aF,ARCH,Archer DAO Governance Token,0x1F3f9D3068568F8040775be2e8C03C103C61f3aF,18.0 -1271.0,DOS-9cB7,DOS,DOS Network Token,0x0A913beaD80F321E7Ac35285Ee10d9d922659cB7,18.0 -1272.0,MKONG-8065,MKONG,MEME KONG,0xeE6b9CF11D968E0bAc7BFfF547577B8AE35B8065,9.0 -1273.0,ACYC-e147,ACYC,AllCoinsYieldCapital,0xB56A1f3310578f23120182Fb2e58c087EFE6e147,18.0 -1274.0,LITx-7a91,LITx,LITH Token,0x4B48068864F77261838C7849A12853FB94c77a91,18.0 -1275.0,GFX-58fC,GFX,GamyFi,0x65ad6A2288b2Dd23E466226397c8F5D1794e58fC,18.0 -1276.0,WSCRT-68Be,WSCRT,Wrapped SCRT,0x2B89bF8ba858cd2FCee1faDa378D5cd6936968Be,6.0 -1277.0,BARK-ea60,BARK,Bark,0x53340a1EF3a0dDeBA1D94BBd1E2fF55936F0ea60,18.0 -1278.0,NTX-7935,NTX,NuNet Utility Token,0xF0d33BeDa4d734C72684b5f9abBEbf715D0a7935,6.0 -1279.0,WAXE-4DFD,WAXE,WAX Economic Token,0x7a2Bc711E19ba6aff6cE8246C546E8c4B4944DFD,8.0 -1280.0,ONX-1033,ONX,OnX.finance,0xE0aD1806Fd3E7edF6FF52Fdb822432e847411033,18.0 -1281.0,KATA-aE15,KATA,Katana Inu,0x2e85ae1C47602f7927bCabc2Ff99C40aA222aE15,18.0 -1282.0,rDPX-8D11,rDPX,Dopex Rebate Token,0x0ff5A8451A839f5F0BB3562689D9A44089738D11,18.0 -1283.0,XSTUSD-d356,XSTUSD,SORA Synthetic USD,0xc7D9c108D4E1dD1484D3e2568d7f74bfD763d356,18.0 -1284.0,LMT-c8AF,LMT,Lympo Market Token,0x327673aE6B33Bd3d90f0096870059994f30Dc8AF,18.0 -1285.0,UNQT-5d4C,UNQT,Unique Utility Token,0xa80f2C8f61c56546001f5FC2eb8D6E4e72c45d4C,18.0 -1286.0,PLU-264E,PLU,Pluton,0xD8912C10681D8B21Fd3742244f44658dBA12264E,18.0 -1287.0,X7DAO-2dA0,X7DAO,X7DAO,0x7105E64bF67ECA3Ae9b123F0e5Ca2b83b2eF2dA0,18.0 -1288.0,UFT-3AB1,UFT,UniLend Finance Token,0x0202Be363B8a4820f3F4DE7FaF5224fF05943AB1,18.0 -1289.0,RESET-EeD2,RESET,MetaReset,0x30df7D7EE52c1b03cd009e656F00AB875AdCEeD2,18.0 -1290.0,KISHUTAMA-7990,KISHUTAMA,KishuTama,0xDc0804eD9ABA9202E2b976C031d3144BB63a7990,9.0 -1291.0,YOP-4051,YOP,YOP,0xAE1eaAE3F627AAca434127644371b67B18444051,8.0 -1292.0,TENSHI-5292,TENSHI,TENSHI v2,0x52662717e448be36Cb54588499D5A8328BD95292,18.0 -1293.0,UNIQ-8025,UNIQ,Uniqly,0x3758e00b100876C854636eF8Db61988931BB8025,18.0 -1294.0,KNDX-EFC1,KNDX,Kondux,0x7CA5af5bA3472AF6049F63c1AbC324475D44EFC1,9.0 -1295.0,GT-4759,GT,GateChainToken,0xE66747a101bFF2dBA3697199DCcE5b743b454759,18.0 -1296.0,SIS-6dd9,SIS,Symbiosis,0xd38BB40815d2B0c2d2c866e0c72c5728ffC76dd9,18.0 -1297.0,COR-D835,COR,COR Token,0x9C2dc0c3CC2BADdE84B0025Cf4df1c5aF288D835,18.0 -1298.0,AZUKI-BaEd,AZUKI,DokiDokiAzuki,0x910524678C0B1B23FFB9285a81f99C29C11CBaEd,18.0 -1299.0,HEART-897C,HEART,HUMANS,0x8FAc8031e079F409135766C7d5De29cf22EF897C,18.0 -1300.0,FKX-6EBB,FKX,Knoxstertoken,0x16484d73Ac08d2355F466d448D2b79D2039F6EBB,18.0 -1301.0,YVS-f478,YVS,YVS.Finance,0xEC681F28f4561c2a9534799AA38E0d36A83Cf478,18.0 -1302.0,eMTRG-8A9F,eMTRG,Meter Governance mapped by Meter.io,0xBd2949F67DcdC549c6Ebe98696449Fa79D988A9F,18.0 -1303.0,BTSE-32Ef,BTSE,BTSE Token,0x666d875C600AA06AC1cf15641361dEC3b00432Ef,8.0 -1304.0,NFTT-9499,NFTT,NFT.TECH,0x5fA2E9Ba5757504B3d6e8f6da03cc40d4ce19499,18.0 -1305.0,LEASH-6634,LEASH,DOGE KILLER,0x27C70Cd1946795B66be9d954418546998b546634,18.0 -1306.0,ORION-46e4,ORION,Orion Money Token,0x727f064A78DC734D33eEc18d5370aef32Ffd46e4,18.0 -1307.0,GOKU-ED79,GOKU,Goku Inu,0xA64dFe8D86963151E6496BEe513E366F6e42ED79,9.0 -1308.0,HAPPY-26f4,HAPPY,HappyFans,0x3079F61704E9eFa2BcF1db412f735d8d4cFa26f4,18.0 -1309.0,HY-5715,HY,hybrix hydra,0x9b53E429B0baDd98ef7F01F03702986c516a5715,18.0 -1310.0,BANKETH-4cA1,BANKETH,BankEth,0xBE0C826f17680d8Da620855bE89DD6544C034cA1,18.0 -1311.0,DOSE-6515,DOSE,DOSE,0xb31eF9e52d94D4120eb44Fe1ddfDe5B4654A6515,18.0 -1312.0,STILT-bE4b,STILT,Stilton,0xB5F1457d6FBa1956Fb8d31B0B7CAcA14BDe0bE4b,9.0 -1313.0,cUSDT-dCC9,cUSDT,Compound USDT,0xf650C3d88D12dB855b8bf7D11Be6C55A4e07dCC9,8.0 -1314.0,HERO-884E,HERO,Challenge Coin,0x524Ebc93BeEf838F70b4Ae54b675d3e971D5884E,9.0 -1315.0,CRBN-24EE,CRBN,Carbon,0xCdeee767beD58c5325f68500115d4B722b3724EE,18.0 -1316.0,PWRC-4f83,PWRC,PWRCASH,0x6Aa40D02115090D40Dc33C7C5F3Cf05112fA4f83,18.0 -1317.0,GRV-290c,GRV,GroveC,0xF33893DE6eB6aE9A67442E066aE9aBd228f5290c,8.0 -1318.0,BID-02fa,BID,Bidao,0x25e1474170c4c0aA64fa98123bdc8dB49D7802fa,18.0 -1319.0,UFI-a0E3,UFI,PureFi Token,0xcDa4e840411C00a614aD9205CAEC807c7458a0E3,18.0 -1320.0,EDGE-7831,EDGE,Edge,0x4EC1b60B96193a64AcAe44778e51f7BfF2007831,18.0 -1321.0,BTT-7957,BTT,BitTorrent,0xC669928185DbCE49d2230CC9B0979BE6DC797957,18.0 -1322.0,ZONE-d53C,ZONE,GridZone.io,0xC1D9B5A0776d7C8B98b8A838e5a0DD1Bc5Fdd53C,18.0 -1323.0,RELIC-884F,RELIC,MasRelic,0x77132Bb08B02a7a87732ec289EFaB45edF49884F,18.0 -1324.0,DOGENS-2e3c,DOGENS,Dogens,0x1b4dD5eA240732dDAc8d74FD1Cd9026Addc02e3c,9.0 -1325.0,MASTERMIND-9b43,MASTERMIND,Mastermind,0x8b0FdE007458Ee153bd0F66CD448Af5FB3D99b43,18.0 -1326.0,GYSR-CCAb,GYSR,Geyser,0xbEa98c05eEAe2f3bC8c3565Db7551Eb738c8CCAb,18.0 -1327.0,SHIBAKEN-Ab6B,SHIBAKEN,ShibaKen.Finance,0xa4Cf2aFD3B165975afFFBf7e487CDd40C894Ab6B,0.0 -1328.0,DRT-D5Ab,DRT,DomRaiderToken,0x9AF4f26941677C706cfEcf6D3379FF01bB85D5Ab,8.0 -1329.0,FLOW-1BF9,FLOW,Flow Protocol,0xC6e64729931f60D2c8Bc70A27D66D9E0c28D1BF9,9.0 -1330.0,SRM-e0fF,SRM,Serum,0x476c5E26a75bd202a9683ffD34359C0CC15be0fF,6.0 -1331.0,EVED-91bd,EVED,Evedo Token,0x5aaEFe84E0fB3DD1f0fCfF6fA7468124986B91bd,18.0 -1332.0,WUKONG-D714,WUKONG,Monkey King,0xA3ec7DF93090f4DE46FaEA09F73cc40ebe7dD714,18.0 -1333.0,MORK-6F76,MORK,Mork,0xf552b656022c218C26dAd43ad88881Fc04116F76,4.0 -1334.0,tAI-3B7f,tAI,AITravis,0x2F4404C4012476929b6503E1397707480bf23B7f,9.0 -1335.0,CHART-E63E,CHART,ChartEx,0x1d37986F252d0e349522EA6C3B98Cb935495E63E,18.0 -1336.0,POLY-D1eC,POLY,Polymath,0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC,18.0 -1337.0,GATSBY-37b4,GATSBY,Gatsby Inu,0xE22910D04bDc9d55570f3BC52E786b49DddF37b4,18.0 -1338.0,GAS-8469,GAS,Gas DAO,0x6Bba316c48b49BD1eAc44573c5c871ff02958469,18.0 -1339.0,SHIWA-1cc4,SHIWA,SHIWA,0x5022Cb6D39001CDD6F996e8a66500c86128f1cc4,9.0 -1340.0,BAND-7f55,BAND,BandToken,0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55,18.0 -1341.0,BABYDOGE-eBd5,BABYDOGE,BabyDoge Coin,0xAC8E13ecC30Da7Ff04b842f21A62a1fb0f10eBd5,9.0 -1342.0,FUSE-f84d,FUSE,Fuse Token,0x970B9bB2C0444F5E81e9d0eFb84C8ccdcdcAf84d,18.0 -1343.0,MAGA-2228,MAGA,MAGA Coin ETH,0xc9b6A17EbB43491635F603A01f8Bb3e4B5D22228,9.0 -1344.0,DFP2-8E6D,DFP2,Defi Plaza governance,0x2F57430a6ceDA85a67121757785877b4a71b8E6D,18.0 -1345.0,EXP-2f77,EXP,Exp,0xd137561C20BE8e870D62e2aE92269f0950702f77,18.0 -1346.0,GTFO-3398,GTFO,DumpBuster,0xa0A9C16856C96D5E9d80a8696eEA5E02B2Dc3398,9.0 -1347.0,HUSKY-5091,HUSKY,HuskyToken,0xd5281BB2d1eE94866B03A0fcCDd4e900c8Cb5091,9.0 -1348.0,NII-bE52,NII,Nahmii,0x7c8155909cd385F120A56eF90728dD50F9CcbE52,15.0 -1349.0,FAMILY-61f4,FAMILY,The Bitcoin Family,0x833E4c02c47B7e38f5b9A80b26eb07D23d1961f4,4.0 -1350.0,UNCL-Dd49,UNCL,UNCL,0x2f4eb47A1b1F4488C71fc10e39a4aa56AF33Dd49,18.0 -1351.0,CAI-a48D,CAI,CryptoAI,0xf36C5f04127F7470834ed6f98bDDC1BE62aba48D,18.0 -1352.0,MCO2-cacD,MCO2,Moss Carbon Credit,0xfC98e825A2264D890F9a1e68ed50E1526abCcacD,18.0 -1353.0,BMDA-a95E,BMDA,Bermuda,0x4236f8aaF2B1f3A28420Eb15B8e0ddF63201a95E,18.0 -1354.0,MINT-a059,MINT,Public Mint,0x0CDF9acd87E940837ff21BB40c9fd55F68bba059,18.0 -1355.0,DINU-7732,DINU,Dogey-Inu,0xbb1EE07d6c7BAeB702949904080eb61f5D5e7732,18.0 -1356.0,FreqAI-f486,FreqAI,The Razors Edge,0xB685145D7F127b9093d7f9278BaE902EF59Ff486,18.0 -1357.0,NTVRK-157A,NTVRK,NETVRK,0xFc0d6Cf33e38bcE7CA7D89c0E292274031b7157A,18.0 -1358.0,OPCT-c400,OPCT,Opacity,0xDb05EA0877A2622883941b939f0bb11d1ac7c400,18.0 -1359.0,SI-93de,SI,SIREN,0xD23Ac27148aF6A2f339BD82D0e3CFF380b5093de,18.0 -1360.0,PAINT-4042,PAINT,Paint,0x4C6eC08CF3fc987c6C4BEB03184D335A2dFc4042,18.0 -1361.0,WXMR-B0f5,WXMR,Wrapped Monero,0x465e07d6028830124BE2E4aA551fBe12805dB0f5,18.0 -1362.0,EDDA-0aA9,EDDA,EDDA,0xFbbE9b1142C699512545f47937Ee6fae0e4B0aA9,18.0 -1363.0,JACY-4A62,JACY,JACY,0x916c5DE09cF63f6602d1e1793FB41F6437814A62,9.0 -1364.0,BCT-150a,BCT,BananaClubToken,0x350D3f0f41b5B21F0e252fe2645AE9D55562150a,9.0 -1365.0,MCAP-44f0,MCAP,Meta Capital,0xbCE0665b20164d6cd6D15E70feD1E094AD4A44f0,9.0 -1366.0,PLSPAD-C47A,PLSPAD,PULSEPAD.io,0x8a74BC8c372bC7f0E9cA3f6Ac0df51BE15aEC47A,18.0 -1367.0,DOKI-71f5,DOKI,Okidoki Social,0x869DBe51Dc214fcb663604b0F7B548592F8C71f5,9.0 -1368.0,SDOG-E0D4,SDOG,SDOG,0x537edD52ebcb9F48ff2f8a28c51FCdB9D6a6E0D4,18.0 -1369.0,DBOX-D973,DBOX,Decentra Box,0x56c9D5F1E727de03643af220B5cE52DE23D4D973,18.0 -1370.0,ARCHA-C7fD,ARCHA,archangel,0x36E43065e977bC72CB86Dbd8405fae7057CDC7fD,9.0 -1371.0,FMON-e96D,FMON,FMONEY TOKEN,0xD283EC9db7B3094ED5a2c87Eb48D54f5FA96e96D,9.0 -1372.0,IXS-d1b4,IXS,Ixs Token,0x73d7c860998CA3c01Ce8c808F5577d94d545d1b4,18.0 -1373.0,STARS-13Ca,STARS,Mogul Stars,0xc55c2175E90A46602fD42e931f62B3Acc1A013Ca,18.0 -1374.0,PAID-D787,PAID,PAID Network,0x1614F18Fc94f47967A3Fbe5FfcD46d4e7Da3D787,18.0 -1375.0,SNTVT-B7F8,SNTVT,Sentivate,0x7865af71cf0b288b4E7F654f4F7851EB46a2B7F8,18.0 -1376.0,MOMA-D55B,MOMA,MOchi MArket,0xbd1848e1491d4308Ad18287A745DD4DB2A4BD55B,18.0 -1377.0,GLDN-0CC2,GLDN,Gold Retriever,0xFeeB4D0f5463B1b04351823C246bdB84c4320CC2,18.0 -1378.0,VERI-2374,VERI,Veritaseum,0x8f3470A7388c05eE4e7AF3d01D8C722b0FF52374,18.0 -1379.0,IMP-4543,IMP,Imperial Obelisk,0x2D5C73f3597B07F23C2bB3F2422932E67eca4543,18.0 -1380.0,WPT-88eA,WPT,WPT Investing Corp,0x4FD51Cb87ffEFDF1711112b5Bd8aB682E54988eA,18.0 -1381.0,OJE-6409,OJE,OJE Token,0xC5ec4f1FC86DA45AE788EC98756BA70B57676409,18.0 -1382.0,PNK-c04d,PNK,Pinakion,0x93ED3FBe21207Ec2E8f2d3c3de6e058Cb73Bc04d,18.0 -1383.0,TOKR-6772,TOKR,Tokerr,0xA885B6d3C87535de688194Ec3645199ee76D6772,9.0 -1384.0,CLIFF-6669,CLIFF,CliffordInu,0x1B9BAF2A3EdeA91eE431f02d449a1044d5726669,18.0 -1385.0,R34P-81F6,R34P,R34P,0xCAEaf8381D4B20b43AFA42061D6f80319A8881F6,8.0 -1386.0,DCNT-8701,DCNT,Decanect,0x4Ce4C025692B3142dbdE1cd432ef55b9A8D18701,9.0 -1387.0,TRND-7CCb,TRND,Trendering,0xc3dD23A0a854b4f9aE80670f528094E9Eb607CCb,18.0 -1388.0,USF-b9ce,USF,Unslashed Finance Governance Token,0xE0e05c43c097B0982Db6c9d626c4eb9e95C3b9ce,18.0 -1389.0,SHIBU-91a4,SHIBU,SHIBAUNIVERSE.ORG,0x7bFDE33d790411A88D46E9e1be32Fc86228891a4,9.0 -1390.0,oBTC-B2AC,oBTC,Ordinal BTC ,0xfF770E4c68e35DB85c6e0E89a43750eC02bDB2AC,18.0 -1391.0,DEV-aEa0,DEV,Dev Doing Something,0x77E20FC7f2F4084b74284E1190810fCa3679aEa0,9.0 -1392.0,BabyTrump-08B6,BabyTrump,Baby Trump Token,0x99d36e97676A68313ffDc627fd6b56382a2a08B6,9.0 -1393.0,UPR-2385,UPR,Upfire,0xf720E38F678B29B243F7D53B56Acbf5dE98F2385,18.0 -1394.0,MCC-9e0C,MCC,MultiChainCapital,0xC146B7CdBaff065090077151d391f4c96Aa09e0C,9.0 -1395.0,ETHPAD-C442,ETHPAD,ETHPAD.network,0x8dB1D28Ee0d822367aF8d220C0dc7cB6fe9DC442,18.0 -1396.0,KLEE-de71,KLEE,KleeKai,0xA67E9F021B9d208F7e3365B2A155E3C55B27de71,9.0 -1397.0,CELR-C667,CELR,CelerToken,0x4F9254C83EB525f9FCf346490bbb3ed28a81C667,18.0 -1398.0,VetMe-4E1f,VetMe,VetMe,0xe7eF051C6EA1026A70967E8F04da143C67Fa4E1f,9.0 -1399.0,SPO-CC4E,SPO,Spores,0xcbE771323587EA16dACB6016e269D7F08A7ACC4E,18.0 -1400.0,ELF-100e,ELF,ELF Token,0xbf2179859fc6D5BEE9Bf9158632Dc51678a4100e,18.0 -1401.0,NUX-911c,NUX,NUX Peanut.trade,0x89bD2E7e388fAB44AE88BEf4e1AD12b4F1E0911c,18.0 -1402.0,BNV-d749,BNV,BunnyVerse,0x072987D5B36aD8d45552aEd98879a7101cCdd749,18.0 -1403.0,STATS-0caD,STATS,Stats,0x39142c18B6db2a8A41B7018f49E1478837560caD,9.0 -1404.0,DYT-1E14,DYT,DoYourTip,0x740623d2c797b7D8D1EcB98e9b4Afcf99Ec31E14,18.0 -1405.0,MINTYS-bE85,MINTYS,MintySwap,0xBbd900e05b4aF2124390D206F70bc4E583B1bE85,9.0 -1406.0,QR-B002,QR,Qrolli,0xCcDb064a41AFcD432BCEa6F6d0D1E7c371d0B002,9.0 -1407.0,JIG-49E9,JIG,Jigen,0xe2Fc859C838F31C1450448f4FeD92e3284aE49E9,18.0 -1408.0,UNISTAKE-4E5E,UNISTAKE,Unistake,0x9Ed8e7C9604790F7Ec589F99b94361d8AAB64E5E,18.0 -1409.0,UGT-0063,UGT,Unreal Governance Token,0x9cf98Eb8A8B28c83E8612046cf55701Ce3Eb0063,18.0 -1410.0,ZEUS-20b1,ZEUS,ZEUS10000,0xcbC1Aa6961B28cCcb11E1cdDd84Ad8B42Ec920b1,4.0 -1411.0,MONSTR-4660,MONSTR,MonstaVerse,0xba75fBC4C7a553081F7A137b6e652520Db444660,9.0 -1412.0,BlueSparrow-6FdE,BlueSparrow,BlueSparrowToken,0x24cCeDEBF841544C9e6a62Af4E8c2fA6e5a46FdE,9.0 -1413.0,REALM-CFB8,REALM,REALM,0x464FdB8AFFC9bac185A7393fd4298137866DCFB8,18.0 -1414.0,NITRO-87B8,NITRO,Nitro,0x0335A7610D817aeCA1bEBbEfbd392ecC2eD587B8,18.0 -1415.0,STARL-6B24,STARL,StarLink,0x8E6cd950Ad6ba651F6DD608Dc70e5886B1AA6B24,18.0 -1416.0,ShibDoge-928F,ShibDoge,ShibaDoge,0x6ADb2E268de2aA1aBF6578E4a8119b960E02928F,9.0 -1417.0,MARU-2b00,MARU,Marutaro,0xC2456D2118299a2efDFE6522Ff79aA48fC5d2b00,9.0 -1418.0,BleYd-94b9,BleYd,Black Eyed Dragon,0x59B44e9AC4AB8e29db6Faf7baCd726C6B7bC94b9,9.0 -1419.0,ANARCHY-Ce8c,ANARCHY,Anarchy,0x53fD2342B43eCD24AEf1535BC3797F509616Ce8c,9.0 -1420.0,STORJ-b8aC,STORJ,StorjToken,0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC,8.0 -1421.0,SWM-ca39,SWM,SWARM,0x3505F494c3f0fed0B594E01Fa41Dd3967645ca39,18.0 -1422.0,MOD-1D71,MOD,Modefi,0xEA1ea0972fa092dd463f2968F9bB51Cc4c981D71,18.0 -1423.0,TACO-2557,TACO,Tacos,0x00D1793D7C3aAE506257Ba985b34C76AaF642557,18.0 -1424.0,YASHA-D753,YASHA,YASHA,0xD75f1f81B69bDd4Df8EfbB70e9C6F4609009D753,18.0 -1425.0,REDPANDA-44b9,REDPANDA,RedPanda Earth,0x9ba4CBcBb920F67f54A8F8f0001D721E0B8944b9,9.0 -1426.0,PKN-9503,PKN,Poken,0xdf09a216Fac5ADC3e640Db418C0b956076509503,18.0 -1427.0,Totoro-2F12,Totoro,Totoro Inu,0xfc09c7cFD9c175DD9423ca02aE1249579AB12F12,9.0 -1428.0,FTRB-81D7,FTRB,Faith Tribe,0x2596825a84888E8f24b747DF29e11b5dd03C81D7,18.0 -1429.0,CAT+-fbd6,CAT+,Capital Aggregator Token,0x686c77609aFe6A2fac50421888530288B441fbd6,18.0 -1430.0,XCN-fb18,XCN,Chain,0xA2cd3D43c775978A96BdBf12d733D5A1ED94fb18,18.0 -1431.0,SHINJI-0afd,SHINJI,Shinji Inu,0x1F31DD60b84ea2a273cfC56876437E069aE80afd,9.0 -1432.0,SAITAMA-27B2,SAITAMA,SAITAMA,0xCE3f08e664693ca792caCE4af1364D5e220827B2,9.0 -1433.0,KTO-F8fC,KTO,Kounotori,0x616ef40D55C0D2c506f4d6873Bda8090b79BF8fC,9.0 -1434.0,GYOKUTO-612D,GYOKUTO,Tsuki no Usagi,0x166D45e55143ea15032672Ac9f591A4401CC612D,9.0 -1435.0,SHINTAMA-76dA,SHINTAMA,Shintama,0x7e794eD35788b698AE60cefC98eE48015C4876dA,9.0 -1436.0,$CWI-ba5D,$CWI,Crypto Wrestling Inu,0xE2d310CB8992b3Fa1051BA4710F41c43eB5Bba5D,18.0 -1437.0,GAMMA-e197,GAMMA,Gamma,0x6BeA7CFEF803D1e3d5f7C0103f7ded065644e197,18.0 -1438.0,GVC-58Bf,GVC,Galaxy Villains,0x8dc89F4716E027394Bba225b82328C1ea2Ea58Bf,18.0 -1439.0,SHIBN-B3B3,SHIBN,Shibnaut,0xd346E8ADA104093ADcf5f4186087E1AD309BB3B3,18.0 -1440.0,GHX-387d,GHX,GamerCoin,0x728f30fa2f100742C7949D1961804FA8E0B1387d,18.0 -1441.0,CONV-8B50,CONV,Convergence,0xc834Fa996fA3BeC7aAD3693af486ae53D8aA8B50,18.0 -1442.0,DAFI-6439,DAFI,DAFI Token,0xFc979087305A826c2B2a0056cFAbA50aad3E6439,18.0 -1443.0,yShori-d69b,yShori,Shori 勝利,0x25644eA5bE09d1266B5df3F96559Ecdc2D0ad69b,18.0 -1444.0,ELongD-4d1B,ELongD,Elongate Deluxe,0x348B7f3106B5Da47405332534d06069fF9CE4d1B,9.0 -1445.0,eMax-7FF6,eMax,EthereumMax,0x15874d65e649880c2614e7a480cb7c9A55787FF6,18.0 -1446.0,RBC-3333,RBC,RUBIC TOKEN,0x3330BFb7332cA23cd071631837dC289B09C33333,18.0 -1447.0,LAEEB-863d,LAEEB,Laeeb Inu,0x3B1a3C5d9D5C60651D4841C7814aA0FbB45A863d,18.0 -1448.0,$colR-4415,$colR,colR Coin,0x14b40AD2EBA6c1B31db2bA817b07578AFB414415,18.0 -1449.0,Happy-3378,Happy,HappyBear,0x651e44D0df89055c00513d0efb9E8d1A0C843378,18.0 -1450.0,WHL-a46A,WHL,WhaleRoom,0x2aF72850c504dDD3c1876C66a914cAee7Ff8a46A,18.0 -1451.0,SHUEY-5E5D,SHUEY,Shuey Rhon Inu,0xcDcA1B81DbB543BAA92c97b701396Cd3bA315E5D,18.0 -1452.0,iFUND-b0f0,iFUND,UNIFUND,0x04B5E13000C6e9A3255Dc057091F3e3Eeee7b0f0,18.0 -1453.0,TST-9B53,TST,Standard Token,0xa0b93B9e90aB887E53F9FB8728c009746e989B53,18.0 -1454.0,YPIE-CE31,YPIE,Yearn Ecosystem Pie,0x17525E4f4Af59fbc29551bC4eCe6AB60Ed49CE31,18.0 -1455.0,XED-fd86,XED,Exeedme,0xee573a945B01B788B9287CE062A0CFC15bE9fd86,18.0 -1456.0,PICKLE-1Ca5,PICKLE,PickleToken,0x429881672B9AE42b8EbA0E26cD9C73711b891Ca5,18.0 -1457.0,SHUNAV2-8dd1,SHUNAV2,Shuna Inuverse,0xDE72a052cBB212eFf11A4A33d61dF9C5A2De8dd1,9.0 -1458.0,NFP-0834,NFP,New Frontier Presents,0x299698B4B44BD6d023981A7317798dEe12860834,9.0 -1459.0,PAWTH-367F,PAWTH,Pawthereum,0xAEcc217a749c2405b5ebC9857a16d58Bdc1c367F,9.0 -1460.0,TRENDX-c936,TRENDX,Trend X,0xC89d9aa9D9E54bb196319c6195AEA1038d2bc936,18.0 -1461.0,POOLZ-4e23,POOLZ,$Poolz Finance,0x69A95185ee2a045CDC4bCd1b1Df10710395e4e23,18.0 -1462.0,HULK-f3aa,HULK,HULK INU,0x91a5de30e57831529a3c1aF636A78a7E4E83f3aa,18.0 -1463.0,RINIA-FD7D,RINIA,Rinia Inu,0x8f828a0644f12Fa352888E645a90333d30f6FD7D,9.0 -1464.0,KYL-b99C,KYL,Kylin Network,0x67B6D479c7bB412C54e03dCA8E1Bc6740ce6b99C,18.0 -1465.0,BabyShiba-1A1D,BabyShiba,Baby Shiba Coin,0x66A64a8A9cdc54EF97e45a051bA1c8f3D4b41A1D,18.0 -1467.0,DIS-cDC6,DIS,TosDis,0x220B71671b649c03714dA9c621285943f3cbcDC6,18.0 -1468.0,FETCH-c66b,FETCH,Fetch,0xcC779bbBD17b2E68ECdCCaeA3d8C791B1573c66b,18.0 -1469.0,TSANGNYON-C242,TSANGNYON,TSANGNYON HERUKA,0xd031edafac6a6ae5425e77F936022E506444C242,18.0 -1470.0,BIRD-7Ce0,BIRD,Bird.Money,0x70401dFD142A16dC7031c56E862Fc88Cb9537Ce0,18.0 -1471.0,MLT-521d,MLT,Media Licensing Token,0x9506d37f70eB4C3d79C398d326C871aBBf10521d,18.0 -1472.0,GTH-3674,GTH,Gather,0xeb986DA994E4a118d5956b02d8b7c3C7CE373674,18.0 -1473.0,DOGEGF-6Bc5,DOGEGF,DogeGF,0xfb130d93E49DcA13264344966A611dc79a456Bc5,18.0 -1474.0,HT-a161,HT,HuobiToken,0x6f259637dcD74C767781E37Bc6133cd6A68aa161,18.0 -1475.0,DGTX-eC09,DGTX,DigitexFutures,0xc666081073E8DfF8D3d1c2292A29aE1A2153eC09,18.0 -1476.0,AIR-cCeA,AIR,Ape In Records,0xF725f73CAEe250AE384ec38bB2C77C38ef2CcCeA,18.0 -1477.0,WCHI-4605,WCHI,Wrapped CHI,0x6DC02164d75651758aC74435806093E421b64605,8.0 -1478.0,SHIT-469F,SHIT,ShitCoin,0x4e4a47cAC6A28A62dcC20990ed2cdA9BC659469F,18.0 -1479.0,WAGIE-a3Ec,WAGIE,WAGIE,0x492baa7A6450712D4bbCCa01B87F029DEe3Ea3Ec,9.0 -1480.0,DMT-AE6c,DMT,Dark Matter Token,0x79126d32a86e6663F3aAac4527732d0701c1AE6c,18.0 -1481.0,SAITOKI-87Fa,SAITOKI,Saitoki Inu,0xa3c56427683a19F7574b9fc219CFD27d5d6e87Fa,9.0 -1482.0,FIRE-2D43,FIRE,Fire Protocol,0xF921ae2DAC5fa128DC0F6168Bf153ea0943d2D43,8.0 -1483.0,HEY-F7Ee,HEY,Hey,0xE61F6e39711cEc14f8D6c637c2f4568bAA9FF7Ee,18.0 -1484.0,KOMPETE-46E9,KOMPETE,KOMPETE Token,0x1E0b2992079B620AA13A7c2E7c88D2e1E18E46E9,10.0 -1485.0,RLY-E49b,RLY,Rally,0xf1f955016EcbCd7321c7266BccFB96c68ea5E49b,18.0 -1486.0,MDX-1788,MDX,MANDALA EXCHANGE TOKEN,0x947AEb02304391f8fbE5B25D7D98D649b57b1788,18.0 -1487.0,YFIII-2A45,YFIII,DiFy.Finance,0x4be40bc9681D0A7C24A99b4c92F85B9053Fc2A45,18.0 -1488.0,SIPHER-F511,SIPHER,Sipher Token,0x9F52c8ecbEe10e00D9faaAc5Ee9Ba0fF6550F511,18.0 -1489.0,$DG-78a0,$DG,decentral.games,0xEE06A81a695750E71a662B51066F2c74CF4478a0,18.0 -1490.0,CDS-6e5e,CDS,Capital DAO Starter Token,0x3c48Ca59bf2699E51d4974d4B6D284AE52076e5e,18.0 -1491.0,OPTIMUS-215d,OPTIMUS,Optimus,0x562E362876c8Aee4744FC2c6aaC8394C312d215d,9.0 -1492.0,Metis-ed8e,Metis,Metis Token,0x9E32b13ce7f2E80A01932B42553652E053D6ed8e,18.0 -1493.0,PEEP$-9892,PEEP$,The Peoples Coin,0x5919DeA604631016c15c805e3D948A0384879892,9.0 -1494.0,CLAW-1D1C,CLAW,Claw,0x41B25Ff6431074959532dB7435DAdacA65a21D1C,18.0 -1495.0,TheAD-6189,TheAD,The Akragas Decadrachm,0xCB056A2f3cA0B82aB69dcbd677875D68B74D6189,8.0 -1496.0,TAP-db5D,TAP,Tapmydata,0x7f1F2D3dFa99678675ECE1C243d3f7bC3746db5D,18.0 -1497.0,EPAN-Bafc,EPAN,Paypolitan Token,0x72630B1e3B42874bf335020Ba0249e3E9e47Bafc,18.0 -1498.0,AFY-6A21,AFY,Artify,0xa41161AF8D4Ee421ba5fED4328F2B12034796A21,18.0 -1499.0,ERA-01EB,ERA,ERA,0x67776f14E5E9e7845e33fB0c2a3C709d259D01EB,18.0 -1500.0,KOI-856C,KOI,The Dragon Gate,0x8AE340d333fFB274969f505A6520b91024BC856C,9.0 -1501.0,CoShi-B00A,CoShi,CoShi Inu,0x668C50B1c7f46EFFBE3f242687071d7908AAB00A,9.0 -1502.0,WVG0-b611,WVG0,Wrapped Virgin Gen 0,0x25C7b64A93Eb1261E130eC21a3e9918CaA38b611,18.0 -1503.0,AKITA-23E6,AKITA,Akita Inu,0x3301Ee63Fb29F863f2333Bd4466acb46CD8323E6,18.0 -1504.0,KEY-96E7,KEY,SelfKey,0x4CC19356f2D37338b9802aa8E8fc58B0373296E7,18.0 -1505.0,EPIK-dF75,EPIK,Epik Prime,0x4da0C48376C277cdBd7Fc6FdC6936DEE3e4AdF75,18.0 -1506.0,BLES-31Cd,BLES,Blind Boxes Token,0xE796d6ca1ceb1b022EcE5296226BF784110031Cd,18.0 -1507.0,NFY-42bC,NFY,Non-Fungible Yearn,0x1cBb83EbcD552D5EBf8131eF8c9CD9d9BAB342bC,18.0 -1508.0,HRD-3445,HRD,Hoard,0x461B71cff4d4334BbA09489acE4b5Dc1A1813445,9.0 -1509.0,SHPING-1BEC,SHPING,Shping Coin,0x7C84e62859D0715eb77d1b1C4154Ecd6aBB21BEC,18.0 -1510.0,VSP-8421,VSP,VesperToken,0x1b40183EFB4Dd766f11bDa7A7c3AD8982e998421,18.0 -1511.0,NFTP-2465,NFTP,NFT Platform Index,0x68bB81B3F67f7AAb5fd1390ECB0B8e1a806F2465,18.0 -1512.0,STAK-6D13,STAK,Jigstack,0x1F8A626883d7724DBd59eF51CBD4BF1Cf2016D13,18.0 -1513.0,SIGIL-40E4,SIGIL,Sigil Finance,0xF029Fd6b5ED35C825Dd02B7A02952C30002840E4,18.0 -1514.0,CAP-3142,CAP,Cap,0x43044f861ec040DB59A7e324c40507adDb673142,18.0 -1515.0,RIDGE-3165,RIDGE,Ridge,0x64609A845Ad463d07ee51e91a88D1461C3Dc3165,9.0 -1516.0,TAXHAVENINU-bD01,TAXHAVENINU,Tax Haven Inu,0x664C6E221c77313307467B121528ad563107bD01,9.0 -1517.0,VEE-13B7,VEE,BLOCKv Token,0x340D2bdE5Eb28c1eed91B2f790723E3B160613B7,18.0 -1518.0,WNK-8Eba,WNK,Winkies,0xE1BDA0c3Bfa2bE7f740f0119B6a34F057BD58Eba,18.0 -1519.0,NFTL-F2DD,NFTL,NFTLAUNCH.network,0xe7F72Bc0252cA7B16dBb72eEee1AfcDb2429F2DD,18.0 -1520.0,SWINGBY-b13A,SWINGBY,SWINGBY token,0x8287C7b963b405b7B8D467DB9d79eEC40625b13A,18.0 -1521.0,SXP-b6A9,SXP,Swipe,0x8CE9137d39326AD0cD6491fb5CC0CbA0e089b6A9,18.0 -1522.0,KISHU-817D,KISHU,Kishu Inu,0xA2b4C0Af19cC16a6CfAcCe81F192B024d625817D,9.0 -1523.0,GAME-2437,GAME,GAME Credits,0x63f88A2298a5c4AEE3c216Aa6D926B184a4b2437,18.0 -1524.0,1MIL-A016,1MIL,1MILNFT,0xa4eF4b0B23C1fc81d3f9ecF93510e64f58A4A016,18.0 -1525.0,DGMAN-d7C9,DGMAN,DogeMan,0x3cc1020aCDCd64b11Dd417d2C28388E71605d7C9,9.0 -1526.0,MatsuSwap-26C4,MatsuSwap,MatsuSwap,0x2F0F622a93c85C43Fd47f4Ab119360f5846026C4,9.0 -1527.0,LEAP-a134,LEAP,LEAP Token,0x53263d9EF74Db583b15fbC6D5D4e8B83833fa134,18.0 -1528.0,WHITE-6B44,WHITE,Whiteheart Token,0x5F0E628B693018f639D10e4A4F59BD4d8B2B6B44,18.0 -1529.0,imgnAI-CBe0,imgnAI,Image Generation AI | imgnAI.com,0xA735A3AF76CC30791C61c10d585833829d36CBe0,9.0 -1530.0,X7R-ca54,X7R,X7R,0x70008F18Fc58928dcE982b0A69C2c21ff80Dca54,18.0 -1531.0,FOX-e52d,FOX,FOX,0xc770EEfAd204B5180dF6a14Ee197D99d808ee52d,18.0 -1532.0,BOTTO-5BBA,BOTTO,Botto,0x9DFAD1b7102D46b1b197b90095B5c4E9f5845BBA,18.0 -1533.0,DACT-EBec,DACT,Dact Coin,0x343c6de13833bc7d9890eb6B1cd3FBeBC730EBec,9.0 -1534.0,MMAI-a90F,MMAI,MetamonkeyAi,0xaa0c5B3567fd1bac8a2a11EB16c3F81a49eea90F,7.0 -1535.0,CINO-6090,CINO,Cino Token,0x9b0B23b35AD8136E6181F22b346134cE5f426090,18.0 -1536.0,DOKI-7544,DOKI,DokiDokiFinance,0x9cEB84f92A0561fa3Cc4132aB9c0b76A59787544,18.0 -1537.0,TECH-5698,TECH,Cryptomeda,0x6286A9e6f7e745A6D884561D88F94542d6715698,18.0 -1538.0,CENT-35bc,CENT,Centaurify,0x08ba718F288c3b12B01146816bef9FA03cC635bc,18.0 -1539.0,MOON-4824,MOON,MoonToken,0x68a3637bA6E75c0f66B61A42639c4e9fCD3D4824,18.0 -1540.0,SWT-c29A,SWT,ShibWallet,0x1f05DeE43dF9fd0Cd7F4b011B20b04870a30c29A,18.0 -1541.0,TRADE-4fB1,TRADE,UniTrade,0x6F87D756DAf0503d08Eb8993686c7Fc01Dc44fB1,18.0 -1542.0,GENART-BaC8,GENART,GEN.ART,0x12E56851Ec22874520Dc4c7fa0A8a8d7DBa1BaC8,18.0 -1543.0,BASE-5fDC,BASE,Base Protocol,0x07150e919B4De5fD6a63DE1F9384828396f25fDC,9.0 -1544.0,SPHRI-b3Ec,SPHRI,Spherium Token,0x8A0cdfaB62eD35b836DC0633482798421C81b3Ec,18.0 -1545.0,LPT-B239,LPT,Livepeer Token,0x58b6A8A3302369DAEc383334672404Ee733aB239,18.0 -1546.0,MITx-1Db6,MITx,Morpheus Infrastructure Token,0x4a527d8fc13C5203AB24BA0944F4Cb14658D1Db6,18.0 -1547.0,CLIQ-6767,CLIQ,Cliq,0x0Def8d8addE14c9eF7c2a986dF3eA4Bd65826767,18.0 -1548.0,SHIBO-CDa2,SHIBO,Shibosu,0x38e3b07D607dEF629b4f3f46a0082006fdd6CDa2,18.0 -1549.0,ankrETH-c3cb,ankrETH,Ankr Staked ETH,0xE95A203B1a91a908F9B9CE46459d101078c2c3cb,18.0 -1550.0,STOS-Bdcc,STOS,Stratos Token,0x08c32b0726C5684024ea6e141C50aDe9690bBdcc,18.0 -1551.0,FCL-0EB3,FCL,Fractal Protocol Token,0xF4d861575ecC9493420A3f5a14F85B13f0b50EB3,18.0 -1552.0,SWAI-7eAe,SWAI,SchwiftAI,0x3540DFCaD7CF102a2E44AA0e2132FAb1c89d7eAe,18.0 -1553.0,TSX-9Bfd,TSX,TradeStars TSX,0x734C90044a0bA31B3F2e640c10dC5d3540499Bfd,18.0 -1554.0,RARE-6350,RARE,SuperRare,0xba5BDe662c17e2aDFF1075610382B9B691296350,18.0 -1555.0,A Birds Nest-873A,A Birds Nest,HOOT,0x12A7530D6f9e1a9B0351D78aB711f7C2c033873A,18.0 -1556.0,MoFi-7544,MoFi,MobiFi,0xB2dbF14D0b47ED3Ba02bDb7C954e05A72deB7544,18.0 -1557.0,$TRDL-188a,$TRDL,Strudel Finance,0x297D33e17e61C2Ddd812389C2105193f8348188a,18.0 -1558.0,DODO-4DDd,DODO,DODO bird,0x43Dfc4159D86F3A37A5A4B3D4580b888ad7d4DDd,18.0 -1559.0,Fortune-B015,Fortune,Fortune,0x9F009D03E1b7F02065017C90e8e0D5Cb378eB015,9.0 -1560.0,wLITI-5f93,wLITI,wLitiCapital,0x0b63128C40737B13647552e0C926bCFEccC35f93,18.0 -1561.0,GSWAP-f8B2,GSWAP,gameswap.org,0xaac41EC512808d64625576EDdd580e7Ea40ef8B2,18.0 -1562.0,HELIOS-01a1,HELIOS,Mission Helios,0xC6d1f1D5a46de07E73091f1c8793293B203f01a1,18.0 -1563.0,TEN-40E4,TEN,Tokenomy,0xDD16eC0F66E54d453e6756713E533355989040E4,18.0 -1564.0,LABRA-d600,LABRA,Labra,0x106d3C66d22D2DD0446df23D7F5960752994d600,9.0 -1565.0,SCAN-871b,SCAN,CoinScan,0x234D51eE02be808A0160b19b689660Fb7BFA871b,9.0 -1566.0,TXL-4b41,TXL,Tixl Token,0x8eEF5a82E6Aa222a60F009ac18c24EE12dBf4b41,18.0 -1567.0,ROGE-c80A,ROGE,Rogue Doge,0x45734927Fa2f616FbE19E65f42A0ef3d37d1c80A,9.0 -1568.0,SAITANOBI-F1C6,SAITANOBI,Saitanobi,0x5e9F35E8163c44cD7e606BdD716AbED32AD2F1C6,9.0 -1569.0,TONE-03c4,TONE,TE-FOOD/TustChain,0x2Ab6Bb8408ca3199B8Fa6C92d5b455F820Af03c4,18.0 -1570.0,GRC-53c6,GRC,GreenCoin,0x46D886887B6908183032c75dee1b731B26D653c6,18.0 -1571.0,HOKK-21E8,HOKK,Hokkaido Inu,0xe87e15B9c7d989474Cb6d8c56b3DB4eFAD5b21E8,18.0 -1572.0,HOICHI-d2b6,HOICHI,Hoichi 芳一,0xC4EE0aA2d993ca7C9263eCFa26c6f7e13009d2b6,18.0 -1573.0,BBANK-f267,BBANK,BlockBank,0xF4b5470523cCD314C6B9dA041076e7D79E0Df267,18.0 -1574.0,RIOT-2Eb4,RIOT,RIOT,0xf56408077487cB879c992909C5b5C66D68c02Eb4,18.0 -1575.0,PZ-38E0,PZ,Paradigm Zero,0x578Dc16c47327429fF1594fA3eB77A96F38438E0,9.0 -1576.0,WOLVERINU-5f14,WOLVERINU,WOLVERINU,0x7Cc97Bf17C5AdaBe25F9D19D15A1eC8A1ad65f14,18.0 -1577.0,EGGS-82e0,EGGS,Eggs,0x2e516BA5Bf3b7eE47fb99B09eaDb60BDE80a82e0,18.0 -1578.0,CARDS-52d9,CARDS,CARD.STARTER,0x3d6F0DEa3AC3C607B3998e6Ce14b6350721752d9,18.0 -1579.0,LFT-3F82,LFT,LendFlare DAO Token,0xB620Be8a1949AA9532e6a3510132864EF9Bc3F82,18.0 -1580.0,BUH-4427,BUH,BUHUND,0x66bcD0C22Bb15cD1bA7199C7a383DC89528f4427,18.0 -1581.0,$CHOO-F8A0,$CHOO,Chooky Inu,0x9c5476Af06590A9277C7706fe70c0a42A480F8A0,18.0 -1582.0,DFYN-9023,DFYN,DFYN Token,0x9695e0114e12C0d3A3636fAb5A18e6b737529023,18.0 -1583.0,ZINU-d508,ZINU,ZINU,0xC5FDf3569af74f3B3e97E46A187a626352D2d508,9.0 -1584.0,SHIBORG-a741,SHIBORG,Shibrobi,0x372C95CE229a7Af37D141F627d09f6Df1DbAa741,9.0 -1585.0,VALUE-8E5c,VALUE,Value Liquidity,0x49E833337ECe7aFE375e44F4E3e8481029218E5c,18.0 -1586.0,KEI-A842,KEI,keisukeinu.finance,0xc0114F14638a333A4D5C3b04F09b96372348A842,9.0 -1587.0,RDT-fCa3,RDT,Ridotto,0x4740735AA98Dc8aa232BD049f8F0210458E7fCa3,18.0 -1588.0,OIN-1259,OIN,oinfinance,0x9aeB50f542050172359A0e1a25a9933Bc8c01259,8.0 -1589.0,SWRV-D433,SWRV,Swerve DAO Token,0xB8BAa0e4287890a5F79863aB62b7F175ceCbD433,18.0 -1590.0,QSP-b80d,QSP,Quantstamp Token,0x99ea4dB9EE77ACD40B119BD1dC4E33e1C070b80d,18.0 -1591.0,RR-68eD,RR,Red Rabbit,0xfe98C2B85cAaFE841ca7Fa8b3B912a178A3f68eD,18.0 -1592.0,GDAO-86Bc,GDAO,Governor,0x515d7E9D75E2b76DB60F8a051Cd890eBa23286Bc,18.0 -1593.0,PTF-39F7,PTF,PowerTrade Fuel Token,0xC57d533c50bC22247d49a368880fb49a1caA39F7,18.0 -1594.0,HOGE-7607,HOGE,hoge.finance,0xfAd45E47083e4607302aa43c65fB3106F1cd7607,9.0 -1595.0,WWY-E322,WWY,WeWay Token,0x9Ab70e92319f0b9127df78868Fd3655fB9f1E322,18.0 -1596.0,WIZ-06B2,WIZ,WIZ,0x603778e5e07e180E300bD10df7fA626313a206B2,4.0 -1597.0,SHR-a964,SHR,ShareToken,0xd98F75b1A3261dab9eEd4956c93F33749027a964,2.0 -1598.0,KEEP-aFEC,KEEP,KEEP Token,0x85Eee30c52B0b379b046Fb0F85F4f3Dc3009aFEC,18.0 -1599.0,ARTEQ-c787,ARTEQ,arteQ NFT Investment Fund,0x805C2077f3ab224D889f9c3992B41B2F4722c787,0.0 -1600.0,NET-A71F,NET,DEFINET,0x77A9B858aA8417fd318ecEE01C1d6D9fEF31A71F,18.0 -1601.0,GME-5590,GME,GameStop.Finance,0x9eb6bE354d88fD88795a04DE899a57A77C545590,18.0 -1602.0,VADER-0983,VADER,Vader,0x2602278EE1882889B946eb11DC0E810075650983,18.0 -1603.0,BARD-14DF,BARD,Bard Protocol,0x9E7e87608A34Bc66396D53e69B9495Bd8f5414DF,9.0 -1604.0,THEOS-Da1d,THEOS,THEOS,0x9e10f61749c4952C320412A6B26901605Ff6Da1d,18.0 -1605.0,BLOCK-E-0a60,BLOCK-E,BLOCK-E,0xa9f9aCB92E4E2f16410511D56839A5Bd1d630a60,9.0 -1606.0,CINU-8c32,CINU,CheemsInu,0xA64D5d1eB67748226d84812B45711453f1118c32,9.0 -1607.0,VOLT-58Ac,VOLT,Volt Inu,0x7db5af2B9624e1b3B4Bb69D6DeBd9aD1016A58Ac,9.0 -1608.0,oDOGE-EaBC,oDOGE,Ordinal Doge,0x796a4503b444A71b331c9556bEF0815237ddEaBC,18.0 -1609.0,BC-2Ae9,BC,Bitcoin,0xe03B2642A5111aD0EFc0cbCe766498c2dd562Ae9,9.0 -1610.0,DANDY-9B82,DANDY,dandy.dego,0x9Dfc4B433D359024Eb3E810d77d60fbE8B0d9B82,18.0 -1611.0,SIDUS-1102,SIDUS,SIDUS,0x549020a9Cb845220D66d3E9c6D9F9eF61C981102,18.0 -1612.0,TheRadio-622C,TheRadio,Radioreum,0xAA2DEd323944b25C0B6f1F891Bc96F010b65622C,18.0 -1613.0,HXRO-38f3,HXRO,Hxro,0x4bD70556ae3F8a6eC6C4080A0C327B24325438f3,18.0 -1614.0,NORD-a0DE,NORD,Nord Token,0x6e9730EcFfBed43fD876A264C982e254ef05a0DE,18.0 -1615.0,PoA-B8cE,PoA,Proof Of Apes,0x1d2d542e6D9d85A712deB4D1a7D96a16CE00B8cE,18.0 -1616.0,LEAD-C4ce,LEAD,Lead Token,0x1dD80016e3d4ae146Ee2EBB484e8edD92dacC4ce,18.0 -1617.0,imBTC-8923,imBTC,The Tokenized Bitcoin,0x3212b29E33587A00FB1C83346f5dBFA69A458923,8.0 -1618.0,AXL-C0E0,AXL,AXL INU,0x25b24B3c47918b7962B3e49C4F468367F73CC0E0,18.0 -1619.0,BCUBE-0A93,BCUBE,b-cube.ai Token,0x93C9175E26F57d2888c7Df8B470C9eeA5C0b0A93,18.0 -1620.0,TOR-7056,TOR,Tor Wallet,0x35073CA7bAC0c2eDf58fb34A2CBC39Ea2fbB7056,18.0 -1621.0,SCX-bF21,SCX,Scarcity,0x1B8568FbB47708E9E9D31Ff303254f748805bF21,18.0 -1622.0,MAGIC-Ac9A,MAGIC,MAGIC,0xB0c7a3Ba49C7a6EaBa6cD4a96C55a1391070Ac9A,18.0 -1623.0,SARCO-F51A,SARCO,Sarcophagus,0x7697B462A7c4Ff5F8b55BDBC2F4076c2aF9cF51A,18.0 -1624.0,BRIGHT-af55,BRIGHT,Bright Union,0xBEaB712832112bd7664226db7CD025B153D3af55,18.0 -1625.0,wSIENNA-64f9,wSIENNA,Sienna (ERC20),0x9b00e6E8D787b13756eb919786c9745054DB64f9,18.0 -1626.0,BALTO-8dBC,BALTO,Balto Token,0x5955f7d312c5d84B004d259D55072C4F0A478dBC,18.0 -1627.0,SHIH-1465,SHIH,Shih Tzu,0x841FB148863454A3b3570f515414759BE9091465,18.0 -1628.0,SWIFY-f2fB,SWIFY,Swapify,0x9C7376b5060C47E555f5F53005aA3D5A7C66f2fB,9.0 -1629.0,EVN-A7ec,EVN,Evn Token,0x9aF15D7B8776fa296019979E70a5BE53c714A7ec,18.0 -1630.0,mefi-Ec07,mefi,The meme finance,0xe13879194578C6F1A591a96C45B65022c43CEc07,9.0 -1631.0,PLSB-8D06,PLSB,PulseBitcoin,0x5EE84583f67D5EcEa5420dBb42b462896E7f8D06,12.0 -1632.0,TOKU-BD82,TOKU,Toku,0x9eEC1A4814323a7396c938bc86aeC46b97F1BD82,18.0 -1633.0,MRI-c977,MRI,Marshall Rogan Inu,0x0913dDAE242839f8995c0375493f9a1A3Bddc977,18.0 -1634.0,ALPA-514A,ALPA,AlpaToken,0x7cA4408137eb639570F8E647d9bD7B7E8717514A,18.0 -1635.0,TOKE-8C94,TOKE,Tokemak,0x2e9d63788249371f1DFC918a52f8d799F4a38C94,18.0 -1636.0,TOS-7B48,TOS,TOSA INU,0x34748FEDAd669C788aaBe4fb325A4587941F7B48,18.0 -1637.0,DOWS-c559,DOWS,Shadows Network,0x661Ab0Ed68000491d98C796146bcF28c20d7c559,18.0 -1638.0,MIKAWA-6A26,MIKAWA,Mikawa Inu,0x0888Fd2960Ddf57Cfb561B59d73Dd2b9524F6A26,9.0 -1639.0,DOV-79b1,DOV,DOVU,0xac3211a5025414Af2866FF09c23FC18bc97e79b1,18.0 -1640.0,eQUAD-7DF2,eQUAD,QuadrantProtocol,0xC28e931814725BbEB9e670676FaBBCb694Fe7DF2,18.0 -1641.0,RVP-D48a,RVP,RevolutionPopuli ERC20 Token,0x17EF75AA22dD5f6C2763b8304Ab24f40eE54D48a,18.0 -1642.0,NAME-d842,NAME,Polkadomain Token,0xe1A4c5BBb704a92599FEdB191f451E0d3a1ed842,18.0 -1643.0,DGVC-7b30,DGVC,DegenVC,0x26E43759551333e57F073bb0772F50329A957b30,18.0 -1644.0,EQX-8B15,EQX,EQIFi Token,0xBd3de9a069648c84d27d74d701C9fa3253098B15,18.0 -1645.0,cETH-0ED5,cETH,Compound Ether,0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5,8.0 -1646.0,AXI-c39a,AXI,Axioms,0x73EE6D7e6b203125aDd89320E9F343d65ec7c39a,18.0 -1647.0,ZERO-9bf8,ZERO,ZERO,0x0eC78ED49C2D27b315D462d43B5BAB94d2C79bf8,18.0 -1648.0,BNF-1057,BNF,BonFi,0x1DE5e000C41C8d35b9f1f4985C23988f05831057,18.0 -1649.0,TIGER-337F,TIGER,TigerCoin,0xB83c27805aAcA5C7082eB45C868d955Cf04C337F,18.0 -1650.0,SHINJA-84ed,SHINJA,Shibnobi,0x7DAc25b1A665e1c70F25F1fC37d88C99274984ed,9.0 -1651.0,WOLFY-e36f,WOLFY,WOLFYCOIN,0x7DbbCaE15d4DB168e01673400D7844870cc1e36f,9.0 -1652.0,INV-FB68,INV,Inverse DAO,0x41D5D79431A913C4aE7d69a668ecdfE5fF9DFB68,18.0 -1653.0,REVO-1409,REVO,Revomon,0x155040625D7ae3e9caDA9a73E3E44f76D3Ed1409,18.0 -1654.0,( ͡° ͜ʖ ͡°)-1c4c,( ͡° ͜ʖ ͡°),Lenny Face,0xDadb4aE5B5D3099Dd1f586f990B845F2404A1c4c,18.0 -1655.0,DEGEN-c855,DEGEN,DEGEN Index,0x126c121f99e1E211dF2e5f8De2d96Fa36647c855,18.0 -1656.0,GFARM2-1e1B,GFARM2,Gains V2,0x831091dA075665168E01898c6DAC004A867f1e1B,18.0 -1657.0,GUM-0f24,GUM,GourmetGalaxy,0x4f5fa8f2d12e5eB780f6082Dd656C565C48E0f24,18.0 -1658.0,ROCKI-aa04,ROCKI,ROCKI,0xFf44b937788215ecA197BAaf9AF69dbdC214aa04,18.0 -1659.0,LOCG-27d0,LOCG,LOCGame,0x60Eb57d085C59932d5fAa6c6026268A4386927d0,18.0 -1660.0,ZRO-E5e0,ZRO,PROTOCOL ZERO,0xd79F43113B22D1eA9F29cfcC7BB287489F8EE5e0,18.0 -1661.0,PBR-d695,PBR,PolkaBridge,0x298d492e8c1d909D3F63Bc4A36C66c64ACB3d695,18.0 -1662.0,MVI-34D7,MVI,Metaverse Index,0x72e364F2ABdC788b7E918bc238B21f109Cd634D7,18.0 -1663.0,DOUGH-7b2D,DOUGH,PieDAO DOUGH v2,0xad32A8e6220741182940c5aBF610bDE99E737b2D,18.0 -1664.0,RFuel-36E5,RFuel,Rio Fuel Token,0xaf9f549774ecEDbD0966C52f250aCc548D3F36E5,18.0 -1665.0,CTCN-1FD8,CTCN,Contracoin,0xFD6C31bb6F05Fc8dB64F4b740Ab758605c271FD8,18.0 -1666.0,aDAI-f85d,aDAI,Aave Interest bearing DAI,0xfC1E690f61EFd961294b3e1Ce3313fBD8aa4f85d,18.0 -1667.0,LKT-BA69,LKT,Locker Token,0xd3E133a0A14Bb8B595e5Fbf9851c7c783685BA69,18.0 -1668.0,KIBA-af3c,KIBA,Kiba Inu,0x005D1123878Fc55fbd56b54C73963b234a64af3c,18.0 -1669.0,GIGA-9cea,GIGA,GigaSwap,0x83249c6794BCa5a77Eb8c0AF9F1A86E055459cea,9.0 -1670.0,ADX-B7c3,ADX,AdEx Network,0xADE00C28244d5CE17D72E40330B1c318cD12B7c3,18.0 -1671.0,DOBE-A3d5,DOBE,Dobermann,0xe7aB45162f5979F09B0bDa1CC7DfC97C270EA3d5,18.0 -1672.0,VAI-395c,VAI,VAIOT Token,0xD13cfD3133239a3c73a9E535A5c4DadEE36b395c,18.0 -1673.0,YMNT-C254,YMNT,Yamanote-Sen,0xe59A1fe295f940E5226DcF6411Ef2Bdf3089C254,9.0 -1674.0,DOGGER-5Cbe,DOGGER,Dogger Token,0xb3Cc3d7E656893F22d2372b0aE57106F6b155Cbe,18.0 -1675.0,rHEGIC2-eE5f,rHEGIC2,HEGICTokenIOU Phase II,0xAd7Ca17e23f13982796D27d1E6406366Def6eE5f,18.0 -1676.0,BITE-D88D,BITE,DragonBite,0x4eED0fa8dE12D5a86517f214C2f11586Ba2ED88D,18.0 -1677.0,SHINSHU-cC0A,SHINSHU,Shinshu Inu,0x2965395F71B7d97ede251E9B63e44dfA9647cC0A,18.0 -1678.0,TRIB-5Af0,TRIB,Contribute,0xe09216F1d343Dd39D6Aa732a08036fee48555Af0,18.0 -1679.0,ASTRAL-28a1,ASTRAL,Astral AI Project,0xC74B43cC61b627667a608c3F650c2558F88028a1,18.0 -1680.0,SMI-2214,SMI,SafeMoon Inu,0xCd7492db29E2ab436e819b249452EE1bbDf52214,8.0 -1681.0,DREAM-7d02,DREAM,DREAM,0xb44377B74Ef1773639B663d0754cB8410A847d02,18.0 -1682.0,SAT-1332,SAT,SoMee Advertising Token V2,0xc9F1016d336ef77AeE75Fc11Ad64C5Ecf9121332,18.0 -1683.0,JSHIBA-4c7c,JSHIBA,Jomon Shiba,0x1426cC6D52D1B14e2B3b1Cb04d57ea42B39c4c7c,9.0 -1684.0,DTH-c924,DTH,DeathWolf,0x0cf75471B0FbF76A315A75eBDa6600ab92Fdc924,18.0 -1685.0,KEL-5432,KEL,KelVpn Token,0x4ABB9cC67BD3da9Eb966d1159A71a0e68BD15432,18.0 -1686.0,BLANK-9666,BLANK,GoBlank Token,0x41A3Dba3D677E573636BA691a70ff2D606c29666,18.0 -1687.0,NAOS-4496,NAOS,NAOSToken,0x4a615bB7166210CCe20E6642a6f8Fb5d4D044496,18.0 -1688.0,MOAR-701a,MOAR,MOAR Finance,0x187Eff9690E1F1A61d578C7c492296eaAB82701a,18.0 -1689.0,VAL-d1E4,VAL,Sora Validator Token,0xe88f8313e61A97cEc1871EE37fBbe2a8bf3ed1E4,18.0 -1690.0,LKR-CDcf,LKR,Polkalokr,0x80CE3027a70e0A928d9268994e9B85d03Bd4CDcf,18.0 -1691.0,ARCHIE-8f90,ARCHIE,Archie Neko,0xFE5F69dfa2d4501E78078266F6d430c079098f90,9.0 -1692.0,DZOO-ca83,DZOO,DegenZoo,0xc97d6C52F3ADD91Fa1c5287a453d7444aECBca83,18.0 -1693.0,ZAP-b104,ZAP,ZAP TOKEN,0x6781a0F84c7E9e846DCb84A9a5bd49333067b104,18.0 -1694.0,INSURE-393E,INSURE,InsureToken,0xd83AE04c9eD29d6D3E6Bf720C71bc7BeB424393E,18.0 -1695.0,TQUEEN-73fC,TQUEEN,TigerQueen,0x1C720999A4F8B2B0E9199039D353D2c9A77A73fC,18.0 -1696.0,DMTR-4fdB,DMTR,Dimitra Token,0x51cB253744189f11241becb29BeDd3F1b5384fdB,18.0 -1697.0,BABYSAITAMA-f045,BABYSAITAMA,Baby Saitama Inu,0xf79F9020560963422eCC9C0c04D3a21190BBf045,9.0 -1698.0,AllIn-3Ebe,AllIn,All In,0x9B2b931d6AB97B6A887b2C5d8529537E6FE73Ebe,9.0 -1699.0,DBUY-5782,DBUY,Doont Buy,0x4EcE5C5CfB9B960A49aAe739E15cDB6cfDcc5782,9.0 -1700.0,OKAGE-89eC,OKAGE,Okage Inu,0x8dfc8cc3201425669FaE803e1eB125cddd4189eC,18.0 -1701.0,NU-A4Cc,NU,NuCypher,0x4fE83213D56308330EC302a8BD641f1d0113A4Cc,18.0 -1702.0,LIT-9723,LIT,Litentry,0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723,18.0 -1703.0,ARC-e7c2,ARC,ARC,0xC82E3dB60A52CF7529253b4eC688f631aad9e7c2,18.0 -1704.0,KALLY-AD07,KALLY,Polkally,0xfd30C9BEA1A952FEeEd2eF2C6B2Ff8A8FC4aAD07,18.0 -1705.0,LSS-E320,LSS,Lossless Token,0x3B9BE07d622aCcAEd78f479BC0EDabFd6397E320,18.0 -1706.0,MFC-5820,MFC,Marshall Fighting Championship,0x337DD23d05c27bff099d3604938BFc23A9B25820,18.0 -1707.0,DIGI-d848,DIGI,Digi,0x3CbF23c081fAA5419810ce0F6BC1ECb73006d848,18.0 -1708.0,SNOW-79AE,SNOW,SnowSwap,0xfe9A29aB92522D14Fc65880d817214261D8479AE,18.0 -1709.0,RVF-96D2,RVF,Rocket Vault,0xdc8aF07A7861bedD104B8093Ae3e9376fc8596D2,18.0 -1710.0,BOWL-5794,BOWL,BOWL SHIBARIUM,0x760Ea31711aC14cb9Ba81aC25453C6f378fA5794,9.0 -1711.0,KENNEL-039a,KENNEL,Kennel,0x25d4e7fe624FcC6E7F0b52D142F40c9ACEcF039a,18.0 -1712.0,SYN-8BD9,SYN,SynLev,0x1695936d6a953df699C38CA21c2140d497C08BD9,18.0 -1713.0,TNGL-C1C2,TNGL,Tangle,0x5aF28EB9deC75e86CDFBD2e41a474b54B211C1C2,9.0 -1714.0,SHFT-6d19,SHFT,Shibcraft,0xF5a56bD9Ee4a3E2D493ab8e072658794B38b6d19,18.0 -1715.0,MEL-4892,MEL,Melalie,0xed0889F7E1c7C7267407222Be277e1f1Ef4d4892,18.0 -1716.0,AVG-311f,AVG,Avocado DAO Token,0xa41F142b6eb2b164f8164CAE0716892Ce02f311f,18.0 -1717.0,BTFA-C133,BTFA,Banana Task Force Ape,0xC631bE100F6Cf9A7012C23De5a6ccb990EAFC133,9.0 -1718.0,ROBO-3061,ROBO,Robo Token,0x6FC2f1044A3b9bB3e43A43EC8F840843Ed753061,18.0 -1719.0,URQA-3136,URQA,UREEQA Token,0x1735Db6AB5BAa19eA55d0AdcEeD7bcDc008B3136,18.0 -1720.0,BAO-9F3A,BAO,Bao Token V2,0xCe391315b414D4c7555956120461D21808A69F3A,18.0 -1721.0,X7103-c105,X7103,X7103,0x7103eBdbF1f89be2d53EFF9B3CF996C9E775c105,18.0 -1722.0,IAG-1Fc8,IAG,IAGON,0x40EB746DEE876aC1E78697b7Ca85142D178A1Fc8,18.0 -1723.0,HIKARI-4e39,HIKARI,HIKARI,0xd4126f195a8de772EeFfa61a4aB6dd43462F4e39,18.0 -1724.0,Shibgun-929c,Shibgun,Shibagun,0xa3BA969DD831D4eFf2bAF930e7F66D2eef5D929c,18.0 -1725.0,rushAI-c45B,rushAI,AlphaRushAI,0x69d47846bb7B884062FaBc08A4A7dEADCd98c45B,18.0 -1726.0,FND-f17e,FND,Foundation,0xB13d747d783BF1A9F1D65Df74C080C890045f17e,7.0 -1727.0,RAMP-Ed9f,RAMP,RAMP DEFI,0x33D0568941C0C64ff7e0FB4fbA0B11BD37deEd9f,18.0 -1728.0,ZORA-5ae6,ZORA,Zoracles,0xD8E3FB3b08eBA982F2754988d70D57eDc0055ae6,9.0 -1729.0,VXL-2b31,VXL,Voxel X Network,0x16CC8367055aE7e9157DBcB9d86Fd6CE82522b31,18.0 -1730.0,KEYS-86ff,KEYS,Keys,0xe0a189C975e4928222978A74517442239a0b86ff,9.0 -1731.0,SER-8fDC,SER,Serum,0xb19189Fb36c816f3e0f16065057B07B790998fDC,18.0 -1732.0,NEURONI-f332,NEURONI,Neuroni.AI,0x922e2708462c7a3d014D8344F7C4d92b27ECf332,18.0 -1733.0,TTX-4D9B,TTX,TTX NFT,0xeF2e239b21A81719abAabC6239e2e90859B44D9B,18.0 -1734.0,BabyDoge-460B,BabyDoge,Baby Doge Coin,0xAC57De9C1A09FeC648E93EB98875B212DB0d460B,9.0 -1735.0,wALV-D497,wALV,Alvey Chain,0x256D1fCE1b1221e8398f65F9B36033CE50B2D497,18.0 -1736.0,BNSD-0188,BNSD,bns.finance,0x668DbF100635f593A3847c0bDaF21f0a09380188,18.0 -1737.0,ODA-5d90,ODA,Eiichiro Oda,0x0C6Bf55F60143Fa1dA202AC8c9b8Ce484b5a5d90,18.0 -1738.0,CVP-DcA1,CVP,Concentrated Voting Power,0x38e4adB44ef08F22F5B5b76A8f0c2d0dCbE7DcA1,18.0 -1739.0,RABBIT-Fd35,RABBIT,Rabbit2023,0x706f280Cdb92260fe2D50EDA545F834ff1fbFd35,9.0 -1740.0,$XMU-D2cF,$XMU,Mushe,0x56123908ACA89bf60cE9659aE9F4589E46c8D2cF,9.0 -1741.0,KIT-B4F4,KIT,DexKit,0x7866E48C74CbFB8183cd1a929cd9b95a7a5CB4F4,18.0 -1742.0,RAZOR-d2cd,RAZOR,RAZOR,0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd,18.0 -1743.0,DOP-A2ef,DOP,Drops Ownership Power,0x6bB61215298F296C55b19Ad842D3Df69021DA2ef,18.0 -1744.0,GZLR-7632,GZLR,Guzzler,0x9f4909Cc95FB870BF48C128C1Fdbb5F482797632,18.0 -1745.0,DINERO-Be79,DINERO,DINERO,0xa3ad8c7AB6b731045b5b16E3fDf77975c71ABe79,18.0 -1746.0,IND-3705,IND,Indorse Token,0xf8e386EDa857484f5a12e4B5DAa9984E06E73705,18.0 -1747.0,AVS-b3b2,AVS,AlgoVest,0x94d916873B22C9C1b53695f1c002F78537B9b3b2,18.0 -1748.0,BFIGHT-d657,BFIGHT,BARFIGHT,0x6B5DDe2c94EcC10C93e8A44288bEFAD2a89bd657,9.0 -1749.0,XY-50DE,XY,XY Token,0x77777777772cf0455fB38eE0e75f38034dFa50DE,18.0 -1750.0,TON-520a,TON,TONToken,0x6a6c2adA3Ce053561C2FbC3eE211F23d9b8C520a,18.0 -1751.0,IC-6457,IC,Icy,0xA876f27F13A9eB6E621202cEFDD5AFc4a90E6457,9.0 -1752.0,HOBBES-4140,HOBBES,Hobbes,0x819c1A1568934Ee59d9F3C8B9640908556c44140,18.0 -1753.0,SMOL-030e,SMOL,smolting inu,0x553539d40AE81FD0d9C4b991B0b77bE6f6Bc030e,18.0 -1754.0,NFT-850a,NFT,APENFT,0x198d14F2Ad9CE69E76ea330B374DE4957C3F850a,6.0 -1755.0,BTCP-f5Ab,BTCP,BitcoinPro,0x723CbfC05e2cfcc71d3d89e770D32801A5eEf5Ab,8.0 -1756.0,UPI-B67c,UPI,Pawtocol Network UPI Token,0x70D2b7C19352bB76e4409858FF5746e500f2B67c,18.0 -1757.0,WIZ-edF2,WIZ,BlueWizard,0x33d20575f20C6A1881F8ab08E69F6fbAFfAEedF2,12.0 -1758.0,IPOR-9090,IPOR,IPOR Token,0x1e4746dC744503b53b4A082cB3607B169a289090,18.0 -1759.0,INUBIS-604c,INUBIS,Inubis,0x3667d6B1AEE4f96b608EE365FdA9fa5BA866604c,9.0 -1760.0,UCO-21fa,UCO,UnirisToken,0x8a3d77e9d6968b780564936d15B09805827C21fa,18.0 -1761.0,Dubbz-Da17,Dubbz,Dubbz,0x38029C62DfA30D9FD3CaDf4C64e9b2ab21DbDa17,18.0 -1762.0,FREN-583A,FREN,FrenChain,0x8e14c88aB0644eF41bd7138ab91C0160D8c1583A,18.0 -1763.0,BitANT-D1a6,BitANT,BitANT,0x15Ee120fD69BEc86C1d38502299af7366a41D1a6,18.0 -1764.0,KAWA-60Ec,KAWA,Kawakami,0x5552E5a89A70cB2eF5AdBbC45a6BE442fE7160Ec,9.0 -1765.0,ALOHA-FabE,ALOHA,ALOHA,0x455F7Ef6D8BCfc35f9337e85aEe1B0600a59FabE,18.0 -1766.0,HUSL-26be,HUSL,The HUSL,0xa2881F7F441267042f9778fFA0d4F834693426be,18.0 -1767.0,RVST-d4bA,RVST,Revest,0x120a3879da835A5aF037bB2d1456beBd6B54d4bA,18.0 -1768.0,DPX-dC81,DPX,Dopex Governance Token,0xEec2bE5c91ae7f8a338e1e5f3b5DE49d07AfdC81,18.0 -1769.0,$ADS-001f,$ADS,Alkimi Exchange,0x3106a0a076BeDAE847652F42ef07FD58589E001f,18.0 -1770.0,MXC-386e,MXC,MXCToken,0x5Ca381bBfb58f0092df149bD3D243b08B9a8386e,18.0 -1771.0,YORI-4661,YORI,The Path Of Light,0x1Ab052Db3216835182926A6d516762B0f1634661,9.0 -1772.0,ETH2.0-9fE8,ETH2.0,Proof of Memes,0x04A6b6DE116Fb8bF57e5eE8b05e0293EA3639fE8,18.0 -1773.0,CHAIN-81c4,CHAIN,Chain Games,0xC4C2614E694cF534D407Ee49F8E44D125E4681c4,18.0 -1774.0,CATAI-8d17,CATAI,Catgirl AI,0xBC1A4555745e9C5334eBF9DcfEC0B51285aF8d17,18.0 -1775.0,BPTL-62BF,BPTL,BPTL,0x3a1BC4014C4C493DB3dBfBDD8ee1417113b462BF,18.0 -1776.0,FMT-A54C,FMT,Finminity,0x99c6e435eC259A7E8d65E1955C9423DB624bA54C,18.0 -1777.0,PUBLX-33E8,PUBLX,PUBLX,0x1a6658F40e51b372E593B7d2144c1402d5cf33E8,18.0 -1778.0,STARS-180D,STARS,StarShip,0x7CCFeEF4F0Ff48B0E0abD19bBBebae90939f180D,18.0 -1779.0,WINRY-9F30,WINRY,Winry Inu,0x1a87077C4F834884691B8ba4fc808D2eC93A9F30,9.0 -1780.0,WILD-0e34,WILD,Wilder,0x2a3bFF78B79A009976EeA096a51A948a3dC00e34,18.0 -1781.0,SMBR-62Dd,SMBR,SOMBRA,0x16B3E050e9e2f0Ac4f1BEA1b3E4fdc43d7f062Dd,9.0 -1782.0,IDRT-b48A,IDRT,Rupiah Token,0x998FFE1E43fAcffb941dc337dD0468d52bA5b48A,2.0 -1783.0,SENATE-4470,SENATE,SENATE,0x34Be5b8C30eE4fDe069DC878989686aBE9884470,18.0 -1784.0,KONO-7Df4,KONO,Konomi,0x850aAB69f0e0171A9a49dB8BE3E71351c8247Df4,18.0 -1785.0,MP3-e7a0,MP3,mp3,0x018fb5Af9d015Af25592a014C4266a84143De7a0,18.0 -1786.0,TKINU-9F14,TKINU,Tsuki Inu,0xda23d301761E4e2bF474951f978f6DFB6F3C9F14,9.0 -1787.0,GINU-B306,GINU,GiveWell Inu,0x74bE64B45D394FA57816c1950E94dBB8d7A7B306,9.0 -1788.0,M-b2d5,M,M,0xC3E486F614e297d8E016aC2805e81707C627b2d5,18.0 -1789.0,EXRT-9925,EXRT,EXRT,0xb20043F149817bff5322F1b928e89aBFC65A9925,8.0 -1790.0,WAIF-4b20,WAIF,Waifu,0xB2279B6769CFBa691416F00609b16244c0cF4b20,18.0 -1791.0,RJV-adaB,RJV,Rejuve Token,0x02c3296C6eb50249f290AE596F2bE9454bFfadaB,6.0 -1792.0,LITH-4a42,LITH,Lithium,0x188E817B02e635D482AE4D81e25DdA98A97C4a42,18.0 -1793.0,HEROS-6f62,HEROS,Heros Token,0xb622400807765e73107B7196F444866D7EdF6f62,9.0 -1794.0,STRNGR-CF38,STRNGR,Stronger,0xDc0327D50E6C73db2F8117760592C8BBf1CDCF38,18.0 -1795.0,SHFT-2D85,SHFT,Shyft [ Wrapped ],0xb17C88bDA07D28B3838E0c1dE6a30eAfBCF52D85,18.0 -1796.0,BETTER-319A,BETTER,Better Money,0xA7925aA2A6e4575ab0C74D169f3BC3e03D4C319A,4.0 -1797.0,Mikaboshi-63f4,Mikaboshi,Amatsu-Mikaboshi,0xaE86f48c0B00F2a3eaeF4ba4c23d17368f0f63f4,18.0 -1798.0,SNT-5B9E,SNT,Status Network Token,0x744d70FDBE2Ba4CF95131626614a1763DF805B9E,18.0 -1799.0,FREE-f526,FREE,Ross Ulbricht Genesis Collection,0x4CD0c43B0D53bc318cc5342b77EB6f124E47f526,18.0 -1800.0,dKUMA-A3a8,dKUMA,KumaDex Token,0x3f5dd1A1538a4F9f82E543098f01F22480B0A3a8,18.0 -1801.0,ITS-21C4,ITS,IterationSyndicate,0xC32cC5b70BEe4bd54Aa62B9Aefb91346d18821C4,18.0 -1802.0,MOUSEWORM-5dA8,MOUSEWORM,MouseWorm,0xA848a1D33D8ef1633397A6acf617620fab8E5dA8,6.0 -1803.0,VERSE-dC0a,VERSE,Shibaverse,0x7aE0d42f23C33338dE15bFa89C7405c068d9dC0a,18.0 -1804.0,ALEX-5315,ALEX,AlexMasmej,0x8BA6DcC667d3FF64C1A2123cE72FF5F0199E5315,4.0 -1805.0,UMI-C69C,UMI,UmiToken,0x61107a409fFFe1965126aa456Af679719695C69C,18.0 -1806.0,milkAI-4F39,milkAI,milkAI,0x9f826324bb9BdcF7E7Eb274BEDc417BD45D74F39,8.0 -1807.0,JULIEN-332B,JULIEN,Julien,0xe6710e0CdA178f3D921f456902707B0d4C4A332B,4.0 -1808.0,STOP-f4Ee,STOP,SatoPay,0x8c3eE4F778E282B59D42d693A97b80b1ed80f4Ee,18.0 -1809.0,DRYP-b027,DRYP,Dripto,0xBE1fa1303e2979Ab4d4e5dF3D1c6e3656ACAb027,18.0 -1810.0,TLOS-AC88,TLOS,pTokens TLOS,0x7825e833D495F3d1c28872415a4aee339D26AC88,18.0 -1811.0,MUTE-400c,MUTE,Mute.io,0xA49d7499271aE71cd8aB9Ac515e6694C755d400c,18.0 -1812.0,LTX-d092,LTX,Lattice Token,0xa393473d64d2F9F026B60b6Df7859A689715d092,8.0 -1813.0,TWOPAW-47e8,TWOPAW,TWOPAW Token,0xf7de6DEf3D319811418d69Bf56c532A815FC47e8,18.0 -1814.0,BEZOGE-f695,BEZOGE,Bezoge Earth,0xDC349913d53b446485E98b76800b6254f43Df695,9.0 -1815.0,ESS-40f7,ESS,ESSENTIA,0xfc05987bd2be489ACCF0f509E44B0145d68240f7,18.0 -1816.0,KAI-C093,KAI,KardiaChain Token,0xD9Ec3ff1f8be459Bb9369b4E79e9Ebcf7141C093,18.0 -1817.0,VIDT-7Bb1,VIDT,VIDT Datalink,0xfeF4185594457050cC9c23980d301908FE057Bb1,18.0 -1818.0,CHIRO-775c,CHIRO,Chihiro Inu,0x35156b404C3f9bdaf45ab65Ba315419bcDe3775c,9.0 -1819.0,YAE-1EAF,YAE,Cryptonovae,0x4eE438be38F8682ABB089F2BFeA48851C5E71EAF,18.0 -1820.0,DEP-8163,DEP,DEAPCOIN,0x1A3496C18d558bd9C6C8f609E1B129f67AB08163,18.0 -1821.0,YAX-A289,YAX,yAxis,0xb1dC9124c395c1e97773ab855d66E879f053A289,18.0 -1822.0,REKT-362b,REKT,RektSkulls,0x8a7664E782860E856031D6c31EB3bde721Bc362b,18.0 -1823.0,YUP-BCC9,YUP,YUP,0x69bBC3F8787d573F1BBDd0a5f40C7bA0Aee9BCC9,18.0 -1824.0,wBAN-A034,wBAN,Wrapped Banano,0xe20B9e246db5a0d21BF9209E4858Bc9A3ff7A034,18.0 -1825.0,ZKP-c5B3,ZKP,zkProof,0x09637E374Ec5baB8C9e9654a97C9593e3038c5B3,9.0 -1826.0,ARCAI-b5E9,ARCAI,Archive AI,0x5c8190b76E90B4DD0702740cF6Eb0F7eE01Ab5E9,9.0 -1827.0,GETH-74B8,GETH,Guarded Ether,0x3802c218221390025BCEABBaD5D8C59F40eB74B8,18.0 -1828.0,BCUG-E9AF,BCUG,Blockchain Cuties Universe Governance Token,0x14Da7b27b2E0FedEfe0a664118b0c9bc68e2E9AF,18.0 -1829.0,VAB-9a04,VAB,Vabble,0xe7aE6D0C56CACaf007b7e4d312f9af686a9E9a04,18.0 -1830.0,T-Bba1,T,T,0x5b985B4F827072FebE33091b42729522B557Bba1,18.0 -1831.0,UNN-3a9D,UNN,UNION Protocol Governance Token,0x226f7b842E0F0120b7E194D05432b3fd14773a9D,18.0 -1832.0,DHP-920d,DHP,dHealth,0xc40F23A3E9613E012944f7957edCe97899Fa920d,18.0 -1833.0,PHNX-F2f7,PHNX,PhoenixDAO,0x38A2fDc11f526Ddd5a607C1F251C065f40fBF2f7,18.0 -1834.0,PERL-0318,PERL,Perlin,0xeca82185adCE47f39c684352B0439f030f860318,18.0 -1835.0,AST-A75a,AST,AirSwap Token,0x27054b13b1B798B345b591a4d22e6562d47eA75a,4.0 -1836.0,DONUT-54A9,DONUT,Donut,0xC0F9bD5Fa5698B6505F643900FFA515Ea5dF54A9,18.0 -1837.0,kSEED-0850,kSEED,KUSH.FINANCE,0x3F09400313e83d53366147e3ea0e4e2279D80850,18.0 -1838.0,MTHD-a169,MTHD,Method,0x84bA4aEcfDe39D69686a841BAb434C32d179a169,18.0 -1839.0,MIMIR-383C,MIMIR,Mimir Token,0x71dc40668682a124231301414167E4CF7f55383C,18.0 -1840.0,ESS-8b3e,ESS,Empty Set Share,0x24aE124c4CC33D6791F8E8B63520ed7107ac8b3e,18.0 -1841.0,FTM-7870,FTM,Fantom Token,0x4E15361FD6b4BB609Fa63C81A2be19d873717870,18.0 -1842.0,WQT-95bF,WQT,Work Quest Token,0x06677Dc4fE12d3ba3C7CCfD0dF8Cd45e4D4095bF,18.0 -1843.0,STREETH-DfA5,STREETH,STREETH,0xB840d10D840eF47c233FEC1fd040F5B145a6DfA5,18.0 -1844.0,ROCK-42BC,ROCK,MoonRock,0x1a6921F7B92113c79306f1A9E148D83445ac42BC,9.0 -1845.0,MEME-a8Db,MEME,MEME Inu.,0x74B988156925937bD4E082f0eD7429Da8eAea8Db,18.0 -1846.0,GWD-A56b,GWD,GreenWorld,0x674c964AC0E89d847d6B0aBd144b797bf78BA56b,6.0 -1847.0,NCT-246E,NCT,NameChangeToken,0x8A9c4dfe8b9D8962B31e4e16F8321C44d48e246E,18.0 -1848.0,BDS-1100,BDS,Black Dragon Society,0x1856BC58f5511269aFE2CA1e89Bf08CBDCD01100,18.0 -1849.0,buidl-63db,buidl,dfohub,0x7b123f53421b1bF8533339BFBdc7C98aA94163db,18.0 -1850.0,LAYER-366b,LAYER,Unilayer,0x0fF6ffcFDa92c53F615a4A75D982f399C989366b,18.0 -1851.0,HANDY-684c,HANDY,Handy Token,0x8bbe1a2961B41340468D0548c2cd5B7DFA9b684c,18.0 -1852.0,dART-dDBF,dART,dART Token,0x5a4623F305A8d7904ED68638AF3B4328678edDBF,18.0 -1853.0,FIFTY-c3aa,FIFTY,FIFTYONEFIFTY,0xf7DD746A613Fb6362D44eCEDEB743f62ade6c3aa,9.0 -1854.0,AI-7D80,AI,Chat AI,0xa89Bf95c5f15a847c8Eb8D348cd7feD719AD7D80,18.0 -1855.0,ORN-434a,ORN,Orion Protocol,0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a,8.0 -1856.0,FST-3606,FST,Futureswap Token,0x0E192d382a36De7011F795Acc4391Cd302003606,18.0 -1857.0,WELD-6dE0,WELD,Weld.Money,0xDD2a36AE937bc134ea694d77fC7e2E36f5d86dE0,18.0 -1858.0,ERN-3505,ERN,@EthernityChain $ERN Token,0xBBc2AE13b23d715c30720F079fcd9B4a74093505,18.0 -1859.0,Gold 1-E5B0,Gold 1,Teh Golden One,0x0Ec72CD6690db40B16be166858299F19D4f8E5B0,9.0 -1860.0,YourWallet-C429,YourWallet,YourWallet,0xDa70FBaC9e1C9Ac3475c24A3A847f85f1388C429,18.0 -1861.0,GTR-61c6,GTR,Ghost Trader,0x32DebF31D5ED90ca2e287D306fc23FaFAD9361c6,18.0 -1862.0,arNXM-b1dD,arNXM,Armor NXM,0x1337DEF18C680aF1f9f45cBcab6309562975b1dD,18.0 -1863.0,PIF-6513,PIF,Play It Forward DAO,0xB30F5d11b94efBBfDeaa4de38eDFFCeEc0bE6513,18.0 -1864.0,KMT-0f0f,KMT,FiveKM KMT,0x184b6f31aeAa6a19Eb207dFeA01F4289629e0f0f,18.0 -1865.0,NCT-33d1,NCT,Nectar,0x9E46A38F5DaaBe8683E10793b06749EEF7D733d1,18.0 -1866.0,DGRN-8115,DGRN,Degrain,0x71E368Ed06814Bf35d4E663eFf946400a5BC8115,18.0 -1867.0,STACY-B327,STACY,Stacy,0xf12EC0D3Dab64DdEfBdC96474bDe25af3FE1B327,18.0 -1868.0,eSOV-F7a5,eSOV,eSOV,0xbdab72602e9AD40FC6a6852CAf43258113B8F7a5,18.0 -1869.0,GALA-03dA,GALA,Gala,0x15D4c048F83bd7e37d49eA4C83a07267Ec4203dA,8.0 -1870.0,DPI-3C2b,DPI,DefiPulse Index,0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b,18.0 -1871.0,OPENAI-5041,OPENAI,OpenAI,0x6A6AA13393B7d1100c00a57c76c39e8B6C835041,9.0 -1872.0,VRX-B4e5,VRX,Verox,0x87DE305311D5788e8da38D19bb427645b09CB4e5,18.0 -1873.0,XI-Ec8c,XI,Xi Token,0x295B42684F90c77DA7ea46336001010F2791Ec8c,18.0 -1874.0,KOMBAT-C7fA,KOMBAT,Crypto Kombat Token,0x878CF148ccBb50426043a9AFFe54Ba408221C7fA,8.0 -1875.0,MSI-6fde,MSI,Martin Shkreli Inu,0xc4C75F2A0cB1a9ACc33929512dc9733EA1Fd6fde,18.0 -1876.0,METANO-1afb,METANO,METANO,0x9D9e399e5385e2b9A58d4F775A1E16441b571afb,18.0 -1877.0,BST-34FC,BST,BlockStar Token,0x4E4bFfAA8df6F0dC3e5600bBACf7DA55f37134FC,18.0 -1878.0,DEXT-C75a,DEXT,DEXTools,0xfB7B4564402E5500dB5bB6d63Ae671302777C75a,18.0 -1879.0,BURP-4A7c,BURP,Burp,0x33f391F4c4fE802b70B77AE37670037A92114A7c,18.0 -1880.0,INNIT-7c18,INNIT,InnitForTheTECH,0x62A8C2818BD7034DC24CD22368C3E53E8eB47c18,18.0 -1881.0,DEFX-8eDa,DEFX,DeFinity,0x5F474906637bdCDA05f29C74653F6962bb0f8eDa,18.0 -1882.0,RAGE-886F,RAGE,RageToken,0x94804dc4948184fFd7355f62Ccbb221c9765886F,18.0 -1883.0,WARP-Dd71,WARP,Warp Token,0xEd40834A13129509A89be39a9bE9C0E96A0DDd71,18.0 -1884.0,QUAD-77EE,QUAD,Quadency Token,0xAB2A7B5876D707e0126B3A75EF7781c77c8877EE,18.0 -1885.0,PUSSY-a1ad,PUSSY,PUSSY token,0x9196E18Bc349B1F64Bc08784eaE259525329a1ad,18.0 -1886.0,SKT-a8C1,SKT,Sukhavati Network Token,0x012E0e6342308b247F36Ee500ECb14dc77a7a8C1,8.0 -1887.0,ABI-77CD,ABI,Abachi,0xa31DFe74cDA04de990CafC6a0aB2BB6d6C9077CD,9.0 -1888.0,AiWallet-8B19,AiWallet,AiWallet Token,0xc5A927AD2d1a92Dc5f9662Ce03F7140a8B738B19,18.0 -1889.0,XOR-F677,XOR,Sora Token,0x40FD72257597aA14C7231A7B1aaa29Fce868F677,18.0 -1890.0,AISC-B9d9,AISC,Ai Smart Chain,0xB7Df0f42FAe30acf30C9A5BA147D6B792b5eB9d9,18.0 -1891.0,KAT-509C,KAT,Kambria Token,0x14da230d6726C50F759Bc1838717F8CE6373509C,18.0 -1892.0,MAD-d875,MAD,MADToken,0x5B09A0371C1DA44A8E24D36Bf5DEb1141a84d875,18.0 -1893.0,SKL-a7A7,SKL,SKALE,0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7,18.0 -1894.0,NCDT-3C1B,NCDT,NCDToken,0xE0C8b298db4cfFE05d1bEA0bb1BA414522B33C1B,18.0 -1895.0,VRA-7255,VRA,VERA,0xF411903cbC70a74d22900a5DE66A2dda66507255,18.0 -1896.0,KP3R-5A44,KP3R,Keep3rV1,0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44,18.0 -1897.0,DIE-4aC7,DIE,Die Protocol,0x6Ef6610d24593805144d73b13d4405E00A4E4aC7,18.0 -1898.0,ONIGI-1582,ONIGI,Onigiri Neko,0xb4615AAD766f6De3c55330099E907fF7F13f1582,9.0 -1899.0,STATE-8eB1,STATE,New World Order,0x00C2999c8B2AdF4ABC835cc63209533973718eB1,18.0 -1900.0,STG-2Cd6,STG,StargateToken,0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6,18.0 -1901.0,GAIN-F614,GAIN,GainDAO Token,0x874CB28A655e0Ef827d810E211aE4b9cBcbaF614,18.0 -1902.0,BBW-8F69,BBW,BabyWhale,0xd2287a52287dd64AE2c690D74322E2e345dC8F69,18.0 -1903.0,ECT-6783,ECT,Echain Token,0xda4Dd9586D27202A338843Dd6B9824d267006783,9.0 -1904.0,HBOT-e9CB,HBOT,Hummingbot Governance Token,0xE5097D9baeAFB89f9bcB78C9290d545dB5f9e9CB,18.0 -1905.0,IMX-79fF,IMX,Immutable X,0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF,18.0 -1906.0,YCO-0893,YCO,Y Coin,0x3D0293f06daF4311B482564330D57C8Db6C10893,8.0 -1907.0,HOODIE-FE75,HOODIE,CryptoPunk #7171,0xdffA3a7f5B40789C7A437DbE7B31b47F9B08FE75,18.0 -1908.0,eMAID-a303,eMAID,MaidSafeCoin,0x329c6E459FFa7475718838145e5e85802Db2a303,18.0 -1909.0,AGRS-bdDa,AGRS,Agoras Token,0x738865301A9b7Dd80Dc3666dD48cF034ec42bdDa,8.0 -1910.0,BOSON-0de9,BOSON,Boson Token,0xC477D038d5420C6A9e0b031712f61c5120090de9,18.0 -1911.0,IDEAS-cC02,IDEAS,IDEAS,0x443b29fc978058Abe3Fc2f4c3c6b76c57fdecC02,18.0 -1912.0,BIT-a4C5,BIT,BitDAO,0x1A4b46696b2bB4794Eb3D4c26f1c55F9170fa4C5,18.0 -1913.0,PRVG-8E3d,PRVG,Privilege,0x2Ec3275f7aCe4044e499823F511cd58250be8E3d,8.0 -1914.0,FLP-BcD3,FLP,FLIP Token,0x3a1Bda28AdB5B0a812a7CF10A1950c920F79BcD3,18.0 -1915.0,INST-03eb,INST,Instadapp,0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb,18.0 -1916.0,BOB-1B0B,BOB,BOB,0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0B,18.0 -1917.0,GGTK-EF76,GGTK,GGToken,0xFA99A87b14B02e2240C79240C5a20F945ca5EF76,18.0 -1918.0,SOL-b89c,SOL,Wrapped SOL,0xD31a59c85aE9D8edEFeC411D448f90841571b89c,9.0 -1919.0,arte-87b9,arte,ethart,0x34612903Db071e888a4dADcaA416d3EE263a87b9,18.0 -1920.0,LQTY-c54D,LQTY,LQTY,0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D,18.0 -1921.0,sifu-C313,sifu,Sifu,0x29127fE04ffa4c32AcAC0fFe17280ABD74eAC313,18.0 -1922.0,OGV-12D0,OGV,Origin Dollar Governance,0x9c354503C38481a7A7a51629142963F98eCC12D0,18.0 -1923.0,DINO-c68F,DINO,DinoLFG,0x49642110B712C1FD7261Bc074105E9E44676c68F,18.0 -1924.0,NYM-90e1,NYM,NYM,0x525A8F6F3Ba4752868cde25164382BfbaE3990e1,6.0 -1925.0,ITP-DE31,ITP,Interport Token,0x2b1D36f5B61AdDAf7DA7ebbd11B35FD8cfb0DE31,18.0 -1926.0,auraBAL-608d,auraBAL,Aura BAL,0x616e8BfA43F920657B3497DBf40D6b1A02D4608d,18.0 -1927.0,RAE-8756,RAE,RAE Token,0xE5a3229CCb22b6484594973A03a3851dCd948756,18.0 -1928.0,wCFG-34F0,wCFG,Wrapped Centrifuge,0xc221b7E65FfC80DE234bbB6667aBDd46593D34F0,18.0 -1929.0,cvxCRV-0Aa7,cvxCRV,Convex CRV,0x62B9c7356A2Dc64a1969e19C23e4f579F9810Aa7,18.0 -1930.0,T-beE5,T,Threshold Network Token,0xCdF7028ceAB81fA0C6971208e83fa7872994beE5,18.0 -1931.0,VINU-52c9,VINU,Vita Inu,0xAFCdd4f666c84Fed1d8BD825aA762e3714F652c9,18.0 -1932.0,NUTS-0bc0,NUTS,NutsDAO,0x981dc247745800bD2cA28a4bF147f0385Eaa0bc0,18.0 -1933.0,TPRO-4D15,TPRO,TPRO,0x3540abE4f288B280A0740ad5121aEc337c404D15,18.0 -1934.0,PUNK-232A,PUNK,CryptoPunks,0x269616D549D7e8Eaa82DFb17028d0B212D11232A,18.0 -1935.0,RADAR-4DbE,RADAR,DappRadar,0x44709a920fCcF795fbC57BAA433cc3dd53C44DbE,18.0 -1936.0,ACH-143d,ACH,Alchemy,0xEd04915c23f00A313a544955524EB7DBD823143d,8.0 -1937.0,MEME-b760,MEME,MEME,0x60c7AEa107EA3cDAb21455e187cFB7e54E09b760,18.0 -1938.0,VXV-bFCe,VXV,VectorspaceAI,0x7D29A64504629172a429e64183D6673b9dAcbFCe,18.0 -1939.0,MEZZ-4bC3,MEZZ,MEZZ Token,0xC4c346eDc55504574cCEB00AA1091d22404A4bC3,18.0 -1940.0,Pomi-77DA,Pomi,Pomi Coin,0x96ef7f9cF1B6eCC66E482A6598fc9F009E9277DA,8.0 -1941.0,TRIO-3308,TRIO,Maximus Trio,0xF55cD1e399e1cc3D95303048897a680be3313308,8.0 -1942.0,FPIS-1fdb,FPIS,Frax Price Index Share,0xc2544A32872A91F4A553b404C6950e89De901fdb,18.0 -1943.0,COW-5Ea8,COW,CoinWind Token,0x34965f73Cfa05Bf8d8aF37cB4af64Fa950605Ea8,18.0 -1944.0,WBNB-7605,WBNB,Wrapped BNB,0x418D75f65a02b3D53B2418FB8E1fe493759c7605,18.0 -1945.0,VOLT-9b25,VOLT,VOLTAGE,0xfFbF315f70E458e49229654DeA4cE192d26f9b25,18.0 -1946.0,FOREX-259B,FOREX,handleFOREX,0xDb298285FE4C5410B05390cA80e8Fbe9DE1F259B,18.0 -1947.0,frxETH-Aa1f,frxETH,Frax Ether,0x5E8422345238F34275888049021821E8E08CAa1f,18.0 -1948.0,🌐-3953,🌐,QAO,0x3402E15b3EA0f1aEC2679c4Be4c6d051ceF93953,18.0 -1949.0,DCHF-7A36,DCHF,Defi Franc,0x045da4bFe02B320f4403674B3b7d121737727A36,18.0 -1950.0,NSFW-BF19,NSFW,Pleasure Coin,0x8f006D1e1D9dC6C98996F50a4c810F17a47fBF19,18.0 -1951.0,FACTR-B9D5,FACTR,Defactor,0xe0bCEEF36F3a6eFDd5EEBFACD591423f8549B9D5,18.0 -1952.0,ZMT-62b2,ZMT,Zipmex Token,0xaa602dE53347579f86b996D2Add74bb6F79462b2,18.0 -1953.0,DECI-4eA6,DECI,Maximus Decimus,0x6b32022693210cD2Cfc466b9Ac0085DE8fC34eA6,8.0 -1954.0,ISHND-5dbf,ISHND,Stronghands Finance,0x9e6b19874e97fe8E8CAD77f2c0AB5E7a693E5dbf,18.0 -1955.0,gtcETH-065e,gtcETH,Gitcoin Staked ETH Index (gtcETH),0x36c833Eed0D376f75D1ff9dFDeE260191336065e,18.0 -1956.0,SDL-6871,SDL,Saddle DAO,0xf1Dc500FdE233A4055e25e5BbF516372BC4F6871,18.0 -1957.0,PRIME-28CF,PRIME,Prime,0xb23d80f5FefcDDaa212212F028021B41DEd428CF,18.0 -1958.0,BZR-BA8F,BZR,BAZAARS,0x8d96B4ab6C741a4C8679AE323a100d74f085BA8F,18.0 -1959.0,COM-34A8,COM,Communis,0x5A9780Bfe63f3ec57f01b087cD65BD656C9034A8,12.0 -1960.0,LUCKY-6140,LUCKY,Maximus Lucky,0x6B0956258fF7bd7645aa35369B55B61b8e6d6140,8.0 -1961.0,NXRA-EF9e,NXRA,AllianceBlock Nexera Token,0x644192291cc835A93d6330b24EA5f5FEdD0eEF9e,18.0 -1962.0,WAMPL-49Ef,WAMPL,Wrapped Ampleforth,0xEDB171C18cE90B633DB442f2A6F72874093b49Ef,18.0 -1963.0,sILV2-b068,sILV2,Escrowed Illuvium 2,0x7E77dCb127F99ECe88230a64Db8d595F31F1b068,18.0 -1964.0,BTRFLY-e5Da,BTRFLY,BTRFLY,0xc55126051B22eBb829D00368f4B12Bde432de5Da,18.0 -1965.0,HAIR-6f42,HAIR,HairDAO Token,0x9Ce115f0341ae5daBC8B477b74E83db2018A6f42,18.0 -1966.0,MS-908F,MS,Morphswap,0x6d6554939D646f274d0FC3cEcB7dab5d76bc908F,18.0 -1967.0,SGT-EcDD,SGT,Sharedstake.finance,0x24C19F7101c1731b85F1127EaA0407732E36EcDD,18.0 -1968.0,D2T-7A76,D2T,Dash 2 Trade,0x4Dd942bAa75810a3C1E876e79d5cD35E09C97A76,18.0 -1969.0,TGBP-00a5,TGBP,TrueGBP,0x00000000441378008EA67F4284A57932B1c000a5,18.0 -1970.0,FCC-e079,FCC,Freechat Coin,0x171b1DAefac13A0A3524Fcb6BEDdC7B31E58e079,18.0 -1971.0,ALICE-63E8,ALICE,ALICE,0xAC51066d7bEC65Dc4589368da368b212745d63E8,6.0 -1972.0,EFI-3733,EFI,Efinity Token,0x656C00e1BcD96f256F224AD9112FF426Ef053733,18.0 -1973.0,XDEFI-B777,XDEFI,XDEFI,0x72B886d09C117654aB7dA13A14d603001dE0B777,18.0 -1974.0,MNW-f6E4,MNW,Morpheus.Network,0xd3E4Ba569045546D09CF021ECC5dFe42b1d7f6E4,18.0 -1975.0,HOPR-81dA,HOPR,HOPR Token,0xF5581dFeFD8Fb0e4aeC526bE659CFaB1f8c781dA,18.0 -1976.0,SPUME-5283,SPUME,Spume,0xa16a609fF4e1A15b6cCb469E7a5dD14E89305283,18.0 -1977.0,GEAR-Ab5D,GEAR,Gearbox,0xBa3335588D9403515223F109EdC4eB7269a9Ab5D,18.0 -1978.0,OMI-749e,OMI,OMI Token,0xeD35af169aF46a02eE13b9d79Eb57d6D68C1749e,18.0 -1979.0,EURe-273f,EURe,Monerium EUR emoney,0x3231Cb76718CDeF2155FC47b5286d82e6eDA273f,18.0 -1980.0,MRPH-56c8,MRPH,Morpheus.Network,0x7B0C06043468469967DBA22d1AF33d77d44056c8,4.0 -1981.0,TKING-DAFA,TKING,Tiger King,0x24E89bDf2f65326b94E36978A7EDeAc63623DAFA,18.0 -1982.0,RSR-5d70,RSR,Reserve Rights,0x320623b8E4fF03373931769A31Fc52A4E78B5d70,18.0 -1983.0,DUST-c5F0,DUST,DUST Token,0xe2E109f1b4eaA8915655fE8fDEfC112a34ACc5F0,18.0 -1984.0,MAHA-49B0,MAHA,MahaDAO,0x745407c86DF8DB893011912d3aB28e68B62E49B0,18.0 -1985.0,ARIA20-4aF9,ARIA20,ARIANEE,0xeDF6568618A00C6F0908Bf7758A16F76B6E04aF9,18.0 -1986.0,CNG-44bf,CNG,Changer,0x5C1d9aA868a30795F92fAe903eDc9eFF269044bf,18.0 -1987.0,PRBLY-F7E7,PRBLY,Probably Nothing,0x6361F338Ab8DEf2AF3f2A1Be7BD8A7dB3156F7E7,18.0 -1988.0,XOY-9e52,XOY,XOYCoin,0xe9F1d62c671EFe99896492766c0B416bD3FB9e52,8.0 -1989.0,ccBCH-b789,ccBCH,Cross-Chain BCH,0xdB792B1D8869A7CFc34916d6c845Ff05A7C9b789,8.0 -1990.0,BANANA-F03a,BANANA,Banana,0x94e496474F1725f1c1824cB5BDb92d7691A4F03a,18.0 -1991.0,PUNKS-12EA,PUNKS,PUNKS,0x30c084890FC07D78F3499ffc818B3225bC8812EA,18.0 -1992.0,WEB3-e601,WEB3,Arch Ethereum Web3,0xe8e8486228753E01Dbc222dA262Aa706Bd67e601,18.0 -1993.0,XIDR-aa52,XIDR,XIDR,0xebF2096E01455108bAdCbAF86cE30b6e5A72aa52,6.0 -1994.0,₡ABIN-F830,₡ABIN,₡ABIN,0x1934E252f840aA98dfCe2b6205B3E45c41AeF830,18.0 -1995.0,STMX-D71C,STMX,StormX,0xa62cc35625B0C8dc1fAEA39d33625Bb4C15bD71C,18.0 -1996.0,AMKT-aE8D,AMKT,Alongside Crypto Market Index,0xF17A3fE536F8F7847F1385ec1bC967b2Ca9caE8D,18.0 -1997.0,FUND-7f75,FUND,Unification,0xe9B076B476D8865cDF79D1Cf7DF420EE397a7f75,9.0 -1998.0,NGC-f131,NGC,NAGA Coin,0x72dD4b6bd852A3AA172Be4d6C5a6dbEc588cf131,18.0 -1999.0,JPG-249c,JPG,JPG NFT Index,0x02e7Ac540409D32C90BfB51114003a9E1fF0249c,18.0 -2000.0,ZUSD-04fA,ZUSD,Z.com USD,0xc56c2b7e71B54d38Aab6d52E94a04Cbfa8F604fA,6.0 -2001.0,WRAB-C285,WRAB,White Rabbit,0x45D74446748fB432F05E7a85bD974aBB7af5C285,18.0 -2002.0,UTU-189B,UTU,UTU Coin,0xa58a4f5c4Bb043d2CC1E170613B74e767c94189B,18.0 -2003.0,GLQ-4D24,GLQ,GraphLinq,0x9F9c8ec3534c3cE16F928381372BfbFBFb9F4D24,18.0 -2004.0,KROM-d789,KROM,Kromatika,0x3af33bEF05C2dCb3C7288b77fe1C8d2AeBA4d789,18.0 -2005.0, SHOP-4B8b, SHOP,SHOP,0x64b78325d7495D6d4be92f234fa3f3B8d8964B8b,18.0 -2006.0,CERES-0aDA,CERES,Ceres,0x2e7B0d4F9B2EaF782eD3D160e3a0a4b1a7930aDA,18.0 -2007.0,ELA-1867,ELA,ELA on Ethereum,0xe6fd75ff38Adca4B97FBCD938c86b98772431867,18.0 -2008.0,PILOT-9525,PILOT,Unipilot,0x37C997B35C619C21323F3518B9357914E8B99525,18.0 -2009.0,UNBNK-442f,UNBNK,Unbanked,0x06B884e60794Ce02AafAb13791B59A2e6A07442f,18.0 -2010.0,KUJI-3fe7,KUJI,Kuji,0x96543ef8d2C75C26387c1a319ae69c0BEE6f3fe7,6.0 -2011.0,EUL-E07b,EUL,Euler,0xd9Fcd98c322942075A5C3860693e9f4f03AAE07b,18.0 -2012.0,UNT-fdFe,UNT,Unity Network,0x8d610E20481F4C4f3aCB87bBa9c46BeF7795fdFe,18.0 -2013.0,MIDAS-66A5,MIDAS,Midas,0x97e6e31aFb2d93d437301e006D9DA714616766A5,18.0 -2014.0,BCNT-2CD9,BCNT,Bincentive Token,0x9669890e48f330ACD88b78D63E1A6b3482652CD9,18.0 -2015.0,QRDO-2463,QRDO,Qredo Token,0x4123a133ae3c521FD134D7b13A2dEC35b56c2463,8.0 -2016.0,MVRS-f8c1,MVRS,Meta MVRS,0xBEDE1F59Fa4412556fEF69f1B9969F2003E3f8c1,18.0 -2017.0,XFT-45aE,XFT,Offshift,0x76BC677d444f1E9d57dAf5187ee2b7dC852745aE,18.0 -2018.0,UST-87a5,UST,UST,0xa693B19d2931d498c5B318dF961919BB4aee87a5,6.0 -2019.0,VEGA-bc6e,VEGA,VEGA,0xcB84d72e61e383767C4DFEb2d8ff7f4FB89abc6e,18.0 -2020.0,iZi-c200,iZi,izumi Token,0x9ad37205d608B8b219e6a2573f922094CEc5c200,18.0 -2021.0,TRG-4928,TRG,The Rug Game,0x93eEB426782BD88fCD4B48D7b0368CF061044928,18.0 -2022.0,WOMBAT-F9dd,WOMBAT,Wombat,0x0C9c7712C83B3C70e7c5E11100D33D9401BdF9dd,18.0 -2023.0,HARAMBE-38c6,HARAMBE,Harambe,0xADe6FDAba1643E4D1eeF68Da7170F234470938c6,18.0 -2024.0,THOL-0618,THOL,Tholos,0x207e14389183A94343942de7aFbC607F57460618,18.0 -2025.0,ACRIA-c58A,ACRIA,Acria Token,0x44F5909E97E1CBf5FBbDF0FC92FD83cde5d5c58A,18.0 -2026.0,POLY-fdad,POLY,Poly Maximus,0x9d93692E826A4bd9e903e2A27D7FbD1e116efdad,9.0 -2027.0,GRPFT-364A,GRPFT,GRAPEFRUIT,0x64B986211c0CC675143F895C437b79c3cadf364A,8.0 -2028.0,BTRFLY-eC3A,BTRFLY,BTRFLY,0xC0d4Ceb216B3BA9C3701B291766fDCbA977ceC3A,9.0 -2029.0,sETH2-043A,sETH2,StakeWise Staked ETH2,0xFe2e637202056d30016725477c5da089Ab0A043A,18.0 -2030.0,ZURR-e08D,ZURR,ZURRENCY,0x89509aA1D14a8E1E5364Ec4C3B041213bcDbe08D,18.0 -2031.0,AIN-0385,AIN,AI Network,0x3A810ff7211b40c4fA76205a14efe161615d0385,18.0 -2032.0,ALCA-8F8b,ALCA,AliceNet Staking Token,0xBb556b0eE2CBd89ed95DdEA881477723A3Aa8F8b,18.0 -2033.0,CADC-2Eef,CADC,CAD Coin,0xcaDC0acd4B445166f12d2C07EAc6E2544FbE2Eef,18.0 -2034.0,BYTES-8c95,BYTES,BYTES,0x7d647b1A0dcD5525e9C6B3D14BE58f27674f8c95,18.0 -2035.0,LOOMI-2451,LOOMI,LOOMI,0xEb57Bf569Ad976974C1F861a5923A59F40222451,18.0 -2036.0,AGLD-9A20,AGLD,Adventure Gold,0x32353A6C91143bfd6C7d363B546e62a9A2489A20,18.0 -2037.0,SPELL-e5F6,SPELL,Spell Token,0x090185f2135308BaD17527004364eBcC2D37e5F6,18.0 -2038.0,NFD-5346,NFD,Feisty Doge NFT,0xDFDb7f72c1F195C5951a234e8DB9806EB0635346,18.0 -2039.0,BANK-2921,BANK,Float Bank,0x24A6A37576377F63f194Caa5F518a60f45b42921,18.0 -2040.0,TERA2-3231,TERA2,Terareum,0x33909C9CE97Ce509daB3A038B3eC7ac3d1Be3231,4.0 -2041.0,BLOCKS-24eB,BLOCKS,BLOCKS,0x8a6D4C8735371EBAF8874fBd518b56Edd66024eB,18.0 -2042.0,ATH-C8F6,ATH,Athens,0x2F9411088cEF82Fd9fB904Eb8092f28eB485C8F6,18.0 -2043.0,LIT-C341,LIT,Liquidity Incentive Token,0xfd0205066521550D7d7AB19DA8F72bb004b4C341,18.0 -2044.0,H2O-1701,H2O,H2O,0x0642026E7f0B6cCaC5925b4E7Fa61384250e1701,18.0 -2045.0,CenX-cf79,CenX,Centralex Token,0x504cDe95dBC5d90d09B802F43B371971adbEcf79,18.0 -2046.0,SOON-B771,SOON,NONbeta,0x6100dd79fCAA88420750DceE3F735d168aBcB771,18.0 -2047.0,XIV-392C,XIV,INVERSE,0x44f262622248027f8E2a8Fb1090c4Cf85072392C,18.0 -2048.0,ETHMAXY-69E2,ETHMAXY,ETH Max Yield Index,0x0FE20E0Fa9C78278702B05c333Cc000034bb69E2,18.0 -2049.0,SWEAT-3A35,SWEAT,SWEAT,0xB4b9DC1C77bdbb135eA907fd5a08094d98883A35,18.0 -2050.0,PRNT-15FD,PRNT,PrimeNumbers,0x7Cfea0DD176651E7B5a1CeD9c4fAf8Ee295315FD,18.0 -2051.0,QANX-3AAA,QANX,QANX Token,0xAAA9214F675316182Eaa21C85f0Ca99160CC3AAA,18.0 -2052.0,PDI-8B48,PDI,Phuture DeFi Index,0x632806BF5c8f062932Dd121244c9fbe7becb8B48,18.0 -2053.0,SYN-9F29,SYN,Synapse,0x0f2D719407FdBeFF09D87557AbB7232601FD9F29,18.0 -2054.0,BETA-9D28,BETA,Beta Token,0xBe1a001FE942f96Eea22bA08783140B9Dcc09D28,18.0 -2055.0,FLUX-B1d9,FLUX,FLUX,0x469eDA64aEd3A3Ad6f868c44564291aA415cB1d9,18.0 -2056.0,DON-92c6,DON,Donkey,0x4576E6825B462b6916D2a41E187626E9090A92c6,18.0 -2057.0,DOG-8899,DOG,The Doge NFT,0xBAac2B4491727D78D2b78815144570b9f2Fe8899,18.0 -2058.0,MET-89aa,MET,Metronome2,0x2Ebd53d035150f328bd754D6DC66B99B0eDB89aa,18.0 -2059.0,IZE-327B,IZE,Galvan,0xf7e945FcE8F19302AaCc7E1418b0A0bdef89327B,8.0 -2060.0,MCRT-478D,MCRT,MagicCraft,0xde16Ce60804a881e9F8c4eBB3824646EDecd478D,9.0 -2061.0,LORDS-18b0,LORDS,Lords,0x686f2404e77Ab0d9070a46cdfb0B7feCDD2318b0,18.0 -2062.0,WOOF-d0a3,WOOF,WoofWork.io,0x6BC08509B36A98E829dFfAD49Fde5e412645d0a3,18.0 -2063.0,USDD-b5c6,USDD,Decentralized USD,0x0C10bF8FcB7Bf5412187A595ab97a3609160b5c6,18.0 -2064.0,WSTRAX-A51B,WSTRAX,WrappedStrax,0xa3C22370de5f9544f0c4De126b1e46cEadF0A51B,18.0 -2065.0,MON-fc17,MON,Moneta,0x1EA48B9965bb5086F3b468E50ED93888a661fc17,18.0 -2066.0,MORE-85D0,MORE,More,0xbEEf3bB9dA340EbdF0f5bae2E85368140d7D85D0,18.0 -2067.0,PXP-314f,PXP, PointPay Crypto Banking Token V2 ,0x95aA5d2DbD3c16ee3fdea82D5C6EC3E38CE3314f,18.0 -2068.0,JPYC-7BDB,JPYC,JPY Coin,0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB,18.0 -2069.0,LUNA-Fa3d,LUNA,LUNA,0xbd31EA8212119f94A611FA969881CBa3EA06Fa3d,6.0 -2070.0,PEBBLE-a4A8,PEBBLE,Etherrock #72,0xDC98c5543F3004DEBfaad8966ec403093D0aa4A8,18.0 -2071.0,RUSH-9eC7,RUSH,Rush coin,0x382A1667C9062F0621362F49076Ef6e4fE4C9eC7,18.0 -2072.0,IGG-caeA,IGG,IG Gold,0x8FfE40A3D0f80C0CE6b203D5cDC1A6a86d9AcaeA,6.0 -2073.0,ORC-2F51,ORC,Orbit Chain,0x662b67d00A13FAf93254714DD601F5Ed49Ef2F51,18.0 -2074.0,QDT-2Ef3,QDT,QuadransToken,0x9Adc7710E9d1b29d8a78c04d52D32532297C2Ef3,18.0 -2075.0,HMX-3a88,HMX,Hermes,0xb012Be90957D70D9a070918027655F998C123a88,18.0 -2076.0,$HACHI-AAFf,$HACHI,HACHI,0x967B0c95295ead8fAef70d26A7846AeCD349AAFf,18.0 -2077.0,MAP-28e4,MAP,MAP Protocol,0x9E976F211daea0D652912AB99b0Dc21a7fD728e4,18.0 -2078.0,GRAIN-e58e,GRAIN,GRAIN Token,0x6589fe1271A0F29346796C6bAf0cdF619e25e58e,18.0 -2079.0,HPO-1a84,HPO,Hippopotamus,0xa0ED3C520dC0632657AD2EaaF19E26C4fD431a84,18.0 -2080.0,MTO-324F,MTO,Merchant Token,0xE66b3AA360bB78468c00Bebe163630269DB3324F,18.0 -2081.0,SWISE-2FA2,SWISE,StakeWise,0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2,18.0 -2082.0,ANFD-211b,ANFD,Angry Doge,0x4F14cDBd815B79E9624121f564f24685c6B1211b,18.0 -2083.0,DVF-1918,DVF,DeversiFi Token,0xDDdddd4301A082e62E84e43F474f044423921918,18.0 -2084.0,TIA-Ea26,TIA,Tia Token,0x824E35f7A75324f99300aFAC75ECF7354E17Ea26,9.0 -2085.0,MEMAG-7AF6,MEMAG,Meta Masters Guild,0x6E39A587691b8c9D4341cE0A960998ED6F537AF6,18.0 -2086.0,BASE-04e0,BASE,Maximus Base,0xe9f84d418B008888A992Ff8c6D22389C2C3504e0,8.0 -2087.0,EUROC-C33c,EUROC,Euro Coin,0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c,6.0 -2088.0,WMATIC-2D43,WMATIC,Wrapped Matic,0x7c9f4C87d911613Fe9ca58b579f737911AAD2D43,18.0 -2089.0,BZZ-F8Cb,BZZ,BZZ,0x19062190B1925b5b6689D7073fDfC8c2976EF8Cb,16.0 -2090.0,UwU-5257,UwU,UwU Lend,0x55C08ca52497e2f1534B59E2917BF524D4765257,18.0 -2091.0,WAIT-19F7,WAIT,Wait,0xb5588C411ba0bb7D38865fdC51D082d004e519F7,0.0 -2092.0,TCAP-aFa4,TCAP,TCAP Token,0x16c52CeeCE2ed57dAd87319D91B5e3637d50aFa4,18.0 -2093.0,vETH-21Ab,vETH,Voucher Ethereum,0xc3D088842DcF02C13699F936BB83DFBBc6f721Ab,18.0 -2094.0,BOBA-Efbc,BOBA,Boba Token,0x42bBFa2e77757C645eeaAd1655E0911a7553Efbc,18.0 -2095.0,ankrMATIC-480C,ankrMATIC,Ankr Staked MATIC,0x26dcFbFa8Bc267b250432c01C982Eaf81cC5480C,18.0 -2096.0,PRINTS-cb95,PRINTS,Fingerprints,0x4dd28568D05f09b02220b09C2cb307bFd837cb95,18.0 -2097.0,PYR-9682,PYR,PYR Token,0x430EF9263E76DAE63c84292C3409D61c598E9682,18.0 -2098.0,$MECHA-9Ef5,$MECHA,Mechanium,0xC5bcc8BA3F33Ab0d64f3473e861BDC0685b19Ef5,18.0 -2099.0,WAVAX-Eda3,WAVAX,Wrapped AVAX,0x85f138bfEE4ef8e540890CFb48F620571d67Eda3,18.0 -2100.0,CRI-3E4d,CRI,Crypto International,0x12E951934246186F50146235d541D3bD1D463E4d,18.0 -2101.0,SKEB-C810,SKEB,Skeb Coin,0x6D614686550B9E1c1DF4b2cD8f91C9D4df66C810,18.0 -2102.0,SPOT-bafE,SPOT,SPOT,0xC1f33e0cf7e40a67375007104B929E49a581bafE,9.0 -2103.0,ELAND-3205,ELAND,Etherland,0x33E07f5055173cF8FeBedE8B21B12D1e2b523205,18.0 -2104.0,dsETH-B3BE,dsETH,Diversified Staked ETH Index (dsETH),0x341c05c0E9b33C0E38d64de76516b2Ce970bB3BE,18.0 -2105.0,MAI-f609,MAI,MindsyncAI,0x75387e1287Dd85482aB66102DA9f6577E027f609,18.0 -2106.0,ZERO-5eCC,ZERO,ZeroLiquid,0xB0Ed33f79D89541dfdCb04A8f04Bc2c6be025eCC,18.0 -2107.0,NFTL-9638,NFTL,Nifty League,0x3c8D2FCE49906e11e71cB16Fa0fFeB2B16C29638,18.0 -2108.0,CNC-5cFC,CNC,Conic Finance Token,0x9aE380F0272E2162340a5bB646c354271c0F5cFC,18.0 -2109.0,DVI-9770,DVI,Dvision,0x10633216E7E8281e33c86F02Bf8e565a635D9770,18.0 -2110.0,icETH-6A84,icETH,Interest Compounding ETH Index,0x7C07F7aBe10CE8e33DC6C5aD68FE033085256A84,18.0 -2111.0,THX-4B31,THX,THX Network,0xe632ea2eF2CFD8Fc4a2731C76F99078Aef6a4B31,18.0 -2112.0,cvxFPIS-7Df6,cvxFPIS,Convex FPIS,0xa2847348b58CEd0cA58d23c7e9106A49f1427Df6,18.0 -2113.0,GRG-C964,GRG,Rigo Token,0x4FbB350052Bca5417566f188eB2EBCE5b19BC964,18.0 -2114.0,Nvir-6804,Nvir,NvirWorld,0x9d71CE49ab8A0E6D2a1e7BFB89374C9392FD6804,18.0 -2115.0,GFI-8D2b,GFI,Goldfinch,0xdab396cCF3d84Cf2D07C4454e10C8A6F5b008D2b,18.0 -2116.0,EASE-c61c,EASE,Ease Token,0xEa5eDef1287AfDF9Eb8A46f9773AbFc10820c61c,18.0 -2117.0,ASTRA-3E23,ASTRA,Astra DAO,0x7E9c15C43f0D6C4a12E6bdfF7c7D55D0f80e3E23,18.0 -2118.0,CITIZEN-A8Ea,CITIZEN,KONG Land Alpha Citizenship,0x77F0cc420dEa0aE726Db6Bef1460A4B69176A8Ea,18.0 -2119.0,GODS-FD97,GODS,Gods Unchained,0xccC8cb5229B0ac8069C51fd58367Fd1e622aFD97,18.0 -2120.0,rETH2-86c5,rETH2,StakeWise Reward ETH2,0x20BC832ca081b91433ff6c17f85701B6e92486c5,18.0 -2121.0,GDC-aF31,GDC,Global Digital Content,0x301C755bA0fcA00B1923768Fffb3Df7f4E63aF31,18.0 -2122.0,LOVE-A27C,LOVE,UkraineDAO Flag NFT,0x5380442d3C4EC4f5777f551f5EDD2FA0F691A27C,18.0 -2123.0,LAKE-C400,LAKE,Data Lake Token,0xF9Ca9523E5b5A42C3018C62B084Db8543478C400,18.0 -2124.0,OUSD-5e86,OUSD,Origin Dollar,0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86,18.0 -2125.0,KXA-Cd89,KXA,Kryxivia Coin,0x2223bF1D7c19EF7C06DAB88938EC7B85952cCd89,18.0 -2126.0,FPI-E08E,FPI,Frax Price Index,0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E,18.0 -2127.0,MEGA-B10E,MEGA,MegaWorld $MEGA Token,0x1892F6ff5FBE11c31158F8c6f6F6e33106c5B10E,18.0 -2128.0,PENDLE-a827,PENDLE,Pendle,0x808507121B80c02388fAd14726482e061B8da827,18.0 -2129.0,FOLD-5921,FOLD,Manifold Finance,0xd084944d3c05CD115C09d072B9F44bA3E0E45921,18.0 -2130.0,WALLET-94Ae,WALLET,Ambire Wallet,0x88800092fF476844f74dC2FC427974BBee2794Ae,18.0 -2131.0,rETH-3593,rETH,StaFi,0x9559Aaa82d9649C7A7b220E7c461d2E74c9a3593,18.0 -2132.0,ALLUO-0B09,ALLUO,Alluo Token,0x1E5193ccC53f25638Aa22a940af899B692e10B09,18.0 -2133.0,BRIGHT-0DfE,BRIGHT,Bright,0x5dD57Da40e6866C9FcC34F4b6DDC89F1BA740DfE,18.0 -2134.0,GPOOL-A09d,GPOOL,Genesis Pool,0x797de1Dc0b9fAf5E25c1f7Efe8dF9599138fA09d,18.0 -2135.0,BOO-Fa58,BOO,SpookyToken,0x55aF5865807b196bD0197e0902746F31FBcCFa58,18.0 -2136.0,OHM-a899,OHM,Olympus,0x383518188C0C6d7730D91b2c03a03C837814a899,9.0 -2137.0,XAI-bEAc,XAI,XAI Stablecoin,0xd7C9F0e536dC865Ae858b0C0453Fe76D13c3bEAc,18.0 -2138.0,MTRM-7581,MTRM,Materium,0xcd17fA52528f37FACB3028688E62ec82d9417581,0.0 -2139.0,SUMMER-CA5c,SUMMER,Summer Token,0x4D4f3715050571A447FfFa2Cd4Cf091C7014CA5c,18.0 -2140.0,AUTUMN-3a99,AUTUMN,Autumn Token,0x4c3bAe16c79c30eEB1004Fb03C878d89695e3a99,18.0 -2141.0,JUSTICE-90B5,JUSTICE,AssangeDAO,0x59d1e836F7b7210A978b25a855085cc46fd090B5,18.0 -2142.0,RTH-8bC8,RTH,Rotharium,0x3FD8f39A962eFDA04956981C31AB89FAB5FB8bC8,18.0 -2143.0,DEO-cf8e,DEO,Demeter,0x5E7F20e72C21f6D0Bf0A2814FD4164176401cf8e,18.0 -2144.0,GIV-0DA0,GIV,Giveth,0x900dB999074d9277c5DA2A43F252D74366230DA0,18.0 -2145.0,OM-c95d,OM,MANTRA DAO,0x3593D125a4f7849a1B059E64F4517A86Dd60c95d,18.0 -2146.0,CTSI-6B5D,CTSI,Cartesi Token,0x491604c0FDF08347Dd1fa4Ee062a822A5DD06B5D,18.0 -2147.0,KCS-8811,KCS,KuCoin Token,0xf34960d9d60be18cC1D5Afc1A6F012A723a28811,6.0 -2148.0,PDT-9893,PDT,Paragons DAO Token,0x375aBB85C329753b1Ba849a601438AE77eEc9893,18.0 -2149.0,PAW-5136,PAW,PAWZONE,0x1AA51bc7eb181ce48CE626Bf62f8956Fa9555136,18.0 -2150.0,CQT-6240,CQT,Covalent Query Token,0xD417144312DbF50465b1C641d016962017Ef6240,18.0 -2151.0,COW-97aB,COW,CoW Protocol Token,0xDEf1CA1fb7FBcDC777520aa7f396b4E015F497aB,18.0 -2152.0,SOUL-f07F,SOUL,Phantasma Stake,0x75858677e27C930FB622759FeafFeE2b754Af07F,8.0 -2153.0,WSTR-12B1,WSTR,WrappedStar,0xF0dC76C22139ab22618dDFb498BE1283254612B1,18.0 -2154.0,X8X-fa4c,X8X,X8XToken,0x910Dfc18D6EA3D6a7124A6F8B5458F281060fa4c,18.0 -2155.0,PSTAKE-7006,PSTAKE,pSTAKE Finance,0xfB5c6815cA3AC72Ce9F5006869AE67f18bF77006,18.0 -2156.0,GEL-EA05,GEL,Gelato Network Token,0x15b7c0c907e4C6b9AdaAaabC300C08991D6CEA05,18.0 -2157.0,SHI-AD5a,SHI,Shina Inu,0x243cACb4D5fF6814AD668C3e225246efA886AD5a,18.0 -2158.0,NABOX-77Fb,NABOX,Nabox Token,0x03D1E72765545729A035e909eDd9371a405f77Fb,18.0 -2159.0,TOWN-Ab7F,TOWN,TownCoin,0x3Dd98C8A089dBCFF7e8FC8d4f532BD493501Ab7F,8.0 -2160.0,3Crv-E490,3Crv,Curve.fi DAI/USDC/USDT,0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490,18.0 -2161.0,SSV-7f54,SSV,SSV Token,0x9D65fF81a3c488d585bBfb0Bfe3c7707c7917f54,18.0 -2162.0,BKR-58Fd,BKR,Balkari Token,0x77271813bd9167e75B5DF9c230cf58d64f0A58Fd,18.0 -2163.0,FX-5057,FX,Function X,0x8c15Ef5b4B21951d50E53E4fbdA8298FFAD25057,18.0 -2164.0,KAPPA-BeF4,KAPPA,Kappa Token,0x5D2C6545d16e3f927a25b4567E39e2cf5076BeF4,18.0 -2165.0,FLOOR-455e,FLOOR,Floor,0xf59257E961883636290411c11ec5Ae622d19455e,9.0 -2166.0,GPT-47F8,GPT,CryptoGPT Token,0xD04E772BC0d591fBD288f2E2a86aFA3D3CB647F8,18.0 -2167.0,LSETH-d048,LSETH,Liquid Staked ETH,0x628eBC64A38269E031AFBDd3C5BA857483B5d048,18.0 -2168.0,LEAN-99F8,LEAN,Lean Management Token,0xFb83869f7EE52AEBadDEA254F647953AfB1F99F8,18.0 -2169.0,MYC-F5Ba,MYC,Mycelium,0x4b13006980aCB09645131b91D259eaA111eaF5Ba,18.0 -2170.0,TCR-F050,TCR,Tracer,0x9C4A4204B79dd291D6b6571C5BE8BbcD0622F050,18.0 -2171.0,SOLID-0990,SOLID,Solidly,0x777172D858dC1599914a1C4c6c9fC48c99a60990,18.0 -2172.0,AXS-B28b,AXS,Axie Infinity Shard,0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b,18.0 -2173.0,NFTI-4a81,NFTI,Scalara NFT Index,0x525eF76138Bf76118d786DbedeaE5F87aaBf4a81,18.0 -2174.0,CRETH2-dB64,CRETH2,Cream ETH Token,0x49D72e3973900A195A155a46441F0C08179FdB64,18.0 -2175.0,NATION-2069,NATION,Nation3,0x333A4823466879eeF910A04D473505da62142069,18.0 -2176.0,WINTER-845f,WINTER,Winter Token,0xCcbA0b2bc4BAbe4cbFb6bD2f1Edc2A9e86b7845f,18.0 -2177.0,wMEMO-af57,wMEMO,Wrapped MEMO,0x3b79a28264fC52c7b4CEA90558AA0B162f7Faf57,18.0 -2178.0,WGRLC-5BE9,WGRLC,Wrapped GRLC,0x58f7345b5295E43aA454911571f13be186655BE9,8.0 -2179.0,LM-bec9,LM,LeisureMeta,0x7BEC98609cB6378D6F995e8f8097Ee78376fbec9,18.0 -2180.0,GMT-1989,GMT,GoMining Token,0x7Ddc52c4De30e94Be3A6A0A2b259b2850f421989,18.0 -2181.0,UDT-1517,UDT,Unlock Discount Token,0x90DE74265a416e1393A450752175AED98fe11517,18.0 -2182.0,SOS-aEe0,SOS,SOS,0x3b484b82567a09e2588A13D54D032153f0c0aEe0,18.0 -2183.0,SBECOM-0A28,SBECOM,SheBollETH Commerce,0x888E88E71378133b7ADa5A90c08Bc97D772A0A28,18.0 -2184.0,GBPT-bA98,GBPT,poundtoken,0x86B4dBE5D203e634a12364C0e428fa242A3FbA98,18.0 -2185.0,TOS-8153,TOS,TONStarter,0x409c4D8cd5d2924b9bc5509230d16a61289c8153,18.0 -2186.0,POW-9258,POW,POW,0x43Ab765ee05075d78AD8aa79dcb1978CA3079258,18.0 -2187.0,CODE-8f11,CODE,Developer DAO,0xb24cd494faE4C180A89975F1328Eab2a7D5d8f11,18.0 -2188.0,SWTH-20bB,SWTH,Switcheo Token,0xB4371dA53140417CBb3362055374B10D97e420bB,8.0 -2189.0,NFTX-f776,NFTX,NFTX,0x87d73E916D7057945c9BcD8cdd94e42A6F47f776,18.0 -2190.0,WOOFY-57f1,WOOFY,Woofy,0xD0660cD418a64a1d44E9214ad8e459324D8157f1,12.0 -2191.0,UWL-8Df5,UWL,UniWhales.io,0xdbDD6F355A37b94e6C7D32fef548e98A280B8Df5,18.0 -2192.0,WPC-6746,WPC,WePiggy Coin,0x6F620EC89B8479e97A6985792d0c64F237566746,18.0 -2193.0,WAR-1543,WAR,Wrapped AR,0x4FaDC7A98f2Dc96510e42dD1A74141eEae0C1543,12.0 -2194.0,IPISTR-348e,IPISTR,IPI Shorter,0x888888888888f195E27A2E0F98D712952aB9348e,18.0 -2195.0,LED-BF6D,LED,LedgerScore,0x72De803b67B6AB05B61EFab2Efdcd414D16eBF6D,18.0 -2196.0,KRX-7922,KRX,KRYZA Exchange,0x93ad9b819C88D98B4c9641470A96E24769Ae7922,9.0 -2197.0,CNFI-2Ae9,CNFI,Connect Financial,0xEABB8996eA1662cAd2f7fB715127852cd3262Ae9,18.0 -2198.0,DAM-86Df,DAM,Datamine,0xF80D589b3Dbe130c270a69F1a69D050f268786Df,18.0 -2199.0,KCT-A27E,KCT,Konnect,0x4c601dc69AfFb0D4Fc8dE1Ac303705e432A4A27E,18.0 -2200.0,PAL-f4BF,PAL,Paladin Token,0xAB846Fb6C81370327e784Ae7CbB6d6a6af6Ff4BF,18.0 -2201.0,DAR-62a3,DAR,Dalarnia,0x081131434f93063751813C619Ecca9C4dC7862a3,6.0 -2202.0,GAL-9875,GAL,Project Galaxy,0x5fAa989Af96Af85384b8a938c2EdE4A7378D9875,18.0 -2203.0,GMM-c279,GMM,Gamium [via ChainPort.io],0x4B19C70Da4c6fA4bAa0660825e889d2F7eaBc279,18.0 -2204.0,FORT-Ec29,FORT,Forta,0x41545f8b9472D758bB669ed8EaEEEcD7a9C4Ec29,18.0 -2205.0,GOG-9c62,GOG,Guild of Guardians,0x9AB7bb7FdC60f4357ECFef43986818A2A3569c62,18.0 -2206.0,ALIS-4fAB,ALIS,AlisToken,0xEA610B1153477720748DC13ED378003941d84fAB,18.0 -2207.0,GBYTE-cc2a,GBYTE,Imported GBYTE,0x31F69dE127C8A0fF10819C0955490a4Ae46fcc2a,18.0 -2208.0,XOLO-B252,XOLO,Xoloitzcuintli,0x3252d4221f92b7Af3774Da8312F01600eC84B252,18.0 -2209.0,GEM-F806,GEM,NFTmall GEM Token,0x9b17bAADf0f21F03e35249e0e59723F34994F806,18.0 -2210.0,QUA-88B7,QUA,Quarashi,0xd35c06a2781f648c75290976ecF71E71582188B7,18.0 -2211.0,BXR-D695,BXR,Blockster,0x97A3BD8a445cC187c6A751F392e15C3B2134D695,18.0 -2212.0,$PAPER-9397,$PAPER,PaperToken,0x21018CBC9ad730542130bE180b577b74DB2a9397,18.0 -2213.0,KRAUSE-603b,KRAUSE,KRAUSE,0x9F6F91078A5072A8B54695DAfA2374Ab3cCd603b,18.0 -2214.0,PLOT-66Bb,PLOT,PLOT,0x72F020f8f3E8fd9382705723Cd26380f8D0c66Bb,18.0 -2215.0,INXT-16D4,INXT,Internxt,0x4A8f5F96D5436e43112c2fBC6a9f70DA9e4E16D4,8.0 -2216.0,WACME-1170,WACME,Wrapped ACME,0xDF4Ef6EE483953fE3B84ABd08C6A060445c01170,8.0 -2217.0,JPEG-45a3,JPEG,JPEG’d Governance Token,0xE80C0cd204D654CEbe8dd64A4857cAb6Be8345a3,18.0 -2218.0,PLQ-BB7B,PLQ,PlanQ,0xd23Ed8cA350CE2631F7EcDC5E6bf80D0A1DeBB7B,18.0 -2219.0,MDT-7d26,MDT,Measurable Data Token,0x814e0908b12A99FeCf5BC101bB5d0b8B5cDf7d26,18.0 -2220.0,ILV-ca0E,ILV,Illuvium,0x767FE9EDC9E0dF98E07454847909b5E959D7ca0E,18.0 -2221.0,KNIGHT-16bC,KNIGHT,CitaDAO,0x3541A5C1b04AdABA0B83F161747815cd7B1516bC,18.0 -2222.0,USDS-2eBe,USDS,StableUSD,0xA4Bdb11dc0a2bEC88d24A3aa1E6Bb17201112eBe,6.0 -2223.0,PET-5C5F,PET,Pet Token,0xB870679a7Fa65b924026F496De7f27c1DD0e5C5F,18.0 -2224.0,CSX-9C8c,CSX,Coinstox Token,0x3aadc3BCe49724ce299fD9F3850211211c399C8c,18.0 -2225.0,BOOP-3Ce1,BOOP,Boop,0x8013266cb5c9dd48bE3Ad7D1CE832874d64B3Ce1,18.0 -2226.0,MNTL-3295,MNTL,AssetMantle,0x2C4F1DF9c7DE0C59778936C9b145fF56813F3295,6.0 -2227.0,KCAL-79F9,KCAL,Phantasma Energy,0x47C1178F49140ECdBfbdF0aE2935cDB640D579F9,10.0 -2228.0,EXD-6560,EXD,Exorde Network Token,0x02dE007D412266a2e0Fa9287C103474170F06560,18.0 -2229.0,BENT-C375,BENT,Bent Token,0x01597E397605Bf280674Bf292623460b4204C375,18.0 -2230.0,LUCHOW-7C57,LUCHOW,LunaChow,0xA5Ef74068d04ba0809B7379dD76Af5Ce34Ab7C57,18.0 -2231.0,JBX-6f66,JBX,Juicebox,0x3abF2A4f8452cCC2CF7b4C1e4663147600646f66,18.0 -2232.0,anonUSD-1eFd,anonUSD,anonUSD,0x5a7E6C8204A1359DB9AAcab7bA5Fc309B7981eFd,18.0 -2233.0,AGOV-280c,AGOV,Answer Governance,0xd1420AF453Fd7bf940573431D416cAcE7fF8280c,18.0 -2234.0,MOVE-324C,MOVE,Mover,0x3FA729B4548beCBAd4EaB6EF18413470e6D5324C,18.0 -2235.0,BTC2x-FLI-1c2b,BTC2x-FLI,BTC 2x Flexible Leverage Index,0x0B498ff89709d3838a063f1dFA463091F9801c2b,18.0 -2236.0,LIT-783b,LIT,LIT,0xC5b3D3231001a776123194Cf1290068e8b0C783b,18.0 -2237.0,cV-5683,cV,cVToken,0x50bC2Ecc0bfDf5666640048038C1ABA7B7525683,18.0 -2238.0,SPRING-d4FE,SPRING,Spring Token,0xf04aF3f4E4929F7CD25A751E6149A3318373d4FE,18.0 -2239.0,MOONEY-1395,MOONEY,MOONEY,0x20d4DB1946859E2Adb0e5ACC2eac58047aD41395,18.0 -2240.0,SBLX-5F80,SBLX,SocialBlox,0xf6af18F94d55B8888B557cb3da0Ec623BA245F80,18.0 -2241.0,CHO-3099,CHO,choise.com Token,0xBBa39Fd2935d5769116ce38d46a71bde9cf03099,18.0 -2242.0,MNE-d0E0,MNE,Minereum,0x426CA1eA2406c07d75Db9585F22781c096e3d0E0,8.0 -2243.0,MILADY-EB48,MILADY,Milady Maker,0x227c7DF69D3ed1ae7574A1a7685fDEd90292EB48,18.0 -2244.0,bLUSD-79C3,bLUSD,bLUSD,0xB9D7DdDca9a4AC480991865EfEf82E01273F79C3,18.0 -2245.0,ARTIC-731e,ARTIC,ARTIC,0xE83D5FB2c60B3A2597452e248CF7b2f52a7E731e,18.0 -2246.0,PHONON-03Ec,PHONON,Phonon DAO,0x758B4684BE769E92eeFeA93f60DDA0181eA303Ec,18.0 -2247.0,NEC-7A5e,NEC,Ethfinex Nectar Token,0xCc80C051057B774cD75067Dc48f8987C4Eb97A5e,18.0 -2248.0,UNIDX-D96C,UNIDX,UniDex,0x95b3497bBcCcc46a8F45F5Cf54b0878b39f8D96C,18.0 -2249.0,SURE-416E,SURE,inSure,0xcb86c6A22CB56B6cf40CaFEDb06BA0DF188a416E,18.0 -2250.0,BOLLY-ea99,BOLLY,Bollycoin,0x6bd361e10c1afed0d95259e7C0115f3A60e4ea99,18.0 -2251.0,IMPT-1f85,IMPT,IMPT,0x04C17b9D3b29A78F7Bd062a57CF44FC633e71f85,18.0 -2252.0,AIOZ-BF18,AIOZ,AIOZ Network,0x626E8036dEB333b408Be468F951bdB42433cBF18,18.0 -2253.0,FF-94CD,FF,Forefront,0x7E9D8f07A64e363e97A648904a89fb4cd5fB94CD,18.0 -2254.0,TSCT-5035,TSCT,Transient,0x805EA9c07B49dd23cE11ec66dC6d8a2957385035,18.0 -2255.0,CPOOL-FaC5,CPOOL,Clearpool,0x66761Fa41377003622aEE3c7675Fc7b5c1C2FaC5,18.0 -2256.0,CDT-85Cc,CDT,CheckDot,0xCdB37A4fBC2Da5b78aA4E41a432792f9533e85Cc,18.0 -2257.0,$MNB-A366,$MNB,Mineable,0x42b91f1d05afeA671a2dA3c780eDa2aBf0A2A366,18.0 -2258.0,TAIL-77c4,TAIL,Tail Finance,0x4384b85FE228AE727B129230211194E4A50877c4,9.0 -2259.0,BED-7dc6,BED,Bankless BED Index,0x2aF1dF3AB0ab157e1E2Ad8F88A7D04fbea0c7dc6,18.0 -2260.0,HFT-cADC,HFT,Hashflow,0xb3999F658C0391d94A37f7FF328F3feC942BcADC,18.0 -2261.0,PUNDIX-0C38,PUNDIX,Pundi X Token,0x0FD10b9899882a6f2fcb5c371E17e70FdEe00C38,18.0 -2262.0,MVDG-9750,MVDG,Metaverse Dog,0x2eE543b8866F46cC3dC93224C6742a8911a59750,18.0 -2263.0,ANT-5A2e,ANT,Aragon Network Token,0xa117000000f279D81A1D3cc75430fAA017FA5A2e,18.0 -2264.0,BTU-cc9f,BTU,BTU Protocol,0xb683D83a532e2Cb7DFa5275eED3698436371cc9f,18.0 -2265.0,PANDA-00DC,PANDA,PandaDAO,0x3cBb7f5d7499Af626026E96a2f05df806F2200DC,18.0 -2266.0,BLOOD-B50c,BLOOD,Blood,0x95392f142Af1c12F6e39897Ff9B09c599666B50c,18.0 -2267.0,BAM-4AaB,BAM,Bambi,0x9DB0FB0Aebe6A925B7838D16e3993A3976A64AaB,18.0 -2268.0,ETH2x_FLI-65BD,ETH2x_FLI,ETH 2x Flexible Leverage Index,0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD,18.0 -2269.0,UNIBOT-5040,UNIBOT,Unibot,0x25127685dC35d4dc96C7fEAC7370749d004C5040,18.0 -2270.0,LHINU-038d,LHINU,Love Hate Inu,0xCeDefE438860D2789dA6419b3a19cEcE2A41038d,18.0 -2271.0,RIBBIT-5fFe,RIBBIT,Ribbit,0xb794Ad95317f75c44090f64955954C3849315fFe,18.0 -2272.0,TURBO-20D3,TURBO,Turbo,0xA35923162C49cF95e6BF26623385eb431ad920D3,18.0 -2273.0,SFOX-76d5,SFOX,StonedFox,0xdfba8e8fFCc348B006e893e78De233B8597076d5,18.0 -2274.0,wjAURA-Cd1F,wjAURA,Wrapped Jones AURA,0x198d7387Fa97A73F05b8578CdEFf8F2A1f34Cd1F,18.0 -2275.0,BEE-307c,BEE,Babylon Bee,0x4C4F2B9DEB3c91006719Bb3232DD4eb39977307c,18.0 -2276.0,BIAO-5D8a,BIAO,Biaocoin,0x00282FD551D03dC033256C4bf119532e8C735D8a,2.0 -2277.0,TUCKER-A84f,TUCKER,Tucker Carlson,0x6f49694827d46A14Baf2a7b1eAC3e6eB3526A84f,9.0 -2276.0,Auction-9096,Auction,Auction,0xA9B1Eb5908CfC3cdf91F9B8B3a74108598009096,18.0 -2277.0,ANGLE-14c2,ANGLE,ANGLE,0x31429d1856aD1377A8A0079410B297e1a9e214c2,18.0 -2278.0,WXRP-e1B9,WXRP,WXRP,0x39fBBABf11738317a448031930706cd3e612e1B9,18.0 -2279.0,WIZARD-D8Fb,WIZARD,WIZARD,0x87931E7AD81914e7898d07c68F145fC0A553D8Fb,18.0 -2280.0,USH-EC48,USH,USH,0xE60779CC1b2c1d0580611c526a8DF0E3f870EC48,18.0 -2281.0,GENE-D67E,GENE,GENE,0x21413c119b0C11C5d96aE1bD328917bC5C8ED67E,18.0 -2282.0,SDL-8C23,SDL,SDL,0xA95C5ebB86E0dE73B4fB8c47A45B792CFeA28C23,18.0 -2283.0,AURA-16bE,AURA,AURA,0x6047e101aaa9Ab9b02fe5Cbc1DD03c2C7C8516bE,18.0 -2284.0,RAD-06FB,RAD,RAD,0xdDc6625FEcA10438857DD8660C021Cd1088806FB,18.0 -2285.0,OXO-09fc,OXO,OXO,0x47daC6BD80f024575a6d367aF5Ba8e89202A09fc,18.0 -2286.0,OETH-8dC3,OETH,OETH,0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3,18.0 -2287.0,FUMO-5aa6,FUMO,FUMO,0x2890dF158D76E584877a1D17A85FEA3aeeB85aa6,18.0 -2288.0,BITCOIN-EEa9,BITCOIN,BITCOIN,0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9,8.0 -2289.0,PEPE2.0-62AD,PEPE2.0,PEPE2.0,0xfb66321D7C674995dFcC2cb67A30bC978dc862AD,18.0 -2290.0,PEPE3.0-5398,PEPE3.0,PEPE3.0,0x0e92C90867bF82ebbE66ae0352a4C6D876Fb5398,18.0 -2291.0,RLB-3f3d,RLB,RLB,0x046EeE2cc3188071C02BfC1745A6b17c656e3f3d,18.0 -2292.0,RLB-3f3d,RLB,RLB,0x046EeE2cc3188071C02BfC1745A6b17c656e3f3d,18.0 -2293.0,eUSD-A371,eUSD,eUSD,0x97de57eC338AB5d51557DA3434828C5DbFaDA371,18.0 -2294.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 -2295.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 -2296.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 -2297.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 -2298.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 -2299.0,pETH-78c7,pETH,pETH,0x836A808d4828586A69364065A1e064609F5078c7,18.0 -2300.0,DXN-cB6F,DXN,DXN,0x80f0C1c49891dcFDD40b6e0F960F84E6042bcB6F,18.0 -2301.0,swETH-Ed78,swETH,swETH,0xf951E335afb289353dc249e82926178EaC7DEd78,18.0 -2302.0,swETH-Ed78,swETH,swETH,0xf951E335afb289353dc249e82926178EaC7DEd78,18.0 -2303.0,PSYOP-53D3,PSYOP,PSYOP,0x3007083EAA95497cD6B2b809fB97B6A30bdF53D3,18.0 -2304.0,FROGDOG-e16C,FROGDOG,FROGDOG,0x3cda61B56278842876e7fDD56123d83DBAFAe16C,18.0 -2305.0,BAZED-8F4a,BAZED,BAZED,0x3eE4B152824b657644c7A9B50694787e80EB8F4a,18.0 -2306.0,SHIBIE-a98F,SHIBIE,SHIBIE,0x4965b3b90f3a63Fc72F74e53322f66b2a174a98F,18.0 -2307.0,SHIBIE-a98F,SHIBIE,SHIBIE,0x4965b3b90f3a63Fc72F74e53322f66b2a174a98F,18.0 -2308.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 -2309.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 -2310.0,RVT-2244,RVT,RVT,0x3d1BA9be9f66B8ee101911bC36D3fB562eaC2244,18.0 -2311.0,Homer Pepe-ea3c,Homer Pepe,Homer Pepe,0x86803e2012CBA1Ca09d87393f5C739FA9E58ea3c,9.0 -2312.0,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18.0 -2313.0,CBot-a71C,CBot,CBot,0xf49311af05a4Ffb1dbf33d61e9b2d4f0a7d4a71C,9.0 -2314.0,CBot-a71C,CBot,CBot,0xf49311af05a4Ffb1dbf33d61e9b2d4f0a7d4a71C,9.0 -2315.0,GUISE-AFb8,GUISE,GUISE,0x7721A4cb6190EDB11d47f51C20968436ECcDAFb8,18.0 -2316.0,HODL-FecE,HODL,HODL,0x7b5FD0BB4154292173807aE6ae05153787e3FecE,18.0 -2317.0,HVH-0E0E,HVH,HVH,0xd076C4Ba62c57b3Fa10800bcfD8dA66742110E0E,18.0 -2318.0,GUISE-AFb8,GUISE,GUISE,0x7721A4cb6190EDB11d47f51C20968436ECcDAFb8,18.0 -2319.0,LBR-1ebd,LBR,LBR,0xed1167b6Dc64E8a366DB86F2E952A482D0981ebd,18.0 -2320.0,BITCOIN-EEa9,BITCOIN,BITCOIN,0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9,8.0 -2321.0,FGATE-2E92,FGATE,FGATE,0x97808Df7Afb14134d37a91576bDb8b95dFCD2E92,18.0 -2322.0,CAL-36E1,CAL,CAL,0x20561172f791f915323241E885b4f7D5187c36E1,18.0 -2323.0,CAL-36E1,CAL,CAL,0x20561172f791f915323241E885b4f7D5187c36E1,18.0 -2324.0,DORKL-aCf3,DORKL,DORKL,0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3,18.0 -2325.0,DORKL-aCf3,DORKL,DORKL,0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3,18.0 -2326.0,DORKL-aCf3,DORKL,DORKL,0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3,18.0 -2327.0,WAGMI-3a67,WAGMI,WAGMI,0x92CC36D66e9d739D50673d1f27929a371FB83a67,18.0 -2328.0,USDB-f060,USDB,USDB,0x309627af60F0926daa6041B8279484312f2bf060,18.0 -2329.0,PB-03Dc,PB,PB,0x996Ca7e71C37D70132889e29d17d2e44427A03Dc,18.0 -2330.0,THOR-8044,THOR,THOR,0xa5f2211B9b8170F694421f2046281775E8468044,18.0 -2331.0,PIXL-dd64,PIXL,PIXL,0x427A03Fb96D9A94A6727fbcfbBA143444090dd64,18.0 -2332.0,xcRMRK-06e4,xcRMRK,xcRMRK,0x471Ea49dd8E60E697f4cac262b5fafCc307506e4,10.0 -2333.0,YGG-CF73,YGG,YGG,0x25f8087EAD173b73D6e8B84329989A8eEA16CF73,18.0 -2334.0,PXLDY-F051,PXLDY,PXLDY,0xbC91A632E78db7c74508Ea26e91B266aa235F051,18.0 -2335.0,WSB-2f64,WSB,WSB,0xe1590A6FA0CFf9C960181cb77d8a873601772f64,18.0 -2336.0,C98-229f,C98,C98,0xAE12C5930881c53715B369ceC7606B70d8EB229f,18.0 -18.0,,,,, -2338.0,BPT-37da,BPT,BPT,0x0eC9F76202a7061eB9b3a7D6B59D36215A7e37da,18.0 -2339.0,REMIO-Fdbc,REMIO,REMIO,0xa35Bd2246978Dfbb1980DFf8Ff0f5834335dFdbc,18.0 -2340.0,OOKI-379B,OOKI,OOKI,0x0De05F6447ab4D22c8827449EE4bA2D5C288379B,18.0 -2341.0,MASQ-054c,MASQ,MASQ,0x06F3C323f0238c72BF35011071f2b5B7F43A054c,18.0 -2342.0,DELTA-20EF,DELTA,DELTA,0x9EA3b5b4EC044b70375236A281986106457b20EF,18.0 +,key,symbol,name,address,decimals +0,RANKER-dEAd,RANKER,RANKER,0x6431FA4B812a2DCC062A38CB55cc7D18135AdEAd,18 +1,JNGL-4155,JNGL,JNGL,0x4C45bbEc2fF7810ef4a77ad7BD4757C446Fe4155,18 +2,ONS-e2c5,ONS,ONS,0x5BB29c33C4A3C29f56F8ACa40B4dB91d8a5fe2c5,18 +3,TWEETY-5058,TWEETY,TWEETY,0xaA68FD12A3B0f7AeA66FE8f7111ae3f8D9ac5058,9 +4,PLT-Eb76,PLT,PLT,0x0944D5848BD9F60A34Ba92aEa300d4286696Eb76,18 +5,KUKU-D0ED,KUKU,KUKU,0xc3071803B9d23460820B516673fd3Cec0415D0ED,9 +6,GAZE-C564,GAZE,GAZE,0xD1E06952708771f71E6dd18F06EE418F6e8FC564,18 +7,BCAU-1489,BCAU,BCAU,0xa64EFD5Fe826f62E310a951332b519e1E3871489,18 +8,YESP-E72a,YESP,YESP,0x46ccA329970B33e1a007DD4ef0594A1cedb3E72a,18 +9,HILO-5ff6,HILO,HILO,0xbb9FD9Fa4863C03c574007fF3370787B9cE65ff6,18 +10,FRC-9cE0,FRC,FRC,0x58083B54013631BaCc0bbB6d4efa543Fee1D9cE0,18 +11,EURC-C33c,EURC,EURC,0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c,6 +12,SMUDGE-Db43,SMUDGE,SMUDGE,0x516e2758b044433371076a48127b8CFa7b0bDb43,18 +13,CSR-2387,CSR,CSR,0x75Ecb52e403C617679FBd3e77A50f9d10A842387,18 +14,JUSDC-0D9B,JUSDC,JUSDC,0xca9f9671765F8D1A7e19ae2639E01FFF730f0D9B,18 +15,FOHO-450E,FOHO,FOHO,0xDd2e93924BDD4E20C3CF4A8736E5955224FA450E,8 +16,AAMMUNIMKRWETH-Ddf9,AAMMUNIMKRWETH,AAMMUNIMKRWETH,0x370adc71f67f581158Dc56f539dF5F399128Ddf9,18 +17,EUROE-2974,EUROE,EUROE,0x820802Fa8a99901F52e39acD21177b0BE6EE2974,6 +18,YVSUSD-7396,YVSUSD,YVSUSD,0xa5cA62D95D24A4a350983D5B8ac4EB8638887396,18 +19,TYRION-3181,TYRION,TYRION,0x5e27e384aCBBa20982f991893B9970AaF3f43181,18 +20,RINIA-FD7D,RINIA,RINIA,0x8f828a0644f12Fa352888E645a90333d30f6FD7D,9 +21,IBEUR-ae27,IBEUR,IBEUR,0x96E61422b6A9bA0e068B6c5ADd4fFaBC6a4aae27,18 +22,TRIBOT-23a3,TRIBOT,TRIBOT,0x18e2190303d6454dEAa5bA5529EA0100F99723a3,18 +23,DAO-471c,DAO,DAO,0xEe503d43Ad447cdfc719F688207BFcB2FBB9471c,18 +24,GOOCH-b41f,GOOCH,GOOCH,0x6d3D490964205c8bC8DeD39e48e88E8Fde45b41f,18 +25,ZBU-dd2e,ZBU,ZBU,0x8f9b4525681F3Ea6E43b8E0a57BFfF86c0A1dd2e,18 +26,VIDYA-2C30,VIDYA,VIDYA,0x3D3D35bb9bEC23b06Ca00fe472b50E7A4c692C30,18 +27,ETHO-7096,ETHO,ETHO,0x0b5326Da634f9270FB84481DD6F94d3dC2cA7096,18 +28,BBT-fc9c,BBT,BBT,0x1500205f50bf3FD976466d0662905c9ff254fc9c,4 +29,DDOS-02C3,DDOS,DDOS,0x7FBEC0bb6A7152e77C30D005B5D49cbC08A602C3,18 +30,MDF-B411,MDF,MDF,0x1a57367C6194199e5D9aEa1cE027431682dfB411,18 +31,IVI-E546,IVI,IVI,0xA91464AbD4625A23aB719e3F0FCE84DaDd54E546,18 +32,NCDT-3C1B,NCDT,NCDT,0xE0C8b298db4cfFE05d1bEA0bb1BA414522B33C1B,18 +33,RENBTCCURVE-3675,RENBTCCURVE,RENBTCCURVE,0x49849C98ae39Fff122806C06791Fa73784FB3675,18 +34,MGG-8740,MGG,MGG,0x7237C0B30B1355f1B76355582f182F6f04B08740,18 +35,IUSDC-57F8,IUSDC,IUSDC,0xc8871267e07408b89aA5aEcc58AdCA5E574557F8,6 +36,GATSBY-3Dbd,GATSBY,GATSBY,0x5D0EbC4Ec5ac18d30512fb6287886245061B3Dbd,9 +37,TESO-0aB9,TESO,TESO,0xBe1BC2e2338dEfCd88E7F9F5f745Ddb222180aB9,9 +38,YCRV-f65b,YCRV,YCRV,0xFCc5c47bE19d06BF83eB04298b026F81069ff65b,18 +39,ALY-5627,ALY,ALY,0xf2CDF38e24738bA379ffa38D47bc88a941dF5627,2 +40,TOMOE-FaBa,TOMOE,TOMOE,0x05D3606d5c81EB9b7B18530995eC9B29da05FaBa,18 +41,ROG-446b,ROG,ROG,0x5d43b66da68706D39f6C97F7f1415615672b446b,18 +42,MLORD-Ed1E,MLORD,MLORD,0x2Cc5C38ea9a58D360181852C9F5719b96407Ed1E,18 +43,RBX-3299,RBX,RBX,0x8254e26e453EB5aBd29B3c37AC9E8Da32E5d3299,18 +44,LUFFY-EBd7,LUFFY,LUFFY,0x54012cDF4119DE84218F7EB90eEB87e25aE6EBd7,9 +45,DATA-8b76,DATA,DATA,0x8f693ca8D21b157107184d29D398A8D082b38b76,18 +46,SHIL-fCe1,SHIL,SHIL,0x20c3fa331A385b63EE39137e99d0cF2db142fCe1,18 +47,YUP-BCC9,YUP,YUP,0x69bBC3F8787d573F1BBDd0a5f40C7bA0Aee9BCC9,18 +48,SCAM-666A,SCAM,SCAM,0x766a824314BD1D9FA27C8461754C276772BC666A,18 +49,JOB-517A,JOB,JOB,0xdfbc9050F5B01DF53512DCC39B4f2B2BBaCD517A,8 +50,UUSDT-d584,UUSDT,UUSDT,0x178Bf8fD04b47D2De3eF3f6b3D112106375ad584,6 +51,MECHX-dD41,MECHX,MECHX,0x816FCe1cc93473B2d54bd8C0DaE4CAe911f6dD41,18 +52,OSMO-68aB,OSMO,OSMO,0xE44ac096D96b7918afc0d98cB18D40c5CA5868aB,18 +53,UNFI-22c2,UNFI,UNFI,0x441761326490cACF7aF299725B6292597EE822c2,18 +54,HIPP-52d7,HIPP,HIPP,0x7b744eEa1dECa2f1B7b31F15Ba036Fa1759452d7,18 +55,WISE-5bd6,WISE,WISE,0x66a0f676479Cee1d7373f3DC2e2952778BfF5bd6,18 +56,MNW-f6E4,MNW,MNW,0xd3E4Ba569045546D09CF021ECC5dFe42b1d7f6E4,18 +57,MOMO-Ed4D,MOMO,MOMO,0xE4d0941Ad4ff744948704f7532DC00E01f33Ed4D,9 +58,XAUR-2D81,XAUR,XAUR,0x4DF812F6064def1e5e029f1ca858777CC98D2D81,8 +59,LSILVER-199E,LSILVER,LSILVER,0xD64809f5F7d772D9112A6BD379De00A77188199E,18 +60,CTPL-cA1B,CTPL,CTPL,0xF7e40AF830a2EcbFe72C5210C1Ca272e3Aa7cA1B,18 +61,TRADE-4fB1,TRADE,TRADE,0x6F87D756DAf0503d08Eb8993686c7Fc01Dc44fB1,18 +62,XFI-c430,XFI,XFI,0x5BEfBB272290dD5b8521D4a938f6c4757742c430,18 +63,MEMES-4D88,MEMES,MEMES,0xde0E9Bd25dc63A629f40E1eC7959B57726E94D88,18 +64,BLOCK-0-46e7,BLOCK-0,BLOCK-0,0xBe1BeA3f6e5F29648fdC88b1622785a1666246e7,9 +65,UCASH-FD37,UCASH,UCASH,0x92e52a1A235d9A103D970901066CE910AAceFD37,8 +66,G-f5fD,G,G,0x4EbE70CB942D5AF0A18b9126762637e7098Ff5fD,9 +67,STORE-074f,STORE,STORE,0x31ea0de8119307aA264Bb4b38727aAb4E36b074f,18 +68,STMX-D71C,STMX,STMX,0xa62cc35625B0C8dc1fAEA39d33625Bb4C15bD71C,18 +69,LINA-2b50,LINA,LINA,0xC05d14442A510De4D3d71a3d316585aA0CE32b50,18 +70,HOICHI-d2b6,HOICHI,HOICHI,0xC4EE0aA2d993ca7C9263eCFa26c6f7e13009d2b6,18 +71,OPERA-eC3a,OPERA,OPERA,0x3bd8268791DE798d4ED5d424d49412cF42B8eC3a,9 +72,KIBSHI-2361,KIBSHI,KIBSHI,0x02e7F808990638E9e67E1f00313037EDe2362361,18 +73,RLY-E49b,RLY,RLY,0xf1f955016EcbCd7321c7266BccFB96c68ea5E49b,18 +74,PXP-314f,PXP,PXP,0x95aA5d2DbD3c16ee3fdea82D5C6EC3E38CE3314f,18 +75,TOM-9ABc,TOM,TOM,0xF7970499814654CD13Cb7B6E7634A12a7A8A9ABc,18 +76,ZOOT-926c,ZOOT,ZOOT,0x1341A2257fa7b770420Ef70616f888056f90926c,9 +77,VBUCK-cB80,VBUCK,VBUCK,0x9F1c9741cB9BCb2aDC062F23E2ed90c3Eb47cB80,18 +78,DXC-1997,DXC,DXC,0xb0E99627bC29adEf1178f16117BF495351E81997,18 +79,MATICX-B645,MATICX,MATICX,0xf03A7Eb46d01d9EcAA104558C732Cf82f6B6B645,18 +80,CTCN-1FD8,CTCN,CTCN,0xFD6C31bb6F05Fc8dB64F4b740Ab758605c271FD8,18 +81,LTO-ea30,LTO,LTO,0xd01409314aCb3b245CEa9500eCE3F6Fd4d70ea30,8 +82,BB-A-USDT-FACb,BB-A-USDT,BB-A-USDT,0x2F4eb100552ef93840d5aDC30560E5513DFfFACb,18 +83,BITCOIN-EEa9,BITCOIN,BITCOIN,0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9,8 +84,USDP-89E1,USDP,USDP,0x8E870D67F660D95d5be530380D0eC0bd388289E1,18 +85,SHILLD-1aB6,SHILLD,SHILLD,0x3adf095d04311d7BF05C838F0d3DC34a83D81aB6,18 +86,BB-S-DAI-5176,BB-S-DAI,BB-S-DAI,0x2B218683178d029BAB6c9789b1073aA6c96E5176,18 +87,ECTE-24Ea,ECTE,ECTE,0xe9fa21E671BcfB04E6868784b89C19d5aa2424Ea,18 +88,ZINU-d508,ZINU,ZINU,0xC5FDf3569af74f3B3e97E46A187a626352D2d508,9 +89,VITO-0911,VITO,VITO,0x757dA0E5c253082b0f2Bd5105119F71817Fe0911,18 +90,ST-eBec,ST,ST,0x876A76c80b32e5cfbb27fD840A1A530EF828eBec,18 +91,HAM-Ba22,HAM,HAM,0x00000000bD56856065C00b1Ad1b5cDEFBF32Ba22,18 +92,MAX-73e7,MAX,MAX,0xe7976c4Efc60d9f4C200Cc1bCEF1A1e3B02c73e7,18 +93,NEXT-c67a,NEXT,NEXT,0xFE67A4450907459c3e1FFf623aA927dD4e28c67a,18 +94,RGT-C623,RGT,RGT,0xD291E7a03283640FDc51b121aC401383A46cC623,18 +95,BETA-dbE2,BETA,BETA,0x35F67c1D929E106FDfF8D1A55226AFe15c34dbE2,18 +96,CLT-D969,CLT,CLT,0x2001f2A0Cf801EcFda622f6C28fb6E10d803D969,8 +97,ASTRO-69ff,ASTRO,ASTRO,0xcbd55D4fFc43467142761A764763652b48b969ff,18 +98,GYOSHI-0Ade,GYOSHI,GYOSHI,0x1F17D72cBe65Df609315dF5c4f5F729eFbd00Ade,18 +99,TRENDX-c936,TRENDX,TRENDX,0xC89d9aa9D9E54bb196319c6195AEA1038d2bc936,18 +100,USHIBA-7c9A,USHIBA,USHIBA,0xB893A8049f250b57eFA8C62D51527a22404D7c9A,9 +101,QSP-b80d,QSP,QSP,0x99ea4dB9EE77ACD40B119BD1dC4E33e1C070b80d,18 +102,HIFI-B07e,HIFI,HIFI,0x4b9278b94a1112cAD404048903b8d343a810B07e,18 +103,AMKT-aE8D,AMKT,AMKT,0xF17A3fE536F8F7847F1385ec1bC967b2Ca9caE8D,18 +104,AI-4Fa2,AI,AI,0xF68415bE72377611e95d59bc710CcbBbf94C4Fa2,18 +105,QETH-2E7d,QETH,QETH,0x93ef1Ea305D11A9b2a3EbB9bB4FCc34695292E7d,18 +106,BTU-cc9f,BTU,BTU,0xb683D83a532e2Cb7DFa5275eED3698436371cc9f,18 +107,FTT-a4c9,FTT,FTT,0x50D1c9771902476076eCFc8B2A83Ad6b9355a4c9,18 +108,DHP-920d,DHP,DHP,0xc40F23A3E9613E012944f7957edCe97899Fa920d,18 +109,SWITCH-2285,SWITCH,SWITCH,0x36FEca97a4E81F4e1260119fae0C572A98832285,9 +110,EURE-273f,EURE,EURE,0x3231Cb76718CDeF2155FC47b5286d82e6eDA273f,18 +111,UNIETH-51F4,UNIETH,UNIETH,0xF1376bceF0f78459C0Ed0ba5ddce976F1ddF51F4,18 +112,DXN-cB6F,DXN,DXN,0x80f0C1c49891dcFDD40b6e0F960F84E6042bcB6F,18 +113,VCK-5731,VCK,VCK,0xfa5B75a9e13Df9775cf5b996A049D9cc07c15731,18 +114,CARD-D708,CARD,CARD,0x954b890704693af242613edEf1B603825afcD708,18 +115,BRIBIT-ED37,BRIBIT,BRIBIT,0x5f32De250329B97aaD84AAe4cd3AF548aFf1ED37,18 +116,INNIT-7c18,INNIT,INNIT,0x62A8C2818BD7034DC24CD22368C3E53E8eB47c18,18 +117,OPCH-22d1,OPCH,OPCH,0x4d4d883f920f7c0C36a1bE71a02Aa0cde2AA22d1,18 +118,I20-6812,I20,I20,0x6d47a7BE5D410910eef7EE2a3D34931F98f36812,18 +119,XOT-b198,XOT,XOT,0x22B48E1f20043D1Db5F2a11CbF1d520A4F20b198,18 +120,PLPC-F67b,PLPC,PLPC,0xa34Ee6108Fe427f91edce0D6520d9fEc0E64F67b,9 +121,MSI-6fde,MSI,MSI,0xc4C75F2A0cB1a9ACc33929512dc9733EA1Fd6fde,18 +122,PENDLE-a827,PENDLE,PENDLE,0x808507121B80c02388fAd14726482e061B8da827,18 +123,KIMCHI-eDa0,KIMCHI,KIMCHI,0x1E18821E69B9FAA8e6e75DFFe54E7E25754beDa0,18 +124,WAY-3e1e,WAY,WAY,0xFDedD42A446BF6C5a883727Cda6fF557511e3e1e,18 +125,WSB-0c49,WSB,WSB,0x0414D8C87b271266a5864329fb4932bBE19c0c49,18 +126,SOL-b89c,SOL,SOL,0xD31a59c85aE9D8edEFeC411D448f90841571b89c,9 +127,HETH-068B,HETH,HETH,0x5bBe36152d3CD3eB7183A82470b39b29EedF068B,18 +128,ZDEX-7f9c,ZDEX,ZDEX,0x5150956E082C748Ca837a5dFa0a7C10CA4697f9c,18 +129,SOOOOOOOOO-5cec,SOOOOOOOOO,SOOOOOOOOO,0x1494951b4656075E473843161c4fF0201A235cec,9 +130,NVIR-6804,NVIR,NVIR,0x9d71CE49ab8A0E6D2a1e7BFB89374C9392FD6804,18 +131,TAMA-88c8,TAMA,TAMA,0x12b6893cE26Ea6341919FE289212ef77e51688c8,18 +132,EVED-91bd,EVED,EVED,0x5aaEFe84E0fB3DD1f0fCfF6fA7468124986B91bd,18 +133,FTG-7659,FTG,FTG,0x3A4CaB3DcfaB144FE7eB2B5a3e288Cc03dC07659,18 +134,DWEB-285F,DWEB,DWEB,0xE7f58A92476056627f9FdB92286778aBd83b285F,18 +135,TRADE-C0C1,TRADE,TRADE,0x6e5970DBd6fc7eb1f29C6D2eDF2bC4c36124C0C1,18 +136,LOVE-47c8,LOVE,LOVE,0xdE4CE5447ce0c67920a1371605A39187Cb6847c8,18 +137,SOMEE-1447,SOMEE,SOMEE,0x65F9A292f1AEED5D755Aa2fD2Fb17AB2E9431447,18 +138,NANDI-97B5,NANDI,NANDI,0x38F679F8E8116cd5D6a700E442dfaa8e7B8697B5,9 +139,BUMP-2168,BUMP,BUMP,0x785c34312dfA6B74F6f1829f79ADe39042222168,18 +140,NCASH-3CCA,NCASH,NCASH,0x809826cceAb68c387726af962713b64Cb5Cb3CCA,18 +141,IDLE-D39e,IDLE,IDLE,0x875773784Af8135eA0ef43b5a374AaD105c5D39e,18 +142,MOUSEWORM-5dA8,MOUSEWORM,MOUSEWORM,0xA848a1D33D8ef1633397A6acf617620fab8E5dA8,6 +143,AAMMBPTBALWETH-7bFB,AAMMBPTBALWETH,AAMMBPTBALWETH,0xd109b2A304587569c84308c55465cd9fF0317bFB,18 +144,GNX-DAa5,GNX,GNX,0x6EC8a24CaBdc339A06a172F8223ea557055aDAa5,9 +145,TEN-40E4,TEN,TEN,0xDD16eC0F66E54d453e6756713E533355989040E4,18 +146,UNBNK-442f,UNBNK,UNBNK,0x06B884e60794Ce02AafAb13791B59A2e6A07442f,18 +147,DEFY-d8E7,DEFY,DEFY,0x205eD31C867bF715E4182137Af95AFE9177Cd8E7,18 +148,MAUSDT-aC2f,MAUSDT,MAUSDT,0xAFe7131a57E44f832cb2dE78ade38CaD644aaC2f,18 +149,CHAT-3469,CHAT,CHAT,0x442Bc47357919446eAbC18C7211E57a13d983469,18 +150,CVAG-a6f9,CVAG,CVAG,0x72a66e54B66892aE3BBe54DF7bb7Dd5Ae927a6f9,18 +151,CITADEL-C1BB,CITADEL,CITADEL,0x6caDf6ABBCeb53e631C288778DAAcF125481C1BB,18 +152,FGATE-2E92,FGATE,FGATE,0x97808Df7Afb14134d37a91576bDb8b95dFCD2E92,18 +153,ONSTON-3957,ONSTON,ONSTON,0x47b9F01B16E9C9cb99191DCA68c9cc5bF6403957,18 +154,LIT-9723,LIT,LIT,0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723,18 +155,TORN-116C,TORN,TORN,0x77777FeDdddFfC19Ff86DB637967013e6C6A116C,18 +156,MOOI-e006,MOOI,MOOI,0xd3C89cAC4A4283EDbA6927e2910fD1eBC14fe006,18 +157,BSN-6A5e,BSN,BSN,0x534D1F5E617e0f72A6b06a04Aa599839AF776A5e,18 +158,MYTH-2003,MYTH,MYTH,0xBA41Ddf06B7fFD89D1267b5A93BFeF2424eb2003,18 +159,GYOZA-82Dd,GYOZA,GYOZA,0x4e51A6b3cC6d5Ae69A0D44dB9de846aEb5a582Dd,9 +160,CLH-FA52,CLH,CLH,0xD7D8f3b8Bc8bC48d3AcC37879EABA7b85889FA52,18 +161,NUME2-2d1b,NUME2,NUME2,0x62939f78A9A1cC4f9F1eA41CFf95cd4f6B912d1b,18 +162,GOLC-445d,GOLC,GOLC,0x095797FD4297fb79883cC912a5Ba6313B15c445d,18 +163,METANO-1afb,METANO,METANO,0x9D9e399e5385e2b9A58d4F775A1E16441b571afb,18 +164,PRCY-D116,PRCY,PRCY,0xdFC3829b127761a3218bFceE7fc92e1232c9D116,8 +165,DUB-Fb65,DUB,DUB,0x75CE16D11B83605aa039D40d7d846ff23064Fb65,9 +166,ONE-c475,ONE,ONE,0x946551DD05C5Abd7CC808927480225ce36D8c475,18 +167,RARE-6350,RARE,RARE,0xba5BDe662c17e2aDFF1075610382B9B691296350,18 +168,INUS-8c00,INUS,INUS,0x39207D2E2fEEF178FBdA8083914554C59D9f8c00,18 +169,CHAI-c215,CHAI,CHAI,0x06AF07097C9Eeb7fD685c692751D5C66dB49c215,18 +170,MUSK-2Cd8,MUSK,MUSK,0x6069c9223e8a5DA1ec49ac5525d4BB757Af72Cd8,18 +171,PROM-b27d,PROM,PROM,0xfc82bb4ba86045Af6F327323a46E80412b91b27d,18 +172,SPELL-e5F6,SPELL,SPELL,0x090185f2135308BaD17527004364eBcC2D37e5F6,18 +173,BNIU-1b86,BNIU,BNIU,0x2f11EeeE0bf21E7661A22dbBbb9068F4ad191b86,18 +174,MYCE-f4EA,MYCE,MYCE,0xE9966C1184f8552Fcb16F65addba9Dd08fe8f4EA,18 +175,UTK-F99c,UTK,UTK,0xdc9Ac3C20D1ed0B540dF9b1feDC10039Df13F99c,18 +176,XYO-E758,XYO,XYO,0x55296f69f40Ea6d20E478533C15A6B08B654E758,18 +177,NTX-A0c4,NTX,NTX,0xFDb15e5E6799Be72798b1ccFAEcbF186Bf73A0c4,8 +178,BOWL-5794,BOWL,BOWL,0x760Ea31711aC14cb9Ba81aC25453C6f378fA5794,9 +179,TYRANT-ec27,TYRANT,TYRANT,0x8EE325AE3E54e83956eF2d5952d3C8Bc1fa6ec27,9 +180,KTON-c5ff,KTON,KTON,0x9F284E1337A815fe77D2Ff4aE46544645B20c5ff,18 +181,BPD-1250,BPD,BPD,0xC81b0d02393a956234E24564805a896f14ad1250,9 +182,AAMMUNIRENWETH-878B,AAMMUNIRENWETH,AAMMUNIRENWETH,0xA9e201A4e269d6cd5E9F0FcbcB78520cf815878B,18 +183,GTH-3674,GTH,GTH,0xeb986DA994E4a118d5956b02d8b7c3C7CE373674,18 +184,SPOT-6Ca6,SPOT,SPOT,0xb4f8Ae8D7D29Ac74894cD40ecC24e50F6F146Ca6,9 +185,SAINT-8C40,SAINT,SAINT,0x3D5FA1cF7D356474F72C8cb24F7a6117b40F8C40,18 +186,AMM-c349,AMM,AMM,0x8B1F49491477e0fB46a29fef53F1EA320D13c349,6 +187,CBK-F7fD,CBK,CBK,0xD85a6Ae55a7f33B0ee113C234d2EE308EdeAF7fD,18 +188,SIS-6dd9,SIS,SIS,0xd38BB40815d2B0c2d2c866e0c72c5728ffC76dd9,18 +189,HIMFERS-33B0,HIMFERS,HIMFERS,0xB755D5bC7de83232b9df1886bD5CdB38895933B0,18 +190,PGA-a67e,PGA,PGA,0xf0068a3657526Bc7f824B55575714ebFFe9ca67e,18 +191,VOLTA-8A76,VOLTA,VOLTA,0x9b06F3C5de42D4623D7A2Bd940EC735103c68A76,18 +192,HAIR-6f42,HAIR,HAIR,0x9Ce115f0341ae5daBC8B477b74E83db2018A6f42,18 +193,WFAI-cD48,WFAI,WFAI,0x8A001303158670E284950565164933372807cD48,18 +194,EVER-2953,EVER,EVER,0x29d578CEc46B50Fa5C88a99C6A4B70184C062953,9 +195,SKT-a8C1,SKT,SKT,0x012E0e6342308b247F36Ee500ECb14dc77a7a8C1,8 +196,YFL-c0be,YFL,YFL,0x28cb7e841ee97947a86B06fA4090C8451f64c0be,18 +197,VEUR-b5d3,VEUR,VEUR,0x6bA75D640bEbfe5dA1197bb5A2aff3327789b5d3,18 +198,EVX-13b8,EVX,EVX,0xf3Db5Fa2C66B7aF3Eb0C0b782510816cbe4813b8,4 +199,NST-3f5d,NST,NST,0x70Bef3bB2f001dA2fDDb207dAe696cD9FAFf3f5d,18 +200,ESPRO-3ead,ESPRO,ESPRO,0x29C56E7CB9C840d2b2371b17e28BaB44AD3c3ead,18 +201,RBET-2813,RBET,RBET,0xB16ADA27e4bc05bC7b113D0B0fd4962Fe1ce2813,18 +202,EOSDAC-4fBa,EOSDAC,EOSDAC,0x7e9e431a0B8c4D532C745B1043c7FA29a48D4fBa,18 +203,MARU-2b00,MARU,MARU,0xC2456D2118299a2efDFE6522Ff79aA48fC5d2b00,9 +204,BITT-6D51,BITT,BITT,0x9F9913853f749b3fE6D6D4e16a1Cc3C1656B6D51,18 +205,PPAY-3Bb2,PPAY,PPAY,0x054D64b73d3D8A21Af3D764eFd76bCaA774f3Bb2,18 +206,SYM-aCb8,SYM,SYM,0x2fd61567c29E7ADB4Ca17e60E1f4a3Fcfe68aCb8,18 +207,STYLE-85b1,STYLE,STYLE,0xA962fC9d092c1E2dE00Bf600e261cf058B5685b1,18 +208,AGV-382B,AGV,AGV,0xf4F618Eff5eF36Cde2FCa4FBD86554c62Fb1382B,18 +209,GMB-53Ea,GMB,GMB,0x9488936e4a36E3585aFEB63377e2393Aeac253Ea,18 +210,BMT-1E89,BMT,BMT,0xf028ADEe51533b1B47BEaa890fEb54a457f51E89,18 +211,XRP20-2E7d,XRP20,XRP20,0xE4aB0bE415e277d82C38625B72BD7DeA232C2E7d,18 +212,LUN-67D9,LUN,LUN,0xfa05A73FfE78ef8f1a739473e462c54bae6567D9,18 +213,POWER-E509,POWER,POWER,0xF2f9A7e93f845b3ce154EfbeB64fB9346FCCE509,18 +214,FRIN-1D15,FRIN,FRIN,0xC9fE6E1C76210bE83DC1B5b20ec7FD010B0b1D15,18 +215,STILT-bE4b,STILT,STILT,0xB5F1457d6FBa1956Fb8d31B0B7CAcA14BDe0bE4b,9 +216,VEE-13B7,VEE,VEE,0x340D2bdE5Eb28c1eed91B2f790723E3B160613B7,18 +217,PUNK-232A,PUNK,PUNK,0x269616D549D7e8Eaa82DFb17028d0B212D11232A,18 +218,SHINO-ed12,SHINO,SHINO,0xE9287543684f440b2f29983A3472987bF7b0ed12,18 +219,SALT-0581,SALT,SALT,0x4156D3342D5c385a87D264F90653733592000581,8 +220,BST-34FC,BST,BST,0x4E4bFfAA8df6F0dC3e5600bBACf7DA55f37134FC,18 +221,JACK-EB28,JACK,JACK,0x4E12EB8e506Ccd1427F6b8F7faa3e88fB698EB28,18 +222,FEG-C945,FEG,FEG,0x389999216860AB8E0175387A0c90E5c52522C945,9 +223,BEL-7e14,BEL,BEL,0xA91ac63D040dEB1b7A5E4d4134aD23eb0ba07e14,18 +224,ATNT-8918,ATNT,ATNT,0xAA2d8c9a8bd0F7945143bfD509bE3ff23dd78918,3 +225,TENSHI-5292,TENSHI,TENSHI,0x52662717e448be36Cb54588499D5A8328BD95292,18 +226,SNM-266b,SNM,SNM,0x77571a64342667f7818520eF004b2b91F47a266b,18 +227,DBOX-D973,DBOX,DBOX,0x56c9D5F1E727de03643af220B5cE52DE23D4D973,18 +228,POS32-2aB0,POS32,POS32,0x8eb5bD8c9Ab0F8ad28e94693F3c889F490bE2aB0,18 +229,DEXIO-2b84,DEXIO,DEXIO,0xe2cfBBEDbcE1bd59B1B799C44282E6396D692b84,18 +230,SBET-2756,SBET,SBET,0x2ED2Cc2c858A8a8219fD2F2d9E170285dBd02756,18 +231,SKM-3603,SKM,SKM,0x048Fe49BE32adfC9ED68C37D32B5ec9Df17b3603,18 +232,VETME-4E1f,VETME,VETME,0xe7eF051C6EA1026A70967E8F04da143C67Fa4E1f,9 +233,DAPPT-485B,DAPPT,DAPPT,0x96184d9C811Ea0624fC30C80233B1d749B9E485B,18 +234,GOLD-2ead,GOLD,GOLD,0x670f9D9a26D3D42030794ff035d35a67AA092ead,8 +235,FNF-CDEE,FNF,FNF,0xAcf8D5E515Ed005655DfeFA09C22673a37A7CDEE,18 +236,ISK-a75C,ISK,ISK,0x17d2628D30F8e9E966c9Ba831c9B9b01ea8Ea75C,18 +237,CYCE-2f42,CYCE,CYCE,0x9681ee0D91E737C3B60aCEbA7Fbdae61B5462f42,6 +238,FOG-287c,FOG,FOG,0x503cD987998824192578D0d7950148445667287c,18 +239,LAKE-C400,LAKE,LAKE,0xF9Ca9523E5b5A42C3018C62B084Db8543478C400,18 +240,KCT-A27E,KCT,KCT,0x4c601dc69AfFb0D4Fc8dE1Ac303705e432A4A27E,18 +241,OCEAN-9F48,OCEAN,OCEAN,0x967da4048cD07aB37855c090aAF366e4ce1b9F48,18 +242,TR3-5F98,TR3,TR3,0xF61BF4d1A948487d61b8fa63808AAC06bda55F98,18 +243,ETHM-3794,ETHM,ETHM,0xFD957F21bd95E723645C07C48a2d8ACB8Ffb3794,18 +244,OPEN-1340,OPEN,OPEN,0x9D86b1B2554ec410ecCFfBf111A6994910111340,8 +245,CKU-F736,CKU,CKU,0x08F7be99ED83369541501d60f4e66F8e34c3F736,18 +246,ATH-C8F6,ATH,ATH,0x2F9411088cEF82Fd9fB904Eb8092f28eB485C8F6,18 +247,BURP-4A7c,BURP,BURP,0x33f391F4c4fE802b70B77AE37670037A92114A7c,18 +248,BSL-53Ac,BSL,BSL,0x0AF55d5fF28A3269d69B98680Fd034f115dd53Ac,8 +249,SAIL-15B7,SAIL,SAIL,0xd8F1460044925d2D5c723C7054cd9247027415B7,18 +250,SNN-5d08,SNN,SNN,0xF5717f5DF41eA67Ef67DFD3c1d02F9940bcF5d08,3 +251,LINU-D581,LINU,LINU,0x78132543D8E20D2417d8a07D9ae199D458A0D581,18 +252,CHIKUN-3fB2,CHIKUN,CHIKUN,0x9A7703338730b82A803ba050dF55f9B3959f3fB2,9 +253,LBP-4eBE,LBP,LBP,0xa23C1194d421F252b4e6D5edcc3205F7650a4eBE,18 +254,NERF-76c5,NERF,NERF,0xaF8942831F3A096f708b8b31F191B8958Cf176c5,18 +255,AAMMUNIBATWETH-7Eb4,AAMMUNIBATWETH,AAMMUNIBATWETH,0xA1B0edF4460CC4d8bFAA18Ed871bFF15E5b57Eb4,18 +256,TIUSD-09bd,TIUSD,TIUSD,0x6EFF556748Ee452CbDaf31bcb8c76A28651509bd,18 +257,ICONS-9088,ICONS,ICONS,0x3F68e7B44e9bCB486C2FeAdB7A2289D9cdFC9088,18 +258,AIOZ-BF18,AIOZ,AIOZ,0x626E8036dEB333b408Be468F951bdB42433cBF18,18 +259,AAMMUSDC-9c80,AAMMUSDC,AAMMUSDC,0xd24946147829DEaA935bE2aD85A3291dbf109c80,6 +260,DERI-d3b9,DERI,DERI,0xA487bF43cF3b10dffc97A9A744cbB7036965d3b9,18 +261,FBX-C199,FBX,FBX,0x5De597849Cf72c72f073e9085bDD0DadD8E6C199,18 +262,PRO-c307,PRO,PRO,0xBD7e92Cf6F857be8541FCa6abfB72aeF8e16c307,18 +263,STZ-B654,STZ,STZ,0x3f5294DF68F871241c4B18fcF78ebD8Ac18aB654,18 +264,GOM2-bcD7,GOM2,GOM2,0x48783486ddD7fa85ECa6B0C4AE8920Bc25DfbcD7,0 +265,KTN-FC1C,KTN,KTN,0x491E136FF7FF03E6aB097E54734697Bb5802FC1C,18 +266,MOMA-D55B,MOMA,MOMA,0xbd1848e1491d4308Ad18287A745DD4DB2A4BD55B,18 +267,PRT-2892,PRT,PRT,0x6D0F5149c502faf215C89ab306ec3E50b15e2892,18 +268,LON-c952,LON,LON,0x0000000000095413afC295d19EDeb1Ad7B71c952,18 +269,KYD-6966,KYD,KYD,0xD05292be8733C1b189820d042C9E2c3fBABb6966,9 +270,DIA-bC5b,DIA,DIA,0xFde00bD1Da57349b0DF85F134b18124266F3bC5b,18 +271,THX-4B31,THX,THX,0xe632ea2eF2CFD8Fc4a2731C76F99078Aef6a4B31,18 +272,PINU-9670,PINU,PINU,0x3a1311B8C404629E38f61D566cefEFed083B9670,9 +273,EMBR-3c85,EMBR,EMBR,0x1936aE42b59876192a2E263B3807343c448e3c85,18 +274,MIC-1c7d,MIC,MIC,0x285DB79fa7e0e89E822786F48A7c98C6c1dC1c7d,18 +275,SPN-dbfD,SPN,SPN,0x32EA3Dc70E2962334864A9665254d2433E4ddbfD,18 +276,XAI-bEAc,XAI,XAI,0xd7C9F0e536dC865Ae858b0C0453Fe76D13c3bEAc,18 +277,RAZE-8EaC,RAZE,RAZE,0x5Eaa69B29f99C84Fe5dE8200340b4e9b4Ab38EaC,18 +278,FUND-996b,FUND,FUND,0x7d8d7c26179b7A6aebbF66A91C38ED92d5B4996b,18 +279,BCSPX-1D59,BCSPX,BCSPX,0x1e2C4fb7eDE391d116E6B41cD0608260e8801D59,18 +280,RSFT-46A6,RSFT,RSFT,0x78223d31298107f3E310B09797b07967832046A6,18 +281,PHM-89d3,PHM,PHM,0x3F9BEC82c776c47405BcB38070d2395Fd18F89d3,18 +282,QNT-4675,QNT,QNT,0x4a220E6096B25EADb88358cb44068A3248254675,18 +283,RAMP-Ed9f,RAMP,RAMP,0x33D0568941C0C64ff7e0FB4fbA0B11BD37deEd9f,18 +284,BWP-ce24,BWP,BWP,0x5543862BA50b6Bbc198222a34d30E93A62aDce24,8 +285,AWOKE-573D,AWOKE,AWOKE,0xd75C5AA683485780940cf0F78C08AaC051e5573D,18 +286,WXTZ-00b4,WXTZ,WXTZ,0x2A69655C22eDa32ff48d315bB26ED45f150700b4,6 +287,GEAR-Ab5D,GEAR,GEAR,0xBa3335588D9403515223F109EdC4eB7269a9Ab5D,18 +288,SLOCK-9D8E,SLOCK,SLOCK,0xbcBf09b4b83EB3893D58F0665d21460C04e39D8E,18 +289,DUMMY-21db,DUMMY,DUMMY,0x445bd590A01fe6709d4f13A8F579c1e4846921db,18 +290,SER-8fDC,SER,SER,0xb19189Fb36c816f3e0f16065057B07B790998fDC,18 +291,EEYOR-4825,EEYOR,EEYOR,0x07c904D8c04323EF9Fe6BF13AaEbA05b62c54825,18 +292,LIME-f4A3,LIME,LIME,0x9D0B65a76274645B29e4cc41B8f23081fA09f4A3,18 +293,GNO-6b96,GNO,GNO,0x6810e776880C02933D47DB1b9fc05908e5386b96,18 +294,GRDN-665B,GRDN,GRDN,0xDC9a328a55A9241FE14abc03498d57124063665B,9 +295,MCBASE-8cDb,MCBASE,MCBASE,0x43a9C989597eFeAdf11Faec609Ad8df7d3C18cDb,18 +296,TSANGNYON-C242,TSANGNYON,TSANGNYON,0xd031edafac6a6ae5425e77F936022E506444C242,18 +297,ACAP-6A41,ACAP,ACAP,0xd5A98E77d1fEB091344096301Ea336a5C07a6A41,18 +298,RNDR-eb24,RNDR,RNDR,0x6De037ef9aD2725EB40118Bb1702EBb27e4Aeb24,18 +299,STA-76eb,STA,STA,0xD7d05bDa4bf5876bA1254b3Eaaf8b47D2F5676eb,18 +300,GLM-6429,GLM,GLM,0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429,18 +301,FUSION-ca84,FUSION,FUSION,0x6230f552A1c825D02E1140Ccc0d3f5EEEC81ca84,9 +302,ULTIMATEBO-2e4f,ULTIMATEBO,ULTIMATEBO,0x6b4CEB0beb0DCF0043C9389e01e3F1c84b422e4f,9 +303,XUDO-1E45,XUDO,XUDO,0x33BC4e44054fdb21D5a7CEa5c03613782D821E45,18 +304,HIPUNKS-5647,HIPUNKS,HIPUNKS,0xb1f136a74e18E4E2921feBbf25820d1Bb65B5647,18 +305,HGOLD-E0d9,HGOLD,HGOLD,0x0c93B616933b0CD03B201b29Cd8a22681DD9E0d9,8 +306,MEV-04E3,MEV,MEV,0xb3Cb8d5AEFF0F4d1f432f353309f47b885E404E3,18 +307,ALPA-514A,ALPA,ALPA,0x7cA4408137eb639570F8E647d9bD7B7E8717514A,18 +308,X-2372,X,X,0xa62894D5196bC44e4C3978400Ad07E7b30352372,9 +309,AGI-3046,AGI,AGI,0x7dA2641000Cbb407C329310C461b2cB9c70C3046,18 +310,LFG-Ff4F,LFG,LFG,0x441C3c2f4a92f1B90F916811514ebDDbBD3BFf4F,18 +311,AUSDT-5811,AUSDT,AUSDT,0x3Ed3B47Dd13EC9a98b44e6204A523E766B225811,6 +312,MTL-355e,MTL,MTL,0xF433089366899D83a9f26A773D59ec7eCF30355e,8 +313,VS-e933,VS,VS,0x63a60C5469379149757Cc3e58453202eBDB7e933,18 +314,RED-Eb2f,RED,RED,0x76960Dccd5a1fe799F7c29bE9F19ceB4627aEb2f,18 +315,FINU-Ca1C,FINU,FINU,0x2c022e58C5E3Ee213F06f975fd8a0d3a6fE9Ca1C,18 +316,SRK-74E6,SRK,SRK,0x0488401c3F535193Fa8Df029d9fFe615A06E74E6,18 +317,NEMS-FFAe,NEMS,NEMS,0xb435A47eCea7F5366b2520e45B9beD7E01d2FFAe,18 +318,YVAAVE-1915,YVAAVE,YVAAVE,0xd9788f3931Ede4D5018184E198699dC6d66C1915,18 +319,AXIAV3-7546,AXIAV3,AXIAV3,0x793786e2dd4Cc492ed366a94B88a3Ff9ba5E7546,18 +320,KUSUNOKI-0308,KUSUNOKI,KUSUNOKI,0x36919a60a2B67B6d2329863093D180d23d5A0308,18 +321,PEPLAY-72a4,PEPLAY,PEPLAY,0xeE42bEb10DCd03775107f5eC56c3AE022F1072a4,18 +322,HTL-B742,HTL,HTL,0x6247C86B016Bc4d9aE141849C0a9Eb38C004B742,18 +323,CHZ-b4AF,CHZ,CHZ,0x3506424F91fD33084466F402d5D97f05F8e3b4AF,18 +324,DSS-7513,DSS,DSS,0x213C53C96A01a89E6Dcc5683cF16473203E17513,18 +325,LIVE-6f60,LIVE,LIVE,0xb7dFa8EAc59361B1d9f0C2641b516159C5306f60,18 +326,SCM-3718,SCM,SCM,0x8353b92201f19B4812EeE32EFd325f7EDe123718,18 +327,ETHPAD-C442,ETHPAD,ETHPAD,0x8dB1D28Ee0d822367aF8d220C0dc7cB6fe9DC442,18 +328,YVUNI-ed42,YVUNI,YVUNI,0xFBEB78a723b8087fD2ea7Ef1afEc93d35E8Bed42,18 +329,PLSB-8D06,PLSB,PLSB,0x5EE84583f67D5EcEa5420dBb42b462896E7f8D06,12 +330,PRIX-B37A,PRIX,PRIX,0x3ADfc4999F77D04c8341BAC5F3A76f58DfF5B37A,8 +331,HERMES-Bb91,HERMES,HERMES,0xDE6Cec925D3e76e2Cb94cf5805159244BA4CBb91,18 +332,EVEAI-0cF1,EVEAI,EVEAI,0x05fE069626543842439Ef90D9FA1633640c50cF1,18 +333,MILADY-EB48,MILADY,MILADY,0x227c7DF69D3ed1ae7574A1a7685fDEd90292EB48,18 +334,ORD-E4Ec,ORD,ORD,0xBe00734799A67a62Af2819825580318aC1B1E4Ec,18 +335,HOODIE-FE75,HOODIE,HOODIE,0xdffA3a7f5B40789C7A437DbE7B31b47F9B08FE75,18 +336,SNAKE-B8fA,SNAKE,SNAKE,0x1032abe2902a23dDCbaB085C20E0e69c33cEB8fA,18 +337,FELIX-b905,FELIX,FELIX,0x418AfEe14a1FD9c05c4df05e033f7C3d46aEb905,18 +338,BCNT-2CD9,BCNT,BCNT,0x9669890e48f330ACD88b78D63E1A6b3482652CD9,18 +339,ENO-6eC1,ENO,ENO,0x1C3d163219Bb74f430411b95D66b72056f366eC1,18 +340,PRE-2A0F,PRE,PRE,0xEC213F83defB583af3A000B1c0ada660b1902A0F,18 +341,COIL-E918,COIL,COIL,0x823E1B82cE1Dc147Bbdb25a203f046aFab1CE918,18 +342,TOKU-BD82,TOKU,TOKU,0x9eEC1A4814323a7396c938bc86aeC46b97F1BD82,18 +343,STRM-BcA8,STRM,STRM,0x0eDF9bc41Bbc1354c70e2107F80C42caE7FBBcA8,18 +344,EYE-ce5e,EYE,EYE,0x5D39957Fc88566F14AE7E8aB8971d7c603f0ce5e,9 +345,BGB-8a28,BGB,BGB,0x19de6b897Ed14A376Dda0Fe53a5420D2aC828a28,18 +346,TOAD-1955,TOAD,TOAD,0x370a366f402e2e41CDBbE54EcEC12aaE0cce1955,18 +347,ZMT-62b2,ZMT,ZMT,0xaa602dE53347579f86b996D2Add74bb6F79462b2,18 +348,BSPT-28d5,BSPT,BSPT,0xa350DA05405cc204e551C4eeD19C3039646528d5,18 +349,MNDCC-72f1,MNDCC,MNDCC,0xCDb9D30a3BA48CdfCB0EcbE19317E6cf783672f1,18 +350,FCT-471b,FCT,FCT,0xE1bAD922F84b198A08292FB600319300ae32471b,18 +351,DSLA-ECBe,DSLA,DSLA,0x3aFfCCa64c2A6f4e3B6Bd9c64CD2C969EFd1ECBe,18 +352,PIXIU-07E8,PIXIU,PIXIU,0x37A15C92e67686aA268df03d4C881A76340907E8,0 +353,PAY-B280,PAY,PAY,0xB97048628DB6B661D4C2aA833e95Dbe1A905B280,18 +354,COTI-55c5,COTI,COTI,0xDDB3422497E61e13543BeA06989C0789117555c5,18 +355,ALLIN-BDAc,ALLIN,ALLIN,0x642b62DAebd3b46b03208A5E590A9D87A88fBDAc,9 +356,FLUID-E073,FLUID,FLUID,0x4E47951508Fd4A4126F8ff9CF5E6Fa3b7cC8E073,18 +357,LEAP-a134,LEAP,LEAP,0x53263d9EF74Db583b15fbC6D5D4e8B83833fa134,18 +358,RDPX-8D11,RDPX,RDPX,0x0ff5A8451A839f5F0BB3562689D9A44089738D11,18 +359,ARNC-8EE4,ARNC,ARNC,0x7495e5Cc8F27e0bd5bD4cb86d17F0D841cA58EE4,18 +360,BNT-FF1C,BNT,BNT,0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C,18 +361,ROSO-2F0d,ROSO,ROSO,0xc3d222685f1ACACDdD4bF8aE566a288702252F0d,18 +362,BRD-9aD6,BRD,BRD,0x558EC3152e2eb2174905cd19AeA4e34A23DE9aD6,18 +363,BUTTER-341c,BUTTER,BUTTER,0x0D248Ce39E26FB00F911FB1e7a45A00d8C94341c,18 +364,NAVYSEAL-2870,NAVYSEAL,NAVYSEAL,0x34DF29Dd880e9fe2cec0f85f7658B75606fB2870,9 +365,CELR-C667,CELR,CELR,0x4F9254C83EB525f9FCf346490bbb3ed28a81C667,18 +366,ZRX-F498,ZRX,ZRX,0xE41d2489571d322189246DaFA5ebDe1F4699F498,18 +367,TITI-Ec52,TITI,TITI,0x3bdffA70f4b4E6985eED50453c7C0D4A15dcEc52,18 +368,SYBL-1842,SYBL,SYBL,0xCa4B70BEcCAbcE29efa5bC5C86311E5D38461842,18 +369,GOTG-8c1D,GOTG,GOTG,0xceEB07Dd26b36287B6d109f0b06d7e8202Ce8c1D,18 +370,RAKE-5677,RAKE,RAKE,0x8928f8D41377856Ddf099D23B260375d178e5677,18 +371,1INCH-C302,1INCH,1INCH,0x111111111117dC0aa78b770fA6A738034120C302,18 +372,ADS-001f,ADS,ADS,0x3106a0a076BeDAE847652F42ef07FD58589E001f,18 +373,FUN-711b,FUN,FUN,0x419D0d8BdD9aF5e606Ae2232ed285Aff190E711b,8 +374,LMY-851f,LMY,LMY,0x66fD97a78d8854fEc445cd1C80a07896B0b4851f,18 +375,BIG-B9B5,BIG,BIG,0xc8De43Bfe33FF496Fa14c270D9CB29Bda196B9B5,18 +376,CSUSHI-c9d7,CSUSHI,CSUSHI,0x4B0181102A0112A2ef11AbEE5563bb4a3176c9d7,8 +377,USDT-1ec7,USDT,USDT,0xdAC17F958D2ee523a2206206994597C13D831ec7,6 +378,SAI-0359,SAI,SAI,0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359,18 +379,TI-7022,TI,TI,0xC5170Dd7386247CDB8c48545C803F5D0E3347022,18 +380,INVOX-6022,INVOX,INVOX,0x4485561Db76614Ff727f8E0a3Ea95690b8b16022,18 +381,LBR-1ebd,LBR,LBR,0xed1167b6Dc64E8a366DB86F2E952A482D0981ebd,18 +382,OPL-4961,OPL,OPL,0xc0804A4eaE02Fdf7516F55A12990D282640A4961,18 +383,ZURR-e08D,ZURR,ZURR,0x89509aA1D14a8E1E5364Ec4C3B041213bcDbe08D,18 +384,PBX-a483,PBX,PBX,0xD528cf2E081f72908e086F8800977df826B5a483,18 +385,PAR-ee06,PAR,PAR,0x1BeEF31946fbbb40B877a72E4ae04a8D1A5Cee06,18 +386,HFIL-7cD4,HFIL,HFIL,0x9AFb950948c2370975fb91a441F36FDC02737cD4,18 +387,LYF-428B,LYF,LYF,0xc3dBD99da846ea38d34430D852795684a211428B,18 +388,CASTLE-3079,CASTLE,CASTLE,0xf9d4DAaE1300CfF251979722C4A3C45857973079,18 +389,ARDX-0647,ARDX,ARDX,0xB8E2e2101eD11e9138803cd3e06e16dd19910647,2 +390,GPBP-F7a5,GPBP,GPBP,0xe5ca70281149Be03Da30778fb5ec6183d339F7a5,9 +391,XOR-F677,XOR,XOR,0x40FD72257597aA14C7231A7B1aaa29Fce868F677,18 +392,SENSO-7bD1,SENSO,SENSO,0xC19B6A4Ac7C7Cc24459F08984Bbd09664af17bD1,0 +393,PEPE20-62AD,PEPE20,PEPE20,0xfb66321D7C674995dFcC2cb67A30bC978dc862AD,18 +394,WRC-cb2d,WRC,WRC,0x72aDadb447784dd7AB1F472467750fC485e4cb2d,6 +395,CASH-C9af,CASH,CASH,0xf32cFbAf4000e6820a95B3A3fCdbF27FB4eFC9af,18 +396,WTBT-6C56,WTBT,WTBT,0xD38e031f4529a07996aaB977d2B79f0e00656C56,18 +397,INUINU-eB5f,INUINU,INUINU,0xC6bDb96E29c38DC43f014Eed44dE4106A6A8eB5f,18 +398,BB-A-DAI-935c,BB-A-DAI,BB-A-DAI,0xae37D54Ae477268B9997d4161B96b8200755935c,18 +399,DYP-ef17,DYP,DYP,0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17,18 +400,OST-AEcA,OST,OST,0x2C4e8f2D746113d0696cE89B35F0d8bF88E0AEcA,18 +401,XDEFI-B777,XDEFI,XDEFI,0x72B886d09C117654aB7dA13A14d603001dE0B777,18 +402,BDOT-eE0B,BDOT,BDOT,0x7884F51dC1410387371ce61747CB6264E1dAeE0B,10 +403,MVI-34D7,MVI,MVI,0x72e364F2ABdC788b7E918bc238B21f109Cd634D7,18 +404,PDT-9893,PDT,PDT,0x375aBB85C329753b1Ba849a601438AE77eEc9893,18 +405,SPANK-6a18,SPANK,SPANK,0x42d6622deCe394b54999Fbd73D108123806f6a18,18 +406,MKUSD-BB28,MKUSD,MKUSD,0x4591DBfF62656E7859Afe5e45f6f47D3669fBB28,18 +407,HAPI-Fb54,HAPI,HAPI,0xD9c2D319Cd7e6177336b0a9c93c21cb48d84Fb54,18 +408,ODE-406a,ODE,ODE,0xbf52F2ab39e26E0951d2a02b49B7702aBe30406a,18 +409,PP-d793,PP,PP,0x8442E0e292186854BB6875b2A0fc1308b9Ded793,9 +410,AAMMDAI-8ba4,AAMMDAI,AAMMDAI,0x79bE75FFC64DD58e66787E4Eae470c8a1FD08ba4,18 +411,HERB-d16E,HERB,HERB,0x04A020325024F130988782bd5276e53595e8d16E,8 +412,MPEPE-E7F2,MPEPE,MPEPE,0x4216663dDc7BD10eAf44609DF4Dd0f91cD2bE7F2,18 +413,MU-61D7,MU,MU,0x05030203674173Fa6dF6F9f7E34D6E70E9a761D7,18 +414,CLEVUSD-2F86,CLEVUSD,CLEVUSD,0x3C20Ac688410bE8F391bE1fb00AFc5C212972F86,18 +415,APE-4381,APE,APE,0x4d224452801ACEd8B2F0aebE155379bb5D594381,18 +416,USDC-eB48,USDC,USDC,0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48,6 +417,PST-67a9,PST,PST,0xE3feDAeCD47aa8EAb6b23227b0eE56F092C967a9,18 +418,SDG-2C1A,SDG,SDG,0x0F5dEF84CED3e9e295DAe28df96d0B846dE92C1A,18 +419,FLOKI-6a2E,FLOKI,FLOKI,0xcf0C122c6b73ff809C693DB761e7BaeBe62b6a2E,9 +420,COC-3caf,COC,COC,0x22B6C31c2bEB8f2d0d5373146Eed41Ab9eDe3caf,8 +421,UNM-304b,UNM,UNM,0x6570fFe19dA7e2b425329B157d9109b87f18304b,18 +422,IETH-9E4A,IETH,IETH,0xC71D8BaAa436aa7E42DA1f40bEc48F11AB3c9E4A,8 +423,CXO-7143,CXO,CXO,0xb6EE9668771a79be7967ee29a63D4184F8097143,18 +424,TUF-c8f1,TUF,TUF,0x6f8b23296394d20eC048FbDec8eBc0CA90f5c8f1,18 +425,UNI-ecbb,UNI,UNI,0x2730d6FdC86C95a74253BefFaA8306B40feDecbb,8 +426,HYPER-3d03,HYPER,HYPER,0x69fa10Cac03047A47ff32d7CDdD6085ff1583d03,18 +427,DAM-86Df,DAM,DAM,0xF80D589b3Dbe130c270a69F1a69D050f268786Df,18 +428,MORK-6F76,MORK,MORK,0xf552b656022c218C26dAd43ad88881Fc04116F76,4 +429,MRG-7617,MRG,MRG,0xcbee6459728019CB1f2bB971dDe2eE3271BC7617,18 +430,MCT-c9bC,MCT,MCT,0xBEE709aa42375acE642338F7f657ff859a19c9bC,18 +431,BEAN-4FeB,BEAN,BEAN,0x8189AFBE7b0e81daE735EF027cd31371b3974FeB,18 +432,AFIN-7A72,AFIN,AFIN,0xEe9E5eFF401ee921b138490d00CA8D1F13f67A72,8 +433,ASTO-4689,ASTO,ASTO,0x823556202e86763853b40e9cDE725f412e294689,18 +434,XLAB-4472,XLAB,XLAB,0x8c4E7f814d40f8929F9112C5D09016F923d34472,18 +435,PHCR-111F,PHCR,PHCR,0x37E83a94c6B1Bdb816B59aC71dd02CF154d8111F,18 +436,FRENS-5970,FRENS,FRENS,0x5C0217E4e126d501896594bEC409898A9AFc5970,18 +437,RAPID-8528,RAPID,RAPID,0x5549394cFEEf53B08FA41317019F474BFC588528,9 +438,DYDX-Eff5,DYDX,DYDX,0x92D6C1e31e14520e676a687F0a93788B716BEff5,18 +439,IC21-1A65,IC21,IC21,0x1B5E16C5b20Fb5EE87C61fE9Afe735Cca3B21A65,18 +440,AAMMUNICRVWETH-7DB0,AAMMUNICRVWETH,AAMMUNICRVWETH,0x0ea20e7fFB006d4Cfe84df2F72d8c7bD89247DB0,18 +441,WOMBAT-F9dd,WOMBAT,WOMBAT,0x0C9c7712C83B3C70e7c5E11100D33D9401BdF9dd,18 +442,HLTC-31C3,HLTC,HLTC,0x2c000c0093dE75a8fA2FccD3d97b314e20b431C3,18 +443,X7101-E105,X7101,X7101,0x7101a9392EAc53B01e7c07ca3baCa945A56EE105,18 +444,ONEICHI-1e07,ONEICHI,ONEICHI,0x4db2c02831c9ac305FF9311Eb661f80f1dF61e07,18 +445,HUNT-6fa5,HUNT,HUNT,0x9AAb071B4129B083B01cB5A0Cb513Ce7ecA26fa5,18 +446,WCA-41b0,WCA,WCA,0x506B8f75BDeF0Edac36B0A6f9CF313485E4341b0,18 +447,X7102-A105,X7102,X7102,0x7102DC82EF61bfB0410B1b1bF8EA74575bf0A105,18 +448,MUNCH-a301,MUNCH,MUNCH,0x944eeE930933BE5E23b690c8589021Ec8619a301,9 +449,FX-5057,FX,FX,0x8c15Ef5b4B21951d50E53E4fbdA8298FFAD25057,18 +450,ZIG-4f01,ZIG,ZIG,0xb2617246d0c6c0087f18703d576831899ca94f01,18 +451,AGGRX-A59c,AGGRX,AGGRX,0xB37Ea37DE1075b7d2F6B64E768917b174639A59c,9 +452,CRVUSD-1b4E,CRVUSD,CRVUSD,0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E,18 +453,BERRY-4f4c,BERRY,BERRY,0x6aEB95F06CDA84cA345c2dE0F3B7f96923a44f4c,14 +454,MANA-C942,MANA,MANA,0x0F5D2fB29fb7d3CFeE444a200298f468908cC942,18 +455,ETHEREUM-9d21,ETHEREUM,ETHEREUM,0x24249b5a869a445C9B0CE269a08d73c618dF9d21,8 +456,TPY-A2A9,TPY,TPY,0x968Cbe62c830A0Ccf4381614662398505657A2A9,8 +457,GYSR-CCAb,GYSR,GYSR,0xbEa98c05eEAe2f3bC8c3565Db7551Eb738c8CCAb,18 +458,-240C,,,0xfF836A5821E69066c87E268bC51b849FaB94240C,18 +459,ZOOMER-7676,ZOOMER,ZOOMER,0x0D505C03d30e65f6e9b4Ef88855a47a89e4b7676,18 +460,HIVALHALLA-00F1,HIVALHALLA,HIVALHALLA,0x5C0590cDE44569bf39ef79e859B367e39cB000F1,18 +461,AAG-8F97,AAG,AAG,0x5ba19d656B65f1684cFea4Af428C23B9f3628F97,18 +462,PLAY-6170,PLAY,PLAY,0xE477292f1B3268687A29376116B0ED27A9c76170,18 +463,PEEPO-CF41,PEEPO,PEEPO,0xaADA04204e9e1099DaF67cf3D5D137E84E41CF41,18 +464,AAMMUNIDAIWETH-8D36,AAMMUNIDAIWETH,AAMMUNIDAIWETH,0x9303EabC860a743aABcc3A1629014CaBcc3F8D36,18 +465,BNB-7605,BNB,BNB,0x418D75f65a02b3D53B2418FB8E1fe493759c7605,18 +466,CTASK-3934,CTASK,CTASK,0x196c81385Bc536467433014042788Eb707703934,18 +467,MOMOV2-f864,MOMOV2,MOMOV2,0x08D0222A206D1AeE59A9b66969c04FD1e8A0f864,18 +468,RABBITS-7890,RABBITS,RABBITS,0x3576EFf2be8B1A31782b3E8dfD962a6ddb087890,18 +469,KAWA-60Ec,KAWA,KAWA,0x5552E5a89A70cB2eF5AdBbC45a6BE442fE7160Ec,9 +470,PINA-780D,PINA,PINA,0x02814F435dD04e254Be7ae69F61FCa19881a780D,18 +471,MIKAWA-6A26,MIKAWA,MIKAWA,0x0888Fd2960Ddf57Cfb561B59d73Dd2b9524F6A26,9 +472,PLA-6CD5,PLA,PLA,0x0198f46f520F33cd4329bd4bE380a25a90536CD5,18 +473,FEY-6072,FEY,FEY,0xe8E06a5613dC86D459bC8Fb989e173bB8b256072,18 +474,GRAIN-ECce,GRAIN,GRAIN,0xF88Baf18FAB7e330fa0C4F83949E23F52FECECce,18 +475,KATA-aE15,KATA,KATA,0x2e85ae1C47602f7927bCabc2Ff99C40aA222aE15,18 +476,GENW-7E80,GENW,GENW,0xcf1e086A145dd7B5b771b1e6AcBBC1d2b58d7E80,18 +477,YCO-0893,YCO,YCO,0x3D0293f06daF4311B482564330D57C8Db6C10893,8 +478,CNTR-064B,CNTR,CNTR,0x03042482d64577A7bdb282260e2eA4c8a89C064B,18 +479,KTO-F8fC,KTO,KTO,0x616ef40D55C0D2c506f4d6873Bda8090b79BF8fC,9 +480,MNTO-19e4,MNTO,MNTO,0x97a9bac06f90940bCe9CAeC2b880ff17707519e4,18 +481,ACRV-70b1,ACRV,ACRV,0x8dAE6Cb04688C62d939ed9B68d32Bc62e49970b1,18 +482,VVT-0D6e,VVT,VVT,0x755be920943eA95e39eE2DC437b268917B580D6e,18 +483,XCF-C48e,XCF,XCF,0x010D14d36C3eA6570D240ae3ac9d660398f7C48e,18 +484,SRT-Da91,SRT,SRT,0x22987407FD1fC5A971e3FDA3B3e74C88666cDa91,18 +485,PBTC35A-d358,PBTC35A,PBTC35A,0xA8b12Cc90AbF65191532a12bb5394A714A46d358,18 +486,BC3M-45e7,BC3M,BC3M,0x2F123cF3F37CE3328CC9B5b8415f9EC5109b45e7,18 +487,SBLX-5F80,SBLX,SBLX,0xf6af18F94d55B8888B557cb3da0Ec623BA245F80,18 +488,BTRST-2824,BTRST,BTRST,0x799ebfABE77a6E34311eeEe9825190B9ECe32824,18 +489,MATRIX-1C36,MATRIX,MATRIX,0xc8D3DCb63C38607Cb0c9d3F55E8eccE628A01C36,18 +490,BABYPEPE-052A,BABYPEPE,BABYPEPE,0x5C559F3ee9A81Da83e069c0093471cB05D84052A,18 +491,YUNA-62f9,YUNA,YUNA,0x2F6f397332B0F8b4536430bCC97980aA838f62f9,18 +492,FOOM-0933,FOOM,FOOM,0xd0D56273290D339aaF1417D9bfa1bb8cFe8A0933,18 +493,EVIL-06E5,EVIL,EVIL,0xcf9560B9E952b195D408BE966E4f6Cf4Ab8206E5,18 +494,PRISMA-d71C,PRISMA,PRISMA,0xdA47862a83dac0c112BA89c6abC2159b95afd71C,18 +495,CMKR-325b,CMKR,CMKR,0x95b4eF2869eBD94BEb4eEE400a99824BF5DC325b,8 +496,UAC-2238,UAC,UAC,0x0AF5855a348C58a8BbF65BCc7B9BBaCD0e7e2238,18 +497,BYTES-8c95,BYTES,BYTES,0x7d647b1A0dcD5525e9C6B3D14BE58f27674f8c95,18 +498,CSMATIC-a912,CSMATIC,CSMATIC,0x38b7Bf4eeCF3EB530b1529c9401FC37d2a71a912,18 +499,LIQ-a408,LIQ,LIQ,0xD82fd4D6D62f89A1E50b1db69AD19932314aa408,18 +500,NIFT-c56f,NIFT,NIFT,0x4a1d542b52a95AD01Ddc70C2e7df0c7bBAAdc56f,18 +501,BUIDL-63db,BUIDL,BUIDL,0x7b123f53421b1bF8533339BFBdc7C98aA94163db,18 +502,GATE-82E4,GATE,GATE,0x9d7630aDF7ab0b0CB00Af747Db76864df0EC82E4,18 +503,TAIRYO-73EB,TAIRYO,TAIRYO,0x14d4c7A788908fbbBD3c1a4Bac4AFf86fE1573EB,9 +504,DRE-663c,DRE,DRE,0x1977bE49C33dFacF6590C16ca9a9CfA0463f663c,18 +505,IDLESUSDYIELD-Fd3F,IDLESUSDYIELD,IDLESUSDYIELD,0xF52CDcD458bf455aeD77751743180eC4A595Fd3F,18 +506,SIGN-7dA0,SIGN,SIGN,0xb06B8186cc008A79FD6722B1eefad07c14E97dA0,18 +507,NPC-08F6,NPC,NPC,0x8eD97a637A790Be1feff5e888d43629dc05408F6,18 +508,TZU-A262,TZU,TZU,0x13DBd5394c2c7E4bDb85B1838286Faa66532A262,18 +509,GZLR-7632,GZLR,GZLR,0x9f4909Cc95FB870BF48C128C1Fdbb5F482797632,18 +510,MSG-7356,MSG,MSG,0x308516e6dAaC88d719Af5a6D7eA2A82d8C8e7356,18 +511,GLTM-1499,GLTM,GLTM,0x556d4F40982CB95E0714989E0c229C42be8b1499,18 +512,MINDS-c068,MINDS,MINDS,0xB26631c6dda06aD89B93C71400D25692de89c068,18 +513,GEMX-5f49,GEMX,GEMX,0x3B5e2DF103a037509dcC8430E5462B9CD8F75f49,9 +514,YMNT-C254,YMNT,YMNT,0xe59A1fe295f940E5226DcF6411Ef2Bdf3089C254,9 +515,MODS-c67D,MODS,MODS,0xa43a8FC632d809FB2c16f590c0ff6423e311c67D,18 +516,ARBOT-1123,ARBOT,ARBOT,0x723696965F47B990Dff00064FcaCa95F0Ee01123,18 +517,RING-c483,RING,RING,0x9469D013805bFfB7D3DEBe5E7839237e535ec483,18 +518,AGG-198e,AGG,AGG,0x492798Fb464e77Cb3cDA62b9a2C3c65162db198e,18 +519,GXT-4bc0,GXT,GXT,0x4674672BcDdDA2ea5300F5207E1158185c944bc0,18 +520,FMT-A54C,FMT,FMT,0x99c6e435eC259A7E8d65E1955C9423DB624bA54C,18 +521,VERI-2374,VERI,VERI,0x8f3470A7388c05eE4e7AF3d01D8C722b0FF52374,18 +522,DARUMA-f704,DARUMA,DARUMA,0xA888D9616C2222788fa19f05F77221A290eEf704,9 +523,S4F-e48a,S4F,S4F,0xAec7d1069e3a914a3EB50f0BFB1796751f2ce48a,18 +524,ALIEN-cc34,ALIEN,ALIEN,0x85705eC9F2E11B8a70607D93ffaf9D73EC84cc34,18 +525,YVTUSD-0775,YVTUSD,YVTUSD,0xFD0877d9095789cAF24c98F7CCe092fa8E120775,18 +526,FOXT-bC12,FOXT,FOXT,0xFbe878CED08132bd8396988671b450793C44bC12,18 +527,TYPE-5A9F,TYPE,TYPE,0xeaf61FC150CD5c3BeA75744e830D916E60EA5A9F,4 +528,NEWS-d1E1,NEWS,NEWS,0x777fD20c983d6658c1D50b3958B3A1733d1cd1E1,9 +529,OX-7A6f,OX,OX,0x78a0A62Fba6Fb21A83FE8a3433d44C73a4017A6f,18 +530,CUCK-C2eC,CUCK,CUCK,0xBb63E6BE33Bc5B5386d7ab0529Dc6C400F2AC2eC,18 +531,ARTEQ-c787,ARTEQ,ARTEQ,0x805C2077f3ab224D889f9c3992B41B2F4722c787,0 +532,BHIG-f5C6,BHIG,BHIG,0x996229D0c6a485c7F4B52E092EAa907cB2def5C6,18 +533,RFX-8965,RFX,RFX,0x159A1dFAe19057de57dFfFcbB3DA1aE784678965,8 +534,WSB-9f0f,WSB,WSB,0x15F20f9DFDf96CCf6AC96653b7C0aBfe4A9C9f0f,18 +535,CHEDDA-837D,CHEDDA,CHEDDA,0x16756EC1DEb89A2106C35E0B586a799D0A61837D,18 +536,MESSI-4772,MESSI,MESSI,0xE08eF9206a8a7C9337cC6611b4f5226Fdafc4772,9 +537,SAN-f098,SAN,SAN,0x7C5A0CE9267ED19B22F8cae653F198e3E8daf098,18 +538,WIS-dcF5,WIS,WIS,0xDecade1c6Bf2cD9fb89aFad73e4a519C867adcF5,18 +539,RPG-C103,RPG,RPG,0x1f16D41f9B3dB03b462BDD6c92245ee708D1C103,18 +540,POOPE-32Cf,POOPE,POOPE,0x2dd7144B701bd66bc12eC17F1afAad409F0e32Cf,18 +541,MONK-052d,MONK,MONK,0x1028083026fE1e8e1e79170cEaE0EDBad07B052d,18 +542,ACQ-5581,ACQ,ACQ,0x4BDCb66B968060D9390C1D12bd29734496205581,18 +543,NOBI-e5A4,NOBI,NOBI,0xC5253C32BB72921b77ae18CF329dAd5e6C3de5A4,18 +544,DST-9095,DST,DST,0xe3A46b2Bc1d83C731D58cAb765D3b45bCe789095,18 +545,TRENDAI-d47D,TRENDAI,TRENDAI,0x6fc73113fC1aFaB4C28d3DD4c537A1DA6045d47D,18 +546,NFTL-9638,NFTL,NFTL,0x3c8D2FCE49906e11e71cB16Fa0fFeB2B16C29638,18 +547,SPO-CC4E,SPO,SPO,0xcbE771323587EA16dACB6016e269D7F08A7ACC4E,18 +548,SCCN-A8Bc,SCCN,SCCN,0xdfdDF7a69716124Bc346bA556d4b9f9E74C4A8Bc,18 +549,CAT-A290,CAT,CAT,0x02d7a93829B365b7Ad4c582DAce1493aAC50A290,18 +550,BEER-65f7,BEER,BEER,0x0D58df0929b6bAf8ED231f3Fa672F0e5DcD665f7,9 +551,WOLF-d9A0,WOLF,WOLF,0xf6aFC05fCCEa5A53F22A3e39fFeE861e016Bd9A0,18 +552,RZR-332f,RZR,RZR,0xa3a80559bbC1989654e6b8385f5001Fa1333332f,18 +553,ROCKET-B4Ce,ROCKET,ROCKET,0x8d6482B757f29e7b06440DDEeBCCeed3AF49B4Ce,9 +554,YFI-d93e,YFI,YFI,0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e,18 +555,PAT-8b61,PAT,PAT,0xdd78B3E430361560A70B9CBB7d98d961f0428b61,18 +556,CVT-f772,CVT,CVT,0xBe428c3867F05deA2A89Fc76a102b544eaC7f772,18 +557,ARX-A2B1,ARX,ARX,0x7d8DafF6d70CEAd12c6f077048552Cf89130A2B1,18 +558,YUKKY-BF44,YUKKY,YUKKY,0x37F678aD6221a0FD71CDa0eCa19C8802F4CABF44,18 +559,PEPE-1933,PEPE,PEPE,0x6982508145454Ce325dDbE47a25d4ec3d2311933,18 +560,CARR-655B,CARR,CARR,0x884DDBb5DC6c2cEf77d3E74c6CcCa315797d655B,18 +561,ROULETTEBO-A4a8,ROULETTEBO,ROULETTEBO,0x0c29fF5e5f27ed032eAB2A97aa489E9c6dA5A4a8,18 +562,USDEBT-6CB6,USDEBT,USDEBT,0x00c5CA160A968f47e7272A0CFCda36428F386CB6,18 +563,O-c40f,O,O,0xb53ecF1345caBeE6eA1a65100Ebb153cEbcac40f,18 +564,WBOT-f82B,WBOT,WBOT,0xf9c5CE0C5FA29B487B7329bb92d8e473C386f82B,9 +565,TMED-aB4C,TMED,TMED,0xd32641191578Ea9b208125dDD4EC5E7B84FcaB4C,18 +566,X7104-C105,X7104,X7104,0x7104D1f179Cc9cc7fb5c79Be6Da846E3FBC4C105,18 +567,THE-2861,THE,THE,0x0cbA60Ca5eF4D42f92A5070A8fEDD13BE93E2861,18 +568,D2D-02ad,D2D,D2D,0x43D4A3cd90ddD2F8f4f693170C9c8098163502ad,18 +569,TREAT-146b,TREAT,TREAT,0xFbD5fD3f85e9f4c5E8B40EEC9F8B8ab1cAAa146b,18 +570,RAP-13E9,RAP,RAP,0xB1e4A5f70090947e6Ad3fa2Dc648cBa7B6F913E9,18 +571,ORBN-15F6,ORBN,ORBN,0xA7fBd9254f10F8e20a31a593C9E8BC0D041e15F6,9 +572,1EARTH-0084,1EARTH,1EARTH,0x9e04F519b094F5F8210441e285f603f4d2b50084,18 +573,FINE-c1BA,FINE,FINE,0x75C97384cA209f915381755c582EC0E2cE88c1BA,18 +574,API-3908,API,API,0xfd4168e642EbD04C3684A6cDb3A5E86DE85d3908,18 +575,AAAVE-AD7B,AAAVE,AAAVE,0xFFC97d72E13E01096502Cb8Eb52dEe56f74DAD7B,18 +576,LETSGO-BB95,LETSGO,LETSGO,0xA6586E19EF681b1AC0ED3D46413D199a555dBB95,18 +577,FOUR-F4D0,FOUR,FOUR,0x4730fB1463A6F1F44AEB45F6c5c422427f37F4D0,18 +578,XAV-2202,XAV,XAV,0x40370aEd88933021e20CF7C4D67E00417CdA2202,18 +579,CVNT-09ce,CVNT,CVNT,0x6400B5522f8D448C0803e6245436DD1c81dF09ce,8 +580,RAVEN-70fa,RAVEN,RAVEN,0x43aF0944b34ad466DceA7FC8f77AAfc6a4Ec70fa,18 +581,DUCKS-f78B,DUCKS,DUCKS,0x8666Cb197Af5103f7A3a0295B50EFEA47f3Df78B,18 +582,ZOO-D4f9,ZOO,ZOO,0x0c08638473CAfbCa3beb113616A1871F4bfaD4f9,18 +583,OLAS-5CB0,OLAS,OLAS,0x0001A500A6B18995B03f44bb040A5fFc28E45CB0,18 +584,MORE-85D0,MORE,MORE,0xbEEf3bB9dA340EbdF0f5bae2E85368140d7D85D0,18 +585,CALI-3B9B,CALI,CALI,0xB8fA12f8409DA31A4fc43D15c4c78C33d8213B9B,18 +586,VPAD-4EDc,VPAD,VPAD,0x51FE2E572e97BFEB1D719809d743Ec2675924EDc,18 +587,TEMCO-ee5d,TEMCO,TEMCO,0x2Fc246aA66F0da5bB1368F688548ecBBE9bdee5d,18 +588,ELEC-02b9,ELEC,ELEC,0xD49ff13661451313cA1553fd6954BD1d9b6E02b9,18 +589,FLEXUSD-e6F3,FLEXUSD,FLEXUSD,0xa774FFB4AF6B0A91331C084E1aebAE6Ad535e6F3,18 +590,CYFI-3946,CYFI,CYFI,0x80a2AE356fc9ef4305676f7a3E2Ed04e12C33946,8 +591,PP-CfD0,PP,PP,0x9565c2036963697786705120Fc59310F747bCfD0,18 +592,BIB01-5Fb5,BIB01,BIB01,0xCA30c93B02514f86d5C86a6e375E3A330B435Fb5,18 +593,ADDY-63CF,ADDY,ADDY,0xE15A66b7B8e385CAa6F69FD0d55984B96D7263CF,18 +594,IMX-79fF,IMX,IMX,0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF,18 +595,POP-4670,POP,POP,0x5D858bcd53E085920620549214a8b27CE2f04670,18 +596,SDCRV-abB5,SDCRV,SDCRV,0xD1b5651E55D4CeeD36251c61c50C889B36F6abB5,18 +597,KNG-70FC,KNG,KNG,0x471d113059324321749E097705197a2B44A070FC,18 +598,DAO-09Ad,DAO,DAO,0x0f51bb10119727a7e5eA3538074fb341F56B09Ad,18 +599,TON-520a,TON,TON,0x6a6c2adA3Ce053561C2FbC3eE211F23d9b8C520a,18 +600,GHT-8f23,GHT,GHT,0xbe30F684d62C9F7883a75A29c162c332c0d98f23,18 +601,ARW-34E4,ARW,ARW,0x351cAa9045D65107b9d311D922D15887cfd634E4,18 +602,RUG-62f5,RUG,RUG,0xDD782657af86492771BdB369CaEB8c246bE362f5,12 +603,VST-472C,VST,VST,0xb7C2fcD6d7922eddd2A7A9B0524074A60D5b472C,18 +604,TRG-4928,TRG,TRG,0x93eEB426782BD88fCD4B48D7b0368CF061044928,18 +605,CBANK-f086,CBANK,CBANK,0xA5E412ba6FcA1e07b15dEFcaA4236Ff7B5A7f086,18 +606,TOTOFO-9B0C,TOTOFO,TOTOFO,0x0ADCfDFe9E88D28cC4C1dAaC9CC021067aFF9B0C,18 +607,SWPR-0957,SWPR,SWPR,0x6cAcDB97e3fC8136805a9E7c342d866ab77D0957,18 +608,VEMP-6eEC,VEMP,VEMP,0xcFEB09C3c5F0f78aD72166D55f9e6E9A60e96eEC,18 +609,IDLEDAISAFE-6A16,IDLEDAISAFE,IDLEDAISAFE,0xa14eA0E11121e6E951E87c66AFe460A00BCD6A16,18 +610,AAA-F6A0,AAA,AAA,0x8C6bf16C273636523C29Db7DB04396143770F6A0,18 +611,PELO-046F,PELO,PELO,0xb5cE43fE2fcFfFfb2EeCE95EC413d08Def28046F,18 +612,EGGS-82e0,EGGS,EGGS,0x2e516BA5Bf3b7eE47fb99B09eaDb60BDE80a82e0,18 +613,DPS-B9eB,DPS,DPS,0xB7B1570e26315BAAD369b8EA0a943b7F140DB9eB,9 +614,DGTV-966D,DGTV,DGTV,0xFEb6d5238Ed8F1d59DCaB2db381AA948e625966D,18 +615,EDLC-dA4A,EDLC,EDLC,0xC47ef9B19c3e29317a50F5fBE594EbA361dadA4A,6 +616,HANDZ-D087,HANDZ,HANDZ,0x9baa12A9E3B9dC355f162082762f95626367D087,18 +617,BIOS-43C8,BIOS,BIOS,0xAACa86B876ca011844b5798ECA7a67591A9743C8,18 +618,YVDAI-0c95,YVDAI,YVDAI,0xdA816459F1AB5631232FE5e97a05BBBb94970c95,18 +619,KABOSU-5cF0,KABOSU,KABOSU,0xBADFf0eF41D2A68F22De21EAbca8A59Aaf495cF0,18 +620,SHIB-4Ba8,SHIB,SHIB,0xfcaF0e4498E78d65526a507360F755178b804Ba8,18 +621,SOON-E229,SOON,SOON,0x574D22E2555cAc0ce71e44778f6De2e7487aE229,18 +622,FDAI-530b,FDAI,FDAI,0xe2bA8693cE7474900A045757fe0efCa900F6530b,8 +623,COMP-6888,COMP,COMP,0xc00e94Cb662C3520282E6f5717214004A7f26888,18 +624,HIT-6EeD,HIT,HIT,0x74b1Af114274335598da72f5C6ed7b954a016EeD,18 +625,ZETH-7b2b,ZETH,ZETH,0xe47f1CD2A37c6FE69e3501AE45ECA263c5A87b2b,18 +626,ACOIN-631c,ACOIN,ACOIN,0xB62D46A21fef0fADb5b92fC5eF7077E71e65631c,18 +627,KNTO-B1C8,KNTO,KNTO,0xc740181345c65552333e1EDC797E03f11852B1C8,18 +628,HDG-4f63,HDG,HDG,0x9A3bBC0ee2D6300BcA88c4ff820e2987d62b4f63,18 +629,CHOP-43Ae,CHOP,CHOP,0x875154c31b8858fDdA9c7Ccbed7EC15dC95943Ae,8 +630,UGT-0063,UGT,UGT,0x9cf98Eb8A8B28c83E8612046cf55701Ce3Eb0063,18 +631,FETCH-c66b,FETCH,FETCH,0xcC779bbBD17b2E68ECdCCaeA3d8C791B1573c66b,18 +632,THING-89C8,THING,THING,0xFfD822149fA6749176C7a1424e71a417F26189C8,18 +633,MINT-a059,MINT,MINT,0x0CDF9acd87E940837ff21BB40c9fd55F68bba059,18 +634,SKY-B0d4,SKY,SKY,0x090FC4D5436D98E13473c4d6109De6A18BCfB0d4,18 +635,CAPP-9D73,CAPP,CAPP,0x11613b1f840bb5A40F8866d857e24DA126B79D73,2 +636,BTBS-4356,BTBS,BTBS,0x32E6C34Cd57087aBBD59B5A4AECC4cB495924356,18 +637,DORA-38B2,DORA,DORA,0x70b790d0948a760e80bc3f892b142F7779b538B2,18 +638,EDG-e39c,EDG,EDG,0x08711D3B02C8758F2FB3ab4e80228418a7F8e39c,0 +639,PAYT-e2E2,PAYT,PAYT,0x8EF47555856f6Ce2E0cd7C36AeF4FAb317d2e2E2,18 +640,QANX-3AAA,QANX,QANX,0xAAA9214F675316182Eaa21C85f0Ca99160CC3AAA,18 +641,CRBN-24EE,CRBN,CRBN,0xCdeee767beD58c5325f68500115d4B722b3724EE,18 +642,SKEY-D442,SKEY,SKEY,0x06A01a4d579479Dd5D884EBf61A31727A3d8D442,8 +643,BPEG-d75F,BPEG,BPEG,0x02AD335DD3ca11c18cEBBbB583b9613b6289d75F,18 +644,RCG-3c30,RCG,RCG,0xe74bE071f3b62f6A4aC23cA68E5E2A39797A3c30,18 +645,BGPT-79eA,BGPT,BGPT,0x089729b0786C8803cff972c16e402f3344d079eA,18 +646,FNCT-80e1,FNCT,FNCT,0x8Af78f0c818302164F73B2365fE152C2D1FE80e1,18 +647,MOVE-324C,MOVE,MOVE,0x3FA729B4548beCBAd4EaB6EF18413470e6D5324C,18 +648,LMR-85d1,LMR,LMR,0x4b1D0b9F081468D780Ca1d5d79132b64301085d1,8 +649,OHM-f1D5,OHM,OHM,0x64aa3364F17a4D01c6f1751Fd97C2BD3D7e7f1D5,9 +650,AWO-5415,AWO,AWO,0x68C85B9f78F30A0df5aC5723e4e700037f185415,18 +651,TIP-bD40,TIP,TIP,0x0176b898E92e814c06Cc379E508CEB571F70bD40,18 +652,MIXCOIN-1412,MIXCOIN,MIXCOIN,0xB3A58Eb551b5F80EC70B7f69aB7B664453271412,18 +653,WMOXY-4c0e,WMOXY,WMOXY,0x695AfdB42EDFf97AF470a15920a66dF81a234c0e,18 +654,OLEA-C5f1,OLEA,OLEA,0xc6Cc3d07C705E39D11c7f60d8836C7C78D4aC5f1,18 +655,MSOT-05F3,MSOT,MSOT,0xe5eF42D0E5E4Aa6B36c613d00Db8dad303d505F3,18 +656,XMX-209c,XMX,XMX,0x0f8c45B896784A1E408526B9300519ef8660209c,8 +657,VOW-46Fb,VOW,VOW,0x1BBf25e71EC48B84d773809B4bA55B6F4bE946Fb,18 +658,FATP-3F1f,FATP,FATP,0x877DD180F71369d9bD70e658bABA110A55EE3F1f,18 +659,XOLO-B252,XOLO,XOLO,0x3252d4221f92b7Af3774Da8312F01600eC84B252,18 +660,DVDOGE-37aa,DVDOGE,DVDOGE,0x027BF54126482b66b0F26A680f03029DB3DE37aa,18 +661,CT-Be73,CT,CT,0xbe82BbD9C47e05f1fAc183B106a768717588Be73,18 +662,BMAX-2d53,BMAX,BMAX,0x116c4B65e14449947bC6fa1bbe844CB16A162d53,18 +663,BLOCK-c8aA,BLOCK,BLOCK,0x226d6d842D49b4D757bEf1632053a198D5D9c8aA,18 +664,KOY-56F8,KOY,KOY,0x198065e69A86cb8a9154B333AAD8eFE7A3c256F8,18 +665,BB-3C9F,BB,BB,0x562e12e1E792643d168C1fa01c1b7198a0f83C9F,18 +666,KOMPETE-46E9,KOMPETE,KOMPETE,0x1E0b2992079B620AA13A7c2E7c88D2e1E18E46E9,10 +667,TRISM-3763,TRISM,TRISM,0x56b4F8C39E07D4d5D91692acf9d0F6d4d3493763,18 +668,DGTX-eC09,DGTX,DGTX,0xc666081073E8DfF8D3d1c2292A29aE1A2153eC09,18 +669,4CHAN-7885,4CHAN,4CHAN,0xe0A458BF4AcF353cB45e211281A334BB1d837885,9 +670,SXS-DAFf,SXS,SXS,0x259cE0cb3581995d40CBb03fd4BaDeaABA1EDAFf,18 +671,AIN-0385,AIN,AIN,0x3A810ff7211b40c4fA76205a14efe161615d0385,18 +672,AETH-8c04,AETH,AETH,0x3a3A65aAb0dd2A17E3F1947bA16138cd37d08c04,18 +673,FEN-993a,FEN,FEN,0x995a6C0944322b7285D0712824acf0Cf9BF3993a,18 +674,LAIKA-EC0b,LAIKA,LAIKA,0x77f9CF0bd8C500CfFdF420e72343893aeCC2EC0b,18 +675,ANG-76fa,ANG,ANG,0x130914E1B240a7F4c5D460B7d3a2Fd3846b576fa,18 +676,WAGMI-6199,WAGMI,WAGMI,0xEf8E456967122Db4c3C160314bDE8d2602Ad6199,9 +677,-2084,,,0xD22a61e8503Bea5842e5e0126ca9fFC4dd492084,18 +678,PRTN-dcA0,PRTN,PRTN,0x6D10E0194400A04600881057787Eb9E9c063dcA0,18 +679,CNW-3ebA,CNW,CNW,0x433FCe7dfbEc729A79999EAf056Cb073B2153ebA,6 +680,LKR-CDcf,LKR,LKR,0x80CE3027a70e0A928d9268994e9B85d03Bd4CDcf,18 +681,CHEQ-4de7,CHEQ,CHEQ,0x70EDF1c215D0ce69E7F16FD4E6276ba0d99d4de7,9 +682,RAE-8756,RAE,RAE,0xE5a3229CCb22b6484594973A03a3851dCd948756,18 +683,IQN-Ab31,IQN,IQN,0x0DB8D8b76BC361bAcbB72E2C491E06085A97Ab31,18 +684,CRTS-dD37,CRTS,CRTS,0x678e840C640F619E17848045D23072844224dD37,18 +685,HUB-fB45,HUB,HUB,0x8e9A29e7Ed21DB7c5B2E1cd75e676dA0236dfB45,18 +686,MCD-8D5b,MCD,MCD,0xc66cDac744916AFb6811C71c277d88dE90cE8D5b,18 +687,VLT-4d11,VLT,VLT,0x6b785a0322126826d8226d77e173d75DAfb84d11,18 +688,TRU-276c,TRU,TRU,0xf65B5C5104c4faFD4b709d9D60a185eAE063276c,18 +689,RISITA-E8c3,RISITA,RISITA,0xe6F47303032a09c8C0F8EBb713c00e6eD345E8c3,18 +690,GTCETH-065e,GTCETH,GTCETH,0x36c833Eed0D376f75D1ff9dFDeE260191336065e,18 +691,MUTE-400c,MUTE,MUTE,0xA49d7499271aE71cd8aB9Ac515e6694C755d400c,18 +692,OMC-335B,OMC,OMC,0xd6bD97a26232bA02172Ff86b055d5D7bE789335B,18 +693,ABAT-9CF1,ABAT,ABAT,0x05Ec93c0365baAeAbF7AefFb0972ea7ECdD39CF1,18 +694,HOSHI-9ED6,HOSHI,HOSHI,0x5362Ca75aa3c0E714bc628296640C43dc5cb9ED6,9 +695,AUTH-bD80,AUTH,AUTH,0x0107C4aAa31940eF88760aCb1F32424CA8d8bD80,8 +696,LOL-5171,LOL,LOL,0x5978708d6ccE1CC9640Eed47422D64c91BbD5171,18 +697,OGN-Ae26,OGN,OGN,0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26,18 +698,OJA-291A,OJA,OJA,0x0aA7eFE4945Db24d95cA6E117BBa65Ed326e291A,18 +699,UDAI-2376,UDAI,UDAI,0x4aD0b81f92B16624BBcF46FC0030cFBBf8d02376,18 +700,RICK-A206,RICK,RICK,0x75430D0782A443bD4f1c92C69009599dEA53A206,9 +701,LEMO-71D1,LEMO,LEMO,0x60C24407d01782C2175D32fe7C8921ed732371D1,18 +702,PIXIA-A31b,PIXIA,PIXIA,0x833D94797cBeA8279a689572b01f310fF5FFA31b,18 +703,USDGLO-5AD3,USDGLO,USDGLO,0x4F604735c1cF31399C6E711D5962b2B3E0225AD3,18 +704,GSHIBA-af97,GSHIBA,GSHIBA,0xb892249939AdBf6D7851864CA9A5c7D2d537af97,18 +705,HAO-00a8,HAO,HAO,0x3C4008eca800Ec1283E4cf500E68D06BFaBc00a8,18 +706,MATH-bCeB,MATH,MATH,0xE89751b31CD4E2EB7006Ce168857F72c8e37bCeB,18 +707,KNDA-a4Ea,KNDA,KNDA,0xb40c535c8899f95E3b722df2f0619ebD28c4a4Ea,18 +708,MDS-3dbE,MDS,MDS,0x66186008C1050627F979d464eABb258860563dbE,18 +709,PEPEGPT-eBd0,PEPEGPT,PEPEGPT,0x636d585F40A7a445dA7403FCf92E03F89dc3eBd0,18 +710,EPEP-D79b,EPEP,EPEP,0x97e3C21f27182498382f81e32fbe0ea3A0e3D79b,9 +711,PEPE-5bd6,PEPE,PEPE,0xbe042e9d09CB588331Ff911c2B46FD833A3E5bd6,18 +712,FRONT-793f,FRONT,FRONT,0xf8C3527CC04340b208C854E985240c02F7B7793f,18 +713,SHIA-FB59,SHIA,SHIA,0x43D7E65B8fF49698D9550a7F315c87E67344FB59,18 +714,JOY-1FB5,JOY,JOY,0x4E114d405b9Ba2F59524941733e505Ae03Fb1FB5,18 +715,NEWS-5b98,NEWS,NEWS,0xc39a048353842CAf1B94ce5967A04149Bb435b98,9 +716,CTSI-6B5D,CTSI,CTSI,0x491604c0FDF08347Dd1fa4Ee062a822A5DD06B5D,18 +717,GNTO-D9cB,GNTO,GNTO,0x7b3296198F8A548Edf89BDB16864Da8F37b7D9cB,18 +718,XLS-f4F8,XLS,XLS,0x6c862f803fF42A97D4A483AB761256ad8c90f4F8,18 +719,NOVA-1a3d,NOVA,NOVA,0xD0b3A986FfF305854a7238A8e099Cce1ced01a3d,18 +720,TFBX-6a16,TFBX,TFBX,0x4057Db5bD9f67A566aA10E5587b1a964afFc6a16,18 +721,WBT-4F59,WBT,WBT,0x925206b8a707096Ed26ae47C84747fE0bb734F59,8 +722,BUSINESS-5484,BUSINESS,BUSINESS,0x8A4584F0Eefda8A9B459264dC7A0D62BBA9b5484,18 +723,YFX-DE2f,YFX,YFX,0xF55a93b613D172b86c2Ba3981a849DaE2aeCDE2f,18 +724,ULX-636F,ULX,ULX,0x5Aa158404fEd6b4730C13F49d3a7F820e14A636F,18 +725,MEG-630a,MEG,MEG,0x0eDe75B5f548E0D37F494368F4FA4982b6d0630a,18 +726,AC-6183,AC,AC,0x9A0aBA393aac4dFbFf4333B06c407458002C6183,18 +727,NET-2003,NET,NET,0x91368eeF9aB8Bdc727e4506897656aBb87282003,9 +728,DELTA-20EF,DELTA,DELTA,0x9EA3b5b4EC044b70375236A281986106457b20EF,18 +729,IDLETUSDYIELD-D68c,IDLETUSDYIELD,IDLETUSDYIELD,0xc278041fDD8249FE4c1Aad1193876857EEa3D68c,18 +730,FUZE-AD85,FUZE,FUZE,0x187D1018E8ef879BE4194d6eD7590987463eAD85,18 +731,BTZ-7FeE,BTZ,BTZ,0x5fBc3cb8B428cC00A04808870295D39962CC7FeE,18 +732,KLTR-74a6,KLTR,KLTR,0xa92c49C403386111C1629AEe00936eED2A9E74a6,18 +733,MEVFREE-498a,MEVFREE,MEVFREE,0x1936C91190E901B7dD55229A574AE22B58Ff498a,18 +734,ABL-79EA,ABL,ABL,0xf8b358b3397a8ea5464f8cc753645d42e14b79EA,18 +735,KONO-7Df4,KONO,KONO,0x850aAB69f0e0171A9a49dB8BE3E71351c8247Df4,18 +736,SENC-2bc3,SENC,SENC,0xA13f0743951B4f6E3e3AA039f682E17279f52bc3,18 +737,FREQAI-f486,FREQAI,FREQAI,0xB685145D7F127b9093d7f9278BaE902EF59Ff486,18 +738,IDAI-9061,IDAI,IDAI,0x40a9d39aa50871Df092538c5999b107f34409061,18 +739,AAMMUNIAAVEWETH-1E55,AAMMUNIAAVEWETH,AAMMUNIAAVEWETH,0xe59d2FF6995a926A574390824a657eEd36801E55,18 +740,POOLZ-4e23,POOLZ,POOLZ,0x69A95185ee2a045CDC4bCd1b1Df10710395e4e23,18 +741,MERC-5B35,MERC,MERC,0xa203eB78Fee91c8459C6d4eF3a899d8724Ee5B35,18 +742,WRLD-45E9,WRLD,WRLD,0xD5d86FC8d5C0Ea1aC1Ac5Dfab6E529c9967a45E9,18 +743,FLASH-12A7,FLASH,FLASH,0xBb19DA2482308ec02a242ACED4Fe0f09D06b12A7,18 +744,BAC-A69a,BAC,BAC,0x3449FC1Cd036255BA1EB19d65fF4BA2b8903A69a,18 +745,POLK-cfbF,POLK,POLK,0xD478161C952357F05f0292B56012Cd8457F1cfbF,18 +746,MTU-c629,MTU,MTU,0x822f1A51E534723ec1305E6EB5C96AEcfeb4c629,18 +747,TORA-7670,TORA,TORA,0x7a3f7F6675514D4d611b442A4B76752f6AB77670,18 +748,DOUGH-7b2D,DOUGH,DOUGH,0xad32A8e6220741182940c5aBF610bDE99E737b2D,18 +749,IOTX-4d69,IOTX,IOTX,0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69,18 +750,DLANCE-0A7A,DLANCE,DLANCE,0x7D60dE2E7D92Cb5C863bC82f8d59b37C59fC0A7A,18 +751,PSL-CC29,PSL,PSL,0xC775C0C30840Cb9F51e21061B054ebf1A00aCC29,5 +752,YVHEGIC-e84D,YVHEGIC,YVHEGIC,0xe11ba472F74869176652C35D30dB89854b5ae84D,18 +753,STABLZ-F7cd,STABLZ,STABLZ,0xA4Eb9C64eC359D093eAc7B65F51Ef933D6e5F7cd,18 +754,POE-B195,POE,POE,0x0e0989b1f9B8A38983c2BA8053269Ca62Ec9B195,8 +755,MFT-7428,MFT,MFT,0xDF2C7238198Ad8B389666574f2d8bc411A4b7428,18 +756,GTCOIN-9516,GTCOIN,GTCOIN,0x5d5E244660cA05C42073c9a526616d99f2c99516,18 +757,KOK-acAa,KOK,KOK,0x9B9647431632AF44be02ddd22477Ed94d14AacAa,18 +758,MECHA-9Ef5,MECHA,MECHA,0xC5bcc8BA3F33Ab0d64f3473e861BDC0685b19Ef5,18 +759,PMW-A88C,PMW,PMW,0x47b751e318Fe7E9769F4b56fABBffB05D530A88C,18 +760,GOLD1-E5B0,GOLD1,GOLD1,0x0Ec72CD6690db40B16be166858299F19D4f8E5B0,9 +761,SYN-9F29,SYN,SYN,0x0f2D719407FdBeFF09D87557AbB7232601FD9F29,18 +762,RAEL-9DC1,RAEL,RAEL,0x428487AD75dc9197CCcB496629Ab516974329DC1,18 +763,MAV-6aBD,MAV,MAV,0x7448c7456a97769F6cD04F1E83A4a23cCdC46aBD,18 +764,BLEYD-94b9,BLEYD,BLEYD,0x59B44e9AC4AB8e29db6Faf7baCd726C6B7bC94b9,9 +765,CVXFPIS-7Df6,CVXFPIS,CVXFPIS,0xa2847348b58CEd0cA58d23c7e9106A49f1427Df6,18 +766,LIFE-079C,LIFE,LIFE,0x8640353CDc9778DEaB0dF45D12FB3013dEAC079C,18 +767,DMT-AE6c,DMT,DMT,0x79126d32a86e6663F3aAac4527732d0701c1AE6c,18 +768,BUBU-7712,BUBU,BUBU,0x5395df198fCbC9C13bEC506004C9A8B6460A7712,18 +769,MDA-15bd,MDA,MDA,0x51DB5Ad35C671a87207d88fC11d593AC0C8415bd,18 +770,XLRT-8651,XLRT,XLRT,0x8a3C710E41cD95799C535f22DBaE371D7C858651,18 +771,EYE-0357,EYE,EYE,0x92d529163c5e880b9De86f01De0cB8924D790357,18 +772,EWC-AFF7,EWC,EWC,0xcD74Cf66c43e45Abd5703f3642F73d0675D6AFF7,18 +773,HYPE-559d,HYPE,HYPE,0x24D86Df61479982c90D2977F4BA839496895559d,18 +774,IDV-8840,IDV,IDV,0x45448E05020576929fcDEabC228E35b420098840,18 +775,HXA-0396,HXA,HXA,0x15C1Cab705B9Ddb9FfeeEa608eD8BaFcdd4c0396,18 +776,AXIS-7f28,AXIS,AXIS,0xF0c5831EC3Da15f3696B4DAd8B21c7Ce2f007f28,8 +777,SAK-5141,SAK,SAK,0xb269Ab3B20E09e6fd17C3ED5B4CECF3dEA1a5141,18 +778,MARVIN-25B1,MARVIN,MARVIN,0x55a380d134d722006A5CE2d510562e1239D225B1,18 +779,RUN-DC3e,RUN,RUN,0x5f4c148D17Effd165C2e2d46b46d2BD6e3eBDC3e,18 +780,GOLDEN-84ca,GOLDEN,GOLDEN,0xD87996Ff3D06858BFC20989aEF50cc5FCD4d84ca,9 +781,EVY-71CD,EVY,EVY,0xEEd3aE7b0F8b5B9BB8C035A9941382B1822671CD,12 +782,VXON-67b3,VXON,VXON,0x048Aa6E69D5117BD665aF4128383a6982B8367b3,4 +783,HBDC-ec5C,HBDC,HBDC,0x39d30828a163713D91c4EADBBA2C497a9139ec5C,18 +784,HAPPY-3378,HAPPY,HAPPY,0x651e44D0df89055c00513d0efb9E8d1A0C843378,18 +785,FIWT-ce58,FIWT,FIWT,0x62406995CaFd18f57e7375e8E0060725Acebce58,18 +786,EDDA-0aA9,EDDA,EDDA,0xFbbE9b1142C699512545f47937Ee6fae0e4B0aA9,18 +787,SDL-8C23,SDL,SDL,0xA95C5ebB86E0dE73B4fB8c47A45B792CFeA28C23,18 +788,JDC-9FCE,JDC,JDC,0x2fe39f22EAC6d3c1C86DD9D143640EbB94609FCE,18 +789,USD1-1783,USD1,USD1,0xf6c0aA7eBFE9992200C67E5388E4F42da49E1783,2 +790,MTO-324F,MTO,MTO,0xE66b3AA360bB78468c00Bebe163630269DB3324F,18 +791,IWBTC-cdeB,IWBTC,IWBTC,0xEC363faa5c4dd0e51f3D9B5d0101263760E7cdeB,8 +792,HEEL-B366,HEEL,HEEL,0xf941D3AAbf2EE0F5589E68Ba6047b8329592B366,9 +793,SEED-2A3F,SEED,SEED,0x30cF203b48edaA42c3B4918E955fED26Cd012A3F,18 +794,NOTICKER-882e,NOTICKER,NOTICKER,0xfDf7af616091A05b9cD3B5AeDD3E88d4E8cD882e,8 +795,ELON20-799a,ELON20,ELON20,0xEA18DC833653172BbE819fEb5320D9dA9f99799a,18 +796,SHIT-469F,SHIT,SHIT,0x4e4a47cAC6A28A62dcC20990ed2cdA9BC659469F,18 +797,GREG-d67a,GREG,GREG,0x2B9a49417F9c9c8Dd18EF5bb37c20637441Ad67a,9 +798,PETS-82A5,PETS,PETS,0x6afCFF9189e8ed3fCc1CFfa184FEB1276f6A82A5,18 +799,FLUFFY-4c31,FLUFFY,FLUFFY,0xc2a2E9B87b37938D934Fd51CfEC0C5Fd5cB14c31,18 +800,CAFE-e207,CAFE,CAFE,0xdefCafE7eAC90d31BbBA841038DF365DE3c4e207,9 +801,DPRK-Bb8b,DPRK,DPRK,0x5a0FCD6247F37154B6ab433ab72dc2AC7b3EBb8b,8 +802,HRP-12Bf,HRP,HRP,0xbd15Ad921e1B480209AF549874a2fCb80DC312Bf,18 +803,VDR-3CBe,VDR,VDR,0xEd3D4e446A96dC3b181B64B75c3c70dA41dC3CBe,18 +804,ASKO-8603,ASKO,ASKO,0xeEEE2a622330E6d2036691e983DEe87330588603,18 +805,HAKKA-3bcd,HAKKA,HAKKA,0x0E29e5AbbB5FD88e28b2d355774e73BD47dE3bcd,18 +806,PBTC-4908,PBTC,PBTC,0x62199B909FB8B8cf870f97BEf2cE6783493c4908,18 +807,CODE-8f11,CODE,CODE,0xb24cd494faE4C180A89975F1328Eab2a7D5d8f11,18 +808,OKB-a86c,OKB,OKB,0x75231F58b43240C9718Dd58B4967c5114342a86c,18 +809,CTR-90B8,CTR,CTR,0xb3Ad645dB386D7F6D753B2b9C3F4B853DA6890B8,18 +810,ECHO-0bF3,ECHO,ECHO,0x2B46578B7F06F2B373AD0E0c9b28F800dCc80bF3,9 +811,PPBLZ-97b8,PPBLZ,PPBLZ,0x4D2eE5DAe46C86DA2FF521F7657dad98834f97b8,18 +812,STA-35EA,STA,STA,0x06874F973Dc3c96dc22A10eF0D0609F877f335EA,18 +813,ECO-8F7E,ECO,ECO,0x191557728e4d8CAa4Ac94f86af842148c0FA8F7E,8 +814,CLOAK-318d,CLOAK,CLOAK,0xb4622193ca7c7580aC0ECc09C3B7bD74AEf0318d,18 +815,VIS-E863,VIS,VIS,0x469084939d1c20Fae3C73704FE963941C51bE863,18 +816,SAKURA-FeD6,SAKURA,SAKURA,0xb208b1a5664574F72d22E9e9981837310cACFeD6,9 +817,ORME-5c60,ORME,ORME,0xc96DF921009B790dfFcA412375251ed1A2b75c60,8 +818,HIAZUKI-bDA9,HIAZUKI,HIAZUKI,0x4DB26817c88A57D2ef84cFd90168f535Ee83bDA9,18 +819,TX-5Fdf,TX,TX,0x8954D907520532c1f0d89d42569232Fd0f995Fdf,8 +820,GIV-0DA0,GIV,GIV,0x900dB999074d9277c5DA2A43F252D74366230DA0,18 +821,SHFT-2D85,SHFT,SHFT,0xb17C88bDA07D28B3838E0c1dE6a30eAfBCF52D85,18 +822,SPWN-1126,SPWN,SPWN,0xe516D78d784C77D479977BE58905B3f2b1111126,18 +823,BFT-E9D9,BFT,BFT,0xEdBf98724a86F92baEFAc101082C366E96f1E9D9,18 +824,STLINK-3cD5,STLINK,STLINK,0xb8b295df2cd735b15BE5Eb419517Aa626fc43cD5,18 +825,KYOKO-BaC2,KYOKO,KYOKO,0x14a32f050FACF226Ec60882398A9BF36d91DBaC2,18 +826,OPCT-c400,OPCT,OPCT,0xDb05EA0877A2622883941b939f0bb11d1ac7c400,18 +827,PLSCX-d779,PLSCX,PLSCX,0x6cD079F296c10EB84A64239b893D4EdfA2E1d779,18 +828,WOJAK269-8f5d,WOJAK269,WOJAK269,0x8DF60CFC67c1bF51Fe3dD61B34B156F14F538f5d,9 +829,DYOR-0E64,DYOR,DYOR,0x8484E645a054586A6D6AF60c0ee911d7B5180E64,18 +830,DSETH-B3BE,DSETH,DSETH,0x341c05c0E9b33C0E38d64de76516b2Ce970bB3BE,18 +831,MO-9B64,MO,MO,0x4fD5b9B5dcc9a5D5931d007ba4aE573e760d9B64,18 +832,JPYC-7BDB,JPYC,JPYC,0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB,18 +833,EKO-56EE,EKO,EKO,0xa6a840E50bCaa50dA017b91A0D86B8b2d41156EE,18 +834,INVI-0174,INVI,INVI,0x356A5160F2B34BC8d88FB084745465eBBbed0174,13 +835,KDOE-82C5,KDOE,KDOE,0x5f190F9082878cA141F858c1c90B4C59fe2782C5,18 +836,SI-93de,SI,SI,0xD23Ac27148aF6A2f339BD82D0e3CFF380b5093de,18 +837,QWAN-0Faf,QWAN,QWAN,0xEEe0fE52299f2DE8e2eD5111CD521aB67Dcf0Faf,18 +838,IDRT-b48A,IDRT,IDRT,0x998FFE1E43fAcffb941dc337dD0468d52bA5b48A,2 +839,LARRY-6B01,LARRY,LARRY,0xd08623FB2A1f044025EEC65886011CF5D0F06B01,18 +840,IDEX-cfAE,IDEX,IDEX,0xB705268213D593B8FD88d3FDEFF93AFF5CbDcfAE,18 +841,SHIRYO-INU-8F02,SHIRYO-INU,SHIRYO-INU,0x1E2F15302B90EddE696593607b6bD444B64e8F02,9 +842,FIN-bE40,FIN,FIN,0x054f76beED60AB6dBEb23502178C52d6C5dEbE40,18 +843,ASIC-3047,ASIC,ASIC,0x347a96a5BD06D2E15199b032F46fB724d6c73047,12 +844,CDT-B0af,CDT,CDT,0x177d39AC676ED1C67A2b268AD7F1E58826E5B0af,18 +845,KAERI-3306,KAERI,KAERI,0x69Ed89ecd35082E031fE52b75123F801DB083306,9 +846,FNK-48Ad,FNK,FNK,0xB5FE099475d3030DDe498c3BB6F3854F762A48Ad,18 +847,THN-FCD9,THN,THN,0x2E95Cea14dd384429EB3c4331B776c4CFBB6FCD9,18 +848,MR-29Aa,MR,MR,0xa4Cb3ef5f41a4D89D6FCed22ea8a1C57957629Aa,18 +849,FOLO-122a,FOLO,FOLO,0xB2a63A5Dd36C91eC2DA59B188ff047F66fac122a,18 +850,UCM-232C,UCM,UCM,0x722f97A435278B7383a1e3c47F41773bebF3232C,18 +851,APN-5F68,APN,APN,0xeF7c2AB5fAfEA06f8AeE63c866d0BE1846C35F68,18 +852,MGH-3656,MGH,MGH,0x8765b1A0eb57ca49bE7EACD35b24A574D0203656,18 +853,VBIT-07c4,VBIT,VBIT,0xB8366948B4A3F07BcBf14EB1739daA42A26b07c4,18 +854,DTH-c924,DTH,DTH,0x0cf75471B0FbF76A315A75eBDa6600ab92Fdc924,18 +855,SAND-a5d0,SAND,SAND,0x3845badAde8e6dFF049820680d1F14bD3903a5d0,18 +856,ANV-7332,ANV,ANV,0x3D382228C54736d831FAC2748F4734D9177c7332,18 +857,TRV-3657,TRV,TRV,0x72955eCFf76E48F2C8AbCCe11d54e5734D6f3657,18 +858,RAYN-9638,RAYN,RAYN,0x562D8e607bed7Fc183Ca84C0362c853680b99638,18 +859,ETHS-5CB7,ETHS,ETHS,0xA9aD6830180f9C150349f2cECAdd710586E35CB7,18 +860,STF-1cb1,STF,STF,0x1F4cb968b76931C494Ff92ED80CCB169ad641cb1,18 +861,SGT-B4a2,SGT,SGT,0x5b649C07E7Ba0a1C529DEAabEd0b47699919B4a2,8 +862,NIIFI-BCb8,NIIFI,NIIFI,0x852e5427c86A3b46DD25e5FE027bb15f53c4BCb8,15 +863,POKMON-88e8,POKMON,POKMON,0x5Bb441fb23263b59e97e20b37a0534E33b9B88e8,9 +864,FURIE-D24E,FURIE,FURIE,0xDE171d5151668A330eCF5F6e882B98Aff5f3D24E,9 +865,SOFI-01c0,SOFI,SOFI,0xB49fa25978abf9a248b8212Ab4b87277682301c0,18 +866,YARA-6e66,YARA,YARA,0x66a4868F1829Ab78fFD5Aac5Fe68fe508EB96e66,18 +867,WMLX-1AAd,WMLX,WMLX,0x77D0cb0ab54F9E74b9405a5B3f60DA06A78F1AAd,0 +868,MADAI-cAb6,MADAI,MADAI,0x36F8d0D0573ae92326827C4a82Fe4CE4C244cAb6,18 +869,GLDX-4cd6,GLDX,GLDX,0xC631120155621Ee625835ec810B9885cDd764cd6,8 +870,BRRRRR-202e,BRRRRR,BRRRRR,0x91CdAcba4559Ade84daA1A51b6fbd94EC3F1202e,9 +871,IDLEWBTCYIELD-3151,IDLEWBTCYIELD,IDLEWBTCYIELD,0x8C81121B15197fA0eEaEE1DC75533419DcfD3151,18 +872,VEE-f258,VEE,VEE,0x7616113782AaDAB041d7B10d474F8A0c04EFf258,18 +873,UFT-3AB1,UFT,UFT,0x0202Be363B8a4820f3F4DE7FaF5224fF05943AB1,18 +874,ACYC-e147,ACYC,ACYC,0xB56A1f3310578f23120182Fb2e58c087EFE6e147,18 +875,INU-c7cA,INU,INU,0xC76D53F988820fe70E01eCCb0248B312c2f1c7cA,18 +876,CUSDC-7563,CUSDC,CUSDC,0x39AA39c021dfbaE8faC545936693aC917d5E7563,8 +877,NITRO-87B8,NITRO,NITRO,0x0335A7610D817aeCA1bEBbEfbd392ecC2eD587B8,18 +878,CHECKS-47ec,CHECKS,CHECKS,0x049E9f5369358786A1cE6483d668D062cfe547ec,18 +879,REVOAI-00D2,REVOAI,REVOAI,0x8793Fb615Eb92822F482f88B3137B00aad4C00D2,9 +880,WXT-E915,WXT,WXT,0xa02120696c7B8fE16C09C749E4598819b2B0E915,18 +881,HID-9c9D,HID,HID,0xB14eBF566511B9e6002bB286016AB2497B9b9c9D,18 +882,MEL-4892,MEL,MEL,0xed0889F7E1c7C7267407222Be277e1f1Ef4d4892,18 +883,LSHARE-40E8,LSHARE,LSHARE,0xD0f395AA1b49aD410B26f52348aEbCff109940E8,18 +884,CCD-AF15,CCD,CCD,0xd8684Adc4664BC2a0C78dDC8657dc005E804AF15,18 +885,CUT-fF0d,CUT,CUT,0xC5068471FE18Eda3b362231d01ae30bA6A91fF0d,18 +886,INDI-DD29,INDI,INDI,0x3392D8A60B77F8d3eAa4FB58F09d835bD31ADD29,18 +887,SWIPE-9C38,SWIPE,SWIPE,0xacb47686b92fDde6D233EC6445c1f8d4d0d59C38,8 +888,LIGHT-3e07,LIGHT,LIGHT,0xCC0D1b36d88Fd8f5f26fd00e4E769e2Dab4E3e07,18 +889,AGN-1910,AGN,AGN,0xEDc1004886d010751f74ec0Ad223819F9F3b1910,18 +890,TON-def1,TON,TON,0x582d872A1B094FC48F5DE31D3B73F2D9bE47def1,9 +891,VRH-44b2,VRH,VRH,0xeAd482da0793B00bbAe0E34C8cfaE6DAf29a44b2,18 +892,SLICE-16D1,SLICE,SLICE,0x0AeE8703D34DD9aE107386d3eFF22AE75Dd616D1,18 +893,LOOKS-421E,LOOKS,LOOKS,0xf4d2888d29D722226FafA5d9B24F9164c092421E,18 +894,DYNMT-69F7,DYNMT,DYNMT,0x3B7f247f21BF3A07088C2D3423F64233d4B069F7,2 +895,SHIB-C4cE,SHIB,SHIB,0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE,18 +896,ZSC-DC63,ZSC,ZSC,0x7A41e0517a5ecA4FdbC7FbebA4D4c47B9fF6DC63,18 +897,HSF-4487,HSF,HSF,0xbA6B0dbb2bA8dAA8F5D6817946393Aef8D3A4487,18 +898,SOBA-9F55,SOBA,SOBA,0x65032604Dab202aFf9ADf89300CdB4bD0d059F55,18 +899,JPG-249c,JPG,JPG,0x02e7Ac540409D32C90BfB51114003a9E1fF0249c,18 +900,1PECO-1125,1PECO,1PECO,0x7169bA45cF03E0377B464462AACbccdf1f721125,18 +901,ALERT-c1fB,ALERT,ALERT,0xaE377ed00DF9b9663B253bE93035EF1CfECBc1fB,9 +902,KEN-caB5,KEN,KEN,0x2654e753424A9F02df31CfBc6c5af14a87b6caB5,18 +903,GAMMA-e197,GAMMA,GAMMA,0x6BeA7CFEF803D1e3d5f7C0103f7ded065644e197,18 +904,HDOT-67cB,HDOT,HDOT,0x9ffc3bCDe7B68C46a6dC34f0718009925c1867cB,18 +905,OPEN-a916,OPEN,OPEN,0x69e8b9528CABDA89fe846C67675B5D73d463a916,18 +906,HOUSE-a6D0,HOUSE,HOUSE,0xFa4bAa6951B6Ee382e9ff9AF2D523278b99ca6D0,18 +907,TOK-3C30,TOK,TOK,0x4Fb721eF3Bf99e0f2c193847afA296b9257d3C30,8 +908,DATA-aD95,DATA,DATA,0xb551b43AF192965F74e3dfAA476C890B403caD95,9 +909,ASNX-a4DE,ASNX,ASNX,0x328C4c80BC7aCa0834Db37e6600A6c49E12Da4DE,18 +910,FLX-0770,FLX,FLX,0x3Ea8ea4237344C9931214796d9417Af1A1180770,18 +911,JRT-343A,JRT,JRT,0x8A9C67fee641579dEbA04928c4BC45F66e26343A,18 +912,SMTX-419b,SMTX,SMTX,0x102203517ce35AC5Cab9a2cda80DF03f26c7419b,18 +913,ITP-DE31,ITP,ITP,0x2b1D36f5B61AdDAf7DA7ebbd11B35FD8cfb0DE31,18 +914,WOLF-818e,WOLF,WOLF,0x8365332d4bAf69BC24CA2401B90c3853ab9F818e,18 +915,OCAI-1f09,OCAI,OCAI,0x4309E88D1D511F3764Ee0F154cEE98d783B61f09,18 +916,DOWS-c559,DOWS,DOWS,0x661Ab0Ed68000491d98C796146bcF28c20d7c559,18 +917,XGPT-aF64,XGPT,XGPT,0x51FE05eAc152494908ff1EbbD50e116e960BaF64,18 +918,LDN-a158,LDN,LDN,0xb29663Aa4E2e81e425294193616c1B102B70a158,18 +919,HATI-2520,HATI,HATI,0x251457b7c5d85251Ca1aB384361c821330bE2520,18 +920,FUSE-f84d,FUSE,FUSE,0x970B9bB2C0444F5E81e9d0eFb84C8ccdcdcAf84d,18 +921,SNC-0404,SNC,SNC,0xF4134146AF2d511Dd5EA8cDB1C4AC88C57D60404,18 +922,QTF-4260,QTF,QTF,0x0FCbC31c503b4A9eD90E87f8Ff46C318a4a14260,8 +923,BANK-A198,BANK,BANK,0x2d94AA3e47d9D5024503Ca8491fcE9A2fB4DA198,18 +924,XBP-Ae40,XBP,XBP,0x28dee01D53FED0Edf5f6E310BF8Ef9311513Ae40,18 +925,HOGE-7607,HOGE,HOGE,0xfAd45E47083e4607302aa43c65fB3106F1cd7607,9 +926,CRVWSBTC-4301,CRVWSBTC,CRVWSBTC,0x051d7e5609917Bd9b73f04BAc0DED8Dd46a74301,18 +927,MRCH-ea1e,MRCH,MRCH,0xBeD4AB0019ff361d83ddeB74883DAC8a70f5ea1e,18 +928,SENT-556F,SENT,SENT,0x97AbEe33Cd075c58BFdd174e0885e08E8f03556F,18 +929,THEO-eac2,THEO,THEO,0xfAc0403a24229d7e2Edd994D50F5940624CBeac2,9 +930,HIENS3-8262,HIENS3,HIENS3,0xa88842Ae47dbe87116cF7001DDdD1b246fcd8262,18 +931,NTB-352B,NTB,NTB,0xbE393AA534F82c0ffAC31BF06A23e283AcB3352B,18 +932,GOHM-a52f,GOHM,GOHM,0x0ab87046fBb341D058F17CBC4c1133F25a20a52f,18 +933,UOS-5C8c,UOS,UOS,0xD13c7342e1ef687C5ad21b27c2b65D772cAb5C8c,4 +934,QTO-B2b6,QTO,QTO,0xEA01906843Ea8D910658a2c485ffCe7C104AB2b6,18 +935,ZERO-5eCC,ZERO,ZERO,0xB0Ed33f79D89541dfdCb04A8f04Bc2c6be025eCC,18 +936,ETHC-0158,ETHC,ETHC,0x3c37577f1DE12046AEa6975862559a50d8f50158,18 +937,EVILPEPE-686F,EVILPEPE,EVILPEPE,0x7bD44cF5c0566AAB26150A0cd5c3D20C5535686F,18 +938,EDC-6271,EDC,EDC,0x9d5963ba32e877871dfF3e2E697283dc64066271,18 +939,BMDA-a95E,BMDA,BMDA,0x4236f8aaF2B1f3A28420Eb15B8e0ddF63201a95E,18 +940,PSDN-bccf,PSDN,PSDN,0xA5B947687163FE88C3e6af5b17Ae69896F4abccf,18 +941,DIVA-587d,DIVA,DIVA,0xBFAbdE619ed5C4311811cF422562709710DB587d,18 +942,NONE-D8B7,NONE,NONE,0x903ff0ba636E32De1767A4B5eEb55c155763D8B7,18 +943,SPDR-0Fdd,SPDR,SPDR,0xbcD4b7dE6fde81025f74426D43165a5b0D790Fdd,18 +944,YVE-CRVDAO-502A,YVE-CRVDAO,YVE-CRVDAO,0xc5bDdf9843308380375a611c18B50Fb9341f502A,18 +945,CAG-36C3,CAG,CAG,0x7d4b8Cce0591C9044a22ee543533b72E976E36C3,18 +946,XRUNE-e71c,XRUNE,XRUNE,0x69fa0feE221AD11012BAb0FdB45d444D3D2Ce71c,18 +947,MAYP-36A7,MAYP,MAYP,0x7CDA79830Faf07Ed696Fe220566116951CED36A7,18 +948,CIPHER-7812,CIPHER,CIPHER,0x9839675308f4a83e45f4B0C89B8fa264D68B7812,18 +949,SURE-416E,SURE,SURE,0xcb86c6A22CB56B6cf40CaFEDb06BA0DF188a416E,18 +950,CONV-8B50,CONV,CONV,0xc834Fa996fA3BeC7aAD3693af486ae53D8aA8B50,18 +951,LIT-783b,LIT,LIT,0xC5b3D3231001a776123194Cf1290068e8b0C783b,18 +952,NSURE-2114,NSURE,NSURE,0x20945cA1df56D237fD40036d47E866C7DcCD2114,18 +953,BMC-DC0a,BMC,BMC,0xd945d2031b4C63C0E363304FB771F709b502DC0a,18 +954,SMTY-3283,SMTY,SMTY,0xbF776e4FCa664D791C4Ee3A71e2722990E003283,18 +955,AGT-BDBD,AGT,AGT,0x0BF43350076F95e0d16120b4D6bdfA1C9D50BDBD,18 +956,DENT-A258,DENT,DENT,0x3597bfD533a99c9aa083587B074434E61Eb0A258,8 +957,HIMEEBITS-6eE0,HIMEEBITS,HIMEEBITS,0xBBeca80A4c99c3b1BD3C10E64595d0Fc7dC26eE0,18 +958,AGS-0e2A,AGS,AGS,0xdB2F2bCCe3efa95EDA95a233aF45F3e0d4f00e2A,8 +959,KISHIMOTO-1dB5,KISHIMOTO,KISHIMOTO,0xAE36155a55F04a696b8362777620027882B31dB5,9 +960,SPELLFIRE-7C91,SPELLFIRE,SPELLFIRE,0x3A0b022f32b3191D44E5847da12dc0B63fb07C91,18 +961,SNAKEBOT-f1be,SNAKEBOT,SNAKEBOT,0xbCd657377D4086CC582b215294C3611B997ef1be,9 +962,MLP-1152,MLP,MLP,0xE22020F47B7378dfedcedd2C81d4137c22fE1152,18 +963,SX-1452,SX,SX,0x99fE3B1391503A1bC1788051347A1324bff41452,18 +964,DFP2-8E6D,DFP2,DFP2,0x2F57430a6ceDA85a67121757785877b4a71b8E6D,18 +965,CCOMP-E8e4,CCOMP,CCOMP,0x70e36f6BF80a52b3B46b3aF8e106CC0ed743E8e4,8 +966,SCHRODINGE-dC9e,SCHRODINGE,SCHRODINGE,0x64C79C8c59a2Be17c8D651f73E5ee7942eEBdC9e,18 +967,BECOIN-F783,BECOIN,BECOIN,0x8F081Eb884Fd47b79536D28E2DD9d4886773F783,6 +968,POPE-7d33,POPE,POPE,0xA15865D9de09CB96aAa3A9081B3dFC8481f07d33,18 +969,ZKLAB-5198,ZKLAB,ZKLAB,0x8A0C816A52e71A1e9b6719580ebE754709C55198,18 +970,IM-a936,IM,IM,0x0A58153a0CD1cfaea94cE1f7FdC5D7E679eCa936,18 +971,ARMOR-E46a,ARMOR,ARMOR,0x1337DEF16F9B486fAEd0293eb623Dc8395dFE46a,18 +972,NTO-53ae,NTO,NTO,0xB668473944d2E25B6aF6D46917Eb0233DBaC53ae,18 +973,UMOON-C5da,UMOON,UMOON,0x71de2285ec83BB6517D2B3eC8DEb2A6c44D8C5da,18 +974,CRETH2-dB64,CRETH2,CRETH2,0x49D72e3973900A195A155a46441F0C08179FdB64,18 +975,SNTVT-B7F8,SNTVT,SNTVT,0x7865af71cf0b288b4E7F654f4F7851EB46a2B7F8,18 +976,ESGC-B87D,ESGC,ESGC,0xe857734840dc188B4283d5aF14aB8685467aB87D,18 +977,DGEN-738D,DGEN,DGEN,0x45f93404AE1E4f0411a7F42BC6a5Dc395792738D,18 +978,DERP-C4f0,DERP,DERP,0x878fCC2bdccCFf8c56812607b9a58F29b274C4f0,18 +979,DBNB-a8c5,DBNB,DBNB,0x99F618EDcfEDCa1fCC8302e14Daa84802114a8c5,9 +980,THE9-6E08,THE9,THE9,0xEFd113CeA2f656Fe7899A25a06243A6E40406E08,18 +981,KEES-2b7c,KEES,KEES,0xfCC63e6459936216b7b887F6dA5fCD90c0C62b7c,18 +982,IBETH-9c7A,IBETH,IBETH,0x67B66C99D3Eb37Fa76Aa3Ed1ff33E8e39F0b9c7A,18 +983,HIGH-0282,HIGH,HIGH,0x71Ab77b7dbB4fa7e017BC15090b2163221420282,18 +984,STKABPT-fb47,STKABPT,STKABPT,0xa1116930326D21fB917d5A27F1E9943A9595fb47,18 +985,LSD-31FF,LSD,LSD,0xfAC77A24E52B463bA9857d6b758ba41aE20e31FF,18 +986,IETHV-1F90,IETHV,IETHV,0x3A707d56D538e85B783E8CE12B346e7fB6511F90,18 +987,BALPHA-15A6,BALPHA,BALPHA,0x7a5ce6abD131EA6B148a022CB76fc180ae3315A6,18 +988,YVUSDC-C4DE,YVUSDC,YVUSDC,0xa354F35829Ae975e850e23e9615b11Da1B3dC4DE,6 +989,SMT-7173,SMT,SMT,0xB17548c7B510427baAc4e267BEa62e800b247173,18 +990,DAX-1E60,DAX,DAX,0x0B4BdC478791897274652DC15eF5C135cae61E60,18 +991,SMILEY-b644,SMILEY,SMILEY,0x4C6E2c495b974b8d4220E370F23c7e0e1da9b644,9 +992,GOV-0aC6,GOV,GOV,0x274E7Eb07B485CFdE53d02270555213447570aC6,18 +993,UNIX-7aC8,UNIX,UNIX,0xDDD6A0ECc3c6F6C102E5eA3d8Af7B801d1a77aC8,18 +994,DG-dEDE,DG,DG,0x53C8395465A84955c95159814461466053DedEDE,18 +995,ARTEM-ff3a,ARTEM,ARTEM,0x9B83f827928aBdf18cF1F7e67053572b9bceff3a,18 +996,DETF-953d,DETF,DETF,0x5516AC1aaCa7BB2fD5b7bDDE1549Ef1Ea242953d,18 +997,ORT-4b5a,ORT,ORT,0x5c59a5B139B0538CB106D775a022caD98Dd14b5a,18 +998,TOMS-9054,TOMS,TOMS,0xbE9Ab37a414c517b2be2bfA5945665bB07379054,18 +999,CFL365-4fbe,CFL365,CFL365,0xCD6Adc6b8Bd396E2D53cCD7D7257B4De55bE4fbe,18 +1000,BOBO-bE38,BOBO,BOBO,0x5888641e3e6cBeA6D84Ba81EDb217bD691d3bE38,9 +1001,NEPE-C8Ec,NEPE,NEPE,0x0D99482bB2c436B7183e7BD474cd65fA8711C8Ec,18 +1002,SWETH-Ed78,SWETH,SWETH,0xf951E335afb289353dc249e82926178EaC7DEd78,18 +1003,BTC20-7c6d,BTC20,BTC20,0x3FEB4fEA5132695542F8Ede5076Ac43296d17c6d,8 +1004,RTH-8bC8,RTH,RTH,0x3FD8f39A962eFDA04956981C31AB89FAB5FB8bC8,18 +1005,EMON-974a,EMON,EMON,0xd6A5aB46ead26f49b03bBB1F9EB1Ad5c1767974a,18 +1006,TEXAN-88d7,TEXAN,TEXAN,0xcFCFfE432A48dB53F59c301422d2EdD77B2A88d7,18 +1007,NKCLC-5444,NKCLC,NKCLC,0xd1b624f07a4D9B3e3746E33cb58f42dF079b5444,18 +1008,ASW-2a11,ASW,ASW,0x56694577564FdD577a0ABB20FE95C1E2756C2a11,18 +1009,JESUS-ce70,JESUS,JESUS,0xba386A4Ca26B85FD057ab1Ef86e3DC7BdeB5ce70,18 +1010,XEN-6Fb8,XEN,XEN,0x06450dEe7FD2Fb8E39061434BAbCFC05599a6Fb8,18 +1011,TIDAL-33B7,TIDAL,TIDAL,0x29CbD0510EEc0327992CD6006e63F9Fa8E7f33B7,18 +1012,NEXM-A9d5,NEXM,NEXM,0xe831F96A7a1DcE1aa2EB760b1e296c6A74CaA9d5,8 +1013,XB-88cA,XB,XB,0x33E80a92a9Ea73dD02f6e732D1702d58c68388cA,2 +1014,FTI-E4C8,FTI,FTI,0x943ED852DadB5C3938ECdC6883718df8142DE4C8,18 +1015,REL-75ca,REL,REL,0xe45dFC26215312edC131e34Ea9299FBCA53275ca,18 +1016,DARK-F184,DARK,DARK,0x8eFe7Dd5984640537b6596FB28b762f6c000F184,9 +1017,0XENCRYPT-E20c,0XENCRYPT,0XENCRYPT,0x397b102dECcACE4AA8E5bA63EeDb8e65ad83E20c,9 +1018,MMT-797E,MMT,MMT,0x485c665d8eEAcA7987c48057FfD0591e2aAa797E,18 +1019,BURN-736E,BURN,BURN,0x52e7B23E1FabA6d83376725E2CcAD75eFBd8736E,18 +1020,GUY-30C4,GUY,GUY,0x4743a7a193cdF202035e9Bc6830A07f1607630C4,18 +1021,SHIBP-9235,SHIBP,SHIBP,0xC90906d45046059221e908de5Cc8fcfaCA859235,18 +1022,CEJI-0407,CEJI,CEJI,0x189fC141854BFc6146777406d53fbC89F4e70407,18 +1023,SILV-6666,SILV,SILV,0x628aB8b061FEA2AF1239B68eFA5e46135D186666,8 +1024,GETH-74B8,GETH,GETH,0x3802c218221390025BCEABBaD5D8C59F40eB74B8,18 +1025,ONX-1033,ONX,ONX,0xE0aD1806Fd3E7edF6FF52Fdb822432e847411033,18 +1026,FORM-FA2a,FORM,FORM,0x21381e026Ad6d8266244f2A583b35F9E4413FA2a,18 +1027,SWRV-D433,SWRV,SWRV,0xB8BAa0e4287890a5F79863aB62b7F175ceCbD433,18 +1028,PRV-B1B7,PRV,PRV,0xB64fde8f199F073F41c132B9eC7aD5b61De0B1B7,9 +1029,VOLT-9aCa,VOLT,VOLT,0x7f792db54B0e580Cdc755178443f0430Cf799aCa,9 +1030,SFCP-fF16,SFCP,SFCP,0x8b6CdA5CC518c904e8844f445E1A7C7d2DB0fF16,18 +1031,YEET-b758,YEET,YEET,0x429acA1cCd47296483D1281c85B24e842de0b758,18 +1032,PAF-Ba49,PAF,PAF,0x6a969D379700B2E5EA4E684d273d63C1c050Ba49,18 +1033,SATT-7389,SATT,SATT,0xDf49C9f599A0A9049D97CFF34D0C30E468987389,18 +1034,YFO-473D,YFO,YFO,0xAc0C8dA4A4748d8d821A0973d00b157aA78C473D,18 +1035,AOA-5e5a,AOA,AOA,0x9ab165D795019b6d8B3e971DdA91071421305e5a,18 +1036,DNA-572C,DNA,DNA,0xef6344de1fcfC5F48c30234C16c1389e8CdC572C,18 +1037,ISLA-5947,ISLA,ISLA,0x697eF32B4a3F5a4C39dE1cB7563f24CA7BfC5947,18 +1038,LIMEX-0538,LIMEX,LIMEX,0x400b1d8a7dd8C471026B2c8CBe1062b27d120538,8 +1039,FIRE-2D43,FIRE,FIRE,0xF921ae2DAC5fa128DC0F6168Bf153ea0943d2D43,8 +1040,LKN-82AA,LKN,LKN,0x9f549ebFD4974cD4eD4A1550D40394B44A7382AA,18 +1041,ANTIS-c65e,ANTIS,ANTIS,0x0478aA9246Eb94C87FDDB470D53330a8F8B0c65e,18 +1042,BETS-E6e5,BETS,BETS,0x94025780a1aB58868D9B2dBBB775f44b32e8E6e5,18 +1043,VNXAU-a488,VNXAU,VNXAU,0x6d57B2E05F26C26b549231c866bdd39779e4a488,18 +1044,UNION-535C,UNION,UNION,0x5Dfe42eEA70a3e6f93EE54eD9C321aF07A85535C,18 +1045,CBM-4947,CBM,CBM,0x95eFD1Fe6099F65a7ED524DEF487483221094947,18 +1046,ZOO-AF74,ZOO,ZOO,0x09F098B155D561Fc9F7BcCc97038b7e3d20bAF74,18 +1047,CLB-3c84,CLB,CLB,0x0AD896863ce4Cd84f10a9D30D4f509cefFd53c84,18 +1048,ECU-C2e5,ECU,ECU,0x8fc9b6354E839AB1c8B31F4afa53607092B8C2e5,18 +1049,CBT-B289,CBT,CBT,0xfA93660C3f6a848556Bb8E265f994160A1F2B289,18 +1050,MOE-050C,MOE,MOE,0x881145E5a28b6411cB80d0350497217F549B050C,18 +1051,COLLAR-1771,COLLAR,COLLAR,0x9783B81438C24848f85848f8df31845097341771,18 +1052,PYPY-53A9,PYPY,PYPY,0xa60B6c2537078B903e3E965D4e36b7280B0b53A9,9 +1053,APY-6611,APY,APY,0x95a4492F028aa1fd432Ea71146b433E7B4446611,18 +1054,GS-3112,GS,GS,0xe0B9a2C3E9f40CF74B2C7F591B2b0CCa055c3112,18 +1055,QRX-14D8,QRX,QRX,0x6e0daDE58D2d89eBBe7aFc384e3E4f15b70b14D8,18 +1056,YVUSDT-0c65,YVUSDT,YVUSDT,0x3B27F92C0e212C671EA351827EDF93DB27cc0c65,6 +1057,REM-6B6d,REM,REM,0x83984d6142934bb535793A82ADB0a46EF0F66B6d,4 +1058,MAP-28e4,MAP,MAP,0x9E976F211daea0D652912AB99b0Dc21a7fD728e4,18 +1059,TAG-442f,TAG,TAG,0x7797C85b46F548eAcC07C229f6Cd207d6370442f,18 +1060,BEST-Ec6F,BEST,BEST,0x1B073382E63411E3BcfFE90aC1B9A43feFa1Ec6F,8 +1061,TEMPLE-F1b7,TEMPLE,TEMPLE,0x470EBf5f030Ed85Fc1ed4C2d36B9DD02e77CF1b7,18 +1062,ADX-B7c3,ADX,ADX,0xADE00C28244d5CE17D72E40330B1c318cD12B7c3,18 +1063,FONZY-2288,FONZY,FONZY,0xb939DA54f9748440A1B279d42Be1296942732288,18 +1064,RGP-3Ec0,RGP,RGP,0x4AF5ff1A60a6eF6C7c8f9C4E304cD9051fCa3Ec0,18 +1065,MIRL-Dc48,MIRL,MIRL,0x8770b7Dd89E5f759eE3b226e0C45e890f87dDc48,18 +1066,CLV-bf52,CLV,CLV,0x80C62FE4487E1351b47Ba49809EBD60ED085bf52,18 +1067,DEGEN-1Ae6,DEGEN,DEGEN,0xD060e09CbC5de2C474499a0bd5323508f57f1Ae6,18 +1068,CHS-Efb4,CHS,CHS,0xb41380174d0B06181513A5677b60200b93b5Efb4,18 +1069,ASUSD-9240,ASUSD,ASUSD,0x625aE63000f46200499120B906716420bd059240,18 +1070,GALA-7cae,GALA,GALA,0xd1d2Eb1B1e90B638588728b4130137D262C87cae,8 +1071,WBETH-E2e1,WBETH,WBETH,0xa2E3356610840701BDf5611a53974510Ae27E2e1,18 +1072,ASUSD-55EB,ASUSD,ASUSD,0x6C5024Cd4F8A59110119C56f8933403A539555EB,18 +1073,CONTRAX-E861,CONTRAX,CONTRAX,0x7b9432881fFF2a9527cFc2EfB4D33FC0D7F8E861,8 +1074,POG-851b,POG,POG,0x0a693a301215aad39D83A32A5b5279f2D238851b,18 +1075,DONG-6969,DONG,DONG,0x4208Aa4d7A9a10f4f8bb7f6400c1b2161D946969,18 +1076,CBAT-0E4E,CBAT,CBAT,0x6C8c6b02E7b2BE14d4fA6022Dfd6d75921D90E4E,8 +1077,NORMIE-4978,NORMIE,NORMIE,0x772c44b5166647B135BB4836AbC4E06c28E94978,18 +1078,NIOX-1740,NIOX,NIOX,0xc813EA5e3b48BEbeedb796ab42A30C5599b01740,4 +1079,ZTH-59a0,ZTH,ZTH,0x00000000A82B4758df44fcB124e26a9B441E59a0,18 +1080,KXA-Cd89,KXA,KXA,0x2223bF1D7c19EF7C06DAB88938EC7B85952cCd89,18 +1081,XDNA-8AbB,XDNA,XDNA,0x8e57c27761EBBd381b0f9d09Bb92CeB51a358AbB,18 +1082,DBR-D710,DBR,DBR,0xAD038Eb671c44b853887A7E32528FaB35dC5D710,18 +1083,SOCIO-4fBd,SOCIO,SOCIO,0xC6979Ff406F6cD88908009A80fAc0fa7CC1D4fBd,9 +1084,VIRAL-Bb98,VIRAL,VIRAL,0x5D6310984776583f58d29E45340f14AD3E8BBb98,18 +1085,ELS-18d8,ELS,ELS,0xEb575C45004bd7B61C6A8D3446a62a05a6Ce18d8,18 +1086,BARK-ea60,BARK,BARK,0x53340a1EF3a0dDeBA1D94BBd1E2fF55936F0ea60,18 +1087,BYN-c7ca,BYN,BYN,0x4Bb3205bf648B7F59EF90Dee0F1B62F6116Bc7ca,18 +1088,HER-4Df8,HER,HER,0x5C2975269e74Cb3a8514E5b800A1e66C694d4Df8,18 +1089,BRUCE-8977,BRUCE,BRUCE,0x34C8b3fe84410f9B3870549E037FD1EA7b168977,18 +1090,PWRC-4f83,PWRC,PWRC,0x6Aa40D02115090D40Dc33C7C5F3Cf05112fA4f83,18 +1091,BAL-4e3D,BAL,BAL,0xba100000625a3754423978a60c9317c58a424e3D,18 +1092,UERII-Bb5D,UERII,UERII,0xc1ABb8c93be6811aFfC70675b0432926c4BFBb5D,18 +1093,CARE-DE4c,CARE,CARE,0x329cf160F30D21006bCD24b67EAde561E54CDE4c,18 +1094,IFARM-F651,IFARM,IFARM,0x1571eD0bed4D987fe2b498DdBaE7DFA19519F651,18 +1095,CRYPTO-7bab,CRYPTO,CRYPTO,0x586a7cFE21E55ec0E24f0bfB118F77fE4cA87bab,18 +1096,TET-CA0a,TET,TET,0x68A47Fe1CF42eBa4a030a10CD4D6a1031Ca3CA0a,8 +1097,SKULL-9d35,SKULL,SKULL,0xBcc66ed2aB491e9aE7Bf8386541Fb17421Fa9d35,4 +1098,FSNIPE-1FeE,FSNIPE,FSNIPE,0x987041FB536942bBc686ad7DBc7046D277881FeE,18 +1099,MFI-C45a,MFI,MFI,0xEaDC218Ac4cB7895a5A56e6484646b48f841C45a,18 +1100,HAN-511F,HAN,HAN,0x0c90C57aaf95A3A87eadda6ec3974c99D786511F,18 +1101,BZN-35d4,BZN,BZN,0x6524B87960c2d573AE514fd4181777E7842435d4,18 +1102,ADI-484a,ADI,ADI,0x8810C63470d38639954c6B41AaC545848C46484a,18 +1103,DFND-2CaB,DFND,DFND,0xd2adC1C84443Ad06f0017aDCa346Bd9b6fc52CaB,18 +1104,BOB-2134,BOB,BOB,0xDF347911910b6c9A4286bA8E2EE5ea4a39eB2134,18 +1105,DAISY-BE96,DAISY,DAISY,0x40955D77F87123b71b145098358A60573ac7BE96,18 +1106,TRAXX-A249,TRAXX,TRAXX,0xD43Be54C1aedf7Ee4099104f2DaE4eA88B18A249,18 +1107,PUSSY-a1ad,PUSSY,PUSSY,0x9196E18Bc349B1F64Bc08784eaE259525329a1ad,18 +1108,BZR-BA8F,BZR,BZR,0x8d96B4ab6C741a4C8679AE323a100d74f085BA8F,18 +1109,ASDCRV-9922,ASDCRV,ASDCRV,0x43E54C2E7b3e294De3A155785F52AB49d87B9922,18 +1110,RICHARD-4343,RICHARD,RICHARD,0x91BDF1eb4215bc1C6d9a6BD83ecfCeEb17Cd4343,9 +1111,NEWS-49E7,NEWS,NEWS,0x2F8221E82E0D4669AD66eABf02a5bAeD43ea49E7,18 +1112,ZEUM-8190,ZEUM,ZEUM,0x436dA116249044E8B4464F0Cf21Dd93311d88190,18 +1113,SMI-2214,SMI,SMI,0xCd7492db29E2ab436e819b249452EE1bbDf52214,8 +1114,ZKT-3966,ZKT,ZKT,0x76fcA1adb104770B38581B64d55e67fA5A0f3966,9 +1115,AWBTC-50e3,AWBTC,AWBTC,0xFC4B8ED459e00e5400be803A9BB3954234FD50e3,8 +1116,TYP-3fF2,TYP,TYP,0xb46eda6219ba121cE9280388e7afb7dc84be3fF2,0 +1117,AZRX-8C9e,AZRX,AZRX,0xDf7FF54aAcAcbFf42dfe29DD6144A69b629f8C9e,18 +1118,STONKS-e3B9,STONKS,STONKS,0x3d9a4D8ab4F5bd1D5D08Ae3A95e8ED8BB4d7e3B9,18 +1119,RENQ-8CF2,RENQ,RENQ,0xff8C479134A18918059493243943150776cF8CF2,18 +1120,D2T-7A76,D2T,D2T,0x4Dd942bAa75810a3C1E876e79d5cD35E09C97A76,18 +1121,GDT-FFc5,GDT,GDT,0xc67B12049c2D0CF6e476BC64c7F82fc6C63cFFc5,8 +1122,RIFI-5a28,RIFI,RIFI,0xC8EF1460277EA47d179dEc66D1c5f8b7f7aE5a28,18 +1123,KVERSE-7d26,KVERSE,KVERSE,0x0AB39AC604f992aAeC3C36dE337c3CD3917a7d26,18 +1124,DVT-be75,DVT,DVT,0x29FA1fee0F4F0Ab0e36eF7Ab8d7a35439eC6be75,18 +1125,AIBOT-B7B5,AIBOT,AIBOT,0xF1fb4Cf949277Adc3F89C0D6091100789033B7B5,18 +1126,ZERO-9bf8,ZERO,ZERO,0x0eC78ED49C2D27b315D462d43B5BAB94d2C79bf8,18 +1127,FANC-c045,FANC,FANC,0xbB126042235E6bD38B17744cb31a8bF4A206c045,18 +1128,STX-EF45,STX,STX,0x006BeA43Baa3f7A6f765F14f10A1a1b08334EF45,18 +1129,RADA-6d76,RADA,RADA,0x7AA2f174fBC4D0a17B34adFB9b3E1DC029B46d76,18 +1130,MRSPEPE-f33f,MRSPEPE,MRSPEPE,0xAca55D5A5F58e29BD1E00E4B1Bdeda62D2ECf33f,18 +1131,DREAM-7d02,DREAM,DREAM,0xb44377B74Ef1773639B663d0754cB8410A847d02,18 +1132,GRIZZLY-9613,GRIZZLY,GRIZZLY,0xddceA43727558126C00eea772D660dfbe9C39613,9 +1133,KEYS-86ff,KEYS,KEYS,0xe0a189C975e4928222978A74517442239a0b86ff,9 +1134,GRT-44a7,GRT,GRT,0xc944E90C64B2c07662A292be6244BDf05Cda44a7,18 +1135,SCAN-871b,SCAN,SCAN,0x234D51eE02be808A0160b19b689660Fb7BFA871b,9 +1136,DXD-5521,DXD,DXD,0xa1d65E8fB6e87b60FECCBc582F7f97804B725521,18 +1137,CHAD-Ea07,CHAD,CHAD,0xB777eb033557490abb7Fb8F3948000826423Ea07,18 +1138,YIELD-db9B,YIELD,YIELD,0xa8B61CfF52564758A204F841E636265bEBC8db9B,18 +1139,MNB-A366,MNB,MNB,0x42b91f1d05afeA671a2dA3c780eDa2aBf0A2A366,18 +1140,KSC-3280,KSC,KSC,0x990E081A7B7d3Ccba26a2f49746A68CC4fF73280,18 +1141,PEOPLE-6C71,PEOPLE,PEOPLE,0x7A58c0Be72BE218B41C608b7Fe7C5bB630736C71,18 +1142,MEMD-c9b6,MEMD,MEMD,0x7a786DAC1f315C8A0e9962172AD8AE0C04d9c9b6,18 +1143,USDM-508C,USDM,USDM,0x59D9356E565Ab3A36dD77763Fc0d87fEaf85508C,18 +1144,PHX-5F22,PHX,PHX,0xAeC65404DdC3af3C897AD89571d5772C1A695F22,18 +1145,FYP-2C10,FYP,FYP,0x8F0921f30555624143d427b340b1156914882C10,18 +1146,RENA-9b76,RENA,RENA,0x56de8BC61346321D4F2211e3aC3c0A7F00dB9b76,18 +1147,FOUR-91A0,FOUR,FOUR,0x244b797d622D4DEe8b188b03546ACAAbD0Cf91A0,18 +1148,WOICH-E704,WOICH,WOICH,0x915EA4A94B61B138b568169122903Ed707A8E704,18 +1149,BLUE-9807,BLUE,BLUE,0x03475E14DE25908eD484EB99AD38D68cb6399807,9 +1150,MVRS-f8c1,MVRS,MVRS,0xBEDE1F59Fa4412556fEF69f1B9969F2003E3f8c1,18 +1151,SMT-794A,SMT,SMT,0x21f15966E07a10554C364b988e91DaB01D32794A,18 +1152,ZNN-72d3,ZNN,ZNN,0xb2e96a63479C2Edd2FD62b382c89D5CA79f572d3,8 +1153,TSX-9Bfd,TSX,TSX,0x734C90044a0bA31B3F2e640c10dC5d3540499Bfd,18 +1154,CROC-4618,CROC,CROC,0xcaa79Bf8B1d00Bf3D4f6dbEC6221955871C04618,18 +1155,CHESS-e187,CHESS,CHESS,0xe1bA035fE04200dA932378C4509e1fafDd08e187,18 +1156,MASQ-054c,MASQ,MASQ,0x06F3C323f0238c72BF35011071f2b5B7F43A054c,18 +1157,BLUI-f89a,BLUI,BLUI,0xe0c99ED6950ccb38347154aBD06E10eBa5A1f89a,18 +1158,UNIBOT-c3C9,UNIBOT,UNIBOT,0xf819d9Cb1c2A819Fd991781A822dE3ca8607c3C9,18 +1159,AXE-c308,AXE,AXE,0x070E984fda37DD942f5c953F6b2375339aDAc308,18 +1160,DOGE20-b988,DOGE20,DOGE20,0xF2ec4a773ef90c58d98ea734c0eBDB538519b988,9 +1161,MOD-1D71,MOD,MOD,0xEA1ea0972fa092dd463f2968F9bB51Cc4c981D71,18 +1162,LITH-4a42,LITH,LITH,0x188E817B02e635D482AE4D81e25DdA98A97C4a42,18 +1163,EUM-10Aa,EUM,EUM,0x6aB4A7d75B0A42B6Bc83E852daB9E121F9C610Aa,18 +1164,ENOCH-D455,ENOCH,ENOCH,0x4db57D585fa82Ca32d25086DDc069d899f08D455,18 +1165,SHARE-C66D,SHARE,SHARE,0x39795344CBCc76cC3Fb94B9D1b15C23c2070C66D,9 +1166,RFD-5Ba1,RFD,RFD,0x955d5c14C8D4944dA1Ea7836bd44D54a8eC35Ba1,18 +1167,KERMIT-919A,KERMIT,KERMIT,0x53250B5DFA8C911547aFeAf18DB025024C8E919A,9 +1168,SHEZMU-E162,SHEZMU,SHEZMU,0x5fE72ed557d8a02FFf49B3B826792c765d5cE162,18 +1169,MCO2-cacD,MCO2,MCO2,0xfC98e825A2264D890F9a1e68ed50E1526abCcacD,18 +1170,ASPC-5623,ASPC,ASPC,0x96eAfff5BedF18566B18fCe71C2323b69C795623,18 +1171,HMR-363A,HMR,HMR,0xB1A30851E3f7d841b231B086479608e17198363A,18 +1172,INEDIBLE-4919,INEDIBLE,INEDIBLE,0x3486b751a36F731A1bEbFf779374baD635864919,18 +1173,STRDY-3890,STRDY,STRDY,0x59276455177429ae2af1cc62B77AE31B34EC3890,18 +1174,EDFI-e73e,EDFI,EDFI,0x76C81E322fe678f9391029d571453FAd9bC9e73e,18 +1175,DEGO-89c8,DEGO,DEGO,0x3Da932456D082CBa208FEB0B096d49b202Bf89c8,18 +1176,CRE8-8D3d,CRE8,CRE8,0xc36b4311B21Fc0c2eAd46f1eA6ce97c9C4D98D3d,18 +1177,VRSW-e53D,VRSW,VRSW,0x99A01A4d6a4D621094983050D9A2F10B2912e53D,18 +1178,AKNC-2EDA,AKNC,AKNC,0x39C6b3e42d6A679d7D776778Fe880BC9487C2EDA,18 +1179,STEALTH-fcBf,STEALTH,STEALTH,0xB18F98822C22492Bd6b77D19cae9367f3D60fcBf,8 +1180,DAMEX-E0c5,DAMEX,DAMEX,0x00E679Ba63B509182c349F5614F0A07cDd0CE0c5,18 +1181,NCAT-8C8f,NCAT,NCAT,0x583CC692aeFE93C57cd55b6cd11D39cF1AA98C8f,18 +1182,RETH-6393,RETH,RETH,0xae78736Cd615f374D3085123A210448E74Fc6393,18 +1183,ETHLINQ-D9A3,ETHLINQ,ETHLINQ,0x486c280024B5428459Ec3360f99183a61D41D9A3,18 +1184,NTRS-77C0,NTRS,NTRS,0xeCcf15A4B5976a1365BAeD5297058B4cA42777C0,18 +1185,VAB-9a04,VAB,VAB,0xe7aE6D0C56CACaf007b7e4d312f9af686a9E9a04,18 +1186,LAND-984D,LAND,LAND,0x0e2ef8AeCB3c01Ad5D596f1B67134e178199984D,18 +1187,EGG-6a0c,EGG,EGG,0x65cCD72c0813CE6f2703593B633202a0F3Ca6a0c,18 +1188,FUEL-ED40,FUEL,FUEL,0xEA38eAa3C86c8F9B751533Ba2E562deb9acDED40,18 +1189,TT-D8F5,TT,TT,0x1E053D89E08c24aA2CE5C5B4206744Dc2D7BD8F5,18 +1190,FRR-2441,FRR,FRR,0xe6602B34D8510B033E000975B3322537c7172441,18 +1191,FLZ-e296,FLZ,FLZ,0x8E964e35A76103Af4C7D7318e1B1a82c682ae296,18 +1192,FRENS-D3C1,FRENS,FRENS,0xD17c18979a45c0f3604331831c409F7bFf64D3C1,18 +1193,GRO-74D7,GRO,GRO,0x3Ec8798B81485A254928B70CDA1cf0A2BB0B74D7,18 +1194,PEPMCITY-417D,PEPMCITY,PEPMCITY,0xcD58D56906318cE6Ad9EF4AE5FB21F61E05c417D,18 +1195,TOON-EF02,TOON,TOON,0xaeE433ADeBe0FBB88dAa47eF0C1A513CaA52EF02,18 +1196,USDY-985C,USDY,USDY,0x96F6eF951840721AdBF46Ac996b59E0235CB985C,18 +1197,ANFD-211b,ANFD,ANFD,0x4F14cDBd815B79E9624121f564f24685c6B1211b,18 +1198,FTN-7064,FTN,FTN,0xaeDf386B755465871fF874E3E37Af5976E247064,18 +1199,FNB-ee74,FNB,FNB,0xE6D2c3cB986db66818c14C7032DB05D1d2A6ee74,8 +1200,CHANCE-0e76,CHANCE,CHANCE,0x69D57d410e72eB21FB83FA3DBf090BA07dbe0e76,18 +1201,CIG-C629,CIG,CIG,0xCB56b52316041A62B6b5D0583DcE4A8AE7a3C629,18 +1202,LBOT-43F7,LBOT,LBOT,0x0ceccD54323B953a5464FDDEfc47171c397043F7,18 +1203,LHC-A3E8,LHC,LHC,0x320d31183100280CcdF69366CD56180Ea442A3E8,8 +1204,FTF-6A73,FTF,FTF,0xa59eA1B2D012619A8b9ce16431894cF0BE516A73,9 +1205,BADGER-E53d,BADGER,BADGER,0x3472A5A71965499acd81997a54BBA8D852C6E53d,18 +1206,SWUSD-A059,SWUSD,SWUSD,0x77C6E4a580c0dCE4E5c7a17d0bc077188a83A059,18 +1207,SUGAR-be27,SUGAR,SUGAR,0xD2cE625515600B7799A5750A853Ec8d2A44Fbe27,9 +1208,CPT-FCA1,CPT,CPT,0x88d50B466BE55222019D71F9E8fAe17f5f45FCA1,8 +1209,WIK-AeB2,WIK,WIK,0xA9049425b938C46ac3E312D4CdaEccb26282AeB2,18 +1210,6969-6969,6969,6969,0x69168908793294D0A9Ea938673e12C36eCaE6969,9 +1211,BRT-56f2,BRT,BRT,0xd578779dbC9252218E12d18D628e3cb27E4a56f2,18 +1212,KAIROS-A000,KAIROS,KAIROS,0x3Be65bd36C1aD28D33Acc1C9dD8338a2706cA000,9 +1213,MASK-3074,MASK,MASK,0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074,18 +1214,SQUID2-1E2C,SQUID2,SQUID2,0x2C056F9402A0627bC0e580365bB12979Fc011E2C,18 +1215,AMAS-4f52,AMAS,AMAS,0x65a8fbA02F641a13Bb7B01d5E1129b0521004f52,18 +1216,ARTI-1D44,ARTI,ARTI,0x3625b55f653F8C7c884aC668696881df43631D44,8 +1217,UNISTAKE-4E5E,UNISTAKE,UNISTAKE,0x9Ed8e7C9604790F7Ec589F99b94361d8AAB64E5E,18 +1218,PMA-336f,PMA,PMA,0x846C66cf71C43f80403B51fE3906B3599D63336f,18 +1219,RDT-fCa3,RDT,RDT,0x4740735AA98Dc8aa232BD049f8F0210458E7fCa3,18 +1220,GAIN-6930,GAIN,GAIN,0x24022539963319B0d6ca92797cfDC7CDf59C6930,9 +1221,PLOT-66Bb,PLOT,PLOT,0x72F020f8f3E8fd9382705723Cd26380f8D0c66Bb,18 +1222,TITR-D102,TITR,TITR,0x857d4d47a707Cb4E409e14Ac63b2e79114aCD102,18 +1223,FRESH-12E3,FRESH,FRESH,0x6F85E53B3C563D82925dC9eE1f37897afDc912E3,9 +1224,DEGEN-8De7,DEGEN,DEGEN,0xBe92B510007bD3eC0AdB3d1FCA338DD631E98De7,18 +1225,LSD-d9fd,LSD,LSD,0x97D4F49eEb0E2c96d5EbAA71AB8418e563ecd9fd,9 +1226,CVNX-C4F3,CVNX,CVNX,0xA1a4E303e9C56962F201C5e834abC1E677A3C4F3,18 +1227,HARAM-202F,HARAM,HARAM,0xc961Da88bB5E8Ee2BA7dfd4c62a875eF80f7202F,9 +1228,SANSHU-344D,SANSHU,SANSHU,0xc73C167E7a4Ba109e4052f70D5466D0C312A344D,9 +1229,SAKE-78b0,SAKE,SAKE,0x066798d9ef0833ccc719076Dab77199eCbd178b0,18 +1230,NIOCTIB-8171,NIOCTIB,NIOCTIB,0x99cf786dad3C68019f9919D153A3F1F949A18171,9 +1231,GOF-801c,GOF,GOF,0x488E0369f9BC5C40C002eA7c1fe4fd01A198801c,18 +1232,ALCA-8F8b,ALCA,ALCA,0xBb556b0eE2CBd89ed95DdEA881477723A3Aa8F8b,18 +1233,ICRETH-93b5,ICRETH,ICRETH,0xcCdAE12162566E3f29fEfA7Bf7F5b24C644493b5,18 +1234,USDZ-1fD0,USDZ,USDZ,0x8baEF8c9568c21B1a2b2fd048F8b4Da835691fD0,18 +1235,WOOO-9261,WOOO,WOOO,0x5A035e3F1551a15230D0cDE3357fB1bf89369261,18 +1236,ANRX-09E0,ANRX,ANRX,0xCae72A7A0Fd9046cf6b165CA54c9e3a3872109E0,18 +1237,TAI-Ccea,TAI,TAI,0xF915110898d9a455Ad2DA51BF49520b41655Ccea,18 +1238,OGV-12D0,OGV,OGV,0x9c354503C38481a7A7a51629142963F98eCC12D0,18 +1239,EPHIAT-b5b0,EPHIAT,EPHIAT,0xE9F721E7419423f11863e83DbD710b5D6127b5b0,18 +1240,CWBTC-DD6a,CWBTC,CWBTC,0xccF4429DB6322D5C611ee964527D42E5d685DD6a,8 +1241,BF-17F5,BF,BF,0x5b71BEE9D961b1B848f8485EEC8d8787f80217F5,18 +1242,ETH2X-FLI-65BD,ETH2X-FLI,ETH2X-FLI,0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD,18 +1243,BIBTA-f9E4,BIBTA,BIBTA,0x52d134c6DB5889FaD3542A09eAf7Aa90C0fdf9E4,18 +1244,THE-e357,THE,THE,0xB4a677B0E363c3815d46326954a4E4d2B1ACe357,18 +1245,BETS-855D,BETS,BETS,0x17B61131183D29782239C831D7E8eF2dC9f2855D,9 +1246,SATA-bEe1,SATA,SATA,0x3ebb4A4e91Ad83BE51F8d596533818b246F4bEe1,18 +1247,AI-C2a1,AI,AI,0x5d259E3FbcAdef1abfeA5582e456Bc7F0aebC2a1,18 +1248,X7103-c105,X7103,X7103,0x7103eBdbF1f89be2d53EFF9B3CF996C9E775c105,18 +1249,FORE-0f4D,FORE,FORE,0xB2ee0aDBe0EF1281025d0676511bB1df14600f4D,18 +1250,EGS-3672,EGS,EGS,0xB009BFaAF85e53F55d8657781Eb69feAaed83672,18 +1251,SIMPSON20-50E7,SIMPSON20,SIMPSON20,0x5510d26C504b21Ef22ca85b7125390bC23cA50E7,9 +1252,PRINTS-cb95,PRINTS,PRINTS,0x4dd28568D05f09b02220b09C2cb307bFd837cb95,18 +1253,D2O-D252,D2O,D2O,0x2FdA8c6783Aa36BeD645baD28a4cDC8769dCD252,18 +1254,MELOS-E647,MELOS,MELOS,0x1afb69DBC9f54d08DAB1bD3436F8Da1af819E647,18 +1255,OMNI-e5A5,OMNI,OMNI,0x3ce1848F4ace979D31f7eD1921Ee0B2689Fce5A5,18 +1256,WBTC-C599,WBTC,WBTC,0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599,8 +1257,UNN-3a9D,UNN,UNN,0x226f7b842E0F0120b7E194D05432b3fd14773a9D,18 +1258,DOGES-CB25,DOGES,DOGES,0xb4FBed161bEbcb37afB1Cb4a6F7cA18b977cCB25,18 +1259,GAI-78BF,GAI,GAI,0x0d8ca4b20b115D4DA5c13DC45Dd582A5de3e78BF,18 +1260,ARGO-0E97,ARGO,ARGO,0x28Cca76f6e8eC81e4550ecd761f899110b060E97,18 +1261,KUKU-3647,KUKU,KUKU,0x27206F5a9AFD0C51dA95F20972885545D3B33647,0 +1262,OHM-a899,OHM,OHM,0x383518188C0C6d7730D91b2c03a03C837814a899,9 +1263,OBT-5E22,OBT,OBT,0x07F9702ce093db82dfdC92c2C6E578d6EA8D5E22,18 +1264,LT-735b,LT,LT,0x9ed1439D328647BDb148c20316eA024c719a735b,18 +1265,SCX-bF21,SCX,SCX,0x1B8568FbB47708E9E9D31Ff303254f748805bF21,18 +1266,HOT-26E2,HOT,HOT,0x6c6EE5e31d828De241282B9606C8e98Ea48526E2,18 +1267,COGE-6806,COGE,COGE,0xC382e04099A435439725BB40647e2B32dC136806,18 +1268,NOA-4458,NOA,NOA,0x0FD3822072ad001aac1c90A09d9506f097F24458,9 +1269,RSR-5d70,RSR,RSR,0x320623b8E4fF03373931769A31Fc52A4E78B5d70,18 +1270,MEOWL-E294,MEOWL,MEOWL,0x1F1F26C966F483997728bEd0F9814938b2B5E294,18 +1271,SOJU-D1e0,SOJU,SOJU,0x5EbFFc53C3b8A71120789a211F9B91C79c78D1e0,18 +1272,WSCRT-68Be,WSCRT,WSCRT,0x2B89bF8ba858cd2FCee1faDa378D5cd6936968Be,6 +1273,MBOT-6957,MBOT,MBOT,0x38CF11283de05cF1823b7804bC75068bd6296957,18 +1274,ATOR-79ce,ATOR,ATOR,0x0F7B3F5a8FeD821c5eb60049538a548dB2D479ce,18 +1275,BST-5d80,BST,BST,0xD4f6f9Ae14399fD5Eb8DFc7725F0094a1A7F5d80,18 +1276,LEXE-6833,LEXE,LEXE,0x53011E93F21EC7A74cdfBB7E6548F1ABCE306833,18 +1277,THUG-8538,THUG,THUG,0xCe9DE5365739B1BEd5C8546867AeE4209FbB8538,18 +1278,HDRN-5e06,HDRN,HDRN,0x3819f64f282bf135d62168C1e513280dAF905e06,9 +1279,BCT-150a,BCT,BCT,0x350D3f0f41b5B21F0e252fe2645AE9D55562150a,9 +1280,XFBOT-70A7,XFBOT,XFBOT,0x4d40ea8FaB99544A64C6B7c2C98DD19d7BC170A7,18 +1281,MYRIA-ff86,MYRIA,MYRIA,0xA0Ef786Bf476fE0810408CaBA05E536aC800ff86,18 +1282,AKRO-53d7,AKRO,AKRO,0x8Ab7404063Ec4DBcfd4598215992DC3F8EC853d7,18 +1283,ETE-0268,ETE,ETE,0xd27B128dc6536309CdebF7F1AFf0cB7717Bc0268,18 +1284,2CRZ-F3fA,2CRZ,2CRZ,0x2C9C19cE3b15ae77C6d80aEc3C1194Cfd6F7F3fA,18 +1285,0NE-f4C2,0NE,0NE,0x73A83269b9bbAFC427E76Be0A2C1a1db2a26f4C2,18 +1286,YVWETH-168c,YVWETH,YVWETH,0xa258C4606Ca8206D8aA700cE2143D7db854D168c,18 +1287,BUSY-3f4a,BUSY,BUSY,0x5CB3ce6D081fB00d5f6677d196f2d70010EA3f4a,18 +1288,PARTY-02ca,PARTY,PARTY,0x0fE0Ed7F146Cb12e4B9759afF4FA8d34571802ca,18 +1289,GDO-bd3D,GDO,GDO,0x16F78145AD0B9Af58747e9A97EBd99175378bd3D,18 +1290,CHAMP-1453,CHAMP,CHAMP,0x456125Cd98107ae0480Ba566f1b716D48Ba31453,18 +1291,BRTR-4223,BRTR,BRTR,0xF0ACF8949e705E0ebb6CB42c2164B0B986454223,8 +1292,BED-7dc6,BED,BED,0x2aF1dF3AB0ab157e1E2Ad8F88A7D04fbea0c7dc6,18 +1293,BRO-77af,BRO,BRO,0x7F3E4DbD84f5c8a5f15EF927557748cf2FBB77af,18 +1294,VERSE-0a18,VERSE,VERSE,0x249cA82617eC3DfB2589c4c17ab7EC9765350a18,18 +1295,HOPE-f98e,HOPE,HOPE,0xc353Bf07405304AeaB75F4C2Fac7E88D6A68f98e,18 +1296,MTRA-3C87,MTRA,MTRA,0xC62DEF1701309bb76e6B39B6ab8B5fAC910A3C87,18 +1297,PEPPA-41A0,PEPPA,PEPPA,0xF4172630a656A47Ece8616E75791290446Fa41A0,2 +1298,XCHAIN-7B16,XCHAIN,XCHAIN,0xb68D792329BBcA81C2b823E9DBe066db53eF7B16,18 +1299,SPIRAL-1C3c,SPIRAL,SPIRAL,0x01792e1548Dc317bDE6123fe92da1Fe6d7311C3c,9 +1300,BAT-87EF,BAT,BAT,0x0D8775F648430679A709E98d2b0Cb6250d2887EF,18 +1301,ICE-7DF9,ICE,ICE,0xf16e81dce15B08F326220742020379B855B87DF9,18 +1302,EXD-6560,EXD,EXD,0x02dE007D412266a2e0Fa9287C103474170F06560,18 +1303,MUU-4eb1,MUU,MUU,0x849C479D7A90Eb378dbD00E8f166371176244eb1,9 +1304,A5T-9c51,A5T,A5T,0xe8272210954eA85DE6D2Ae739806Ab593B5d9c51,18 +1305,WPCI-f258,WPCI,WPCI,0x3C2A309d9005433c1BC2C92EF1bE06489e5bf258,8 +1306,UNLEASH-6479,UNLEASH,UNLEASH,0x0E9cc0F7E550BD43BD2af2214563C47699F96479,18 +1307,MODA-22d5,MODA,MODA,0x1117aC6Ad6Cdf1A3BC543baD3B133724620522d5,18 +1308,IOEN-893A,IOEN,IOEN,0x1e4E46b7BF03ECE908c88FF7cC4975560010893A,18 +1309,CLONE-fdAe,CLONE,CLONE,0x1aC1D4991EdF93bD2E5594a9B38A9599071afdAe,9 +1310,SHIBDAO-b9A8,SHIBDAO,SHIBDAO,0xB197a6Fdd8AB825332eDEbA1AB5C4D1Bf97fb9A8,18 +1311,SCA-fFD6,SCA,SCA,0x1FbD3dF007eB8A7477A1Eab2c63483dCc24EfFD6,18 +1312,BWT-Cd62,BWT,BWT,0xcA3Ea3061d638E02113aA960340c98343b5aCd62,18 +1313,XRUN-a905,XRUN,XRUN,0x5833dBB0749887174b254bA4a5df747FF523a905,18 +1314,EMP-8fC4,EMP,EMP,0x13A0599c493Cc502ED8C4Dd26F22F5cEDC248fC4,18 +1315,ZIK-e5D3,ZIK,ZIK,0x88303FeD02b31dB9C7a9eafB711dA9eF4A03e5D3,18 +1316,TCP-6DB4,TCP,TCP,0x06576eB3B212d605B797dC15523d9Dc9F4F66DB4,18 +1317,CBDC-413D,CBDC,CBDC,0xE07C41E9CDf7e0a7800e4bbF90d414654fD6413D,9 +1318,PERL-0318,PERL,PERL,0xeca82185adCE47f39c684352B0439f030f860318,18 +1319,ADP-767b,ADP,ADP,0xc314b0E758D5FF74f63e307A86EbfE183C95767b,18 +1320,SHOE-32c9,SHOE,SHOE,0x0fD67B4ceb9b607Ef206904eC73459c4880132c9,18 +1321,OOKI-379B,OOKI,OOKI,0x0De05F6447ab4D22c8827449EE4bA2D5C288379B,18 +1322,TOSHI-6BdC,TOSHI,TOSHI,0x77a90B04d64189d4D09508612C09219bC6816BdC,9 +1323,ABC-dc30,ABC,ABC,0xD4d4B7b55B30fB096C30ad202e746d010B47dc30,18 +1324,ACR-E3CF,ACR,ACR,0x76306F029f8F99EFFE509534037Ba7030999E3CF,18 +1325,TITAN-Ce87,TITAN,TITAN,0x3A8cCCB969a61532d1E6005e2CE12C200caeCe87,18 +1326,BAOUSD-LUSD-STABLEP-8b1F,BAOUSD-LUSD-STABLEP,BAOUSD-LUSD-STABLEP,0x7E9AfD25F5Ec0eb24d7d4b089Ae7EcB9651c8b1F,18 +1327,GOG-9c62,GOG,GOG,0x9AB7bb7FdC60f4357ECFef43986818A2A3569c62,18 +1328,PARROT-E345,PARROT,PARROT,0x3a6dC7EeFef660be5C254C8AA1b710202151E345,18 +1329,CCO-fc46,CCO,CCO,0x679BADc551626e01B23CeecEFBc9B877EA18fc46,18 +1330,LEVX-c701,LEVX,LEVX,0x86F0cdB38a853420be4dbF6a3a9a3fe0756bc701,9 +1331,MPL-35e6,MPL,MPL,0x33349B282065b0284d756F0577FB39c158F935e6,18 +1332,XFIT-7441,XFIT,XFIT,0x4aa41bC1649C9C3177eD16CaaA11482295fC7441,18 +1333,DUCKER-01A7,DUCKER,DUCKER,0xa52bfFAD02B1FE3f86A543a4e81962d3B3bB01A7,18 +1334,IGNT-9419,IGNT,IGNT,0xd12443D642D021Dc52D0AF8F5f6191e02d1E9419,18 +1335,HEDGEHOG-FDc3,HEDGEHOG,HEDGEHOG,0x6d4CA1177087924edfE0908ef655169EA766FDc3,18 +1336,NPICK-b24B,NPICK,NPICK,0xC3DCA8F61B275d1e88f3ea31B3e311c49f56b24B,18 +1337,MIKE-744d,MIKE,MIKE,0x260e59A6E96C26CfEFd9DEC566a4D4e50031744d,8 +1338,LEV-4e91,LEV,LEV,0xbc194e6f748a222754C3E8b9946922c09E7d4e91,18 +1339,WOOF-d0a3,WOOF,WOOF,0x6BC08509B36A98E829dFfAD49Fde5e412645d0a3,18 +1340,RBIF-ac9b,RBIF,RBIF,0x0e6FA9c050c8a707e7f56A2b3695665E4F9Eac9b,9 +1341,EAC-E000,EAC,EAC,0xcAe636167db2369bd746F2bcBa79a6e8b0d4E000,18 +1342,WBX-1009,WBX,WBX,0xbB97e381F1d1e94ffa2A5844F6875e6146981009,18 +1343,BENJI-4483,BENJI,BENJI,0xCA5b0AE1d104030a9B8F879523508EFd86c14483,18 +1344,AAVE-DaE9,AAVE,AAVE,0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9,18 +1345,DEB-422B,DEB,DEB,0xA1E770be76BDe604F8Ebb66f640250a787B9422B,18 +1346,HRTS-8e45,HRTS,HRTS,0xCeB53519a2B891d33b36E3826962D2a48f878e45,18 +1347,MONONOKE-INU-2bFc,MONONOKE-INU,MONONOKE-INU,0x4da08a1Bff50BE96bdeD5C7019227164b49C2bFc,9 +1348,VIZ-fD2c,VIZ,VIZ,0x2C10c0dE3362FF21F8ED6bC7F4AC5e391153fD2c,18 +1349,CLAW-1D1C,CLAW,CLAW,0x41B25Ff6431074959532dB7435DAdacA65a21D1C,18 +1350,OVO-27B7,OVO,OVO,0xbfC66D8cCE39E668fd5d3C10fd1B1eAbB82c27B7,18 +1351,ENJ-3B9c,ENJ,ENJ,0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c,18 +1352,PERC-2268,PERC,PERC,0x60bE1e1fE41c1370ADaF5d8e66f07Cf1C2Df2268,18 +1353,BC-2Ae9,BC,BC,0xe03B2642A5111aD0EFc0cbCe766498c2dd562Ae9,9 +1354,EQZ-0Bb0,EQZ,EQZ,0x1Da87b114f35E1DC91F72bF57fc07A768Ad40Bb0,18 +1355,MARS-70B7,MARS,MARS,0x66C0DDEd8433c9EA86C8cf91237B14e10b4d70B7,18 +1356,POLL-F5d0,POLL,POLL,0x4b0f027d0b694Aae2761ED2d426295d4f949F5d0,18 +1357,BT-dEBc,BT,BT,0x997507cc49FBf0CD6ce5e1EE543218556fAFdEBc,18 +1358,ABPT-4F84,ABPT,ABPT,0x41A08648C3766F9F9d85598fF102a08f4ef84F84,18 +1359,DTX-3F75,DTX,DTX,0x765f0C16D1Ddc279295c1a7C24B0883F62d33F75,18 +1360,RON-c6fb,RON,RON,0x3267c5b73cc15E253b1A90c01366B17d560Bc6fb,9 +1361,PROB-9803,PROB,PROB,0xfB559CE67Ff522ec0b9Ba7f5dC9dc7EF6c139803,18 +1362,BORED-538D,BORED,BORED,0x2047ab3072B52561596Ce5E0131BDbB7C848538D,9 +1363,PIRB-0033,PIRB,PIRB,0xC05C3aF62f5F3663f2C415473Aa4D5AD69200033,18 +1364,UM-2280,UM,UM,0xb19Dd661F076998e3B0456935092a233e12C2280,18 +1365,UNI-F984,UNI,UNI,0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984,18 +1366,ANONUSD-1eFd,ANONUSD,ANONUSD,0x5a7E6C8204A1359DB9AAcab7bA5Fc309B7981eFd,18 +1367,AGRS-bdDa,AGRS,AGRS,0x738865301A9b7Dd80Dc3666dD48cF034ec42bdDa,8 +1368,DEGAI-2DC7,DEGAI,DEGAI,0xd068C7C941FbbD2300cB2f1841858c2643722DC7,18 +1369,FANTA-f39e,FANTA,FANTA,0x5AdEbAfBf2FD0D6808A7a1E823759De2DF1df39e,18 +1370,POLI-6Db9,POLI,POLI,0xa1a36D3537bBe375Cc9694795F663DDC8D516Db9,18 +1371,OTB-16DE,OTB,OTB,0xA86a0Da9D05d0771955DF05B44Ca120661aF16DE,18 +1372,CYBER-88a9,CYBER,CYBER,0x14778860E937f509e651192a90589dE711Fb88a9,18 +1373,G-2fA3,G,G,0x97E19E2a5458294842036404E6A05571D8Bc2fA3,18 +1374,VIBE-Dfba,VIBE,VIBE,0xe8Ff5C9c75dEb346acAc493C463C8950Be03Dfba,18 +1375,WOETH-8192,WOETH,WOETH,0xDcEe70654261AF21C44c093C300eD3Bb97b78192,18 +1376,LRC-EafD,LRC,LRC,0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD,18 +1377,1ECO-6C3b,1ECO,1ECO,0x1Af2eAEAf2B1d9dDA800861268e6bbB3995a6C3b,18 +1378,ELON-60F3,ELON,ELON,0x761D38e5ddf6ccf6Cf7c55759d5210750B5D60F3,18 +1379,ONC-92dc,ONC,ONC,0xD90E69f67203EBE02c917B5128629E77B4cd92dc,18 +1380,CENNZ-5c1F,CENNZ,CENNZ,0x1122B6a0E00DCe0563082b6e2953f3A943855c1F,18 +1381,M2-D15C,M2,M2,0x965d79F1A1016B574a62986e13Ca8Ab04DfdD15C,18 +1382,ATF-16a8,ATF,ATF,0x518b63Da813D46556FEa041A88b52e3CAa8C16a8,18 +1383,Y2B-0650,Y2B,Y2B,0xF9C12B27cE5058ab98ce11BD53900f84E18C0650,18 +1384,DINGER-fA68,DINGER,DINGER,0x9e5BD9D9fAd182ff0A93bA8085b664bcab00fA68,9 +1385,AIMBOT-73C7,AIMBOT,AIMBOT,0x0c48250Eb1f29491F1eFBeEc0261eb556f0973C7,18 +1386,GTC-d32C,GTC,GTC,0xB70835D7822eBB9426B56543E391846C107bd32C,18 +1387,MEM-3758,MEM,MEM,0x42dbBd5ae373FEA2FC320F62d44C058522Bb3758,18 +1388,PRTC-dA31,PRTC,PRTC,0xb9098D3669A78e9AfE8b94a97290407400D9dA31,18 +1389,POW-98B0,POW,POW,0xcB27E0b9530D5107302e3e0691Dd0f64FAf498B0,18 +1390,PANDO-F471,PANDO,PANDO,0x252b9F56359901a0BDE52d0675b1f1130d86F471,18 +1391,CHEW-7Cb3,CHEW,CHEW,0xf5d126077096e5b01BC30FFa5d9324D7202d7Cb3,18 +1392,MCG-AeBc,MCG,MCG,0x9cCf191169A613Eca433a249d3F40131178CAeBc,18 +1393,ANARCHY-Ce8c,ANARCHY,ANARCHY,0x53fD2342B43eCD24AEf1535BC3797F509616Ce8c,9 +1394,FREE-f526,FREE,FREE,0x4CD0c43B0D53bc318cc5342b77EB6f124E47f526,18 +1395,SRN-8D25,SRN,SRN,0x68d57c9a1C35f63E2c83eE8e49A64e9d70528D25,18 +1396,00-250D,00,00,0x881Ba05de1E78f549cC63a8f6Cabb1d4AD32250D,18 +1397,LSS-E320,LSS,LSS,0x3B9BE07d622aCcAEd78f479BC0EDabFd6397E320,18 +1398,SIGIL-40E4,SIGIL,SIGIL,0xF029Fd6b5ED35C825Dd02B7A02952C30002840E4,18 +1399,MAUSDC-0529,MAUSDC,MAUSDC,0xA5269A8e31B93Ff27B887B56720A25F844db0529,18 +1400,DETO-e55C,DETO,DETO,0xaB93dF617F51E1E415b5b4f8111f122d6b48e55C,18 +1401,PB-03Dc,PB,PB,0x996Ca7e71C37D70132889e29d17d2e44427A03Dc,18 +1402,AMP-95C2,AMP,AMP,0xfF20817765cB7f73d4bde2e66e067E58D11095C2,18 +1403,EJS-79C2,EJS,EJS,0x96610186F3ab8d73EBEe1CF950C750f3B1Fb79C2,18 +1404,GUPPI-6351,GUPPI,GUPPI,0x4341A2C412B1b7Bee50616de6E6e1172719C6351,18 +1405,ATUSD-0341,ATUSD,ATUSD,0x4DA9b813057D04BAef4e5800E36083717b4a0341,18 +1406,NEST-0000,NEST,NEST,0xcd6926193308d3B371FdD6A6219067E550000000,18 +1407,JBX-6f66,JBX,JBX,0x3abF2A4f8452cCC2CF7b4C1e4663147600646f66,18 +1408,RED-fE8a,RED,RED,0xd5dC24c9Ef8a21E6D7CAa603f9502e4A0dc7fE8a,9 +1409,AWETH-854e,AWETH,AWETH,0x030bA81f1c18d280636F32af80b9AAd02Cf0854e,18 +1410,WFLOW-3B2b,WFLOW,WFLOW,0x5c147e74D63B1D31AA3Fd78Eb229B65161983B2b,18 +1411,CV-5683,CV,CV,0x50bC2Ecc0bfDf5666640048038C1ABA7B7525683,18 +1412,YELLOW-6716,YELLOW,YELLOW,0x66A39D581961D4cFa9Bd3953cCC4e7EC7bd56716,9 +1413,WCX-4347,WCX,WCX,0xC014186Cf1Ba36032aaEc7f96088f09eb3934347,18 +1414,GDC-aF31,GDC,GDC,0x301C755bA0fcA00B1923768Fffb3Df7f4E63aF31,18 +1415,SBTC-CfC6,SBTC,SBTC,0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6,18 +1416,ELT-1B02,ELT,ELT,0xc0AE17Eb994fa828540FFa53776B3830233A1B02,18 +1417,LEO-2Ca3,LEO,LEO,0x2AF5D2aD76741191D15Dfe7bF6aC92d4Bd912Ca3,18 +1418,EBOX-15c5,EBOX,EBOX,0x33840024177A7DacA3468912363BeD8b425015c5,18 +1419,DIGG-01C3,DIGG,DIGG,0x798D1bE841a82a273720CE31c822C61a67a601C3,9 +1420,OWN-13Dd,OWN,OWN,0xcC6F15Be8573cB8243C42d300565566D328213Dd,18 +1421,BNK-6835,BNK,BNK,0x7707aAdA3Ce7722Ac63B91727DAF1999849F6835,8 +1422,FXS-64D0,FXS,FXS,0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0,18 +1423,NOWAI-7956,NOWAI,NOWAI,0x987441856BA4f463544FC68ccBF6a80F434a7956,18 +1424,LIM-F48c,LIM,LIM,0x9CdaFB9FAe77E7C1bd7CF28C389008ca8daCF48c,18 +1425,MONTE-9bB1,MONTE,MONTE,0x318Ee488AF8881f9945B6d3D69e8B395Fb559bB1,18 +1426,BOTTO-5BBA,BOTTO,BOTTO,0x9DFAD1b7102D46b1b197b90095B5c4E9f5845BBA,18 +1427,ENXS-5667,ENXS,ENXS,0x18a3563c21062897950BB09339C82b9686a35667,9 +1428,SIMP-4C99,SIMP,SIMP,0x41C21693e60FC1a5dBb7c50e54E7A6016aA44C99,18 +1429,CBOT-a71C,CBOT,CBOT,0xf49311af05a4Ffb1dbf33d61e9b2d4f0a7d4a71C,9 +1430,CORX-CF97,CORX,CORX,0x26a604DFFE3ddaB3BEE816097F81d3C4a2A4CF97,8 +1431,OBI-1873,OBI,OBI,0xBb3A8FD6Ec4bF0FDc6Cd2739b1e41192D12B1873,18 +1432,XPN-0dF4,XPN,XPN,0x3b9e094D56103611f0ACEfDAb43182347BA60dF4,18 +1433,WITCH-D236,WITCH,WITCH,0xdc524e3c6910257744C1F93Cf15E9F472b5bD236,18 +1434,PYUSD-A0e8,PYUSD,PYUSD,0x6c3ea9036406852006290770BEdFcAbA0e23A0e8,6 +1435,DGN-47C2,DGN,DGN,0xCa7013bA4Bf76bCdc3ffC71735896682644f47C2,18 +1436,ETF-86d4,ETF,ETF,0x667210a731447F8B385e068205759BE2311b86d4,18 +1437,PAPA-eb12,PAPA,PAPA,0x6C4C193bff0a117F0C2B516802abbA961A1Eeb12,18 +1438,LINK-86CA,LINK,LINK,0x514910771AF9Ca656af840dff83E8264EcF986CA,18 +1439,FLEX-290E,FLEX,FLEX,0xb076BDa1ABc154DdB4CCd9Be45542A823aEE290E,18 +1440,DOGECOIN-2c96,DOGECOIN,DOGECOIN,0xf257a2783f6633A149B5966e32432b5bB3462c96,8 +1441,CULT-5A13,CULT,CULT,0xf0f9D895aCa5c8678f706FB8216fa22957685A13,18 +1442,NAVI-2BF1,NAVI,NAVI,0xFc1C93a2507975E98b9d0E9260Ded61A00152BF1,18 +1443,DFYN-9023,DFYN,DFYN,0x9695e0114e12C0d3A3636fAb5A18e6b737529023,18 +1444,LTX-d092,LTX,LTX,0xa393473d64d2F9F026B60b6Df7859A689715d092,8 +1445,RAK-bE66,RAK,RAK,0xa8B0F154A688c22142E361707df64277e0A0bE66,18 +1446,BBL-1124,BBL,BBL,0x0a44A7ccEa34A7563Ba1D45A5F757d0B02281124,18 +1447,FF-94CD,FF,FF,0x7E9D8f07A64e363e97A648904a89fb4cd5fB94CD,18 +1448,REAP-6987,REAP,REAP,0x1fc5EF0337AEA85C5f9198853a6E3A579a7A6987,18 +1449,STACME-C547,STACME,STACME,0x7AC168c81F4F3820Fa3F22603ce5864D6aB3C547,8 +1450,MKR-79A2,MKR,MKR,0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2,18 +1451,SKI-Dc3D,SKI,SKI,0x996Dc5dfc819408Dd98Cd92c9a76f64b0738Dc3D,18 +1452,CELL-e099,CELL,CELL,0x26c8AFBBFE1EBaca03C2bB082E69D0476Bffe099,18 +1453,BOOST-3218,BOOST,BOOST,0x302CAe5dcf8f051d0177043C3438020b89b33218,18 +1454,B-BAOETH-ETH-BPT-B1D0,B-BAOETH-ETH-BPT,B-BAOETH-ETH-BPT,0x1A44E35d5451E0b78621A1B3e7a53DFaA306B1D0,18 +1455,IZE-327B,IZE,IZE,0xf7e945FcE8F19302AaCc7E1418b0A0bdef89327B,8 +1456,FFRAX-1D7C,FFRAX,FFRAX,0x2bE1e42BF263AaB47D27Ba92E72c14823e101D7C,18 +1457,PUSUKE-2877,PUSUKE,PUSUKE,0x5DD0D493EA59d512EfC13D5C1F9d325775192877,18 +1458,HIBAYC-2F46,HIBAYC,HIBAYC,0x83031984B45553070a088273f341BfF7fB4f2F46,18 +1459,EPIK-dF75,EPIK,EPIK,0x4da0C48376C277cdBd7Fc6FdC6936DEE3e4AdF75,18 +1460,OBTC-B2AC,OBTC,OBTC,0xfF770E4c68e35DB85c6e0E89a43750eC02bDB2AC,18 +1461,ZAT-3A15,ZAT,ZAT,0x6311FCFEF61E75e11c6E78949D7849f3b07e3A15,9 +1462,PLUG-976a,PLUG,PLUG,0x47DA5456bC2e1ce391b645Ce80F2E97192e4976a,18 +1463,UETH-fc7b,UETH,UETH,0x77607588222e01bf892a29Abab45796A2047fc7b,18 +1464,BAO-61C1,BAO,BAO,0x374CB8C27130E2c9E04F44303f3c8351B9De61C1,18 +1465,CHIRO-775c,CHIRO,CHIRO,0x35156b404C3f9bdaf45ab65Ba315419bcDe3775c,9 +1466,SNM-e86B,SNM,SNM,0x46d0DAc0926fa16707042CAdC23F1EB4141fe86B,18 +1467,THEPOND-6757,THEPOND,THEPOND,0x6213f40e00F4595AA038FA710e3f837b492d6757,12 +1468,ABI-B76D,ABI,ABI,0xBF0B8b7475EdB32D103001Efd19FdD2753d7B76D,18 +1469,AUC-5663,AUC,AUC,0xc12d099be31567add4e4e4d0D45691C3F58f5663,18 +1470,CLM-9375,CLM,CLM,0x0B4C2708F052dca413600e237675e4d6778A9375,16 +1471,CTK-4063,CTK,CTK,0x42a501903AFaa1086B5975773375c80E363f4063,8 +1472,STUB-C5A0,STUB,STUB,0x54C890411e97755ca69321f28Bed31CAFBb3C5A0,18 +1473,BTSE-32Ef,BTSE,BTSE,0x666d875C600AA06AC1cf15641361dEC3b00432Ef,8 +1474,BOLT-a789,BOLT,BOLT,0xD5930C307d7395Ff807F2921F12C5EB82131a789,18 +1475,FTRB-81D7,FTRB,FTRB,0x2596825a84888E8f24b747DF29e11b5dd03C81D7,18 +1476,BB-A-USDC-1B83,BB-A-USDC,BB-A-USDC,0x82698aeCc9E28e9Bb27608Bd52cF57f704BD1B83,18 +1477,WHITE-6B44,WHITE,WHITE,0x5F0E628B693018f639D10e4A4F59BD4d8B2B6B44,18 +1478,BTCPX-1021,BTCPX,BTCPX,0x9C32185b81766a051E08dE671207b34466DD1021,8 +1479,NDX-5F83,NDX,NDX,0x86772b1409b61c639EaAc9Ba0AcfBb6E238e5F83,18 +1480,IUSD-9A2D,IUSD,IUSD,0x0A3BB08b3a15A19b4De82F8AcFc862606FB69A2D,18 +1481,RUFF-AcE2,RUFF,RUFF,0xf278c1CA969095ffddDED020290cf8B5C424AcE2,18 +1482,AUDT-5f2e,AUDT,AUDT,0xB90cb79B72EB10c39CbDF86e50B1C89F6a235f2e,18 +1483,MEMBOT-9E61,MEMBOT,MEMBOT,0x9eac760d89805558D1A657b59beD313766e09E61,18 +1484,ISIKC-A783,ISIKC,ISIKC,0x42726d074BBa68Ccc15200442B72Afa2D495A783,4 +1485,CURVE-b376,CURVE,CURVE,0xeCbddf83687e9842837e08c5A650658f2260b376,9 +1486,KTLYO-27c8,KTLYO,KTLYO,0x24E3794605C84E580EEA4972738D633E8a7127c8,18 +1487,MIS-9999,MIS,MIS,0x024B6e7DC26F4d5579bDD936F8d7BC31f2339999,18 +1488,SOV-F7a5,SOV,SOV,0xbdab72602e9AD40FC6a6852CAf43258113B8F7a5,18 +1489,KEKO-1eb5,KEKO,KEKO,0x2c7f442AaB99D5e18CfAE2291c507c0b5f3c1eb5,18 +1490,BREPE-3326,BREPE,BREPE,0xA0117792d4B100Fd329B37e8AB4181dF8a5b3326,18 +1491,ECT-6783,ECT,ECT,0xda4Dd9586D27202A338843Dd6B9824d267006783,9 +1492,XWIZARD-fa56,XWIZARD,XWIZARD,0x7FC09A4F6182E835A97c42980F7235E8C0cBfa56,9 +1493,IQ-b0C9,IQ,IQ,0x579CEa1889991f68aCc35Ff5c3dd0621fF29b0C9,18 +1494,KFC-A291,KFC,KFC,0xE63684BcF2987892CEfB4caA79BD21b34e98A291,18 +1495,PARA-EF1E,PARA,PARA,0xD16fd95D949F996e3808EeEa0e3881C59E76EF1E,18 +1496,SAUDIPEPE-0587,SAUDIPEPE,SAUDIPEPE,0x8ACee0fCeE91cedAD1c5013F031762C814740587,18 +1497,CAAVE-D06c,CAAVE,CAAVE,0xe65cdB6479BaC1e22340E4E755fAE7E509EcD06c,8 +1498,OPTI-215d,OPTI,OPTI,0x562E362876c8Aee4744FC2c6aaC8394C312d215d,9 +1499,PLANB-499B,PLANB,PLANB,0xe77f82f288A6a7EB4Ac295a86FccB1F6D240499B,18 +1500,SOLANA-643F,SOLANA,SOLANA,0x3D806324b6Df5AF3c1a81aCbA14A8A62Fe6D643F,18 +1501,BABYSHIBA-1A1D,BABYSHIBA,BABYSHIBA,0x66A64a8A9cdc54EF97e45a051bA1c8f3D4b41A1D,18 +1502,SKEB-C810,SKEB,SKEB,0x6D614686550B9E1c1DF4b2cD8f91C9D4df66C810,18 +1503,GINU-B306,GINU,GINU,0x74bE64B45D394FA57816c1950E94dBB8d7A7B306,9 +1504,ADAI-68A3,ADAI,ADAI,0x028171bCA77440897B824Ca71D1c56caC55b68A3,18 +1505,ENV-e1A0,ENV,ENV,0xF1d1A5306daaE314AF6c5d027a492B313e07e1A0,18 +1506,OSAK-6b5c,OSAK,OSAK,0xa21Af1050F7B26e0cfF45ee51548254C41ED6b5c,18 +1507,ARC-e7c2,ARC,ARC,0xC82E3dB60A52CF7529253b4eC688f631aad9e7c2,18 +1508,BOX-9ad7,BOX,BOX,0x066e941E168dE3815cd6c8F63c46e8E3a2309ad7,18 +1509,IBY-712B,IBY,IBY,0x6A68DE599E8E0b1856E322CE5Bd11c5C3C79712B,18 +1510,CRABS-627D,CRABS,CRABS,0x2C9715D6D95443c3BdF29E473AD168FF6fA6627D,18 +1511,CUDOS-dB35,CUDOS,CUDOS,0x817bbDbC3e8A1204f3691d14bB44992841e3dB35,18 +1512,FACTR-B9D5,FACTR,FACTR,0xe0bCEEF36F3a6eFDd5EEBFACD591423f8549B9D5,18 +1513,AGIX-b542,AGIX,AGIX,0x5B7533812759B45C2B44C19e320ba2cD2681b542,8 +1514,BEAR-A26a,BEAR,BEAR,0x17837004eA685690b32dbEaD02a274Ec4333A26a,18 +1515,ZEON-0532,ZEON,ZEON,0xE5B826Ca2Ca02F09c1725e9bd98d9a8874C30532,18 +1516,BANK-8028,BANK,BANK,0x9360C489056b64D5003Bf22f4f31458e31cc8028,18 +1517,PKF-8AEb,PKF,PKF,0x8B39B70E39Aa811b69365398e0aACe9bee238AEb,18 +1518,RDN-c8e6,RDN,RDN,0x255Aa6DF07540Cb5d3d297f0D0D4D84cb52bc8e6,18 +1519,ASTRAL-28a1,ASTRAL,ASTRAL,0xC74B43cC61b627667a608c3F650c2558F88028a1,18 +1520,RENDOGE-71A7,RENDOGE,RENDOGE,0x3832d2F059E55934220881F831bE501D180671A7,8 +1521,CHAP-F703,CHAP,CHAP,0x414cbF31c62D99515bfD66497B495a585b52F703,0 +1522,BATTLE-3EA6,BATTLE,BATTLE,0x63F314C44D164D5Be423199AFBfbe129D72d3EA6,18 +1523,EGC-fd48,EGC,EGC,0xc0EC8CaEC55F37D47fBfA595727418868A21fd48,8 +1524,BETROCK-C2A5,BETROCK,BETROCK,0x18B7f4d5d8d1e36Af2975be978FBB5438FD3C2A5,18 +1525,ANTX-8F4d,ANTX,ANTX,0xC590C348d431d544172f5Ec4e4c8ea44537b8F4d,9 +1526,DYOR-CE7e,DYOR,DYOR,0xbfFAA2bF647e5Ae6280a8138D884C3a9A95eCE7e,18 +1527,INU-Bda5,INU,INU,0x050D94685c6B0477E1Fc555888AF6e2bB8dFBda5,18 +1528,CAJ-A40e,CAJ,CAJ,0x3C6A7aB47B5F058Be0e7C7fE1A4b7925B8aCA40e,18 +1529,REN-2a38,REN,REN,0x408e41876cCCDC0F92210600ef50372656052a38,18 +1530,RVST-d4bA,RVST,RVST,0x120a3879da835A5aF037bB2d1456beBd6B54d4bA,18 +1531,LUSD-8bA0,LUSD,LUSD,0x5f98805A4E8be255a32880FDeC7F6728C6568bA0,18 +1532,ADVT-9b72,ADVT,ADVT,0x69e37422cB87d963367F73A119C8ce9a4D529b72,9 +1533,FEG-2A11,FEG,FEG,0xbededDf2eF49E87037c4fb2cA34d1FF3D3992A11,18 +1534,MEGODS-9DAc,MEGODS,MEGODS,0xc6980fA29A42e44852E29492268d9285d89c9DAc,18 +1535,FET-Ad85,FET,FET,0xaea46A60368A7bD060eec7DF8CBa43b7EF41Ad85,18 +1536,CVR-e6c6,CVR,CVR,0x3C03b4EC9477809072FF9CC9292C9B25d4A8e6c6,18 +1537,VXDEFI-83Ac,VXDEFI,VXDEFI,0xe1A3864DbF62Fb94834B108Ff6Bf439cE70183Ac,18 +1538,COINBT-d481,COINBT,COINBT,0x6fA5E1c43b5a466CBD1CAe7993B67C982400d481,18 +1539,MOSOLID-d743,MOSOLID,MOSOLID,0x848578e351D25B6Ec0d486E42677891521c3d743,18 +1540,SOLID-0990,SOLID,SOLID,0x777172D858dC1599914a1C4c6c9fC48c99a60990,18 +1541,MNFT-093d,MNFT,MNFT,0x3235B13708F178Af6F110dE7177ED5De10c1093d,18 +1542,OUSD-5e86,OUSD,OUSD,0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86,18 +1543,OPTIG-F44b,OPTIG,OPTIG,0xD5DF655087d99B7B720A5bc8711F296180A4F44b,18 +1544,XI-Ec8c,XI,XI,0x295B42684F90c77DA7ea46336001010F2791Ec8c,18 +1545,JIZZ-a352,JIZZ,JIZZ,0x8b937AF714aC7E2129bD33D93641F52b665Ca352,18 +1546,HNB-B1FF,HNB,HNB,0x6E0615a03eD9527a6013FcD5B556E36EF4DaB1FF,18 +1547,KTT-fE43,KTT,KTT,0x14cC8DfaF2258E1B8B2869300dBa1B734dc0fE43,18 +1548,LOTTY-E35C,LOTTY,LOTTY,0xB459F7204A8Ac84F9e7758d6d839eBD01670E35C,18 +1549,PAW-5136,PAW,PAW,0x1AA51bc7eb181ce48CE626Bf62f8956Fa9555136,18 +1550,YVS-f478,YVS,YVS,0xEC681F28f4561c2a9534799AA38E0d36A83Cf478,18 +1551,P2PS-5047,P2PS,P2PS,0x4527a3B4A8A150403090a99b87efFC96F2195047,8 +1552,LINQ-cA64,LINQ,LINQ,0x3e34eabF5858a126cb583107E643080cEE20cA64,18 +1553,SHIDO-163c,SHIDO,SHIDO,0xeD354cAE598148846aa9694254C854fc7051163c,18 +1554,FUND-d0AB,FUND,FUND,0x66861D5f0Fbfb7b2711712fEF2172c560D08d0AB,18 +1555,SMS-9B0A,SMS,SMS,0xe5867608b51A2c9C78B9587355cC093140A49B0A,3 +1556,SHIB2-64c0,SHIB2,SHIB2,0x2dE7B02Ae3b1f11d51Ca7b2495e9094874A064c0,18 +1557,APX-0Fa4,APX,APX,0xed4e879087ebD0e8A77d66870012B5e0dffd0Fa4,18 +1558,BEND-6218,BEND,BEND,0x0d02755a5700414B26FF040e1dE35D337DF56218,18 +1559,CRAB-b735,CRAB,CRAB,0x24BCeC1AFda63E622a97F17cFf9a61FFCfd9b735,18 +1560,INXT-16D4,INXT,INXT,0x4A8f5F96D5436e43112c2fBC6a9f70DA9e4E16D4,8 +1561,REMIT-cAfb,REMIT,REMIT,0x3db045814D0a29d831fe38055CB97a956eF7cAfb,18 +1562,AGVC-05C4,AGVC,AGVC,0x8b79656FC38a04044E495e22fAD747126ca305C4,18 +1563,GRL-81dA,GRL,GRL,0xEf5eFf55F665B66385b6692EbD80680e581D81dA,9 +1564,KIRO-b137,KIRO,KIRO,0xB1191F691A355b43542Bea9B8847bc73e7Abb137,18 +1565,CFXQ-2cEB,CFXQ,CFXQ,0x0557E0d15aeC0b9026dD17aA874fDf7d182A2cEB,6 +1566,ESS-40f7,ESS,ESS,0xfc05987bd2be489ACCF0f509E44B0145d68240f7,18 +1567,SAITO-B57B,SAITO,SAITO,0xFa14Fa6958401314851A17d6C5360cA29f74B57B,18 +1568,X-237c,X,X,0xaBeC00542D141BDdF58649bfe860C6449807237c,18 +1569,IDEAS-cC02,IDEAS,IDEAS,0x443b29fc978058Abe3Fc2f4c3c6b76c57fdecC02,18 +1570,GOLD-9b01,GOLD,GOLD,0x089453742936dd35134383aee9d78bEe63A69b01,18 +1571,BXB-3530,BXB,BXB,0xAAc88E48767988119b84dea3fc93ceEc012F3530,18 +1572,NINEFI-2f1d,NINEFI,NINEFI,0xe78BFF28D3c5195C752E734E95421bb4bd742f1d,18 +1573,XGF-9977,XGF,XGF,0xfa26384dddA8176c74dB700Bb0CDa50c559E9977,18 +1574,ALLUO-0B09,ALLUO,ALLUO,0x1E5193ccC53f25638Aa22a940af899B692e10B09,18 +1575,SMETA-a38F,SMETA,SMETA,0xAdc3F2C3D728202658930860158C726d8180a38F,18 +1576,COR-D835,COR,COR,0x9C2dc0c3CC2BADdE84B0025Cf4df1c5aF288D835,18 +1577,VEST-7986,VEST,VEST,0x1f19f83fC9a25F3C861260143E36c17706257986,18 +1578,BIX-2803,BIX,BIX,0x009c43B42AEFAC590C719E971020575974122803,18 +1579,MAWETH-ABa4,MAWETH,MAWETH,0x490BBbc2485e99989Ba39b34802faFa58e26ABa4,18 +1580,XFER-242c,XFER,XFER,0x32d5B155e82c87C491ea14b59477ddd0957e242c,18 +1581,PIN-a9BE,PIN,PIN,0xc1f976B91217E240885536aF8b63bc8b5269a9BE,18 +1582,JPYC-cD53,JPYC,JPYC,0x2370f9d504c7a6E775bf6E14B3F12846b594cD53,18 +1583,CJPY-8372,CJPY,CJPY,0x1cfa5641c01406aB8AC350dEd7d735ec41298372,18 +1584,WPT-88eA,WPT,WPT,0x4FD51Cb87ffEFDF1711112b5Bd8aB682E54988eA,18 +1585,MXRBOT-970b,MXRBOT,MXRBOT,0x6995923FAA52F1D0Cd3ed7870Eb273ebB1b0970b,18 +1586,CRVRENWSBTC-0fB3,CRVRENWSBTC,CRVRENWSBTC,0x075b1bb99792c9E1041bA13afEf80C91a1e70fB3,18 +1587,TXT-3B8C,TXT,TXT,0x547b2F82ceCfAb9C2B1D36fddA96eF9F58C63B8C,18 +1588,PETH-78c7,PETH,PETH,0x836A808d4828586A69364065A1e064609F5078c7,18 +1589,TIGER-337F,TIGER,TIGER,0xB83c27805aAcA5C7082eB45C868d955Cf04C337F,18 +1590,ADAI-f85d,ADAI,ADAI,0xfC1E690f61EFd961294b3e1Ce3313fBD8aa4f85d,18 +1591,EGG-7309,EGG,EGG,0x7e85B369d170Ebf127367400B1F399cb18027309,18 +1592,BITO-4932,BITO,BITO,0x93b1E78a3e652cd2e71C4a767595B77282344932,18 +1593,AIRBOT-9fE9,AIRBOT,AIRBOT,0xcD14517C7397a003aeC7404CB8159f16a90f9fE9,18 +1594,PTM-8c1e,PTM,PTM,0x7c32DB0645A259FaE61353c1f891151A2e7f8c1e,18 +1595,DOKI-71f5,DOKI,DOKI,0x869DBe51Dc214fcb663604b0F7B548592F8C71f5,9 +1596,WELD-6dE0,WELD,WELD,0xDD2a36AE937bc134ea694d77fC7e2E36f5d86dE0,18 +1597,PROT-8932,PROT,PROT,0x2341Dd0A96a0Dab62Aa1efB93D59FF7F3bDB8932,18 +1598,ALN-5748,ALN,ALN,0x8185Bc4757572Da2a610f887561c32298f1A5748,18 +1599,DAWAE-72CD,DAWAE,DAWAE,0xBc953FCcBCC9E95DAFb35d46992cEe966AA972CD,18 +1600,COMBO-c661,COMBO,COMBO,0xc03fBF20A586fa89C2a5f6F941458E1Fbc40c661,18 +1601,RAGE-886F,RAGE,RAGE,0x94804dc4948184fFd7355f62Ccbb221c9765886F,18 +1602,ETHV-aC76,ETHV,ETHV,0xC53342fd7575f572b0fF4569e31941A5B821aC76,18 +1603,FOMO-946A,FOMO,FOMO,0x8387c2d1b0EEa6B91b910afF66a7bD2710a5946A,18 +1604,BUMBLEC-9444,BUMBLEC,BUMBLEC,0xAD83b92cdD542Db07445597f7F06963B31Cf9444,9 +1605,FUSDT-b458,FUSDT,FUSDT,0xADc234a4e90E2045f353F5d4fCdE66144d23b458,6 +1606,WINS-96d1,WINS,WINS,0x5f48d1Fd6814Cd1CD38Aeb895755E57d519196d1,18 +1607,IMPT-1f85,IMPT,IMPT,0x04C17b9D3b29A78F7Bd062a57CF44FC633e71f85,18 +1608,HIMOONBIRDS-BFa5,HIMOONBIRDS,HIMOONBIRDS,0x0A7b89E66a1DC16633abdfd132bAe05827d3BFa5,18 +1609,DIA-9419,DIA,DIA,0x84cA8bc7997272c7CfB4D0Cd3D55cd942B3c9419,18 +1610,REVHUB-b449,REVHUB,REVHUB,0xD3B9A9E5Ee4Aab3963C95dD715882DEF4F22b449,18 +1611,OOKS-1572,OOKS,OOKS,0x69D9905B2e5f6F5433212b7F3c954433F23C1572,18 +1612,BANK-2921,BANK,BANK,0x24A6A37576377F63f194Caa5F518a60f45b42921,18 +1613,MPH-35C5,MPH,MPH,0x8888801aF4d980682e47f1A9036e589479e835C5,18 +1614,SHIELD-6F0b,SHIELD,SHIELD,0x3e98253D316856Df99c17686aF1A6a0107956F0b,9 +1615,WAVES-f29a,WAVES,WAVES,0x1cF4592ebfFd730c7dc92c1bdFFDfc3B9EfCf29a,18 +1616,TONE-03c4,TONE,TONE,0x2Ab6Bb8408ca3199B8Fa6C92d5b455F820Af03c4,18 +1617,IBZ-4771,IBZ,IBZ,0x5AA7C403c7dE4B3bb0cc07079a03e389671a4771,18 +1618,WAGMIGAMES-00F0,WAGMIGAMES,WAGMIGAMES,0x3B604747ad1720C01ded0455728b62c0d2F100F0,18 +1619,PVP-2871,PVP,PVP,0x9B44793a0177C84DD01AD81137db696531902871,18 +1620,PAINT-4042,PAINT,PAINT,0x4C6eC08CF3fc987c6C4BEB03184D335A2dFc4042,18 +1621,JACY-4A62,JACY,JACY,0x916c5DE09cF63f6602d1e1793FB41F6437814A62,9 +1622,FTX-6a61,FTX,FTX,0xd559f20296FF4895da39b5bd9ADd54b442596a61,18 +1623,ILV-ca0E,ILV,ILV,0x767FE9EDC9E0dF98E07454847909b5E959D7ca0E,18 +1624,LEAGUE-1aa2,LEAGUE,LEAGUE,0xc01b733B2EF479086B80949676A673346B531aa2,18 +1625,NORD-a0DE,NORD,NORD,0x6e9730EcFfBed43fD876A264C982e254ef05a0DE,18 +1626,GNFT-6C2b,GNFT,GNFT,0xc502002aEB1b9309FcCb016adF50507987Fc6C2b,18 +1627,TATE-3b64,TATE,TATE,0xa589d8868607b8d79eE4288ce192796051263b64,18 +1628,DTUBE-9C24,DTUBE,DTUBE,0xd2be3722B17b616c51ed9B8944A227D1ce579C24,2 +1629,TOAD-eD1e,TOAD,TOAD,0xBfB2b6870501a6Ff17121D676A0A45a38c9eeD1e,9 +1630,AW3-Ea07,AW3,AW3,0xCc09F34Accdb36ee3ED98358A3B8a6AE5C29Ea07,18 +1631,WEB3-e601,WEB3,WEB3,0xe8e8486228753E01Dbc222dA262Aa706Bd67e601,18 +1632,INJ-ca30,INJ,INJ,0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30,18 +1633,ZZ-55ad,ZZ,ZZ,0xC91a71A1fFA3d8B22ba615BA1B9c01b2BBBf55ad,18 +1634,BB-A-WETH-374a,BB-A-WETH,BB-A-WETH,0x60D604890feaa0b5460B28A424407c24fe89374a,18 +1635,DON-c88a,DON,DON,0x217ddEad61a42369A266F1Fb754EB5d3EBadc88a,18 +1636,SWITCH-1338,SWITCH,SWITCH,0xb10cc888cB2CcE7036F4c7ECAd8a57Da16161338,8 +1637,DAPPX-883C,DAPPX,DAPPX,0x00d8318E44780EdEEFcF3020A5448F636788883C,18 +1638,MEZZ-4bC3,MEZZ,MEZZ,0xC4c346eDc55504574cCEB00AA1091d22404A4bC3,18 +1639,GSWAP-f8B2,GSWAP,GSWAP,0xaac41EC512808d64625576EDdd580e7Ea40ef8B2,18 +1640,DFIAT-89F0,DFIAT,DFIAT,0x1045F5cCb01DAEA4f8eaB055F5FcBB7C0E7c89F0,18 +1641,AVI-a7fe,AVI,AVI,0xd2bDaAF2b9cc6981fd273DcB7C04023bFbe0a7fe,18 +1642,UDO-dC06,UDO,UDO,0xea3983Fc6D0fbbC41fb6F6091f68F3e08894dC06,18 +1643,GEM-201f,GEM,GEM,0xc7BbA5b765581eFb2Cdd2679DB5Bea9eE79b201f,18 +1644,VCORE-9feb,VCORE,VCORE,0x733B5056a0697e7a4357305FE452999a0C409feb,18 +1645,LORDS-18b0,LORDS,LORDS,0x686f2404e77Ab0d9070a46cdfb0B7feCDD2318b0,18 +1646,PDEX-Aaea,PDEX,PDEX,0xF59ae934f6fe444afC309586cC60a84a0F89Aaea,18 +1647,IXS-d1b4,IXS,IXS,0x73d7c860998CA3c01Ce8c808F5577d94d545d1b4,18 +1648,ETHX-c16A,ETHX,ETHX,0x21eAD867C8c5181854f6f8Ce71f75b173d2Bc16A,18 +1649,BSP-24D3,BSP,BSP,0xE51b8Ab09008285a0380Dd2680cD9Dd5e13924D3,18 +1650,MEF-803F,MEF,MEF,0xCA5001bC5134302Dbe0F798a2d0b95Ef3cF0803F,18 +1651,PRQ-d7D2,PRQ,PRQ,0x362bc847A3a9637d3af6624EeC853618a43ed7D2,18 +1652,ABUSD-23D9,ABUSD,ABUSD,0xA361718326c15715591c299427c62086F69923D9,18 +1653,JASMY-03EC,JASMY,JASMY,0x7420B4b9a0110cdC71fB720908340C03F9Bc03EC,18 +1654,KALE-5be5,KALE,KALE,0x508626d9a29D13EbA26F843A2BD7bF7b00a45be5,18 +1655,STARS-13Ca,STARS,STARS,0xc55c2175E90A46602fD42e931f62B3Acc1A013Ca,18 +1656,SILKROAD-52a1,SILKROAD,SILKROAD,0x1142866f451d9d5281C5C8349a332bD338e552a1,18 +1657,YVLINK-30B2,YVLINK,YVLINK,0x671a912C10bba0CFA74Cfc2d6Fba9BA1ed9530B2,18 +1658,USDF-c8aA,USDF,USDF,0x51acB1ea45c1EC2512ae4202B9076C13016dc8aA,6 +1659,BUY-FA96,BUY,BUY,0x31Fdd1c6607F47C14a2821f599211c67AC20FA96,18 +1660,MSWAP-BDc6,MSWAP,MSWAP,0x4bE2b2C45b432BA362f198c08094017b61E3BDc6,18 +1661,GODBOT-3812,GODBOT,GODBOT,0x5579699A6E1Da7D924D3bFdE38a427be5fC93812,9 +1662,HOLA-D2C7,HOLA,HOLA,0x5BffE8DdFF21cA52D8371B14a6c39D6ae3C5D2C7,18 +1663,MPH-Aa38,MPH,MPH,0x6369c3DadfC00054A42BA8B2c09c48131dd4Aa38,18 +1664,ABAL-4576,ABAL,ABAL,0x272F97b7a56a387aE942350bBC7Df5700f8a4576,18 +1665,WPR-15d4,WPR,WPR,0x4CF488387F035FF08c371515562CBa712f9015d4,18 +1666,FOY-4d76,FOY,FOY,0xAf91E8aFbe87642dC628786188a54B78580A4d76,18 +1667,AD-13C7,AD,AD,0xe973E453977195422B48e1852A207b7eE9C913C7,18 +1668,GCR-c661,GCR,GCR,0x6307B25A665Efc992EC1C1bC403c38F3dDd7c661,4 +1669,BLOCKS-24eB,BLOCKS,BLOCKS,0x8a6D4C8735371EBAF8874fBd518b56Edd66024eB,18 +1670,YSHORI-d69b,YSHORI,YSHORI,0x25644eA5bE09d1266B5df3F96559Ecdc2D0ad69b,18 +1671,FDAI-1387,FDAI,FDAI,0x244517Dc59943E8CdFbD424Bdb3262c5f04a1387,6 +1672,TERA2-3231,TERA2,TERA2,0x33909C9CE97Ce509daB3A038B3eC7ac3d1Be3231,4 +1673,KITTYDINGER-3BC6,KITTYDINGER,KITTYDINGER,0x2C33B28527A63Cdf13C0B24Ce4cf5BF9C9fB3BC6,9 +1674,PPDEX-0cf7,PPDEX,PPDEX,0xf1F508c7C9f0d1b15a76fbA564eEf2d956220cf7,18 +1675,LIF3-8A2c,LIF3,LIF3,0x7138Eb0d563f3F6722500936A11DcAe99D738A2c,18 +1676,XMT-721e,XMT,XMT,0x3E5D9D8a63CC8a88748f229999CF59487e90721e,18 +1677,LM-ee9D,LM,LM,0xc064F4F215B6A1E4e7F39bD8530C4dE0fC43ee9D,18 +1678,MATIC-eBB0,MATIC,MATIC,0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0,18 +1679,PIG20-e32B,PIG20,PIG20,0xb2114E5420927932666A5C5Bd1ac4e14d9EDe32B,9 +1680,TEM-2a12,TEM,TEM,0xaE0585a259A3BCAB258D6EE02FB583f7B33C2a12,18 +1681,BARA-8BCf,BARA,BARA,0xF190dbD849E372FF824e631a1FdF199f38358BCf,18 +1682,SHIB05-dE1b,SHIB05,SHIB05,0x8Eb94A06b4716093DBfE335cbdb098DEb2dcdE1b,18 +1683,FXF-0f12,FXF,FXF,0x8a40c222996f9F3431f63Bf80244C36822060f12,18 +1684,AEDY-E16B,AEDY,AEDY,0x103bb3EBc6F61b3DB2d6e01e54eF7D9899A2E16B,18 +1685,MINI-44EC,MINI,MINI,0x4D953cf077c0C95Ba090226E59A18FcF97db44EC,18 +1686,ALPHR-58e0,ALPHR,ALPHR,0xaa99199d1e9644b588796F3215089878440D58e0,18 +1687,LOCG-27d0,LOCG,LOCG,0x60Eb57d085C59932d5fAa6c6026268A4386927d0,18 +1688,TICKR-0d24,TICKR,TICKR,0xf0a163a26601D9dc8Aef26b388Eadb7B1c620d24,9 +1689,KOL-d414,KOL,KOL,0x1CC30e2EAc975416060Ec6FE682041408420d414,18 +1690,PIF-6513,PIF,PIF,0xB30F5d11b94efBBfDeaa4de38eDFFCeEc0bE6513,18 +1691,ALD-2a8D,ALD,ALD,0xb26C4B3Ca601136Daf98593feAeff9E0CA702a8D,18 +1692,BIGSB-b6F6,BIGSB,BIGSB,0x131157c6760f78f7dDF877C0019Eba175BA4b6F6,18 +1693,COOK-6eF5,COOK,COOK,0xFF75CEd57419bcaEBe5F05254983b013B0646eF5,18 +1694,SUB-E63a,SUB,SUB,0x8D75959f1E61EC2571aa72798237101F084DE63a,18 +1695,CVT-52Ed,CVT,CVT,0x24B47299E756aF0571F512232A3629E0DaBb52Ed,18 +1696,HFT-cADC,HFT,HFT,0xb3999F658C0391d94A37f7FF328F3feC942BcADC,18 +1697,DOGC-58B6,DOGC,DOGC,0xda8263d8ce3F726233f8b5585bcb86a3120a58B6,18 +1698,SPIZ-6c2d,SPIZ,SPIZ,0xa7A5c1058194Af8F00c187adB7FcC0c95f1C6c2d,18 +1699,USDTSO-7B7C,USDTSO,USDTSO,0x1CDD2EaB61112697626F7b4bB0e23Da4FeBF7B7C,6 +1700,ARCAI-b5E9,ARCAI,ARCAI,0x5c8190b76E90B4DD0702740cF6Eb0F7eE01Ab5E9,9 +1701,OLE-aB7e,OLE,OLE,0x92CfbEC26C206C90aeE3b7C66A9AE673754FaB7e,18 +1702,HANKEY-932c,HANKEY,HANKEY,0x0383E1C4AF6FEd9f127E901ca982fA61333e932c,18 +1703,MBASE-91AA,MBASE,MBASE,0xbA3E5F8b4200a5eb856FF2C3E001aB29444491AA,18 +1704,CVXFXS-df74,CVXFXS,CVXFXS,0xFEEf77d3f69374f66429C91d732A244f074bdf74,18 +1705,TAI-2c5F,TAI,TAI,0x267eB2A9a13DC304a9dEFf4277abE850d0852c5F,8 +1706,FFRAX-978B,FFRAX,FFRAX,0x1C9A2d6b33B4826757273D47ebEe0e2DddcD978B,8 +1707,DODO-4DDd,DODO,DODO,0x43Dfc4159D86F3A37A5A4B3D4580b888ad7d4DDd,18 +1708,CAST-65FC,CAST,CAST,0x3FAb0bBAa03BCEAF7C49E2b12877dB0142BE65FC,8 +1709,RMATIC-E34B,RMATIC,RMATIC,0x3DBB00c9bE5A327E25CAf4f650844C5DbA81E34B,18 +1710,GLCH-D564,GLCH,GLCH,0x038a68FF68c393373eC894015816e33Ad41BD564,18 +1711,MPS-D47D,MPS,MPS,0x96c645D3D3706f793Ef52C19bBACe441900eD47D,0 +1712,BIOT-25EB,BIOT,BIOT,0xc07A150ECAdF2cc352f5586396e344A6b17625EB,9 +1713,SANI-342F,SANI,SANI,0x4521C9aD6A3D4230803aB752Ed238BE11F8B342F,18 +1714,1SOL-6214,1SOL,1SOL,0x009178997aFf09A67D4cACcFeB897Fb79d036214,18 +1715,ADS-d22A,ADS,ADS,0xcfcEcFe2bD2FED07A9145222E8a7ad9Cf1Ccd22A,11 +1716,BIPS-dfeE,BIPS,BIPS,0x5Cb888182fBfFdb62C08fb4B5a343914F00FdfeE,18 +1717,ICHI-A881,ICHI,ICHI,0x903bEF1736CDdf2A537176cf3C64579C3867A881,9 +1718,KDAG-603a,KDAG,KDAG,0x95E40E065AFB3059dcabe4aaf404c1F92756603a,18 +1719,SUZUME-7E43,SUZUME,SUZUME,0x0B452278223D3954F4AC050949D7998e373e7E43,18 +1720,UNIFI-CEb5,UNIFI,UNIFI,0x9E78b8274e1D6a76a0dBbf90418894DF27cBCEb5,18 +1721,SHINJI-0afd,SHINJI,SHINJI,0x1F31DD60b84ea2a273cfC56876437E069aE80afd,9 +1722,SQGL-d9cf,SQGL,SQGL,0x8d137e3337eb1B58A222Fef2B2Cc7C423903d9cf,18 +1723,EM-1082,EM,EM,0x35b08722AA26bE119c1608029CcbC976ac5C1082,8 +1724,BPLC-21b4,BPLC,BPLC,0x426FC8BE95573230f6e6bc4af91873F0c67b21b4,18 +1725,RUSH-9eC7,RUSH,RUSH,0x382A1667C9062F0621362F49076Ef6e4fE4C9eC7,18 +1726,RAS-C3EF,RAS,RAS,0x19dd1Cc08a8Bdb124a3f57A364f1D72b7a19C3EF,18 +1727,CRI-3E4d,CRI,CRI,0x12E951934246186F50146235d541D3bD1D463E4d,18 +1728,LUNCH-e7e0,LUNCH,LUNCH,0x71a28feAEe902966DC8D355e7B8Aa427D421e7e0,18 +1729,POP-2a48,POP,POP,0x265F542C1E78068F13d87C6fE0df54f3e9562a48,9 +1730,HANU-BCC0,HANU,HANU,0x72E5390EDb7727E3d4e3436451DADafF675dBCC0,12 +1731,RADAR-4DbE,RADAR,RADAR,0x44709a920fCcF795fbC57BAA433cc3dd53C44DbE,18 +1732,DKUMA-A3a8,DKUMA,DKUMA,0x3f5dd1A1538a4F9f82E543098f01F22480B0A3a8,18 +1733,TERA-b84D,TERA,TERA,0x009668A9691e456972c8ec4Cc84e99486308b84D,18 +1734,XNL-A833,XNL,XNL,0x06A00715E6F92210Af9d7680B584931FAF71A833,18 +1735,XRP-e6cc,XRP,XRP,0xb1C064C3f2908F741C9dEA4AFC5773238B53e6cc,9 +1736,WALLY-1B58,WALLY,WALLY,0x7c3ED93b03e67C1fA240395B28E38c4386321B58,9 +1737,WOLVERINU-5f14,WOLVERINU,WOLVERINU,0x7Cc97Bf17C5AdaBe25F9D19D15A1eC8A1ad65f14,18 +1738,LPT-B239,LPT,LPT,0x58b6A8A3302369DAEc383334672404Ee733aB239,18 +1739,STORJ-b8aC,STORJ,STORJ,0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC,8 +1740,MOETA-a55B,MOETA,MOETA,0x238A1FcC2F65ed50c1e1797cF5857CBA3E82a55B,9 +1741,RSC-F571,RSC,RSC,0xD101dCC414F310268c37eEb4cD376CcFA507F571,18 +1742,FDZ-DED9,FDZ,FDZ,0x23352036E911A22Cfc692B5E2E196692658ADED9,18 +1743,MTE-db95,MTE,MTE,0x159cDAF78bE31E730d9E1330adFcfBb79a5fdb95,18 +1744,GOLD-6817,GOLD,GOLD,0x40d1F63B5D2048e67E9bEdB1B4c2F1A9fb4b6817,18 +1745,UUSDC-9cAB,UUSDC,UUSDC,0xBc5991cCd8cAcEba01edC44C2BB9832712c29cAB,6 +1746,METAL-6eab,METAL,METAL,0x294559FA758C88D639Fd085751e463FEe7806eab,18 +1747,ICSMMT-39cD,ICSMMT,ICSMMT,0xc30FBa978743a43E736fc32FBeEd364b8A2039cD,18 +1748,VAI-395c,VAI,VAI,0xD13cfD3133239a3c73a9E535A5c4DadEE36b395c,18 +1749,POOL-844e,POOL,POOL,0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e,18 +1750,XFUND-7881,XFUND,XFUND,0x892A6f9dF0147e5f079b0993F486F9acA3c87881,9 +1751,PEPEXL-22ed,PEPEXL,PEPEXL,0xDDd5592CF4759313C649eB4e624a79541Ed222ed,18 +1752,WAGMI-3a67,WAGMI,WAGMI,0x92CC36D66e9d739D50673d1f27929a371FB83a67,18 +1753,THOL-0618,THOL,THOL,0x207e14389183A94343942de7aFbC607F57460618,18 +1754,0XGAS-9E79,0XGAS,0XGAS,0x994A258c7Dec633b5b15376f850D5Ea701179E79,18 +1755,USDP-C925,USDP,USDP,0x1456688345527bE1f37E9e627DA0837D6f08C925,18 +1756,BXR-D695,BXR,BXR,0x97A3BD8a445cC187c6A751F392e15C3B2134D695,18 +1757,MAPS-5a64,MAPS,MAPS,0x9A6aeA7C2b0D563EaB701E3255110d30F08B5a64,8 +1758,REV-Edc9,REV,REV,0x2ef52Ed7De8c5ce03a4eF0efbe9B7450F2D7Edc9,6 +1759,INTX-0AE2,INTX,INTX,0x7533D63A2558965472398Ef473908e1320520AE2,9 +1760,MIM-17F3,MIM,MIM,0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3,18 +1761,PHONON-03Ec,PHONON,PHONON,0x758B4684BE769E92eeFeA93f60DDA0181eA303Ec,18 +1762,OCTO-F9C7,OCTO,OCTO,0x52DeC19Feef469d7a683963b7380eCd0b1afF9C7,18 +1763,1MIL-A016,1MIL,1MIL,0xa4eF4b0B23C1fc81d3f9ecF93510e64f58A4A016,18 +1764,DOLA-9ce4,DOLA,DOLA,0x865377367054516e17014CcdED1e7d814EDC9ce4,18 +1765,BULLET-54B6,BULLET,BULLET,0x8ef32a03784c8Fd63bBf027251b9620865bD54B6,8 +1766,SGTV2-EcDD,SGTV2,SGTV2,0x24C19F7101c1731b85F1127EaA0407732E36EcDD,18 +1767,BLACK-Dbe2,BLACK,BLACK,0xd714d91A169127e11D8FAb3665d72E8b7ef9Dbe2,18 +1768,HORD-3448,HORD,HORD,0x43A96962254855F16b925556f9e97BE436A43448,18 +1769,NXRA-EF9e,NXRA,NXRA,0x644192291cc835A93d6330b24EA5f5FEdD0eEF9e,18 +1770,SHIELD-2f68,SHIELD,SHIELD,0xd8B90D2e680ea535eAcCe1b025c998B347892f68,18 +1771,OLY-Fb1f,OLY,OLY,0x6595b8fD9C920C81500dCa94e53Cdc712513Fb1f,18 +1772,KUMA-3E02,KUMA,KUMA,0x48C276e8d03813224bb1e55F953adB6d02FD3E02,18 +1773,PSDNOCEAN-929E,PSDNOCEAN,PSDNOCEAN,0x51Fa2efd62ee56a493f24AE963eAce7D0051929E,18 +1774,ORBS-B0FA,ORBS,ORBS,0xff56Cc6b1E6dEd347aA0B7676C85AB0B3D08B0FA,18 +1775,ASTA-8AF5,ASTA,ASTA,0xf2ddae89449b7D26309a5D54614B1FC99C608AF5,18 +1776,BLZ-D668,BLZ,BLZ,0x5732046A883704404F284Ce41FfADd5b007FD668,18 +1777,CENT-35bc,CENT,CENT,0x08ba718F288c3b12B01146816bef9FA03cC635bc,18 +1778,SONIC-0ee5,SONIC,SONIC,0xd1cD47746B8e72359b28C1c84a4F6a19dc1A0ee5,18 +1779,FOXE-F14d,FOXE,FOXE,0x378E1BE15BE6d6D1f23Cfe7090b6a77660dBF14d,18 +1780,DIGITS-404F,DIGITS,DIGITS,0xBE56ab825fD35678A32dc35bc4EB17e238e1404F,18 +1781,MIR-E608,MIR,MIR,0x09a3EcAFa817268f77BE1283176B946C4ff2E608,18 +1782,VIDY-B5E8,VIDY,VIDY,0xC77b230F31b517F1ef362e59c173C2BE6540B5E8,18 +1783,SPAY-f3c5,SPAY,SPAY,0x58FaD9E3C3AE54c9BA98c3f0E4bF88aB3E8Cf3c5,18 +1784,GSC-E80C,GSC,GSC,0x228ba514309FFDF03A81a205a6D040E429d6E80C,18 +1785,BRIDGE-5223,BRIDGE,BRIDGE,0x92868A5255C628dA08F550a858A802f5351C5223,18 +1786,LSDAI-9E91,LSDAI,LSDAI,0xe1A70B24E109F7A8b39806c554E123Efc6769E91,18 +1787,HONK-eD38,HONK,HONK,0x5efcEA234f7547de4569aad1215FA5D2adACeD38,18 +1788,INX-Eae3,INX,INX,0xBBC7f7A6AADAc103769C66CBC69AB720f7F9Eae3,18 +1789,NUX-911c,NUX,NUX,0x89bD2E7e388fAB44AE88BEf4e1AD12b4F1E0911c,18 +1790,ZION-190e,ZION,ZION,0x3DA434F76226b9489ED4277eb6fDccdf03FF190e,18 +1791,SIFU-C313,SIFU,SIFU,0x29127fE04ffa4c32AcAC0fFe17280ABD74eAC313,18 +1792,UNKMAV-cF34,UNKMAV,UNKMAV,0x04506DDDBF689714487f91Ae1397047169afcF34,18 +1793,HVN-2D9D,HVN,HVN,0xC0Eb85285d83217CD7c891702bcbC0FC401E2D9D,8 +1794,BPEPE-BB8f,BPEPE,BPEPE,0x02a739710d5E469ffca483f898EE9aea27b8BB8f,18 +1795,KEK-6a82,KEK,KEK,0x67954768E721FAD0f0f21E33e874497C73ED6a82,18 +1796,BHIGH-DF7a,BHIGH,BHIGH,0x20C64dEE8FdA5269A78f2D5BDBa861CA1d83DF7a,18 +1797,FRETH-0374,FRETH,FRETH,0xB4Bd4628e6EFb0Cb521D9ec35050C75840320374,18 +1798,WUSD-EFa5,WUSD,WUSD,0x068E3563b1c19590F822c0e13445c4FA1b9EEFa5,18 +1799,PAN-4c92,PAN,PAN,0x536381a8628dBcC8C70aC9A30A7258442eAb4c92,8 +1800,SRC-4e4b,SRC,SRC,0x16587cF43F044aBa0165ffA00AcF412631194e4b,18 +1801,PHUNK-Ae91,PHUNK,PHUNK,0xB39185e33E8c28e0BB3DbBCe24DA5dEA6379Ae91,18 +1802,REVIVE-E725,REVIVE,REVIVE,0x3F17f64F682019599ba51638f74E4b6C127FE725,18 +1803,OMIKAMI-AbD3,OMIKAMI,OMIKAMI,0x9e18d5BAB2FA94a6A95F509Ecb38F8F68322AbD3,9 +1804,RBIS-9D7D,RBIS,RBIS,0xf34B1Db61ACa1a371fE97BAd2606c9f534fb9D7D,18 +1805,MORI-762C,MORI,MORI,0x00c8555542158Fff0FEb892c8e000a8D1831762C,18 +1806,XCUR-86bd,XCUR,XCUR,0xE1c7E30C42C24582888C758984f6e382096786bd,8 +1807,SETS-cF59,SETS,SETS,0x04E0Af0af1b7f0023c6B12af5a94Df59B0e8cF59,18 +1808,SONO-4bF3,SONO,SONO,0x0D15009896EfE9972F8E086bdD3BcBa5c1f74bF3,8 +1809,YOURWALLET-C429,YOURWALLET,YOURWALLET,0xDa70FBaC9e1C9Ac3475c24A3A847f85f1388C429,18 +1810,SPRING-d4FE,SPRING,SPRING,0xf04aF3f4E4929F7CD25A751E6149A3318373d4FE,18 +1811,WILD-0e34,WILD,WILD,0x2a3bFF78B79A009976EeA096a51A948a3dC00e34,18 +1812,BHNY-0844,BHNY,BHNY,0xCc802c45B55581713cEcd1Eb17BE9Ab7fcCb0844,18 +1813,DIONE-D697,DIONE,DIONE,0x89B69F2d1adffA9A253d40840B6Baa7fC903D697,9 +1814,BILLY-eF26,BILLY,BILLY,0x9CBf044bc535db4C93a9F11205A69631d9DCeF26,18 +1815,ZENF-c1A5,ZENF,ZENF,0xE9b7B5D5e8d2BCC78884F9F9099bfA42A9e5c1A5,18 +1816,TELE-1674,TELE,TELE,0xF1e345Ea7c33fd6c05F5512a780Eb5839EE31674,18 +1817,HPO-1a84,HPO,HPO,0xa0ED3C520dC0632657AD2EaaF19E26C4fD431a84,18 +1818,NII-bE52,NII,NII,0x7c8155909cd385F120A56eF90728dD50F9CcbE52,15 +1819,MOC-4E68,MOC,MOC,0x865ec58b06bF6305B886793AA20A2da31D034E68,18 +1820,-Ff24,,,0xe4eFDd2eb216A4620cfA55c5cC67Bd09DC64Ff24,9 +1821,PYR-9682,PYR,PYR,0x430EF9263E76DAE63c84292C3409D61c598E9682,18 +1822,BABYPEPE-877D,BABYPEPE,BABYPEPE,0x69cd13d248830602A60B1f20ab11F5049385877D,18 +1823,NVG-D54E,NVG,NVG,0x08F40811C7d6C013744166f3d4CB1A9A92D3D54E,18 +1824,KIT-B4F4,KIT,KIT,0x7866E48C74CbFB8183cd1a929cd9b95a7a5CB4F4,18 +1825,HOBBES-954A,HOBBES,HOBBES,0xB475332D25d34b59176F5c1D94cb9Bc9B5E3954A,9 +1826,CTLS-D94d,CTLS,CTLS,0xdbecDd726f6ad8e24aFc78fe3cC8eb7B73C2D94d,18 +1827,CNG-44bf,CNG,CNG,0x5C1d9aA868a30795F92fAe903eDc9eFF269044bf,18 +1828,G-7380,G,G,0xE1005BfBBC9A17d5d844C7a4371CBF6B2B387380,8 +1829,NOW-693b,NOW,NOW,0xE9A95d175a5f4C9369f3b74222402eB1b837693b,8 +1830,BROCK-B493,BROCK,BROCK,0xde67d97b8770dC98C746A3FC0093c538666eB493,9 +1831,X8X-fa4c,X8X,X8X,0x910Dfc18D6EA3D6a7124A6F8B5458F281060fa4c,18 +1832,BABYSHIB-A588,BABYSHIB,BABYSHIB,0x00000000051b48047bE6DC0Ada6DE5c3de86A588,18 +1833,4SHIBA-984d,4SHIBA,4SHIBA,0xB04bf60E468743418E87291d7c9301a5299d984d,18 +1834,BEEP-8913,BEEP,BEEP,0x9A0Df129E798438a8aD995368bd82BaA7EEe8913,18 +1835,UNIQ-8025,UNIQ,UNIQ,0x3758e00b100876C854636eF8Db61988931BB8025,18 +1836,XEND-4903,XEND,XEND,0xE4CFE9eAa8Cdb0942A80B7bC68fD8Ab0F6D44903,18 +1837,HIKARI-4e39,HIKARI,HIKARI,0xd4126f195a8de772EeFfa61a4aB6dd43462F4e39,18 +1838,LEMD-49fA,LEMD,LEMD,0xf45f6c8bB3d77eA762175b8f7ca4D251941649fA,18 +1839,NEPT-4130,NEPT,NEPT,0x355a824bEa1adc22733978A3748271E1bbB34130,18 +1840,WSTR-12B1,WSTR,WSTR,0xF0dC76C22139ab22618dDFb498BE1283254612B1,18 +1841,URQA-3136,URQA,URQA,0x1735Db6AB5BAa19eA55d0AdcEeD7bcDc008B3136,18 +1842,GEN-c025,GEN,GEN,0xcae3fAA4B6cF660AEF18474074949BA0948bc025,18 +1843,AXS-B28b,AXS,AXS,0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b,18 +1844,MAGE-2B15,MAGE,MAGE,0xd52AAE39a2b5CC7812F7B9450EBB61DfEf702B15,18 +1845,VNXLU-5C15,VNXLU,VNXLU,0x00fC270C9cc13e878Ab5363D00354bebF6f05C15,18 +1846,WIZARD-D8Fb,WIZARD,WIZARD,0x87931E7AD81914e7898d07c68F145fC0A553D8Fb,18 +1847,DS-13C7,DS,DS,0x607229dB773Fa901215175aEB09A3A5695F813C7,9 +1848,CHSB-35Ba,CHSB,CHSB,0xba9d4199faB4f26eFE3551D490E3821486f135Ba,8 +1849,KNDX-EFC1,KNDX,KNDX,0x7CA5af5bA3472AF6049F63c1AbC324475D44EFC1,9 +1850,HIBEANZ-8B09,HIBEANZ,HIBEANZ,0x23ddBD36547d43627afa9B42d4e9FB0515F48B09,18 +1851,MMAI-a90F,MMAI,MMAI,0xaa0c5B3567fd1bac8a2a11EB16c3F81a49eea90F,7 +1852,AURORA-7961,AURORA,AURORA,0xAaAAAA20D9E0e2461697782ef11675f668207961,18 +1853,AWBTC-1656,AWBTC,AWBTC,0x9ff58f4fFB29fA2266Ab25e75e2A8b3503311656,8 +1854,JPC-73bF,JPC,JPC,0x043827A6dCFfFb7fE21953d3BAD32A1c74bB73bF,18 +1855,YLC-8832,YLC,YLC,0x21d5678A62DFe63a47062469Ebb2fAc2817D8832,8 +1856,RIOT-2Eb4,RIOT,RIOT,0xf56408077487cB879c992909C5b5C66D68c02Eb4,18 +1857,XS-6425,XS,XS,0xd139a81D8422bb2ee1f21Ce0301e6e28e7696425,18 +1858,DIVA-818e,DIVA,DIVA,0x4B7fFCB2b92fB4890f22f62a52Fb7A180eaB818e,18 +1859,KAE-4436,KAE,KAE,0x65Def5029A0e7591e46B38742bFEdd1Fb7b24436,18 +1860,UFARM-af88,UFARM,UFARM,0x40986a85B4cFCDb054A6CBFB1210194fee51af88,18 +1861,SWAT-0809,SWAT,SWAT,0xc0F1728d9513EFC316D0E93A0758c992f88b0809,8 +1862,AAMMUNILINKWETH-8134,AAMMUNILINKWETH,AAMMUNILINKWETH,0xb8db81B84d30E2387de0FF330420A4AAA6688134,18 +1863,AAMMBPTWBTCWETH-83BD,AAMMBPTWBTCWETH,AAMMBPTWBTCWETH,0x358bD0d980E031E23ebA9AA793926857703783BD,18 +1864,SALLY-DEaF,SALLY,SALLY,0x42E70913b53cFCC38b18ffBD124E8f65C706DEaF,9 +1865,YOUC-6ceb,YOUC,YOUC,0x3D371413dd5489F3A04C07c0C2CE369c20986ceb,10 +1866,TBT-7c27,TBT,TBT,0x07Ac55797D4F43f57cA92a49E65ca582cC287c27,18 +1867,ETHEREUM-6d5c,ETHEREUM,ETHEREUM,0xC32dB1D3282e872d98f6437D3BCFa57801CA6d5c,18 +1868,CHP-7909,CHP,CHP,0x0a6E18fB2842855C3AF925310B0F50a4BfA17909,18 +1869,MACRV-190c,MACRV,MACRV,0x9dc7094530cB1bcf5442c3b9389ee386738A190c,18 +1870,TENET-7f2A,TENET,TENET,0x788D86E00ab31Db859C3d6b80d5a9375801d7f2A,18 +1871,NET-A71F,NET,NET,0x77A9B858aA8417fd318ecEE01C1d6D9fEF31A71F,18 +1872,XJP-EA0A,XJP,XJP,0x604026696fDB3C6720AE3049C46d59AC604dEA0A,18 +1873,SAIKO-9d48,SAIKO,SAIKO,0x685Fb6960Ea7F7b24F02e17c8d893B8c33239d48,9 +1874,SFG-5ce0,SFG,SFG,0x8a6ACA71A218301c7081d4e96D64292D3B275ce0,18 +1875,DMTR-4fdB,DMTR,DMTR,0x51cB253744189f11241becb29BeDd3F1b5384fdB,18 +1876,PRARE-C796,PRARE,PRARE,0x2C2f7e7C5604D162d75641256b80F1Bf6f4dC796,18 +1877,POLY-D1eC,POLY,POLY,0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC,18 +1878,LYFE-21fA,LYFE,LYFE,0xd87de4cCef2c2FE651bc4d130cb1A365248f21fA,18 +1879,QASH-37F6,QASH,QASH,0x618E75Ac90b12c6049Ba3b27f5d5F8651b0037F6,6 +1880,IDEA-FbEa,IDEA,IDEA,0x5d3a4F62124498092Ce665f865E0b38fF6F5FbEa,18 +1881,CUBT-4266,CUBT,CUBT,0xBf9e72eEb5adB8B558334c8672950B7a379D4266,18 +1882,MORPHO-0999,MORPHO,MORPHO,0x9994E35Db50125E0DF82e4c2dde62496CE330999,18 +1883,RARE-c7C8,RARE,RARE,0x93dfaf57D986B9cA77Df9376c50878E013D9c7C8,18 +1884,GFI-8D2b,GFI,GFI,0xdab396cCF3d84Cf2D07C4454e10C8A6F5b008D2b,18 +1885,SURF-2246,SURF,SURF,0x46d473a0B3eEEc9F55FADE641bC576d5bc0b2246,18 +1886,ANGLE-14c2,ANGLE,ANGLE,0x31429d1856aD1377A8A0079410B297e1a9e214c2,18 +1887,HDR-CC10,HDR,HDR,0x8CC5ABA81A610F4Fc01b42C83508CE7A59B8CC10,9 +1888,SPOT-bafE,SPOT,SPOT,0xC1f33e0cf7e40a67375007104B929E49a581bafE,9 +1889,UBX-09f3,UBX,UBX,0xF5B5eFc906513b4344EbAbCF47A04901f99F09f3,0 +1890,ARCHIVE-472C,ARCHIVE,ARCHIVE,0xC7f950271d118A5bdF250dFfc39128DCCED8472C,18 +1891,DX-41A9,DX,DX,0x973e52691176d36453868D9d86572788d27041A9,18 +1892,FAKT-dC48,FAKT,FAKT,0xC3FFbE26E9446aC52008FfC8C1191d60A12bdC48,18 +1893,CT-A452,CT,CT,0x6f2dEC5Da475333b0af4A3fFc9A33B0211A9A452,18 +1894,HELIOS-01a1,HELIOS,HELIOS,0xC6d1f1D5a46de07E73091f1c8793293B203f01a1,18 +1895,BERC-c83A,BERC,BERC,0xbC8E35221904F61b4200Ca44a08e4daC387Ac83A,18 +1896,FMB-58Ad,FMB,FMB,0x52284158E02425290f6B627Aeb5FFF65eDf058Ad,18 +1897,EYES-0c30,EYES,EYES,0x2DCA19E944453e46d9130950Ca135461b3Bc0c30,18 +1898,NFT-7042,NFT,NFT,0xcB8d1260F9c92A3A545d409466280fFdD7AF7042,18 +1899,OAP-A316,OAP,OAP,0x1788430620960F9a70e3DC14202a3A35ddE1A316,18 +1900,ZYX-839D,ZYX,ZYX,0xf974b5f9Ac9c6632FeE8b76C61B0242ce69C839D,18 +1901,MEGA-B10E,MEGA,MEGA,0x1892F6ff5FBE11c31158F8c6f6F6e33106c5B10E,18 +1902,POVCHAIN-ba3c,POVCHAIN,POVCHAIN,0x29de166064E1f9467B70bd561e516564A5A9ba3c,9 +1903,ARAI-46AF,ARAI,ARAI,0xc9BC48c72154ef3e5425641a3c747242112a46AF,18 +1904,ZEUS-B091,ZEUS,ZEUS,0xE153F65dDaf4f2234Bd56F51f546D4B493ACB091,18 +1905,RFKC-d9a9,RFKC,RFKC,0x6a1d3d36E1BE3da88A2268Ebeb1A055758bDd9a9,18 +1906,UWL-8Df5,UWL,UWL,0xdbDD6F355A37b94e6C7D32fef548e98A280B8Df5,18 +1907,HZM-49b3,HZM,HZM,0x069f967be0CA21C7D793D8C343f71e597D9a49b3,8 +1908,CRVY-0808,CRVY,CRVY,0xBc8b7Ff89EB2B73eCDD579F81424a3B582200808,18 +1909,WLITI-5f93,WLITI,WLITI,0x0b63128C40737B13647552e0C926bCFEccC35f93,18 +1910,BOA-489e,BOA,BOA,0x746DdA2ea243400D5a63e0700F190aB79f06489e,7 +1911,DOGTIC-e79A,DOGTIC,DOGTIC,0x3c79EB9d7a76F4EB7B2a5286aAcFbbD4FeAbe79A,18 +1912,DIP-cD83,DIP,DIP,0xc719d010B63E5bbF2C0551872CD5316ED26AcD83,18 +1913,WARP-Dd71,WARP,WARP,0xEd40834A13129509A89be39a9bE9C0E96A0DDd71,18 +1914,CNC-5cFC,CNC,CNC,0x9aE380F0272E2162340a5bB646c354271c0F5cFC,18 +1915,POW-9258,POW,POW,0x43Ab765ee05075d78AD8aa79dcb1978CA3079258,18 +1916,GNY-51d4,GNY,GNY,0xb1f871Ae9462F1b2C6826E88A7827e76f86751d4,18 +1917,CBK-688a,CBK,CBK,0x2e19067Cbeb38d6554d31a1a83aefc4018A1688a,18 +1918,KIF-4fAa,KIF,KIF,0x177BA0cac51bFC7eA24BAd39d81dcEFd59d74fAa,18 +1919,FLURRY-59FE,FLURRY,FLURRY,0x60F63B76E2Fc1649E57a3489162732A90ACf59FE,18 +1920,LBA-0657,LBA,LBA,0xfe5F141Bf94fE84bC28deD0AB966c16B17490657,18 +1921,NOTE-3eD5,NOTE,NOTE,0xCFEAead4947f0705A14ec42aC3D44129E1Ef3eD5,8 +1922,EDR-0A0F,EDR,EDR,0xc528c28FEC0A90C083328BC45f587eE215760A0F,18 +1923,PINE-3a51,PINE,PINE,0x569424c5EE13884A193773fDC5d1c5f79C443a51,18 +1924,TEST-4338,TEST,TEST,0x807534B396919783B7e30383Fe57D857BC084338,18 +1925,VRA-7255,VRA,VRA,0xF411903cbC70a74d22900a5DE66A2dda66507255,18 +1926,FROGEX-Def1,FROGEX,FROGEX,0x5fA54fdDF1870C344DbFaBb37dFab8700Ec0Def1,9 +1927,CRYN-10DB,CRYN,CRYN,0xC31CEBf8F9E825d1D1244D73d0a65e44bD5210DB,8 +1928,BP-8b94,BP,BP,0xdF290B162a7D3E0A328cF198308D421954f08b94,18 +1929,SNOW-79AE,SNOW,SNOW,0xfe9A29aB92522D14Fc65880d817214261D8479AE,18 +1930,BOX-007f,BOX,BOX,0x63f584FA56E60e4D0fE8802b27C7e6E3b33E007f,18 +1931,BOOP-3Ce1,BOOP,BOOP,0x8013266cb5c9dd48bE3Ad7D1CE832874d64B3Ce1,18 +1932,XCAD-6Aa0,XCAD,XCAD,0x7659CE147D0e714454073a5dd7003544234b6Aa0,18 +1933,CYL-7c47,CYL,CYL,0x26CB3641aaA43911f1D4cB2ce544eb652AAc7c47,18 +1934,BAS-5287,BAS,BAS,0x106538CC16F938776c7c180186975BCA23875287,18 +1935,LEVL-f13a,LEVL,LEVL,0x09970aec766b6f3223aCA9111555E99DC50Ff13a,18 +1936,FXN-Bb09,FXN,FXN,0x365AccFCa291e7D3914637ABf1F7635dB165Bb09,18 +1937,QUICK-6F2f,QUICK,QUICK,0x6c28AeF8977c9B773996d0e8376d2EE379446F2f,18 +1938,SWAP-4EFe,SWAP,SWAP,0xCC4304A31d09258b0029eA7FE63d032f52e44EFe,18 +1939,GHD-fDa9,GHD,GHD,0x3b544e6fcf6C8dCE9D8B45A4FdF21C9B02f9fDa9,18 +1940,SWT-c29A,SWT,SWT,0x1f05DeE43dF9fd0Cd7F4b011B20b04870a30c29A,18 +1941,ATC-c3CD,ATC,ATC,0x0eb3032bcAc2BE1fa95E296442F225edb80fc3CD,18 +1942,WPEPE-da37,WPEPE,WPEPE,0xb2fd1E0478Dbf61772996bcCE8A2F1151EEeda37,18 +1943,BMP-0541,BMP,BMP,0x01b23286FF60a543ec29366aE8D6B6274cA20541,18 +1944,EGP-A9Ae,EGP,EGP,0x4eeA955F63D7e24Ea7272651a29c7C70F7c2A9Ae,18 +1945,ETHIX-0D3e,ETHIX,ETHIX,0xFd09911130e6930Bf87F2B0554c44F400bD80D3e,18 +1946,CRPT-6d8B,CRPT,CRPT,0x08389495D7456E1951ddF7c3a1314A4bfb646d8B,18 +1947,B2M-0a1f,B2M,B2M,0xd7c302fc3ac829C7E896a32c4Bd126f3e8Bd0a1f,18 +1948,WOOFIE-6929,WOOFIE,WOOFIE,0x76F187059039c13a93D43B6B6dc929F5f9806929,18 +1949,AGB-EF8e,AGB,AGB,0xBddF903F43dC7d9801F3F0034bA306169074EF8e,18 +1950,CONI-8d82,CONI,CONI,0x4561de8e0C2bbA725d38D266EF62426e62678d82,18 +1951,MBET-4df5,MBET,MBET,0x78D448A1D1FEDAa3e916F467568e86081E0f4df5,18 +1952,MADAPE-4d8F,MADAPE,MADAPE,0x81EF51FcE2b14874CB840515faCf5BE667ea4d8F,18 +1953,WHL-a46A,WHL,WHL,0x2aF72850c504dDD3c1876C66a914cAee7Ff8a46A,18 +1954,BLOB-E1aD,BLOB,BLOB,0x2eA6CC1ac06fdC01b568fcaD8D842DEc3F2CE1aD,18 +1955,SAITAMA-5946,SAITAMA,SAITAMA,0x930ae5999210724248b36265e8D3696128115946,8 +1956,COT-9ff8,COT,COT,0x5c872500c00565505F3624AB435c222E558E9ff8,18 +1957,DHT-Fa84,DHT,DHT,0xca1207647Ff814039530D7d35df0e1Dd2e91Fa84,18 +1958,CHAMPZ-1c7A,CHAMPZ,CHAMPZ,0x571E21a545842C6CE596663cdA5CaA8196AC1c7A,8 +1959,YVWBTC-6C7E,YVWBTC,YVWBTC,0xA696a63cc78DfFa1a63E9E50587C197387FF6C7E,8 +1960,BB-A-WETH-459E,BB-A-WETH,BB-A-WETH,0xbB6881874825E60e1160416D6C426eae65f2459E,18 +1961,ARNX-e283,ARNX,ARNX,0x0C37Bcf456bC661C14D596683325623076D7e283,18 +1962,ART-B9C6,ART,ART,0x570936840fA942C96ca4C57A170dDa494DD9B9C6,18 +1963,YGG-CF73,YGG,YGG,0x25f8087EAD173b73D6e8B84329989A8eEA16CF73,18 +1964,PSPS-DE78,PSPS,PSPS,0x03049b395147713ae53C0617093675B4b86dDE78,18 +1965,ESG-b9a9,ESG,ESG,0x20cD2E7Ec8F5d8b337fe46a4F565Ccef1561b9a9,18 +1966,BFLY-c063,BFLY,BFLY,0xf680429328caaaCabee69b7A9FdB21a71419c063,18 +1967,CWD-3b3D,CWD,CWD,0x374fB05c96c36348b92E38fB088b26B8511e3b3D,18 +1968,EMAX-7FF6,EMAX,EMAX,0x15874d65e649880c2614e7a480cb7c9A55787FF6,18 +1969,SEELE-cC43,SEELE,SEELE,0xB1e93236ab6073fdAC58adA5564897177D4bcC43,18 +1970,TAU-8589,TAU,TAU,0xd26b94dBf1bBC840774b9D6Ba7a0B9145d118589,9 +1971,TPT-fAe1,TPT,TPT,0x4161725D019690a3E0de50f6bE67b07a86A9fAe1,4 +1972,VDG-d711,VDG,VDG,0x57C75ECCc8557136D32619a191fBCDc88560d711,0 +1973,WZM-e2F8,WZM,WZM,0xD15A1A2A3211b58113e45809f05934252E34e2F8,18 +1974,0XMR-EDDF,0XMR,0XMR,0x035dF12E0F3ac6671126525f1015E47D79dFEDDF,18 +1975,SOS-aEe0,SOS,SOS,0x3b484b82567a09e2588A13D54D032153f0c0aEe0,18 +1976,SDEX-BEeF,SDEX,SDEX,0x5DE8ab7E27f6E7A1fFf3E5B337584Aa43961BEeF,18 +1977,BZZ-F8Cb,BZZ,BZZ,0x19062190B1925b5b6689D7073fDfC8c2976EF8Cb,16 +1978,FLC-64F1,FLC,FLC,0x32C4ADB9cF57f972bc375129de91C897b4F364F1,18 +1979,HIUNDEAD-9293,HIUNDEAD,HIUNDEAD,0x70d0ff0d3b3F5E69220c09bEFC70606Fa5F89293,18 +1980,BABYSAITAMA-f045,BABYSAITAMA,BABYSAITAMA,0xf79F9020560963422eCC9C0c04D3a21190BBf045,9 +1981,TOPIA-40C3,TOPIA,TOPIA,0xcccCb68e1A848CBDB5b60a974E07aAE143ed40C3,18 +1982,RAIL-A33D,RAIL,RAIL,0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D,18 +1983,MAXX-3354,MAXX,MAXX,0x966e770030209C95F974f37Edbde65D98e853354,18 +1984,CARDS-52d9,CARDS,CARDS,0x3d6F0DEa3AC3C607B3998e6Ce14b6350721752d9,18 +1985,OCD-Ddc7,OCD,OCD,0x017E9Db34fC69Af0dC7c7b4b33511226971cDdc7,18 +1986,CZRX-d407,CZRX,CZRX,0xB3319f5D18Bc0D84dD1b4825Dcde5d5f7266d407,8 +1987,SPIDERCAT-8854,SPIDERCAT,SPIDERCAT,0xf1b4Cb8Ab3146edD856Ed696c199a9a647178854,8 +1988,BULL-2d9c,BULL,BULL,0x18c1074845C389907762a71242BFE271c9da2d9c,18 +1989,MOTG-D604,MOTG,MOTG,0x171d76d931529384639BC9aad5b77b77041ED604,18 +1990,CHEX-030f,CHEX,CHEX,0x9Ce84F6A69986a83d92C324df10bC8E64771030f,18 +1991,LOGT-21Eb,LOGT,LOGT,0xba58444C8050Ed9385b7417533A73644036d21Eb,18 +1992,TRXC-7d8e,TRXC,TRXC,0xaD5Fe5B0B8eC8fF4565204990E4405B2Da117d8e,0 +1993,WJAURA-Cd1F,WJAURA,WJAURA,0x198d7387Fa97A73F05b8578CdEFf8F2A1f34Cd1F,18 +1994,MCT-5547,MCT,MCT,0x6876EbA317272FE221C67405C5e8EB3B24535547,18 +1995,SRLTY-46D0,SRLTY,SRLTY,0x142a774E8b52550E88E196CedD7A5835acB646D0,9 +1996,DLTA-D823,DLTA,DLTA,0x0000000DE40dfa9B17854cBC7869D80f9F98D823,18 +1997,BANANA-30B4,BANANA,BANANA,0x38E68A37E401F7271568CecaAc63c6B1e19130B4,18 +1998,SILK-7B23,SILK,SILK,0xB045f7f363fE4949954811b113bd56d208c67B23,8 +1999,METADOGE-62eD,METADOGE,METADOGE,0x8530b66ca3DDf50E0447eae8aD7eA7d5e62762eD,18 +2000,YCURVE-06A8,YCURVE,YCURVE,0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8,18 +2001,ELONONE-0aa2,ELONONE,ELONONE,0x97b65710D03E12775189F0D113202cc1443b0aa2,9 +2002,PPAI-D397,PPAI,PPAI,0xe616ADb3f729f6f3df19C876Eda66472a308D397,18 +2003,OXAI-Fe9d,OXAI,OXAI,0x428dca9537116148616a5A3E44035Af17238Fe9d,18 +2004,REFLEX-8Ba9,REFLEX,REFLEX,0x2F09757B222642C649f1f9d80798b0123fA18Ba9,18 +2005,PROPS-4F41,PROPS,PROPS,0x6fe56C0bcdD471359019FcBC48863d6c3e9d4F41,18 +2006,FOFO-8415,FOFO,FOFO,0x27f103f86070Cc639FEf262787a16887D22D8415,18 +2007,BETS-aa2c,BETS,BETS,0x3BcEa5A1612f50E5AAD16B741Ac473E4679Daa2c,18 +2008,SFP-a134,SFP,SFP,0x12e2b8033420270db2F3b328E32370Cb5B2Ca134,18 +2009,BAG-2548,BAG,BAG,0x70881D5c8A5950ceeDf1f1B4b5D4105718642548,18 +2010,LBXC-49eB,LBXC,LBXC,0xfFE510a92434a0Df346C5E72a3494b043Cf249eB,18 +2011,BTTY-3D0A,BTTY,BTTY,0x9cc83D580180f0d37d00e5d86ce868f73b6E3D0A,18 +2012,DSP-8F99,DSP,DSP,0x8C661806f716652B637728355cC4e2620D428F99,18 +2013,REL-05ec,REL,REL,0xb6c4267C4877BB0D6b1685Cfd85b0FBe82F105ec,18 +2014,UCT-3b79,UCT,UCT,0x6d1DC3928604b00180Bb570BdAe94b9698d33b79,18 +2015,COVER-8713,COVER,COVER,0x4688a8b1F292FDaB17E9a90c8Bc379dC1DBd8713,18 +2016,HERO-884E,HERO,HERO,0x524Ebc93BeEf838F70b4Ae54b675d3e971D5884E,9 +2017,VIDT-0875,VIDT,VIDT,0x3BE7bF1A5F23BD8336787D0289B70602f1940875,18 +2018,PEPURAI-0911,PEPURAI,PEPURAI,0x9863BcC2Fb23dfDf5fE275Aa4C5575a32A580911,18 +2019,SHIBN-B3B3,SHIBN,SHIBN,0xd346E8ADA104093ADcf5f4186087E1AD309BB3B3,18 +2020,EZ-a1eb,EZ,EZ,0x00AbA6fE5557De1a1d565658cBDdddf7C710a1eb,18 +2021,REAPER-F81c,REAPER,REAPER,0xbE9385116fBbFf5fDbAeA0b52C3003B92bE7F81c,18 +2022,ALCZ-d478,ALCZ,ALCZ,0xfed656555A88c86675D2bf01A3b7861c3f89d478,18 +2023,AIT-936C,AIT,AIT,0x79650799e7899A802cB96C0Bc33a6a8d4CE4936C,18 +2024,KEI-92f3,KEI,KEI,0xF75C7a59bCD9bd207C4Ab1BEB0b32EEd3B6392f3,8 +2025,CNNS-72e1,CNNS,CNNS,0x6c3BE406174349cfa4501654313d97e6a31072e1,18 +2026,BTB-BCDf,BTB,BTB,0x06e0feB0D74106c7adA8497754074D222Ec6BCDf,18 +2027,SINU-E0D6,SINU,SINU,0x03f813f7d066C55E3512985186df3B4E6a08E0D6,9 +2028,VOCARE-ffdc,VOCARE,VOCARE,0x4eb5124D04227f1AaB771A37E131e62f17C4ffdc,18 +2029,MEF-841E,MEF,MEF,0x64B5a241b829Bca14Eb42d00097Ba8fD8135841E,18 +2030,TPRO-4D15,TPRO,TPRO,0x3540abE4f288B280A0740ad5121aEc337c404D15,18 +2031,FVT-5e32,FVT,FVT,0x45080a6531d671DDFf20DB42f93792a489685e32,18 +2032,TBILL-7b0F,TBILL,TBILL,0xad6250f0BD49F7a1eB11063af2cE9F25B9597b0F,6 +2033,MCB-Ce42,MCB,MCB,0x4e352cF164E64ADCBad318C3a1e222E9EBa4Ce42,18 +2034,BOMB-6714,BOMB,BOMB,0x1C95b093d6C236d3EF7c796fE33f9CC6b8606714,0 +2035,EFOLIO-019E,EFOLIO,EFOLIO,0xF3bF9B3EF3867d20a5eE51244f8b374B9d5E019E,18 +2036,PEPE-f11e,PEPE,PEPE,0xA57Ed6E54be8125BBE45D6cA330E45EbB71ef11e,18 +2037,HAVOC-a850,HAVOC,HAVOC,0x9F94b198ce85C19A846C2B1a4D523f40A747a850,9 +2038,TOP-fE2b,TOP,TOP,0xdcD85914b8aE28c1E62f1C488E1D968D5aaFfE2b,18 +2039,RETH-3593,RETH,RETH,0x9559Aaa82d9649C7A7b220E7c461d2E74c9a3593,18 +2040,SPURDO-8aB7,SPURDO,SPURDO,0x59C6766de1Dc50a9c9DB86CB0461b5Ce07408aB7,8 +2041,TST-9B53,TST,TST,0xa0b93B9e90aB887E53F9FB8728c009746e989B53,18 +2042,AUXO-9B1d,AUXO,AUXO,0xff030228a046F640143Dab19be00009606C89B1d,18 +2043,SJM-Ba11,SJM,SJM,0x4448d67EA26a2Eaf286bc1045005f4CF15aaBa11,9 +2044,SRM-2a89,SRM,SRM,0x99B600D0a4abdbc4a6796225a160bCf3D5Ce2a89,18 +2045,CHFT-b0d9,CHFT,CHFT,0x58002A6B6E659A16dE9F02F529B10536E307b0d9,18 +2046,PICKLE-6239,PICKLE,PICKLE,0x3eC15c4745e21ab3831D1f51c492e3b5582d6239,18 +2047,DCHF-7A36,DCHF,DCHF,0x045da4bFe02B320f4403674B3b7d121737727A36,18 +2048,CRDC-a756,CRDC,CRDC,0xF81421fc15300c5a8CCa9aFE12F5CBAd502Fa756,18 +2049,TUSHI-cF30,TUSHI,TUSHI,0x68FfB43026CEdC070bfC01B2203d90caB62CcF30,18 +2050,JCHF-3ea0,JCHF,JCHF,0x53dfEa0A8CC2A2A2e425E1C174Bc162999723ea0,18 +2051,RHO-90Ec,RHO,RHO,0x3F3Cd642E81d030D7b514a2aB5e3a5536bEb90Ec,18 +2052,PAYB-F2A4,PAYB,PAYB,0xdCB5645eDa1ed34C5641d81b927D33EBaE9cF2A4,18 +2053,VCHF-BF4f,VCHF,VCHF,0x79d4f0232A66c4c91b89c76362016A1707CFBF4f,18 +2054,WFIO-93D5,WFIO,WFIO,0xbEA269038Eb75BdAB47a9C04D0F5c572d94b93D5,9 +2055,VACHI-BF8a,VACHI,VACHI,0x337AF08bb6980Ecb68389C5ed8876D08643aBF8a,18 +2056,GIX-B8c4,GIX,GIX,0xbD434a09191D401da3283a5545bB3515d033B8c4,18 +2057,FLOKI-827c,FLOKI,FLOKI,0x67Cc621AB2d086a101Cff3340df0A065Ac75827c,18 +2058,FBT-B983,FBT,FBT,0x4727a02269943b225A7de9ef28496f36d454B983,18 +2059,KEKYA-2328,KEKYA,KEKYA,0xc983C1bD8393Dd5c630A3D6c4Fe9E5C92E582328,18 +2060,LUCHOW-7C57,LUCHOW,LUCHOW,0xA5Ef74068d04ba0809B7379dD76Af5Ce34Ab7C57,18 +2061,MCF-4fcB,MCF,MCF,0xE33AE4E795114279721047484E5ad5cc7DF24fcB,10 +2062,BRZ-1839,BRZ,BRZ,0x01d33FD36ec67c6Ada32cf36b31e88EE190B1839,18 +2063,XFL-Ac30,XFL,XFL,0x8Ae452D9F8F08F21FF81c94260Cb85302a31Ac30,18 +2064,CHR-bAA2,CHR,CHR,0x8A2279d4A90B6fe1C4B30fa660cC9f926797bAA2,6 +2065,X7105-D105,X7105,X7105,0x7105FAA4a26eD1c67B8B2b41BEc98F06Ee21D105,18 +2066,BPT-37da,BPT,BPT,0x0eC9F76202a7061eB9b3a7D6B59D36215A7e37da,18 +2067,AZUKI-BaEd,AZUKI,AZUKI,0x910524678C0B1B23FFB9285a81f99C29C11CBaEd,18 +2068,STATE-8eB1,STATE,STATE,0x00C2999c8B2AdF4ABC835cc63209533973718eB1,18 +2069,SWM-ca39,SWM,SWM,0x3505F494c3f0fed0B594E01Fa41Dd3967645ca39,18 +2070,THALES-C3c5,THALES,THALES,0x8947da500Eb47F82df21143D0C01A29862a8C3c5,18 +2071,DOKI-7544,DOKI,DOKI,0x9cEB84f92A0561fa3Cc4132aB9c0b76A59787544,18 +2072,WATT-7fa6,WATT,WATT,0xE67F943af5Eb6051ef56f05979cc30B732717fa6,4 +2073,MIN-CF38,MIN,MIN,0x5D64D850c8368008aFB39224E92aD0DcEFf3CF38,18 +2074,GATSBY-37b4,GATSBY,GATSBY,0xE22910D04bDc9d55570f3BC52E786b49DddF37b4,18 +2075,AUSDT-5ae8,AUSDT,AUSDT,0x71fc860F7D3A592A4a98740e39dB31d25db65ae8,6 +2076,PNDC-1eea,PNDC,PNDC,0x423f4e6138E475D85CF7Ea071AC92097Ed631eea,18 +2077,MXT-B929,MXT,MXT,0x6251E725CD45Fb1AF99354035a414A2C0890B929,18 +2078,MONKED-A07F,MONKED,MONKED,0xE7AC8545E34771de3706598Abb3dB9a19af2A07F,8 +2079,NAO-53dc,NAO,NAO,0xd049206fB408a611E543791F2d8F102a8bC253dc,18 +2080,ARV-429E,ARV,ARV,0x28fDA76721a8077A5dE802Ab0212849B8c38429E,18 +2081,DBX-DAB0,DBX,DBX,0x3CBc780D2934d55A06069e837fABd3e6Fc23DAB0,18 +2082,GLG-aAf6,GLG,GLG,0xC57F1d079c862b70AA12FAAb19293F827187aAf6,18 +2083,ORBR-3766,ORBR,ORBR,0xdA30f261a962d5AAe94C9ecd170544600d193766,18 +2084,CSM-8861,CSM,CSM,0x2620638EDA99F9e7E902Ea24a285456EE9438861,18 +2085,GEKE-0c0f,GEKE,GEKE,0x471A202f69D6e975DA55E363daB1bDB2e86E0c0f,18 +2086,QLT-c87c,QLT,QLT,0x0173661769325565d4f011b2e5Cda688689Cc87c,9 +2087,BORK-5A39,BORK,BORK,0xF2d754EA7626f35090CDdf92893374bD1B2E5A39,9 +2088,COSHI-B00A,COSHI,COSHI,0x668C50B1c7f46EFFBE3f242687071d7908AAB00A,9 +2089,DUCKER-C2A5,DUCKER,DUCKER,0xF70ce9eE486106882d3dc43ddbd84E0fA71AC2A5,18 +2090,BOBC-29ce,BOBC,BOBC,0xe803178b48A0e560C2b19F3b3d4e504f79D229ce,18 +2091,IJC-05d6,IJC,IJC,0xc7fF1e126cC81e816915FF48c940ED9d4E6d05d6,18 +2092,FLY-1472,FLY,FLY,0x85f6eB2BD5a062f5F8560BE93FB7147e16c81472,4 +2093,CLAW-8cc3,CLAW,CLAW,0xe115401B985306837B9f1495c8e9d7f8f8328cc3,18 +2094,BTO-2Fb5,BTO,BTO,0x36905Fc93280f52362A1CBAB151F25DC46742Fb5,18 +2095,RICE-2Df0,RICE,RICE,0xbD9908b0Cdd50386F92efCC8e1d71766C2782Df0,18 +2096,WASSIE-6160,WASSIE,WASSIE,0x2c95D751DA37A5C1d9c5a7Fd465c1d50F3d96160,18 +2097,VOLDEMORT-E654,VOLDEMORT,VOLDEMORT,0x670eC8893DA9C339d52fA70189756a92cAfbE654,18 +2098,BNS-c2b5,BNS,BNS,0x19E2a43Fbbc643C3B2D9667D858D49cAd17bc2b5,8 +2099,EGAME-C1Ae,EGAME,EGAME,0x62d3c05b9C3d916FBC111819bbD3CEE52906C1Ae,18 +2100,FIRE-9776,FIRE,FIRE,0xB25EA095997F5bBaa6cEa962c4fBf3bfc3C09776,9 +2101,JFIN-F257,JFIN,JFIN,0x940BdCb99A0Ee5Fb008A606778AE87Ed9789F257,18 +2102,INVECTAI-2904,INVECTAI,INVECTAI,0xCAE7F3aa6D456463bEf0E5B508542b69D96f2904,8 +2103,ELA-1867,ELA,ELA,0xe6fd75ff38Adca4B97FBCD938c86b98772431867,18 +2104,BLES-31Cd,BLES,BLES,0xE796d6ca1ceb1b022EcE5296226BF784110031Cd,18 +2105,KAS-C582,KAS,KAS,0x112b08621E27e10773ec95d250604a041f36C582,8 +2106,COLR-6663,COLR,COLR,0xB2D2e1309dB33b38A19eE2A7cD9cb5de39d76663,18 +2107,MULTI-2df4,MULTI,MULTI,0x65Ef703f5594D2573eb71Aaf55BC0CB548492df4,18 +2108,DOTR-aaE3,DOTR,DOTR,0x26524e35E44e265eB181C7Ba6eC084983181aaE3,9 +2109,H-d17a,H,H,0xc6956b78e036b87Ba2aB9810BF081eb76EEDd17a,18 +2110,FLASH-20F2,FLASH,FLASH,0xC150A5841e5B0F046a46e85fb22CBD05185b20F2,18 +2111,DXF-9FB8,DXF,DXF,0x15Eabb7500E44B7Fdb6e4051cA8DecA430cF9FB8,18 +2112,RVUSD-239b,RVUSD,RVUSD,0x84777600c51996B2ce92a514FF2583B7d7C2239b,18 +2113,AXL-E5f3,AXL,AXL,0x467719aD09025FcC6cF6F8311755809d45a5E5f3,6 +2114,LCNY-34BC,LCNY,LCNY,0x7635B612792e4bFB7F2FA12a3E5d5A3f2e3C34BC,18 +2115,FIT-0241,FIT,FIT,0x3c72fca8523686fd9e5740b0826FA4bB376E0241,18 +2116,AERGO-D4E6,AERGO,AERGO,0x91Af0fBB28ABA7E31403Cb457106Ce79397FD4E6,18 +2117,GMEME-B302,GMEME,GMEME,0x238CEFec182679C27a3035713416fA0a8198B302,18 +2118,PTOY-CC06,PTOY,PTOY,0x8Ae4BF2C33a8e667de34B54938B0ccD03Eb8CC06,8 +2119,TRYC-4D6E,TRYC,TRYC,0x0000000005c6B7C1fd10915a05f034F90d524D6E,6 +2120,USDK-70bb,USDK,USDK,0x1c48f86ae57291F7686349F12601910BD8D470bb,18 +2121,MON-fc17,MON,MON,0x1EA48B9965bb5086F3b468E50ED93888a661fc17,18 +2122,MDAI-C0c4,MDAI,MDAI,0xf6043bEa98B07F0bEa7813aeB22D0cb70C91C0c4,18 +2123,VNLNK-061a,VNLNK,VNLNK,0x0f1e49d6dcfC9eeFcCE9D5ae3c660f8eAD75061a,9 +2124,AUC-A9F4,AUC,AUC,0x87a92428bBc876d463C21C8e51b903f127d9A9F4,18 +2125,NGM-B75d,NGM,NGM,0xed0d5747A9AB03a75fBfEC3228cd55848245B75d,6 +2126,HYUSD-12be,HYUSD,HYUSD,0xaCdf0DBA4B9839b96221a8487e9ca660a48212be,18 +2127,CON-C8fB,CON,CON,0x4Dd672e77c795844fe3A464eF8eF0FAAe617C8fB,18 +2128,HONR-79B8,HONR,HONR,0x39Ea10E507720783C27eDd5F96Bf2D6e199579B8,18 +2129,IPT-FC3d,IPT,IPT,0xd909C5862Cdb164aDB949D92622082f0092eFC3d,18 +2130,AI-25f2,AI,AI,0xc91B523A59ACC63A64f61fc7bBfB4bfc82DD25f2,18 +2131,ZETH-c89F,ZETH,ZETH,0x776280F68aD33c4d49e6846507B7dBaf7811c89F,18 +2132,CCASH-b720,CCASH,CCASH,0xE925Aa77D51746b865e5c05165A879820cb4b720,18 +2133,TOOLS-b8d4,TOOLS,TOOLS,0xc14B4d4CA66f40F352d7a50fd230EF8b2Fb3b8d4,18 +2134,BITE-43BA,BITE,BITE,0x34103e1190b824a44C6a638438d425cbA21143BA,18 +2135,BITCCA-cE06,BITCCA,BITCCA,0xe4D75e9b493458D032A5C3CC1eE9B0712C1EcE06,2 +2136,BITH-7adA,BITH,BITH,0x8811e4Dd5EC5Eb8764b97CC814B1339089717adA,8 +2137,HAKA-2210,HAKA,HAKA,0xD85AD783cc94bd04196a13DC042A3054a9B52210,18 +2138,SRM-e0fF,SRM,SRM,0x476c5E26a75bd202a9683ffD34359C0CC15be0fF,6 +2139,TIPJA-9c10,TIPJA,TIPJA,0x8e235f491Ae66b82296d58332Adc2a021C449c10,18 +2140,TT-AD82,TT,TT,0xdF906f6FD89ce60c16bAEd3C96CEB08BCA65AD82,18 +2141,UQC-D6e2,UQC,UQC,0x8806926Ab68EB5a7b909DcAf6FdBe5d93271D6e2,18 +2142,HOTDOG-Eb0c,HOTDOG,HOTDOG,0x01E87d74B11f656A673a3E7c441425816213Eb0c,18 +2143,0KN-9036,0KN,0KN,0x4594CFfbFc09BC5e7eCF1C2e1C1e24F0f7D29036,18 +2144,SPONGE-781E,SPONGE,SPONGE,0x25722Cd432d02895d9BE45f5dEB60fc479c8781E,18 +2145,IDH-12F0,IDH,IDH,0x5136C98A80811C3f46bDda8B5c4555CFd9f812F0,6 +2146,IDK-4498,IDK,IDK,0x61fd1c62551850D0c04C76FcE614cBCeD0094498,8 +2147,RATING-5B31,RATING,RATING,0xE8663A64A96169ff4d95b4299E7ae9a76b905B31,8 +2148,SPIDER-Bc0D,SPIDER,SPIDER,0xe70E1D6A2E971ff6DEBc21DD2540064c25C9Bc0D,18 +2149,ECOTERRA-391a,ECOTERRA,ECOTERRA,0x982b50E55394641cA975a0eEc630b120b671391a,9 +2150,DF-DBe0,DF,DF,0x431ad2ff6a9C365805eBaD47Ee021148d6f7DBe0,18 +2151,OCN-892B,OCN,OCN,0x4092678e4E78230F46A1534C0fbc8fA39780892B,18 +2152,OMI-749e,OMI,OMI,0xeD35af169aF46a02eE13b9d79Eb57d6D68C1749e,18 +2153,PYME-F240,PYME,PYME,0x3408636A7825E894ac5521cA55494F89F96DF240,18 +2154,XVC-8f96,XVC,XVC,0x4fABf135bCF8111671870d4399af739683198f96,18 +2155,ETE-69A2,ETE,ETE,0x000000e29fa2bd3E5C215fFc71aA66b29c9769A2,18 +2156,APOLLO-3CAb,APOLLO,APOLLO,0xADf86E75d8f0F57e0288D0970E7407eaA49b3CAb,9 +2157,HOBBES-4140,HOBBES,HOBBES,0x819c1A1568934Ee59d9F3C8B9640908556c44140,18 +2158,BUP-9e57,BUP,BUP,0xB04DFdb8271ed2d5e13858562C44A77D3CEb9e57,18 +2159,HACHI-ccFe,HACHI,HACHI,0x2a7e415C169cE3a580c6F374Dc26f6Aaad1EccFe,18 +2160,WOJAK20-89c2,WOJAK20,WOJAK20,0xC4E30d504FE3b18423D82A34e7Ebe529a56f89c2,18 +2161,EUSD-482F,EUSD,EUSD,0xA0d69E286B938e21CBf7E51D71F6A4c8918f482F,18 +2162,ALINK-5F84,ALINK,ALINK,0xA64BD6C70Cb9051F6A9ba1F163Fdc07E0DfB5F84,18 +2163,MATH-DD30,MATH,MATH,0x08d967bb0134F2d07f7cfb6E246680c53927DD30,18 +2164,MZM-4E05,MZM,MZM,0x61B57bDC01E3072fAB3e9E2F3c7b88d482734E05,18 +2165,BOTC-8f70,BOTC,BOTC,0x9532CA064278CE3BA4fcc66CEBec6d9F04F58f70,9 +2166,-1c4c,,,0xDadb4aE5B5D3099Dd1f586f990B845F2404A1c4c,18 +2167,BLUR-8b44,BLUR,BLUR,0x5283D291DBCF85356A21bA090E6db59121208b44,18 +2168,NRFX-494E,NRFX,NRFX,0x41BbD051E366D8437cb02374FBb0521C847F494E,18 +2169,2DAI-2A1d,2DAI,2DAI,0xB44b653f147569d88a684cBf6549e1968E8B2A1d,18 +2170,LPNT-5583,LPNT,LPNT,0x6a4C76874e686A7d080D173987A35A9c48905583,18 +2171,API3-B88a,API3,API3,0x0b38210ea11411557c13457D4dA7dC6ea731B88a,18 +2172,SALTY-a829,SALTY,SALTY,0xb6387E8e928C9FaCe4D44a6ACa72e5A6C939a829,18 +2173,KNC-7202,KNC,KNC,0xdeFA4e8a7bcBA345F687a2f1456F5Edd9CE97202,18 +2174,WEN-29d3,WEN,WEN,0x7BA5273D53D8a964b0a338e25DEF0c082f5C29d3,8 +2175,MPAY-cFca,MPAY,MPAY,0x3810A4Ddf41E586Fa0dbA1463A7951B748cEcFca,18 +2176,CHOO-c43a,CHOO,CHOO,0x244748587F145c0571E92e85429D711d1B4Cc43a,18 +2177,LUXO-83FD,LUXO,LUXO,0xD39a2CeCBA2657e125Ba6a5c98ad2F6b6D7E83FD,18 +2178,DAVE-0dbD,DAVE,DAVE,0x7f4c5447af6A96d8eeAEE1d932338cFc57890dbD,18 +2179,DRC-2c67,DRC,DRC,0xd7f5CABdF696D7d1bf384D7688926A4bdB092c67,18 +2180,0XF-B901,0XF,0XF,0x570147337F1A2313Fc35573F6a123CeB109eB901,9 +2181,USP-056c,USP,USP,0x79B87d52a03ED26A19C1914be4CE37F812e2056c,18 +2182,BB-A-USD-9786,BB-A-USD,BB-A-USD,0xc443C15033FCB6Cf72cC24f1BDA0Db070DdD9786,18 +2183,GEN-Addf,GEN,GEN,0x543Ff227F64Aa17eA132Bf9886cAb5DB55DCAddf,18 +2184,KING-e5aD,KING,KING,0x149D8290F653dEB8e34c037D239d3d8EeE9de5aD,18 +2185,FON-4463,FON,FON,0xa4be4cDC552891a6702E1aE9645EF445179a4463,18 +2186,MAXCAT-Ab5B,MAXCAT,MAXCAT,0xB6A7a1d8f64fC6F984A6F3b52b7426F7b0aBAb5B,18 +2187,EPAN-Bafc,EPAN,EPAN,0x72630B1e3B42874bf335020Ba0249e3E9e47Bafc,18 +2188,CRVFRAX-73CC,CRVFRAX,CRVFRAX,0x3175Df0976dFA876431C2E9eE6Bc45b65d3473CC,18 +2189,SPHRI-b3Ec,SPHRI,SPHRI,0x8A0cdfaB62eD35b836DC0633482798421C81b3Ec,18 +2190,CARTEL-e3Fd,CARTEL,CARTEL,0xA381e7073EA828Fb963157DcC4b414DA4344e3Fd,18 +2191,CFI-1eF4,CFI,CFI,0x63b4f3e3fa4e438698CE330e365E831F7cCD1eF4,18 +2192,MATTER-FEBe,MATTER,MATTER,0x9B99CcA871Be05119B2012fd4474731dd653FEBe,18 +2193,CHER-6Fdc,CHER,CHER,0xa20f77B7ad5A88badC48800C56507B7274c06Fdc,18 +2194,BABYFLOKI-f956,BABYFLOKI,BABYFLOKI,0xdF35988d795d90711e785B488Bb2127692e6f956,9 +2195,DDRT-d72d,DDRT,DDRT,0x94501b6A153C8973fd1f321fCC8188d40dC5d72d,8 +2196,TSHP-2804,TSHP,TSHP,0x525794473F7ab5715C81d06d10f52d11cC052804,18 +2197,SOAPS-3db0,SOAPS,SOAPS,0xa2c798f6456E4928f1E029C971007A09416A3db0,9 +2198,STREAMERINU-259a,STREAMERINU,STREAMERINU,0x0e8D2EB7D6bDF28393c25a1966385Ad32Ff0259a,18 +2199,GEM-efcC,GEM,GEM,0x9008064E6cf73e27a3Aba4B10E69f855A4F8efcC,18 +2200,FERC-5Be0,FERC,FERC,0x2eCBa91da63C29EA80Fbe7b52632CA2d1F8e5Be0,18 +2201,LUSD3CRV-F0cA,LUSD3CRV,LUSD3CRV,0xEd279fDD11cA84bEef15AF5D39BB4d4bEE23F0cA,18 +2202,CYFM-bf82,CYFM,CYFM,0x4a621d9f1b19296d1C0f87637b3A8D4978e9bf82,18 +2203,B-80BAL-20WETH-8F56,B-80BAL-20WETH,B-80BAL-20WETH,0x5c6Ee304399DBdB9C8Ef030aB642B10820DB8F56,18 +2204,JFISH-cfAf,JFISH,JFISH,0xCdeb595293511115d9D9d44B189Cc0Da4a08cfAf,18 +2205,NFTD-B379,NFTD,NFTD,0x8E0fE2947752BE0d5ACF73aaE77362Daf79cB379,18 +2206,SRUNE-E2f4,SRUNE,SRUNE,0x0352557B007A4Aae1511C114409b932F06F9E2f4,18 +2207,GEC-869d,GEC,GEC,0xe304283C3e60Cefaf7eA514007Cf4E8fdC3d869d,18 +2208,HPT-5213,HPT,HPT,0xa66Daa57432024023DB65477BA87D4E7F5f95213,18 +2209,STATS-0caD,STATS,STATS,0x39142c18B6db2a8A41B7018f49E1478837560caD,9 +2210,CRF-219d,CRF,CRF,0x508df5aa4746bE37b5b6A69684DfD8BDC322219d,18 +2211,HIPENGUINS-9491,HIPENGUINS,HIPENGUINS,0x669dB4c47f89f21554Ebd825A744888725FD9491,18 +2212,BLOOD-B50c,BLOOD,BLOOD,0x95392f142Af1c12F6e39897Ff9B09c599666B50c,18 +2213,MUSE-fc81,MUSE,MUSE,0xB6Ca7399B4F9CA56FC27cBfF44F4d2e4Eef1fc81,18 +2214,FTUSD-aa8F,FTUSD,FTUSD,0x0B319dB00d07C8fAdfaAEf13C910141a5dA0aa8F,18 +2215,MOE-1099,MOE,MOE,0xcBa78d126f0B1FeDa0c538bcAf4C852A7a171099,18 +2216,MITH-10BB,MITH,MITH,0x3893b9422Cd5D70a81eDeFfe3d5A1c6A978310BB,18 +2217,BCOIN-3Ac9,BCOIN,BCOIN,0xbbcb0356bB9e6B3Faa5CbF9E5F36185d53403Ac9,18 +2218,TAIL-77c4,TAIL,TAIL,0x4384b85FE228AE727B129230211194E4A50877c4,9 +2219,X-CB26,X,X,0x7f3141c4D6b047fb930991b450f1eD996a51CB26,18 +2220,MRI-c977,MRI,MRI,0x0913dDAE242839f8995c0375493f9a1A3Bddc977,18 +2221,FLOOR-455e,FLOOR,FLOOR,0xf59257E961883636290411c11ec5Ae622d19455e,9 +2222,CCS-fD31,CCS,CCS,0x1da4858ad385cc377165A298CC2CE3fce0C5fD31,0 +2223,STREETH-DfA5,STREETH,STREETH,0xB840d10D840eF47c233FEC1fd040F5B145a6DfA5,18 +2224,HYPE-883C,HYPE,HYPE,0x6706e05F3BAFdbA97dE268483BC3a54bf92A883C,9 +2225,WEAPON-762d,WEAPON,WEAPON,0x0b8057C3Cc676C329c25C1d0Cd27776efA73762d,9 +2226,AAMMUNIUNIWETH-2F9f,AAMMUNIUNIWETH,AAMMUNIUNIWETH,0x3D26dcd840fCC8e4B2193AcE8A092e4a65832F9f,18 +2227,HIT-3566,HIT,HIT,0x7995ab36bB307Afa6A683C24a25d90Dc1Ea83566,6 +2228,WEN-83A8,WEN,WEN,0x830a8512db4F6fCA51968593E2667156C2c483A8,18 +2229,CREDIT-e8A4,CREDIT,CREDIT,0xC4cB5793BD58BaD06bF51FB37717b86B02CBe8A4,18 +2230,ANB-9692,ANB,ANB,0x2c9acEb63181cd08a093d052ec041e191f229692,18 +2231,EVZ-fA68,EVZ,EVZ,0x7A939Bb714fd2A48EbeB1E495AA9aaa74BA9fA68,18 +2232,1%-9f92,1%,1%,0xe02d1524E385d67613e2EE969c60395be9A89f92,18 +2233,TYC-658F,TYC,TYC,0x3A82D3111aB5faF39d847D46023d9090261A658F,18 +2234,GOLD-CE11,GOLD,GOLD,0x34D6A0F5C2f5D0082141fE73d93B9dd00ca7CE11,18 +2235,SHANG-Aa83,SHANG,SHANG,0xee772CEc929D8430b4Fa7a01cD7FbD159a68Aa83,18 +2236,LUNAT-e18a,LUNAT,LUNAT,0xE8438c23157De97BDe8BEdD2eeaBc8e7e44De18a,9 +2237,XDEX-6c83,XDEX,XDEX,0x000000000000d0151E748d25b766e77efe2A6c83,18 +2238,AIX-c6C5,AIX,AIX,0x40e9187078032AfE1a30cfcF76E4fe3D7aB5c6C5,18 +2239,MSB-a824,MSB,MSB,0x84c722e6F1363E8D5C6dB3eA600bEF9a006Da824,18 +2240,DLT-606f,DLT,DLT,0x07e3c70653548B04f0A75970C1F81B4CBbFB606f,18 +2241,PULSE-97cE,PULSE,PULSE,0x52A047Ee205701895Ee06A375492490EC9C597cE,18 +2242,OGZ-4BCf,OGZ,OGZ,0xB7BDa6a89e724f63572Ce68FdDc1a6d1d5D24BCf,18 +2243,EUSD-62cC,EUSD,EUSD,0xdf3ac4F479375802A821f7b7b46Cd7EB5E4262cC,18 +2244,SG-fD0A,SG,SG,0xdDF7Fd345D54ff4B40079579d4C4670415DbfD0A,18 +2245,EVA-8707,EVA,EVA,0xd6cAF5Bd23CF057f5FcCCE295Dcc50C01C198707,18 +2246,QR-B002,QR,QR,0xCcDb064a41AFcD432BCEa6F6d0D1E7c371d0B002,9 +2247,INU-572c,INU,INU,0x8423B76BE8ef6CA7400a6b4c334d29C1D5d4572c,8 +2248,DED-f5f4,DED,DED,0xdBBE358Fead311b4089B8BF30F455c041E67f5f4,18 +2249,CMT-Dc18,CMT,CMT,0xE910c2a090516Fb7a7Be07f96a464785f2D5Dc18,18 +2250,CIND-3bC3,CIND,CIND,0xaC0968a3E2020aC8ca83e60CcF69081EBc6d3bC3,18 +2251,DOP-A2ef,DOP,DOP,0x6bB61215298F296C55b19Ad842D3Df69021DA2ef,18 +2252,SBIO-0073,SBIO,SBIO,0x9b5C38cC2d1bA05Ed87C8f8A2418475bAcb20073,18 +2253,BPVC-e403,BPVC,BPVC,0x9D95486E1B0E0Ea8A5361e853901F731B7f8e403,18 +2254,AXPR-f91A,AXPR,AXPR,0xdD0020B1D5Ba47A54E2EB16800D73Beb6546f91A,18 +2255,R-3e21,R,R,0x183015a9bA6fF60230fdEaDc3F43b3D788b13e21,18 +2256,TREE-689b,TREE,TREE,0xfBbE098EE65238E4D9f771404eDddcBF89Cd689b,18 +2257,BISC-AcFe,BISC,BISC,0x4295c8556AFEE00264C0789dde2ddd2dba71AcFe,18 +2258,AUR-8790,AUR,AUR,0x6E98E5401ADCB0D76F4DEBfc3d794B3031F48790,18 +2259,WAGIEBOT-ee31,WAGIEBOT,WAGIEBOT,0xD2c869382C7AC9f87Ff73548d029d67C0F9Dee31,9 +2260,MNT-f354,MNT,MNT,0x3c3a81e81dc49A522A592e7622A7E711c06bf354,18 +2261,SML-5Acb,SML,SML,0x1A403E1c96792dFedb8232cF56400Eb72Ab95Acb,18 +2262,EMPIRE-e7B6,EMPIRE,EMPIRE,0x9A2Af0AbB12bee5369B180976Be01E8c80D0e7B6,9 +2263,PTF-39F7,PTF,PTF,0xC57d533c50bC22247d49a368880fb49a1caA39F7,18 +2264,SYLO-dcd4,SYLO,SYLO,0xf293d23BF2CDc05411Ca0edDD588eb1977e8dcd4,18 +2265,CDS-6e5e,CDS,CDS,0x3c48Ca59bf2699E51d4974d4B6D284AE52076e5e,18 +2266,BN-84B6,BN,BN,0xABD0061755A180052703f72F06CEf8c2Eb1384B6,9 +2267,THEOS-Da1d,THEOS,THEOS,0x9e10f61749c4952C320412A6B26901605Ff6Da1d,18 +2268,CORE-23D7,CORE,CORE,0x62359Ed7505Efc61FF1D56fEF82158CcaffA23D7,18 +2269,DPY-B391,DPY,DPY,0x6C2adC2073994fb2CCC5032cC2906Fa221e9B391,18 +2270,YAE-1EAF,YAE,YAE,0x4eE438be38F8682ABB089F2BFeA48851C5E71EAF,18 +2271,TWT-F5cF,TWT,TWT,0xd4Df22556e07148e591B4c7b4f555a17188CF5cF,9 +2272,XT-D7aF,XT,XT,0x4BE10dA47A07716af28Ad199FbE020501BddD7aF,18 +2273,BOLLY-ea99,BOLLY,BOLLY,0x6bd361e10c1afed0d95259e7C0115f3A60e4ea99,18 +2274,ECOREAL-1C16,ECOREAL,ECOREAL,0x7ECbb21346C501Fd07eb165E406120fA32381C16,18 +2275,COREDAO-Dd58,COREDAO,COREDAO,0xf66Cd2f8755a21d3c8683a10269F795c0532Dd58,18 +2276,CPU-6626,CPU,CPU,0x6D52DfeFb16BB9Cdc78bfCA09061e44574886626,18 +2277,VERSE-dC0a,VERSE,VERSE,0x7aE0d42f23C33338dE15bFa89C7405c068d9dC0a,18 +2278,REF-1e1f,REF,REF,0x89303500a7Abfb178B274FD89F2469C264951e1f,8 +2279,JPGC-6f0e,JPGC,JPGC,0x5891599664Ed15C6e88041B4F5bc08594f026f0e,18 +2280,UBI-E9a4,UBI,UBI,0xDd1Ad9A21Ce722C151A836373baBe42c868cE9a4,18 +2281,LEAD-C4ce,LEAD,LEAD,0x1dD80016e3d4ae146Ee2EBB484e8edD92dacC4ce,18 +2282,CHOO-F8A0,CHOO,CHOO,0x9c5476Af06590A9277C7706fe70c0a42A480F8A0,18 +2283,RIA-9eb6,RIA,RIA,0x9b110Fda4E20DB18Ad7052f8468a455de7449eb6,18 +2284,BMI-E688,BMI,BMI,0x725C263e32c72dDC3A19bEa12C5a0479a81eE688,18 +2285,NEON-061d,NEON,NEON,0x6Ee9742d17B527e682248DCA85952e4Fe190061d,18 +2286,ENG-23e4,ENG,ENG,0xf0Ee6b27b759C9893Ce4f094b49ad28fd15A23e4,8 +2287,WLEO-3998,WLEO,WLEO,0x73A9fb46e228628f8f9BB9004eCa4f4F529D3998,3 +2288,MODEX-7438,MODEX,MODEX,0x4bceA5E4d0F6eD53cf45e7a28FebB2d3621D7438,18 +2289,FPI-E08E,FPI,FPI,0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E,18 +2290,ABYSS-8DA6,ABYSS,ABYSS,0x0E8d6b471e332F140e7d9dbB99E5E3822F728DA6,18 +2291,VISION-3996,VISION,VISION,0xF406F7A9046793267bc276908778B29563323996,18 +2292,MF1-2253,MF1,MF1,0x9b5161a41B58498Eb9c5FEBf89d60714089d2253,18 +2293,HIFRIENDS-5fa5,HIFRIENDS,HIFRIENDS,0xeb2f5A4e1441dF330670Dc7B0cf4eaC0f7ab5fa5,18 +2294,ADD-F9F7,ADD,ADD,0x5c9c7554AB2b302A0a3E943377AcB30E9a70F9F7,18 +2295,HOTCROSS-f24E,HOTCROSS,HOTCROSS,0x4297394c20800E8a38A619A243E9BbE7681Ff24E,18 +2296,APPC-b0DB,APPC,APPC,0x1a7a8BD9106F2B8D977E08582DC7d24c723ab0DB,18 +2297,CROWN-de58,CROWN,CROWN,0xF3Bb9F16677F2B86EfD1DFca1c141A99783Fde58,18 +2298,MNMC-a741,MNMC,MNMC,0xF45091f25d374BbE956c0bb64bB85e02D07Aa741,8 +2299,TUSD-b376,TUSD,TUSD,0x0000000000085d4780B73119b644AE5ecd22b376,18 +2300,SWAI-7eAe,SWAI,SWAI,0x3540DFCaD7CF102a2E44AA0e2132FAb1c89d7eAe,18 +2301,GGT-3613,GGT,GGT,0x39B0E13A29c2A27ce88ceBD21262A232b0633613,18 +2302,AUDIO-B998,AUDIO,AUDIO,0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998,18 +2303,DES-05e3,DES,DES,0x634239cfA331Df0291653139d1a6083B9cf705e3,18 +2304,SPX-c56C,SPX,SPX,0xE0f63A424a4439cBE457D80E4f4b51aD25b2c56C,8 +2305,DIS-cDC6,DIS,DIS,0x220B71671b649c03714dA9c621285943f3cbcDC6,18 +2306,MONKGG-F821,MONKGG,MONKGG,0x9078dEb4736b7E2181BEB8DB276dfbFA7F21F821,18 +2307,N1-C16D,N1,N1,0xaCbd826394189Cf2623C6DF98a18b41fC8fFC16D,18 +2308,ARTX-7710,ARTX,ARTX,0x741b0428Efdf4372A8DF6FB54B018dB5e5aB7710,18 +2309,HIPVP-8DdF,HIPVP,HIPVP,0x0C0725282cbF037e6781fE84E0361B01daA88DdF,16 +2310,ECELL-6E7f,ECELL,ECELL,0x9b62Ec1453cEa5Dde760AAf662048cA6eEB66E7f,2 +2311,MONKE-522f,MONKE,MONKE,0x18cC2Ba8995c6307E355726244ADb023Cf00522f,9 +2312,SPILLWAYS-7b47,SPILLWAYS,SPILLWAYS,0x8790f2fc7Ca2e7Db841307FB3f4e72a03Baf7b47,18 +2313,UWBTC-2436,UWBTC,UWBTC,0x3aF5Ba94C29a8407785f5f6d90eF5d69a8EB2436,8 +2314,SKRT-77f6,SKRT,SKRT,0x887168120cb89Fb06F3E74Dc4AF20D67dF0977f6,18 +2315,TBC-E6fb,TBC,TBC,0x03042ae6fcFd53E3A0BAa1FaB5Ce70E0cb74E6fb,18 +2316,LUD-75f5,LUD,LUD,0xe64b47931f28f89Cc7A0C6965Ecf89EaDB4975f5,18 +2317,OCTO-2BA3,OCTO,OCTO,0x7240aC91f01233BaAf8b064248E80feaA5912BA3,18 +2318,DILI-F06a,DILI,DILI,0x37F74e99794853777a10ea1dc08a64C86958F06a,18 +2319,B20-EfD8,B20,B20,0xc4De189Abf94c57f396bD4c52ab13b954FebEfD8,18 +2320,ARENA-3D75,ARENA,ARENA,0x7512200f2Ae3E1625a060d589348716F65923D75,18 +2321,SWEAT-3A35,SWEAT,SWEAT,0xB4b9DC1C77bdbb135eA907fd5a08094d98883A35,18 +2322,QWLA-1AD2,QWLA,QWLA,0x1D96Fd43EE07Aa79f8Fd003cbdF404fb5ce41AD2,18 +2323,DPX-dC81,DPX,DPX,0xEec2bE5c91ae7f8a338e1e5f3b5DE49d07AfdC81,18 +2324,NOONE-f0cf,NOONE,NOONE,0x296233E84c1D7bfF11121BF6D60f0FFA39C3f0cf,9 +2325,OHMI-533C,OHMI,OHMI,0x4159862bcF6B4393A80550b1ed03DFfa6f90533C,18 +2326,LHINU-038d,LHINU,LHINU,0xCeDefE438860D2789dA6419b3a19cEcE2A41038d,18 +2327,AUCTION-9096,AUCTION,AUCTION,0xA9B1Eb5908CfC3cdf91F9B8B3a74108598009096,18 +2328,LIQS-4575,LIQS,LIQS,0x6D4695f7E8d7F9615314A743335702d7eAbA4575,18 +2329,YVRAI-A4ea,YVRAI,YVRAI,0x873fB544277FD7b977B196a826459a69E27eA4ea,18 +2330,MUMU-23c7,MUMU,MUMU,0x2F573070E6090b3264Fe707e2C9F201716F123c7,18 +2331,UDOO-2ffB,UDOO,UDOO,0x12f649A9E821F90BB143089a6e56846945892ffB,18 +2332,APYS-3615,APYS,APYS,0xf7413489c474ca4399eeE604716c72879Eea3615,18 +2333,BLUESPARROW-fd42,BLUESPARROW,BLUESPARROW,0x4D67EDef87a5fF910954899f4e5a0AaF107afd42,9 +2334,DGMV-960c,DGMV,DGMV,0x8EEdEFe828A0f16C8fc80e46a87Bc0f1De2d960c,18 +2335,CGT-A32a,CGT,CGT,0xF56b164efd3CFc02BA739b719B6526A6FA1cA32a,18 +2336,STN-36AB,STN,STN,0xe63d6B308BCe0F6193AeC6b7E6eBa005f41e36AB,18 +2337,YVSNX-aedf,YVSNX,YVSNX,0xF29AE508698bDeF169B89834F76704C3B205aedf,18 +2338,MOONCAT-8398,MOONCAT,MOONCAT,0x98968f0747E0A261532cAcC0BE296375F5c08398,18 +2339,TAXHAVENINU-bD01,TAXHAVENINU,TAXHAVENINU,0x664C6E221c77313307467B121528ad563107bD01,9 +2340,UTU-189B,UTU,UTU,0xa58a4f5c4Bb043d2CC1E170613B74e767c94189B,18 +2341,XMON-Bf74,XMON,XMON,0x3aaDA3e213aBf8529606924d8D1c55CbDc70Bf74,18 +2342,BASE-04e0,BASE,BASE,0xe9f84d418B008888A992Ff8c6D22389C2C3504e0,8 +2343,POINT-BE6a,POINT,POINT,0x2d64750eC85f6eC442E3093D74C7b1b0a133BE6a,18 +2344,MUST-288f,MUST,MUST,0x9C78EE466D6Cb57A4d01Fd887D2b5dFb2D46288f,18 +2345,PSYCHO-4A9B,PSYCHO,PSYCHO,0x9ACBD8315d81253f1bA7c0D24cdBd4e01BE44A9B,18 +2346,CAP-A600,CAP,CAP,0xc6cd44F9630886a7492cEa3d9860e0510933A600,18 +2347,YAMA-3D67,YAMA,YAMA,0x66A3A58F812d0f433DaaF1D96E14fD72D1D03D67,18 +2348,BREED-702e,BREED,BREED,0x94E9EB8b5Ab9fd6B9ea3169D55FFAde62a01702e,18 +2349,LOTT-41ab,LOTT,LOTT,0xbA93EF534094F8b7001ECe2691168140965341ab,18 +2350,FLRBRG-C650,FLRBRG,FLRBRG,0x9138C8779A0Ac8a84D69617D5715BD8AFa23C650,18 +2351,MNS-1959,MNS,MNS,0x53884b61963351C283118a8E1Fc05BA464a11959,18 +2352,HBOT-e9CB,HBOT,HBOT,0xE5097D9baeAFB89f9bcB78C9290d545dB5f9e9CB,18 +2353,KEL-5432,KEL,KEL,0x4ABB9cC67BD3da9Eb966d1159A71a0e68BD15432,18 +2354,TRUMP-bea7,TRUMP,TRUMP,0x576e2BeD8F7b46D34016198911Cdf9886f78bea7,9 +2355,PEUSD-F247,PEUSD,PEUSD,0xD585aaafA2B58b1CD75092B51ade9Fa4Ce52F247,18 +2356,MORE-bA22,MORE,MORE,0x305DE070488C8469dFAC957226c9c900c4BFbA22,8 +2357,RVF-96D2,RVF,RVF,0xdc8aF07A7861bedD104B8093Ae3e9376fc8596D2,18 +2358,AER-C308,AER,AER,0x703293d32aEa894CCA91d6C282db9eFFfE47C308,18 +2359,KARMA-951C,KARMA,KARMA,0xdfe691F37b6264a90Ff507EB359C45d55037951C,4 +2360,METRO-09E7,METRO,METRO,0xD77401A76d6cDB7Ac3bb031Bf25dEc07615509E7,18 +2361,ELY-6839,ELY,ELY,0x8ED2Fc62D6850eAaDcB717465752dab591286839,18 +2362,ALPHA-940B,ALPHA,ALPHA,0x138C2F1123cF3f82E4596d097c118eAc6684940B,18 +2363,NEKO-341F,NEKO,NEKO,0x1E9D0bB190Ac34492aa11B80D28c1C86487a341F,18 +2364,KEYFI-9052,KEYFI,KEYFI,0xB8647e90C0645152Fccf4d9AbB6B59Eb4AA99052,18 +2365,BULL-aC66,BULL,BULL,0xD1d92f1c5524d93ceD7Bf6F418c8bf8abf68aC66,18 +2366,FROKI-287a,FROKI,FROKI,0x3F7d1C62a8456893C0F55C13e3B5993d2F68287a,18 +2367,SPACE-041f,SPACE,SPACE,0xcc7ab8d78dBA187dC95bF3bB86e65E0C26d0041f,18 +2368,WAXE-4DFD,WAXE,WAXE,0x7a2Bc711E19ba6aff6cE8246C546E8c4B4944DFD,8 +2369,GSE-c838,GSE,GSE,0xe530441f4f73bDB6DC2fA5aF7c3fC5fD551Ec838,4 +2370,DENA-a1DA,DENA,DENA,0x15F0EEDF9Ce24fc4b6826E590A8292CE5524a1DA,18 +2371,EL-7B16,EL,EL,0x2781246fe707bB15CeE3e5ea354e2154a2877B16,18 +2372,LCS-dBA8,LCS,LCS,0xAA19961b6B858D9F18a115f25aa1D98ABc1fdBA8,18 +2373,DIVER-d5F4,DIVER,DIVER,0xFb782396c9b20E564A64896181c7AC8d8979d5F4,18 +2374,BXX-7898,BXX,BXX,0x6b1a8f210Ec6b7B6643cea3583Fb0c079f367898,18 +2375,MEME-a8Db,MEME,MEME,0x74B988156925937bD4E082f0eD7429Da8eAea8Db,18 +2376,ROYA-48DB,ROYA,ROYA,0x7eaF9C89037e4814DC0d9952Ac7F888C784548DB,18 +2377,SHI-4302,SHI,SHI,0xaD996A45fd2373ed0B10Efa4A8eCB9de445A4302,18 +2378,ATT-A11C,ATT,ATT,0x89Fb927240750c1B15d4743cd58440fc5f14A11C,18 +2379,LOVESNOOPY-393a,LOVESNOOPY,LOVESNOOPY,0xF0EDAC27Aa3E85E2D176F689B0025f90C154393a,18 +2380,APW-60c8,APW,APW,0x4104b135DBC9609Fc1A9490E61369036497660c8,18 +2381,MEMEX-3060,MEMEX,MEMEX,0xD89310F4BaeDb33AfB36d7cc45BB8847f4463060,18 +2382,MULTIBTC-8F7D,MULTIBTC,MULTIBTC,0x66eFF5221ca926636224650Fd3B9c497FF828F7D,8 +2383,BAO-9F3A,BAO,BAO,0xCe391315b414D4c7555956120461D21808A69F3A,18 +2384,BTC20-0e18,BTC20,BTC20,0xE86DF1970055e9CaEe93Dae9B7D5fD71595d0e18,18 +2385,L2-4D24,L2,L2,0xBbff34E47E559ef680067a6B1c980639EEb64D24,18 +2386,ZNX-eFdE,ZNX,ZNX,0x9471d30D78a3C9f076cE206D14867a8d8BE1eFdE,6 +2387,HEDG-654F,HEDG,HEDG,0xF1290473E210b2108A85237fbCd7b6eb42Cc654F,18 +2388,ANT-5A2e,ANT,ANT,0xa117000000f279D81A1D3cc75430fAA017FA5A2e,18 +2389,WHETH-6bE4,WHETH,WHETH,0xDe0220b69CE3e855a0124433A8E8D093f53A6bE4,18 +2390,PAPI-415E,PAPI,PAPI,0x693C216aA181EbF776730d16C7ba06842548415E,18 +2391,LINT-D714,LINT,LINT,0x11f9e9B3c539368BEA16DDE2108B748a9672D714,9 +2392,DRM-0584,DRM,DRM,0x89551b940e2A8ED8eCcF509935bAc9213fE30584,18 +2393,WXRP-e1B9,WXRP,WXRP,0x39fBBABf11738317a448031930706cd3e612e1B9,18 +2394,PITCHFXS-8F0b,PITCHFXS,PITCHFXS,0x11EBe21e9d7BF541A18e1E3aC94939018Ce88F0b,18 +2395,LAMBO-EfB3,LAMBO,LAMBO,0x3d2b66BC4f9D6388BD2d97B95b565BE1686aEfB3,18 +2396,COPIUM-4b36,COPIUM,COPIUM,0x36520f6336490088c2455279C59CEFaC66984b36,18 +2397,TCT-FFF7,TCT,TCT,0x4824A7b64E3966B0133f4f4FFB1b9D6bEb75FFF7,18 +2398,IGG-caeA,IGG,IGG,0x8FfE40A3D0f80C0CE6b203D5cDC1A6a86d9AcaeA,6 +2399,MOONEY-1395,MOONEY,MOONEY,0x20d4DB1946859E2Adb0e5ACC2eac58047aD41395,18 +2400,AUSDC-3B7E,AUSDC,AUSDC,0x9bA00D6856a4eDF4665BcA2C2309936572473B7E,6 +2401,FIT-37B7,FIT,FIT,0x9B01637302B6Adfc2C82678e2A8D680CFF6337B7,18 +2402,IZI-c200,IZI,IZI,0x9ad37205d608B8b219e6a2573f922094CEc5c200,18 +2403,L-9D79,L,L,0xf8C76dbeA329Ec4Fa987AFC514f805b21b249D79,18 +2404,BROS-af4d,BROS,BROS,0x9Dcd367e2AFA8D6e5d6Cf0306094E3Eb7BBAaf4d,18 +2405,ASM-9982,ASM,ASM,0x2565ae0385659badCada1031DB704442E1b69982,18 +2406,CATT-80BD,CATT,CATT,0x6E605c269E0C92e70BEeB85486f1fC550f9380BD,18 +2407,ORO-B466,ORO,ORO,0xc3Eb2622190c57429aac3901808994443b64B466,18 +2408,LOVE-A27C,LOVE,LOVE,0x5380442d3C4EC4f5777f551f5EDD2FA0F691A27C,18 +2409,GPX-A83F,GPX,GPX,0x3e7804c51a70Ba26E904c2e0ab440C5623a8A83F,8 +2410,TKING-DAFA,TKING,TKING,0x24E89bDf2f65326b94E36978A7EDeAc63623DAFA,18 +2411,ES-FdD9,ES,ES,0x72108a8CC3254813C6BE2F1b77be53E185abFdD9,18 +2412,ZW-Fe58,ZW,ZW,0x52d30b949BdBc63780E5A263CF436d4Df983Fe58,18 +2413,PISS-BF9F,PISS,PISS,0x9C0bD34beBc33A0E898554cFc91e8A84C728BF9F,18 +2414,YDR-865d,YDR,YDR,0x3757232B55E60da4A8793183aC030CfCE4c3865d,18 +2415,PKR-bd6c,PKR,PKR,0x001A8Ffcb0f03e99141652eBCdecDb0384E3bd6c,18 +2416,ESCO-95e6,ESCO,ESCO,0x7163436b8EfFfB469F6BB81cc908b1661d4795e6,18 +2417,NFAI-7969,NFAI,NFAI,0x8eEcaad83a1Ea77bD88A818d4628fAfc4CaD7969,18 +2418,MTS-5e75,MTS,MTS,0xA9598333B99d14D90Bc81CAd8Af82C4C70625e75,18 +2419,PEEP-9892,PEEP,PEEP,0x5919DeA604631016c15c805e3D948A0384879892,9 +2420,QQQ-4C21,QQQ,QQQ,0x2822f6D1B2f41F93f33d937bc7d84A8Dfa4f4C21,18 +2421,MTN-4DE3,MTN,MTN,0x41dBECc1cdC5517C6f76f6a6E836aDbEe2754DE3,18 +2422,BMX-35d8,BMX,BMX,0x986EE2B944c42D017F52Af21c4c69B84DBeA35d8,18 +2423,SSP-E850,SSP,SSP,0x624d520BAB2E4aD83935Fa503fB130614374E850,4 +2424,SCOOBY-6F2F,SCOOBY,SCOOBY,0xAd497eE6a70aCcC3Cbb5eB874e60d87593B86F2F,18 +2425,SKYRIM-9D6E,SKYRIM,SKYRIM,0x2610F0bFC21EF389fe4D03CFB7De9ac1E6C99D6E,18 +2426,APCG-d502,APCG,APCG,0x434Cb4fC4b952872967914D430878Eee53Ebd502,18 +2427,BTEX-e67c,BTEX,BTEX,0x182C00807F2D4904d02d5e0D179600ff6a3Ae67c,18 +2428,AXIS-4389,AXIS,AXIS,0xecC0F1F860a82aB3b442382D93853C02d6384389,18 +2429,SHIBGF-65d6,SHIBGF,SHIBGF,0x505a84a03e382331A1Be487b632Cf357748b65d6,18 +2430,PACHA-0d4E,PACHA,PACHA,0x2Dd1B9410c73E16b60240E529e38E30425F00d4E,10 +2431,UPR-2385,UPR,UPR,0xf720E38F678B29B243F7D53B56Acbf5dE98F2385,18 +2432,UPI-B67c,UPI,UPI,0x70D2b7C19352bB76e4409858FF5746e500f2B67c,18 +2433,NMT-23C3,NMT,NMT,0xd81b71cBb89B2800CDb000AA277Dc1491dc923C3,18 +2434,KLEE-de71,KLEE,KLEE,0xA67E9F021B9d208F7e3365B2A155E3C55B27de71,9 +2435,XAI-0280,XAI,XAI,0x0A13A5929e5F0ff0EABA4Bd9e9512C91fCE40280,9 +2436,BLF-f37f,BLF,BLF,0x2b896c7f060Ae441B76bbe47cdDCa934Ba60f37f,18 +2437,OKINAMI-4121,OKINAMI,OKINAMI,0x1C4853Ec0d55e420002c5eFaBc7Ed8e0bA7A4121,9 +2438,SPGBB-8F69,SPGBB,SPGBB,0x64551fA4093c2D6c298cf1792740F884084a8F69,18 +2439,COFI-32b3,COFI,COFI,0x3136eF851592aCf49CA4C825131E364170FA32b3,18 +2440,ESPR-BD4f,ESPR,ESPR,0xA3c31927A092BD54eb9A0B5DfE01D9DB5028BD4f,9 +2441,CMCX-4A32,CMCX,CMCX,0x5B685863494C33F344081F75e5430C260c224A32,18 +2442,ARA-7Df5,ARA,ARA,0xa92E7c82B11d10716aB534051B271D2f6aEf7Df5,18 +2443,HSC-3d7F,HSC,HSC,0x2bBA3CF6DE6058cc1B4457Ce00deb359E2703d7F,18 +2444,TRL-Ec41,TRL,TRL,0x58f9102bF53Cf186682Bd9a281d3Cd3c616eEc41,18 +2445,MFC-5820,MFC,MFC,0x337DD23d05c27bff099d3604938BFc23A9B25820,18 +2446,ELEV-EA65,ELEV,ELEV,0x045109cF1Be9eDEC048AA0B3D7a323154a1aEA65,18 +2447,NRFB-f9E8,NRFB,NRFB,0x00281dFCe4cfD72c0b6FDA2AAaF077258743f9E8,0 +2448,GYEN-D911,GYEN,GYEN,0xC08512927D12348F6620a698105e1BAac6EcD911,6 +2449,GWD-A56b,GWD,GWD,0x674c964AC0E89d847d6B0aBd144b797bf78BA56b,6 +2450,LYNK-dfd1,LYNK,LYNK,0xef952363C1d990A2fa58F8b379A9fa33bad1dfd1,8 +2451,FIDU-00BF,FIDU,FIDU,0x6a445E9F40e0b97c92d0b8a3366cEF1d67F700BF,18 +2452,FWT-a295,FWT,FWT,0x20e7125677311Fca903A8897042b9983f22Ea295,18 +2453,HITOP-5D77,HITOP,HITOP,0x01022591fCe0609B57670bebA60102dFd2b95D77,18 +2454,BKC-662e,BKC,BKC,0x34bdf48A8F753de4822a6CFB1FEE275F9b4D662e,18 +2455,JEUR-F20B,JEUR,JEUR,0x0f17BC9a994b87b5225cFb6a2Cd4D667ADb4F20B,18 +2456,AIR-cCeA,AIR,AIR,0xF725f73CAEe250AE384ec38bB2C77C38ef2CcCeA,18 +2457,FWB-99A8,FWB,FWB,0x35bD01FC9d6D5D81CA9E055Db88Dc49aa2c699A8,18 +2458,ITGR-Bc98,ITGR,ITGR,0xD502F487e1841Fdc805130e13eae80c61186Bc98,18 +2459,BNANA-4DB4,BNANA,BNANA,0x07eF9E82721AC16809D24DAfBE1792Ce01654DB4,18 +2460,GDAO-86Bc,GDAO,GDAO,0x515d7E9D75E2b76DB60F8a051Cd890eBa23286Bc,18 +2461,ARTIC-731e,ARTIC,ARTIC,0xE83D5FB2c60B3A2597452e248CF7b2f52a7E731e,18 +2462,STND-999d,STND,STND,0x9040e237C3bF18347bb00957Dc22167D0f2b999d,18 +2463,COFI-4Ea1,COFI,COFI,0x1a23a6BfBAdB59fa563008c0fB7cf96dfCF34Ea1,18 +2464,ZUSD-04fA,ZUSD,ZUSD,0xc56c2b7e71B54d38Aab6d52E94a04Cbfa8F604fA,6 +2465,IFEX-3CDC,IFEX,IFEX,0xA891CF72AEDa692570928eFe1A832342e9783CDC,18 +2466,USDF-8cD2,USDF,USDF,0x963035453633f6f7433032c958F82Eb3043D8cD2,18 +2467,BETT-502F,BETT,BETT,0x2f4b36442687E943E587b45cCcc92D60C3c3502F,18 +2468,PAXU-8e43,PAXU,PAXU,0x4E452B391a86C9240e98DF7277CE0BeA5bE08e43,18 +2469,HDAO-fF2D,HDAO,HDAO,0xdaC657ffD44a3B9d8aba8749830Bf14BEB66fF2D,18 +2470,GAME-2437,GAME,GAME,0x63f88A2298a5c4AEE3c216Aa6D926B184a4b2437,18 +2471,APOLLO-c3B9,APOLLO,APOLLO,0x425d105913a04f4F95311788195bA13c3E82c3B9,9 +2472,SONIK-06CB,SONIK,SONIK,0x9F891b5ECbd89DD8A5Ee4d1D80EfC3fE78b306CB,18 +2473,FUSDC-19e5,FUSDC,FUSDC,0x465a5a630482f3abD6d3b84B39B29b07214d19e5,8 +2474,BDT-d5Cf,BDT,BDT,0x4Efe8665e564bF454cCF5C90Ee16817F7485d5Cf,18 +2475,UBSN-5773,UBSN,UBSN,0x86EFc496DcA70bcFD92D19194290e8457a375773,0 +2476,SATS-Abf8,SATS,SATS,0x6C22910c6F75F828B305e57c6a54855D8adeAbf8,9 +2477,TAIL-1e31,TAIL,TAIL,0xFeeeef4D7b4Bf3cc8BD012D02D32Ba5fD3D51e31,18 +2478,CHART-2Daa,CHART,CHART,0xF62aC0fCae17F9195280cEd4dE978313eFFE2Daa,18 +2479,SHADOWCATS-f8b1,SHADOWCATS,SHADOWCATS,0x0018d5E01e53878F90FEAB02F1b2019a21adf8b1,18 +2480,ALEPH-F628,ALEPH,ALEPH,0x27702a26126e0B3702af63Ee09aC4d1A084EF628,18 +2481,SPOOL-0976,SPOOL,SPOOL,0x40803cEA2b2A32BdA1bE61d3604af6a814E70976,18 +2482,HANDY-684c,HANDY,HANDY,0x8bbe1a2961B41340468D0548c2cd5B7DFA9b684c,18 +2483,KKO-f4c9,KKO,KKO,0x368C5290b13cAA10284Db58B4ad4F3E9eE8bf4c9,18 +2484,PRMX-d812,PRMX,PRMX,0xe4dae00bc1c46ea2F44ae71B1BEb8b171C15d812,18 +2485,DAWN-9aFa,DAWN,DAWN,0x580c8520dEDA0a441522AEAe0f9F7A5f29629aFa,18 +2486,LET-6288,LET,LET,0xFA3118B34522580c35Ae27F6cf52da1dBb756288,6 +2487,WPE-881b,WPE,WPE,0xd075e95423C5c4BA1E122CaE0f4CdFA19b82881b,18 +2488,XP-b2Ac,XP,XP,0x948c70Dc6169Bfb10028FdBE96cbC72E9562b2Ac,18 +2489,MFTU-936B,MFTU,MFTU,0xbA745513ACEbcBb977497C569D4F7d340f2A936B,18 +2490,ICNQ-390A,ICNQ,ICNQ,0xB3e2Cb7CccfE139f8FF84013823Bf22dA6B6390A,18 +2491,SMT-A4aD,SMT,SMT,0x76dbCba41e11784BFA95cE30e529fA533C3fA4aD,18 +2492,PENGYX-50C3,PENGYX,PENGYX,0x3AeFF9536CED04e4443908Cb0ceBAC952a5550C3,18 +2493,PNL-B459,PNL,PNL,0x9FC8f0ca1668E87294941b7f627e9C15eA06B459,18 +2494,VIZ-50d1,VIZ,VIZ,0x3Bf954e809620bF2f1Fcb667F1c7D2D2E94350d1,9 +2495,BAKED-6ccE,BAKED,BAKED,0xa4cb0dCe4849BdcAd2d553E9e68644Cf40E26ccE,18 +2496,AWC-13f4,AWC,AWC,0xaD22f63404f7305e4713CcBd4F296f34770513f4,8 +2497,YVBOOST-Ab9a,YVBOOST,YVBOOST,0x9d409a0A012CFbA9B15F6D4B36Ac57A46966Ab9a,18 +2498,ENT-041A,ENT,ENT,0x675ABaBD3A210566A5e213547523b740Be80041A,18 +2499,DMX-3eED,DMX,DMX,0xf058501585023d040eA9493134ED72C083553eED,18 +2500,DEVT-D0de,DEVT,DEVT,0xB5c578947de0fd71303F71F2C3d41767438bD0de,18 +2501,BID-02fa,BID,BID,0x25e1474170c4c0aA64fa98123bdc8dB49D7802fa,18 +2502,OIN-1259,OIN,OIN,0x9aeB50f542050172359A0e1a25a9933Bc8c01259,8 +2503,BCUG-E9AF,BCUG,BCUG,0x14Da7b27b2E0FedEfe0a664118b0c9bc68e2E9AF,18 +2504,ZKS-58c6,ZKS,ZKS,0xe4815AE53B124e7263F08dcDBBB757d41Ed658c6,18 +2505,TLW-5753,TLW,TLW,0x06f3CDabae564B0546529b4DD8FeF1bcD4235753,8 +2506,YV1INCH-ab67,YV1INCH,YV1INCH,0xB8C3B7A2A618C552C23B1E4701109a9E756Bab67,18 +2507,JPEG-45a3,JPEG,JPEG,0xE80C0cd204D654CEbe8dd64A4857cAb6Be8345a3,18 +2508,NHT-9708,NHT,NHT,0x84342e932797FC62814189f01F0Fb05F52519708,18 +2509,ETHF-990d,ETHF,ETHF,0x730f8C56C709c5F5B4a6e91f98Fa7A7C410E990d,18 +2510,IDO-CB1E,IDO,IDO,0xF9c53268e9de692AE1b2ea5216E24e1c3ad7CB1E,18 +2511,DMT-ad75,DMT,DMT,0x5b1D655C93185b06B00f7925791106132Cb3ad75,18 +2512,BIGCAP-6181,BIGCAP,BIGCAP,0xE29F1241E6015A4949cb7E3f07234BA794006181,18 +2513,MAHA-49B0,MAHA,MAHA,0x745407c86DF8DB893011912d3aB28e68B62E49B0,18 +2514,MANDOX-B9A7,MANDOX,MANDOX,0x7A8aDCf432EbCC2311B955d176ee4BFED13bB9A7,9 +2515,COLT-9334,COLT,COLT,0x1A3cBdA3853494acAb67648EE59AfeB7ec3E9334,18 +2516,KIRA-426B,KIRA,KIRA,0xf98AB0874b13a7Fdc39D7295DEdd49850A5D426B,8 +2517,DVPN-B037,DVPN,DVPN,0xa44E5137293E855B1b7bC7E2C6f8cD796fFCB037,8 +2518,GERA-BB02,GERA,GERA,0xDe5eA375FFBDc8b25a80fe13D631E8Ba0AB4BB02,18 +2519,DAD-81e8,DAD,DAD,0x5B322514FF727253292637D9054301600c2C81e8,9 +2520,PC-ce28,PC,PC,0xe1eC350ea16D1DdAFF57F31387B2d9708Eb7ce28,9 +2521,FREL-FF70,FREL,FREL,0x29CeDDCF0Da3c1D8068a7DFbD0FB06c2E438FF70,18 +2522,CCX-8B59,CCX,CCX,0x1D6405138A335cE5FD7364086334EfB3E4F28B59,18 +2523,GCAKE-bf6c,GCAKE,GCAKE,0x5f944B0c4315Cb7c3a846b025AB4045da44abf6c,18 +2524,NON-B771,NON,NON,0x6100dd79fCAA88420750DceE3F735d168aBcB771,18 +2525,GGTK-EF76,GGTK,GGTK,0xFA99A87b14B02e2240C79240C5a20F945ca5EF76,18 +2526,SNT-5B9E,SNT,SNT,0x744d70FDBE2Ba4CF95131626614a1763DF805B9E,18 +2527,XIDO-08A7,XIDO,XIDO,0xF6650117017FFD48B725B4EC5A00B414097108A7,18 +2528,SG-27c4,SG,SG,0xBe74A95D159e8E323b8C1a70F825Efc85FED27c4,18 +2529,MAV-2629,MAV,MAV,0xbe1dBe6741fB988fb571AB1E28CfFB36e3C62629,18 +2530,DOOMER-3bFA,DOOMER,DOOMER,0x04b77A1be2981c1Ca353aaf251b0F11398413bFA,18 +2531,AKNC-03eB,AKNC,AKNC,0x9D91BE44C06d373a8a226E1f3b146956083803eB,18 +2532,ZCO-1722,ZCO,ZCO,0x2008e3057BD734e10AD13c9EAe45Ff132aBc1722,8 +2533,KPOP-59C9,KPOP,KPOP,0x7B7983967409Fce461EA8bbDF9ED37631b1d59C9,18 +2534,KFT-b207,KFT,KFT,0xEF53462838000184F35f7D991452e5f25110b207,18 +2535,OKAGE-89eC,OKAGE,OKAGE,0x8dfc8cc3201425669FaE803e1eB125cddd4189eC,18 +2536,METIS-ed8e,METIS,METIS,0x9E32b13ce7f2E80A01932B42553652E053D6ed8e,18 +2537,DOS-9cB7,DOS,DOS,0x0A913beaD80F321E7Ac35285Ee10d9d922659cB7,18 +2538,FPIS-1fdb,FPIS,FPIS,0xc2544A32872A91F4A553b404C6950e89De901fdb,18 +2539,CYMI-A93B,CYMI,CYMI,0x7449c93ABe66457e83B3799BCf1A99e92D58A93B,18 +2540,ZERO-a574,ZERO,ZERO,0xF0939011a9bb95c3B791f0cb546377Ed2693a574,18 +2541,0XBTC-5B31,0XBTC,0XBTC,0xB6eD7644C69416d67B522e20bC294A9a9B405B31,8 +2542,PAPER-0e8C,PAPER,PAPER,0x7aE1D57b58fA6411F32948314BadD83583eE0e8C,18 +2543,SDT-DB2F,SDT,SDT,0x73968b9a57c6E53d41345FD57a6E6ae27d6CDB2F,18 +2544,ENS-9D72,ENS,ENS,0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72,18 +2545,CVC-4E45,CVC,CVC,0x41e5560054824eA6B0732E656E3Ad64E20e94E45,8 +2546,EHASH-bbC6,EHASH,EHASH,0x2942E3B38E33123965bfbc21E802bE943a76bbC6,18 +2547,UGAS-400F,UGAS,UGAS,0x8716Fc5Da009D3A208f0178b637a50F4ef42400F,18 +2548,LAMB-Dd26,LAMB,LAMB,0x8971f9fd7196e5cEE2C1032B50F656855af7Dd26,18 +2549,DONUT-54A9,DONUT,DONUT,0xC0F9bD5Fa5698B6505F643900FFA515Ea5dF54A9,18 +2550,4ART-7d73,4ART,4ART,0xFF44b5719f0B77A9951636fc5e69d3a1fc9E7d73,18 +2551,LBT-37d3,LBT,LBT,0x5AC83BfbFcebb3397A40fD259dBE7a4bE04237d3,18 +2552,ZEFU-1229,ZEFU,ZEFU,0xB1e9157c2Fdcc5a856C8DA8b2d89b6C32b3c1229,18 +2553,YASHA-D753,YASHA,YASHA,0xD75f1f81B69bDd4Df8EfbB70e9C6F4609009D753,18 +2554,ENTC-32D9,ENTC,ENTC,0x3Ecab35B64345bfC472477A653e4A3abE70532D9,18 +2555,GBPT-bA98,GBPT,GBPT,0x86B4dBE5D203e634a12364C0e428fa242A3FbA98,18 +2556,NCR-ed9c,NCR,NCR,0xDB5C3C46E28B53a39C255AA39A411dD64e5fed9c,18 +2557,MNT-1a05,MNT,MNT,0x149caC67F1cd5d80651E7c9Bb359ec285D821a05,18 +2558,SHR-a964,SHR,SHR,0xd98F75b1A3261dab9eEd4956c93F33749027a964,2 +2559,BAAS-c2de,BAAS,BAAS,0x5d929AA919E489505CcAAd8A199619c6DCA0c2de,18 +2560,FLP-BcD3,FLP,FLP,0x3a1Bda28AdB5B0a812a7CF10A1950c920F79BcD3,18 +2561,REEF-5ACf,REEF,REEF,0xFE3E6a25e6b192A42a44ecDDCd13796471735ACf,18 +2562,CTR-d375,CTR,CTR,0x923b83c26B3809d960fF80332Ed00aA46D7Ed375,18 +2563,CET-D97F,CET,CET,0x081F67aFA0cCF8c7B17540767BBe95DF2bA8D97F,18 +2564,ECHOES-8a4F,ECHOES,ECHOES,0xf07Ebf00Aa847bBB0057b92cB469747e2c7C8a4F,18 +2565,EVRY-7ad7,EVRY,EVRY,0xd7DCd9B99787C619b4D57979521258D1A7267ad7,18 +2566,ISR-9489,ISR,ISR,0xB16d3Ed603D62b125c6bd45519EDa40829549489,18 +2567,CNTM-1b32,CNTM,CNTM,0x0E5f00DA8AAef196a719d045DB89b5DA8F371b32,18 +2568,IXI-3520,IXI,IXI,0x179Cd91631d96e8faFEe6A744eAC6fFdbB923520,8 +2569,MIB-0Fde,MIB,MIB,0x146D8D942048ad517479C9bab1788712Af180Fde,18 +2570,OLT-FCF0,OLT,OLT,0x64A60493D888728Cf42616e034a0dfEAe38EFCF0,18 +2571,FOAM-C121,FOAM,FOAM,0x4946Fcea7C692606e8908002e55A582af44AC121,18 +2572,JAY-CA6E,JAY,JAY,0xDA7C0810cE6F8329786160bb3d1734cf6661CA6E,18 +2573,OBOT-0c32,OBOT,OBOT,0xeDADeB5fAa413e6c8623461849DFD0B7C3790c32,18 +2574,DRC-e606,DRC,DRC,0xa150Db9b1Fa65b44799d4dD949D922c0a33Ee606,0 +2575,GHOUL-157A,GHOUL,GHOUL,0x3bb86d867A9F3adDF994cdaDb210Fa82F0D4157A,18 +2576,KEX-a4F8,KEX,KEX,0x16980b3B4a3f9D89E33311B5aa8f80303E5ca4F8,6 +2577,YIN-34C8,YIN,YIN,0x794Baab6b878467F93EF17e2f2851ce04E3E34C8,18 +2578,LPL-75B8,LPL,LPL,0x99295f1141d58A99e939F7bE6BBe734916a875B8,18 +2579,HLD-8187,HLD,HLD,0xCA1308E38340C69E848061aA2C3880daeB958187,9 +2580,METR-03f0,METR,METR,0x405CE8B2eAeeA7D4Ba5Fc160848cB2A6569e03f0,18 +2581,ETHX-A15b,ETHX,ETHX,0xA35b1B31Ce002FBF2058D22F30f95D405200A15b,18 +2582,DEC-b9b3,DEC,DEC,0x30f271C9E86D2B7d00a6376Cd96A1cFBD5F0b9b3,18 +2583,OIL-88a5,OIL,OIL,0x0275E1001e293C46CFe158B3702AADe0B99f88a5,18 +2584,AAMMUNISNXWETH-4894,AAMMUNISNXWETH,AAMMUNISNXWETH,0x38E491A71291CD43E8DE63b7253E482622184894,18 +2585,FREN-A3fa,FREN,FREN,0x43A8f41644a3f07818a43455b975d940Ce16A3fa,18 +2586,HICOOLCATS-29b2,HICOOLCATS,HICOOLCATS,0x082716b6734b31791407d7Dd0e2a2c41260029b2,18 +2587,GOVI-6107,GOVI,GOVI,0xeEAA40B28A2d1b0B08f6f97bB1DD4B75316c6107,18 +2588,BIAO-5D8a,BIAO,BIAO,0x00282FD551D03dC033256C4bf119532e8C735D8a,2 +2589,GAURO-1f90,GAURO,GAURO,0x8cb73eB53FA81F808f704BEa15A677B6464A1f90,9 +2590,MIMIR-383C,MIMIR,MIMIR,0x71dc40668682a124231301414167E4CF7f55383C,18 +2591,WNXM-2bDE,WNXM,WNXM,0x0d438F3b5175Bebc262bF23753C1E53d03432bDE,18 +2592,REQ-938a,REQ,REQ,0x8f8221aFbB33998d8584A2B05749bA73c37a938a,18 +2593,CTX-f98D,CTX,CTX,0x321C2fE4446C7c963dc41Dd58879AF648838f98D,18 +2594,STRP-ADc9,STRP,STRP,0x97872EAfd79940C7b24f7BCc1EADb1457347ADc9,18 +2595,FLEX-bc0A,FLEX,FLEX,0xFcF8eda095e37A41e002E266DaAD7efC1579bc0A,18 +2596,METAL-BB93,METAL,METAL,0x7ae075546e8042dC263FA0eb6519ce0a04EABB93,9 +2597,GENE-aF3b,GENE,GENE,0xf6ec87DFE1Ed3a7256Cc0c38e3c8139103e9aF3b,18 +2598,XTK-AdEB,XTK,XTK,0x7F3EDcdD180Dbe4819Bd98FeE8929b5cEdB3AdEB,18 +2599,RLC-7375,RLC,RLC,0x607F4C5BB672230e8672085532f7e901544a7375,9 +2600,ZENI-Caa7,ZENI,ZENI,0x9c6666d5ff4B53b5eB3bd866664c15d0BFcECaa7,18 +2601,MAXI-e84b,MAXI,MAXI,0x0d86EB9f43C57f6FF3BC9E23D8F9d82503f0e84b,8 +2602,PUMLX-1c73,PUMLX,PUMLX,0x8c088775e4139af116Ac1FA6f281Bbf71E8c1c73,18 +2603,RAINI-d5eD,RAINI,RAINI,0xeB953eDA0DC65e3246f43DC8fa13f35623bDd5eD,18 +2604,MEISHU-1289,MEISHU,MEISHU,0x406B9DCA8b52f08385014eC1eD1cf6A0D5c01289,9 +2605,XRP-98ae,XRP,XRP,0x07E0EDf8ce600FB51d44F51E3348D77D67F298ae,8 +2606,VETH-801F,VETH,VETH,0x4Bc3263Eb5bb2Ef7Ad9aB6FB68be80E43b43801F,18 +2607,HPO-d59b,HPO,HPO,0xfE39C384D702914127a005523f9915ADDB9bd59b,18 +2608,OGMF-3239,OGMF,OGMF,0x62D04C79C1F3a2d7230FFCd3Ab01794e1d153239,18 +2609,GEEQ-1b78,GEEQ,GEEQ,0x6B9f031D718dDed0d681c20cB754F97b3BB81b78,18 +2610,QUA-B227,QUA,QUA,0x4dAeb4a06F70f4b1A5C329115731fE4b89C0B227,18 +2611,PANTO-aA9d,PANTO,PANTO,0x54B8D105aA09342FAD6b352D41a0bAd3E1a9aA9d,18 +2612,RET-65fF,RET,RET,0xD7394087E1DBBE477FE4F1CF373B9Ac9459565fF,8 +2613,SAFETH-F3e5,SAFETH,SAFETH,0x6732Efaf6f39926346BeF8b821a04B6361C4F3e5,18 +2614,EMS-13Ad,EMS,EMS,0x247Dc9CBBAADabce6e30E2A84eC6C53A419913Ad,18 +2615,BT-8e82,BT,BT,0x6628606c321FaF52b7230A57b26c01B19aA68e82,18 +2616,MARAN-541e,MARAN,MARAN,0x5F9123d661459AF6f398B6f1566f53222612541e,18 +2617,ROBOT-23Eb,ROBOT,ROBOT,0xfb5453340C03db5aDe474b27E68B6a9c6b2823Eb,18 +2618,ARDVRK-D8BE,ARDVRK,ARDVRK,0xD0E94BF2466979B81d738c34058d4a6559c4D8BE,18 +2619,CNFI-2Ae9,CNFI,CNFI,0xEABB8996eA1662cAd2f7fB715127852cd3262Ae9,18 +2620,POP-78c4,POP,POP,0xD0Cd466b34A24fcB2f87676278AF2005Ca8A78c4,18 +2621,CLIPS-eD20,CLIPS,CLIPS,0xeCbEE2fAE67709F718426DDC3bF770B26B95eD20,18 +2622,MXC-386e,MXC,MXC,0x5Ca381bBfb58f0092df149bD3D243b08B9a8386e,18 +2623,UNICHAD-9A78,UNICHAD,UNICHAD,0x099f8d9e004cE139c6F46572ea99c0DB71889A78,18 +2624,ACX-F82F,ACX,ACX,0x44108f0223A3C3028F5Fe7AEC7f9bb2E66beF82F,18 +2625,PEPA-38A8,PEPA,PEPA,0x577Fee283e776eec29C9E4d258431982780a38A8,9 +2626,YVCOMP-5e66,YVCOMP,YVCOMP,0x4A3FE75762017DB0eD73a71C9A06db7768DB5e66,18 +2627,STFX-Db2d,STFX,STFX,0x9343e24716659A3551eB10Aff9472A2dcAD5Db2d,18 +2628,WCFG-34F0,WCFG,WCFG,0xc221b7E65FfC80DE234bbB6667aBDd46593D34F0,18 +2629,GAL-9875,GAL,GAL,0x5fAa989Af96Af85384b8a938c2EdE4A7378D9875,18 +2630,QUIDD-7c07,QUIDD,QUIDD,0xDA9FDAb21bC4A5811134A6E0Ba6CA06624e67c07,18 +2631,AG-f01b,AG,AG,0xCC8E21F599995D1c8367054841b8af5024DDf01b,18 +2632,XIO-5704,XIO,XIO,0x0f7F961648aE6Db43C75663aC7E5414Eb79b5704,18 +2633,SNAILS-4fB2,SNAILS,SNAILS,0xFA1B65448E7eC5f37e512cDcE52Ab79e541f4fB2,9 +2634,EML-1062,EML,EML,0x03dDe9e5BB31ee40A471476e2FCcF75C67921062,18 +2635,CIA-817d,CIA,CIA,0x52F4D5EE6c91e01Be67CA1F64b11eD0EE370817d,9 +2636,CPAY-E23E,CPAY,CPAY,0x0Ebb614204E47c09B6C3FeB9AAeCad8EE060E23E,0 +2637,ARES-d523,ARES,ARES,0x358AA737e033F34df7c54306960a38d09AaBd523,18 +2638,RESET-EeD2,RESET,RESET,0x30df7D7EE52c1b03cd009e656F00AB875AdCEeD2,18 +2639,NABOX-77Fb,NABOX,NABOX,0x03D1E72765545729A035e909eDd9371a405f77Fb,18 +2640,ADEL-A182,ADEL,ADEL,0x94d863173EE77439E4292284fF13fAD54b3BA182,18 +2641,NFTS-7dBc,NFTS,NFTS,0x08037036451C768465369431Da5C671ad9B37dBc,18 +2642,MASTERMIND-9b43,MASTERMIND,MASTERMIND,0x8b0FdE007458Ee153bd0F66CD448Af5FB3D99b43,18 +2643,TRIX-b081,TRIX,TRIX,0x056354F3Ff20743aa4c0DA365603871c7000b081,18 +2644,REKT-362b,REKT,REKT,0x8a7664E782860E856031D6c31EB3bde721Bc362b,18 +2645,PCNT-0C3b,PCNT,PCNT,0x657B83A0336561C8f64389a6f5aDE675C04b0C3b,18 +2646,BBF-AC91,BBF,BBF,0xDE075D9ADbD0240b4462F124af926452Ad0BAC91,18 +2647,SOUL-66F6,SOUL,SOUL,0x992D339532A9C42F1b0E59A57e95F38da38c66F6,18 +2648,QDT-5B55,QDT,QDT,0x4e432A62733a7ee38Ad2e16b3cc0731457eA5B55,4 +2649,HEZ-8dEE,HEZ,HEZ,0xEEF9f339514298C6A857EfCfC1A762aF84438dEE,18 +2650,YFII-aB83,YFII,YFII,0xa1d0E215a23d7030842FC67cE582a6aFa3CCaB83,18 +2651,BBTC-2541,BBTC,BBTC,0x9BE89D2a4cd102D8Fecc6BF9dA793be995C22541,8 +2652,AZUM-B070,AZUM,AZUM,0xd26a9C3437f7D121098c8C05C7413F5Cc70BB070,18 +2653,IDLEUSDTSAFE-07b5,IDLEUSDTSAFE,IDLEUSDTSAFE,0x28fAc5334C9f7262b3A3Fe707e250E01053e07b5,18 +2654,PET-5C5F,PET,PET,0xB870679a7Fa65b924026F496De7f27c1DD0e5C5F,18 +2655,HOLD-2ECE,HOLD,HOLD,0x9fb41Be7688A1aE9759185d7cAcb10e9A9d22ECE,18 +2656,AAMMUNIUSDCWETH-5976,AAMMUNIUSDCWETH,AAMMUNIUSDCWETH,0x391E86e2C002C70dEe155eAceB88F7A3c38f5976,18 +2657,STICK-badC,STICK,STICK,0x556713E6A6a928aF55Bf3967F847C62402ACbadC,9 +2658,YVSUSHI-0390,YVSUSHI,YVSUSHI,0x6d765CbE5bC922694afE112C140b8878b9FB0390,18 +2659,TORG-67A9,TORG,TORG,0xCfa0885131F602D11D4DA248D2c65A62063567A9,18 +2660,SHS-65ca,SHS,SHS,0xbB4f3aD7a2cf75d8EfFc4f6D7BD21d95F06165ca,18 +2661,ROOBEE-91AA,ROOBEE,ROOBEE,0xA31B1767e09f842ECFd4bc471Fe44F830E3891AA,18 +2662,BABY-0603,BABY,BABY,0x1cCF27211e8bf052f6255329ed641B4E94E80603,18 +2663,BNTY-9de3,BNTY,BNTY,0xd2d6158683aeE4Cc838067727209a0aAF4359de3,18 +2664,AMLT-0f2f,AMLT,AMLT,0xCA0e7269600d353F70b14Ad118A49575455C0f2f,18 +2665,HIRENGA-aa47,HIRENGA,HIRENGA,0x1De852CD18323Bc5eBDa842b8EEF46C6E551aa47,18 +2666,LOON-373c,LOON,LOON,0x7C5d5100B339Fe7D995a893AF6CB496B9474373c,18 +2667,LSETH-6549,LSETH,LSETH,0x8c1BEd5b9a0928467c9B1341Da1D7BD5e10b6549,18 +2668,ALG-842B,ALG,ALG,0x16B0a1a87ae8aF5C792faBC429C4FE248834842B,18 +2669,AAMMUNIWBTCWETH-E123,AAMMUNIWBTCWETH,AAMMUNIWBTCWETH,0xc58F53A8adff2fB4eb16ED56635772075E2EE123,18 +2670,IDLEUSDTYIELD-C2f8,IDLEUSDTYIELD,IDLEUSDTYIELD,0xF34842d05A1c888Ca02769A633DF37177415C2f8,18 +2671,AGA-4e20,AGA,AGA,0x2D80f5F5328FdcB6ECeb7Cacf5DD8AEDaEC94e20,4 +2672,MVD-39d1,MVD,MVD,0x788B6D2B37Aa51D916F2837Ae25b05f0e61339d1,9 +2673,AVINOC-A3EF,AVINOC,AVINOC,0xF1cA9cb74685755965c7458528A36934Df52A3EF,18 +2674,MNTE-E8d3,MNTE,MNTE,0x94D40B49F020BfeBbA1a80A0191EB3737B90E8d3,18 +2675,ULT-53a7,ULT,ULT,0x09617F6fD6cF8A71278ec86e23bBab29C04353a7,18 +2676,ASX-2701,ASX,ASX,0x67d85A291fcDC862A78812a3C26d55e28FFB2701,18 +2677,RELAY-841c,RELAY,RELAY,0x5D843Fa9495d23dE997C394296ac7B4D721E841c,18 +2678,BLY-0D5d,BLY,BLY,0xf8aD7dFe656188A23e89da09506Adf7ad9290D5d,18 +2679,EUL-E07b,EUL,EUL,0xd9Fcd98c322942075A5C3860693e9f4f03AAE07b,18 +2680,PURE-230f,PURE,PURE,0x2904b9b16652d7d0408EcCfA23A19D4A3358230f,18 +2681,INU-7574,INU,INU,0xF32aa187d5Bc16A2C02A6aFb7Df1459d0D107574,18 +2682,BERRY-6ed5,BERRY,BERRY,0x2d787D4f5005Bd66aC910c2E821241625c406ed5,18 +2683,WSIENNA-64f9,WSIENNA,WSIENNA,0x9b00e6E8D787b13756eb919786c9745054DB64f9,18 +2684,RAIN-4D57,RAIN,RAIN,0x71Fc1F555a39E0B698653AB0b475488EC3c34D57,18 +2685,VEGA-bc6e,VEGA,VEGA,0xcB84d72e61e383767C4DFEb2d8ff7f4FB89abc6e,18 +2686,WACO-204e,WACO,WACO,0x910c4DA718CAF4EE38cE5c2490CDDAEca689204e,18 +2687,AZRX-062f,AZRX,AZRX,0x6Fb0855c404E09c47C3fBCA25f08d4E41f9F062f,18 +2688,HIODBS-5889,HIODBS,HIODBS,0x33bD66c334274989b673a8e8C8d1A3f1B8De5889,18 +2689,H2O-1701,H2O,H2O,0x0642026E7f0B6cCaC5925b4E7Fa61384250e1701,18 +2690,IPOR-9090,IPOR,IPOR,0x1e4746dC744503b53b4A082cB3607B169a289090,18 +2691,CUP-968E,CUP,CUP,0x3209d14Ff61766359E64aceFf91877cEC2AD968E,18 +2692,WOMI-A670,WOMI,WOMI,0x04969cD041C0cafB6AC462Bd65B536A5bDB3A670,18 +2693,DAMM-16b8,DAMM,DAMM,0xb3207935FF56120f3499e8aD08461Dd403bF16b8,18 +2694,MFI-355B,MFI,MFI,0xAa4e3edb11AFa93c41db59842b29de64b72E355B,18 +2695,OFI-97dC,OFI,OFI,0x419E35E3515c2fDB652C898bF7A0B21FB20497dC,9 +2696,JARED-ea56,JARED,JARED,0x36880f14AF2e85Cae8E467827FA077D6BF12ea56,18 +2697,BAMBOO-2e89,BAMBOO,BAMBOO,0xf56842Af3B56Fd72d17cB103f92d027bBa912e89,18 +2698,GUSTA-8614,GUSTA,GUSTA,0xe2F668f6166EDa65620A01c4C116a5F6E5528614,18 +2699,AUTO-581b,AUTO,AUTO,0x622dFfCc4e83C64ba959530A5a5580687a57581b,18 +2700,SUPER-1384,SUPER,SUPER,0x6D8f7Ac13E8c2944D27e0f9BC6aA0122f2eC1384,18 +2701,VLX-Edb9,VLX,VLX,0x8C543AED163909142695f2d2aCd0D55791a9Edb9,18 +2702,USHI-ec55,USHI,USHI,0x6Dca182ac5E3f99985bC4Ee0f726d6472aB1ec55,18 +2703,CYCLUB-3e5f,CYCLUB,CYCLUB,0x3b58c52C03ca5Eb619EBa171091c86C34d603e5f,9 +2704,APN-75E6,APN,APN,0xd4342a57eCf2Fe7ffA37c33cb8f63b1500e575E6,18 +2705,HIFLUF-B047,HIFLUF,HIFLUF,0x79C9e0410b6615e7Ba9DD69614B0519325a2B047,18 +2706,CAH-754A,CAH,CAH,0x8e0E57DCb1ce8d9091dF38ec1BfC3b224529754A,18 +2707,ICETH-6A84,ICETH,ICETH,0x7C07F7aBe10CE8e33DC6C5aD68FE033085256A84,18 +2708,MTRM-7581,MTRM,MTRM,0xcd17fA52528f37FACB3028688E62ec82d9417581,0 +2709,UPP-f652,UPP,UPP,0xC86D054809623432210c107af2e3F619DcFbf652,18 +2710,BNA-c2b8,BNA,BNA,0x20910e5b5f087f6439DFcB0ddA4e27d1014Ac2b8,18 +2711,DEUS-9E44,DEUS,DEUS,0xDE5ed76E7c05eC5e4572CfC88d1ACEA165109E44,18 +2712,ALCX-c8DF,ALCX,ALCX,0xdBdb4d16EdA451D0503b854CF79D55697F90c8DF,18 +2713,MXNT-64AA,MXNT,MXNT,0xed03Ed872159e199065401b6d0D487d78d9464AA,6 +2714,UWU-5257,UWU,UWU,0x55C08ca52497e2f1534B59E2917BF524D4765257,18 +2715,LWC-9D11,LWC,LWC,0xa6a1Cc527d48585538b137E6Abc14B2a55489D11,8 +2716,DACXI-193F,DACXI,DACXI,0xEfaB7248D36585e2340E5d25F8a8D243E6e3193F,18 +2717,SAT-91a2,SAT,SAT,0x5ABf88cF3444611D13F6D1B39F3f3EE8575c91a2,18 +2718,GUNBET-cF4d,GUNBET,GUNBET,0x9E64ea4e67371de7Ea8039C6F992f3029836cF4d,9 +2719,SOV-2c16,SOV,SOV,0x2C5BC2Ba3614fD27FCc7022eA71d9172E2632c16,18 +2720,FSC-5C6e,FSC,FSC,0x5f4361971667C8198706dEc8C59cF7607e405C6e,8 +2721,HVH-0E0E,HVH,HVH,0xd076C4Ba62c57b3Fa10800bcfD8dA66742110E0E,18 +2722,ADCO-92F4,ADCO,ADCO,0xB6c3DC857845a713d3531cea5ac546F6767992F4,6 +2723,MFG-0312,MFG,MFG,0x6710c63432A2De02954fc0f851db07146a6c0312,18 +2724,EXM-0f62,EXM,EXM,0x83869DE76B9Ad8125e22b857f519F001588c0f62,8 +2725,DCNT-8701,DCNT,DCNT,0x4Ce4C025692B3142dbdE1cd432ef55b9A8D18701,9 +2726,RFUEL-36E5,RFUEL,RFUEL,0xaf9f549774ecEDbD0966C52f250aCc548D3F36E5,18 +2727,PTU-98dd,PTU,PTU,0xC229c69eB3BB51828D0cAA3509A05a51083898dd,18 +2728,LIEN-557E,LIEN,LIEN,0xaB37e1358b639Fd877f015027Bb62d3ddAa7557E,8 +2729,BNTX-fB6d,BNTX,BNTX,0x86d1d12523B65203851c571FcC029bF90903fB6d,18 +2730,FROG-91D5,FROG,FROG,0x4fEe21439F2b95b72da2F9f901b3956f27fE91D5,18 +2731,K21-04AF,K21,K21,0xB9d99C33eA2d86EC5eC6b8A4dD816EBBA64404AF,18 +2732,DNT-04ea,DNT,DNT,0x0AbdAce70D3790235af448C88547603b945604ea,18 +2733,VERA-e468,VERA,VERA,0xd7f0cC50AD69408aE58be033F4f85D2367C2e468,18 +2734,DERC-a9aE,DERC,DERC,0x9fa69536d1cda4A04cFB50688294de75B505a9aE,18 +2735,STAKE-95e6,STAKE,STAKE,0x0Ae055097C6d159879521C384F1D2123D1f195e6,18 +2736,BTCP-f5Ab,BTCP,BTCP,0x723CbfC05e2cfcc71d3d89e770D32801A5eEf5Ab,8 +2737,DEP-8163,DEP,DEP,0x1A3496C18d558bd9C6C8f609E1B129f67AB08163,18 +2738,AREN-C54C,AREN,AREN,0x69948cC03f478B95283F7dbf1CE764d0fc7EC54C,18 +2739,DELREY-28dd,DELREY,DELREY,0xfca89d55A768375Ab7cA04485A35a964BEA828dd,18 +2740,UMBR-d35C,UMBR,UMBR,0xa4bBE66f151B22B167127c770016b15fF97Dd35C,18 +2741,SPH-a406,SPH,SPH,0xA0CF46eb152656C7090e769916eb44a138aaa406,18 +2742,SHEESHA-E768,SHEESHA,SHEESHA,0x232FB065D9d24c34708eeDbF03724f2e95ABE768,18 +2743,XDATA-C023,XDATA,XDATA,0x0Cf0Ee63788A0849fE5297F3407f701E122cC023,18 +2744,PDF-e7a9,PDF,PDF,0x0c943300D604c732117DB2755873A0A0683ee7a9,18 +2745,NPXS-e5B3,NPXS,NPXS,0xA15C7Ebe1f07CaF6bFF097D8a589fb8AC49Ae5B3,18 +2746,PRTG-06ca,PRTG,PRTG,0xBD04ccc050058a6A422851fA6c0F92BB65EB06ca,18 +2747,PDX-74B3,PDX,PDX,0x6a8fee0E33Cb65a7E8D21BadCA62E87639ef74B3,18 +2748,XCATGE-96a2,XCATGE,XCATGE,0xc608557D966F6b7568E5c9345285f0c8C90A96a2,9 +2749,KST-6d87,KST,KST,0xBc17729fDf562723f0267F79FF25aDE441056d87,18 +2750,DEXE-Cbd6,DEXE,DEXE,0xde4EE8057785A7e8e800Db58F9784845A5C2Cbd6,18 +2751,XAI-e232,XAI,XAI,0x35e78b3982E87ecfD5b3f3265B601c046cDBe232,18 +2752,GOL-EfaC,GOL,GOL,0x083D41d6DD21EE938f0c055CA4fb12268DF0EfaC,4 +2753,NCT-33d1,NCT,NCT,0x9E46A38F5DaaBe8683E10793b06749EEF7D733d1,18 +2754,ZUM-502c,ZUM,ZUM,0xe0b9BcD54bF8A730EA5d3f1fFCe0885E911a502c,8 +2755,FSCC-8622,FSCC,FSCC,0x0789dbAE94fb18e5789B8e4489BCB7A1ADB58622,8 +2756,KRL-DAC0,KRL,KRL,0x464eBE77c293E473B48cFe96dDCf88fcF7bFDAC0,18 +2757,GMAT-Ca5D,GMAT,GMAT,0xB13dE094Cc5CEe6C4cC0A3737bf0290166D9Ca5D,18 +2758,XFT-45aE,XFT,XFT,0x76BC677d444f1E9d57dAf5187ee2b7dC852745aE,18 +2759,HI-99aC,HI,HI,0xC4f6E93AEDdc11dc22268488465bAbcAF09399aC,18 +2760,HIENS4-2B02,HIENS4,HIENS4,0x00A7EC2F2b451cb0233E8aDbf4C9a951027C2B02,18 +2761,DREP-b4c2,DREP,DREP,0x3Ab6Ed69Ef663bd986Ee59205CCaD8A20F98b4c2,18 +2762,ZEUS-F867,ZEUS,ZEUS,0x6ef460EB3563CfCc73F8147B0A77DAFFeE71F867,18 +2763,BLUSD-79C3,BLUSD,BLUSD,0xB9D7DdDca9a4AC480991865EfEf82E01273F79C3,18 +2764,CERE-B0d6,CERE,CERE,0x2dA719DB753dFA10a62E140f436E1d67F2ddB0d6,10 +2765,OMNIA-E849,OMNIA,OMNIA,0x71dC640b99faAF03544BDbCE87018c2Ae8ebE849,8 +2766,OM-c95d,OM,OM,0x3593D125a4f7849a1B059E64F4517A86Dd60c95d,18 +2767,WVG0-b611,WVG0,WVG0,0x25C7b64A93Eb1261E130eC21a3e9918CaA38b611,18 +2768,XSGD-cA96,XSGD,XSGD,0x70e8dE73cE538DA2bEEd35d14187F6959a8ecA96,6 +2769,PNK-c04d,PNK,PNK,0x93ED3FBe21207Ec2E8f2d3c3de6e058Cb73Bc04d,18 +2770,ROUTE-3dB4,ROUTE,ROUTE,0x16ECCfDbb4eE1A85A33f3A9B21175Cd7Ae753dB4,18 +2771,SARCO-F51A,SARCO,SARCO,0x7697B462A7c4Ff5F8b55BDBC2F4076c2aF9cF51A,18 +2772,BBS-B430,BBS,BBS,0xFe459828c90c0BA4bC8b42F5C5D44F316700B430,18 +2773,BTR-2f3a,BTR,BTR,0x5EA82C27efc7634f1C5Ad20a3561c453433a2f3a,18 +2774,MELON-326d,MELON,MELON,0x37DbA54Fdc402AFF647CE06c66972F5D662c326d,18 +2775,SHEPE-9B1b,SHEPE,SHEPE,0x0b0a8c7C34374C1d0C649917a97EeE6c6c929B1b,9 +2776,PHTR-22dA,PHTR,PHTR,0xE1Fc4455f62a6E89476f1072530C20CF1A0622dA,18 +2777,BOG-AbA1,BOG,BOG,0x0BA74fb26Ca523f2dc22fa4318581CC2452eAbA1,18 +2778,RETH2-86c5,RETH2,RETH2,0x20BC832ca081b91433ff6c17f85701B6e92486c5,18 +2779,FOR-672F,FOR,FOR,0x1FCdcE58959f536621d76f5b7FfB955baa5A672F,18 +2780,BOXFEE-0f94,BOXFEE,BOXFEE,0xE4B91fAf8810F8895772E7cA065D4CB889120f94,18 +2781,MVL-Dc71,MVL,MVL,0xA849EaaE994fb86Afa73382e9Bd88c2B6b18Dc71,18 +2782,TIME-A260,TIME,TIME,0x485d17A6f1B8780392d53D64751824253011A260,8 +2783,ANOM-0942,ANOM,ANOM,0x5224F552f110eC78E6E0468138950AE5F3040942,18 +2784,HICLONEX-4319,HICLONEX,HICLONEX,0x764104dc24DAdFf01150253a58C82337984B4319,18 +2785,PLA-b430,PLA,PLA,0x3a4f40631a4f906c2BaD353Ed06De7A5D3fCb430,18 +2786,TOKE-8C94,TOKE,TOKE,0x2e9d63788249371f1DFC918a52f8d799F4a38C94,18 +2787,ZKITTY-3016,ZKITTY,ZKITTY,0x7DF18E4eFD6e6f73cfb462937dAC40FE42533016,18 +2788,YCC-b0B0,YCC,YCC,0x37E1160184F7dD29f00b78C050Bf13224780b0B0,8 +2789,BTCPEP-cf8E,BTCPEP,BTCPEP,0x61F7FdAAE910f3Ed65Fb1a3aB59354E38B06cf8E,18 +2790,ROOK-3d4a,ROOK,ROOK,0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a,18 +2791,MCHC-ECC3,MCHC,MCHC,0xD69F306549e9d96f183B1AecA30B8f4353c2ECC3,18 +2792,VPP-5e6e,VPP,VPP,0x5EeAA2DCb23056F4E8654a349E57eBE5e76b5e6e,18 +2793,DBI-0EcE,DBI,DBI,0x2dE509bf0014ddF697b220bE628213034d320EcE,18 +2794,XNO-3F83,XNO,XNO,0x05bBe7240De66F6480C9aeda77C1376B13393F83,18 +2795,VRO-1e44,VRO,VRO,0x10BC518c32fbAE5e38Ecb50A612160571bD81e44,8 +2796,XDG-1c8d,XDG,XDG,0x4f81C790581b240A5C948Afd173620EcC8C71c8d,18 +2797,LOC-446c,LOC,LOC,0x5e3346444010135322268a4630d2ED5F8D09446c,18 +2798,ZLW-d68C,ZLW,ZLW,0x5319e86F0e41a06E49eb37046b8c11D78bcAd68C,18 +2799,PSP-3dE5,PSP,PSP,0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5,18 +2800,X2Y2-EBC9,X2Y2,X2Y2,0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9,18 +2801,MEEB-6f16,MEEB,MEEB,0x641927E970222B10b2E8CDBC96b1B4F427316f16,18 +2802,ROCKI-aa04,ROCKI,ROCKI,0xFf44b937788215ecA197BAaf9AF69dbdC214aa04,18 +2803,PVPBOT-c712,PVPBOT,PVPBOT,0x6a36481aF18289f80Af4a1B21e4f6d323faBc712,9 +2804,MIX-0429,MIX,MIX,0x5d285F735998F36631F678FF41fb56A10A4d0429,18 +2805,ABT-E986,ABT,ABT,0xB98d4C97425d9908E66E53A6fDf673ACcA0BE986,18 +2806,X7DAO-2dA0,X7DAO,X7DAO,0x7105E64bF67ECA3Ae9b123F0e5Ca2b83b2eF2dA0,18 +2807,GRG-C964,GRG,GRG,0x4FbB350052Bca5417566f188eB2EBCE5b19BC964,18 +2808,HISEALS-A703,HISEALS,HISEALS,0x286F851b049CcCE1419e09b6468dC3297F86A703,18 +2809,ELAND-3205,ELAND,ELAND,0x33E07f5055173cF8FeBedE8B21B12D1e2b523205,18 +2810,COVN-6F50,COVN,COVN,0x19ac2659599fD01c853dE846919544276aD26F50,18 +2811,ZKP-c5B3,ZKP,ZKP,0x09637E374Ec5baB8C9e9654a97C9593e3038c5B3,9 +2812,BBW-8F69,BBW,BBW,0xd2287a52287dd64AE2c690D74322E2e345dC8F69,18 +2813,SYNC-FD32,SYNC,SYNC,0xB6ff96B8A8d214544Ca0dBc9B33f7AD6503eFD32,18 +2814,EUR-C-A134,EUR-C,EUR-C,0xf7790914Dc335B20Aa19D7c9C9171e14e278A134,18 +2815,JUP-2Be8,JUP,JUP,0x4B1E80cAC91e2216EEb63e29B957eB91Ae9C2Be8,18 +2816,GAINS-FF55,GAINS,GAINS,0x056C1D42Fb1326f57da7f19eBB7dDA4673f1FF55,18 +2817,NRCH-CC51,NRCH,NRCH,0x69fa8e7F6bf1ca1fB0de61e1366f7412b827CC51,9 +2818,OUSG-ee92,OUSG,OUSG,0x1B19C19393e2d034D8Ff31ff34c81252FcBbee92,18 +2819,DFA-99f5,DFA,DFA,0x62959c699A52eC647622c91e79CE73344e4099f5,18 +2820,POLAR-075E,POLAR,POLAR,0x58fcAa970339a9b1f8c0a5b4F3Fcd7af2bA3075E,18 +2821,PACK-1Ab2,PACK,PACK,0xb186035490C8602EaD853EC98bE05E3461521Ab2,18 +2822,QUARTZ-25ef,QUARTZ,QUARTZ,0xbA8A621b4a54e61C442F5Ec623687e2a942225ef,18 +2823,STAT-30C2,STAT,STAT,0x4FC15c91a9c4A9efB404174464687E8e128730C2,18 +2824,LUCKY-6140,LUCKY,LUCKY,0x6B0956258fF7bd7645aa35369B55B61b8e6d6140,8 +2825,DXGM-3475,DXGM,DXGM,0x66F73D0fD4161cfad4302DC145Ff994375c13475,18 +2826,TRIBL-0F86,TRIBL,TRIBL,0x6988A804C74Fd04F37DA1EA4781CEa68c9C00F86,18 +2827,CUSDT-dCC9,CUSDT,CUSDT,0xf650C3d88D12dB855b8bf7D11Be6C55A4e07dCC9,8 +2828,RVP-D48a,RVP,RVP,0x17EF75AA22dD5f6C2763b8304Ab24f40eE54D48a,18 +2829,DOSE-6515,DOSE,DOSE,0xb31eF9e52d94D4120eb44Fe1ddfDe5B4654A6515,18 +2830,AAMMUNIDAIUSDC-2177,AAMMUNIDAIUSDC,AAMMUNIDAIUSDC,0xE340B25fE32B1011616bb8EC495A4d503e322177,18 +2831,IONX-4217,IONX,IONX,0x02D3A27Ac3f55d5D91Fb0f52759842696a864217,18 +2832,CVP-DcA1,CVP,CVP,0x38e4adB44ef08F22F5B5b76A8f0c2d0dCbE7DcA1,18 +2833,ID-Eb83,ID,ID,0xEBd9D99A3982d547C5Bb4DB7E3b1F9F14b67Eb83,18 +2834,SU-4f4D,SU,SU,0x9F5f463A7666e04CDABD22BD83569A5c72Cb4f4D,9 +2835,TCH-ac91,TCH,TCH,0x9B39A0B97319a9bd5fed217c1dB7b030453bac91,18 +2836,BCDT-62a5,BCDT,BCDT,0xAcfa209Fb73bF3Dd5bBfb1101B9Bc999C49062a5,18 +2837,WOOL-e525,WOOL,WOOL,0x8355DBE8B0e275ABAd27eB843F3eaF3FC855e525,18 +2838,LA-cdDf,LA,LA,0xE50365f5D679CB98a1dd62D6F6e58e59321BcdDf,18 +2839,PEPES-7E12,PEPES,PEPES,0x6BF765C43030387a983f429c1438e9D2025B7E12,18 +2840,TRIO-3308,TRIO,TRIO,0xF55cD1e399e1cc3D95303048897a680be3313308,8 +2841,MVC-D6f7,MVC,MVC,0x581911b360B6eB3a14eF295a83a91DC2bCE2D6f7,18 +2842,LITX-7a91,LITX,LITX,0x4B48068864F77261838C7849A12853FB94c77a91,18 +2843,PILOT-9525,PILOT,PILOT,0x37C997B35C619C21323F3518B9357914E8B99525,18 +2844,KGC-cFbB,KGC,KGC,0xa8262Eb913FccEa4C3f77fc95b8b4043B384cFbB,18 +2845,BCDN-FE40,BCDN,BCDN,0x1e797Ce986C3CFF4472F7D38d5C4aba55DfEFE40,15 +2846,QRDO-2463,QRDO,QRDO,0x4123a133ae3c521FD134D7b13A2dEC35b56c2463,8 +2847,SAO-086F,SAO,SAO,0x3EF389f264e07fFF3106A3926F2a166d1393086F,9 +2848,YF-DAI-9577,YF-DAI,YF-DAI,0xf4CD3d3Fda8d7Fd6C5a500203e38640A70Bf9577,18 +2849,WAMPL-49Ef,WAMPL,WAMPL,0xEDB171C18cE90B633DB442f2A6F72874093b49Ef,18 +2850,SOP-2cbe,SOP,SOP,0x076641aF1B8f06B7f8C92587156143C109002cbe,18 +2851,DACT-EBec,DACT,DACT,0x343c6de13833bc7d9890eb6B1cd3FBeBC730EBec,9 +2852,XCHF-fc08,XCHF,XCHF,0xB4272071eCAdd69d933AdcD19cA99fe80664fc08,18 +2853,PAR-4703,PAR,PAR,0x68037790A0229e9Ce6EaA8A99ea92964106C4703,18 +2854,VXL-2b31,VXL,VXL,0x16CC8367055aE7e9157DBcB9d86Fd6CE82522b31,18 +2855,SHOP-0D40,SHOP,SHOP,0x99e186E8671DB8B10d45B7A1C430952a9FBE0D40,18 +2856,TOL-2cFA,TOL,TOL,0xd07D9Fe2d2cc067015E2b4917D24933804f42cFA,18 +2857,FAR-4687,FAR,FAR,0xAaE3Cf9968D26925BDb73cE3864e0084a20f4687,18 +2858,ATRI-FB62,ATRI,ATRI,0xdacD69347dE42baBfAEcD09dC88958378780FB62,0 +2859,COMBO-0278,COMBO,COMBO,0xfFffFffF2ba8F66D4e51811C5190992176930278,18 +2860,BLANK-9666,BLANK,BLANK,0x41A3Dba3D677E573636BA691a70ff2D606c29666,18 +2861,DDIM-8E20,DDIM,DDIM,0xFbEEa1C75E4c4465CB2FCCc9c6d6afe984558E20,18 +2862,MTA-AcD2,MTA,MTA,0xa3BeD4E1c75D00fa6f4E5E6922DB7261B5E9AcD2,18 +2863,BANANA-F03a,BANANA,BANANA,0x94e496474F1725f1c1824cB5BDb92d7691A4F03a,18 +2864,ICH-6166,ICH,ICH,0xf8483E2d6560585C02D46bF7B3186Bf154a96166,8 +2865,HART-861d,HART,HART,0x52928C95C4C7e934E0EfcfAB08853A0E4558861d,18 +2866,POLA-2CED,POLA,POLA,0xc691bc298a304d591Ad9b352c7A8D216dE9f2CED,18 +2867,DUCK-57D5,DUCK,DUCK,0x92E187a03B6CD19CB6AF293ba17F2745Fd2357D5,18 +2868,MTLX-1d14,MTLX,MTLX,0x2e1E15C44Ffe4Df6a0cb7371CD00d5028e571d14,18 +2869,QTCON-0078,QTCON,QTCON,0x1bF7Fd22709733cCD7c45AB27Dd02C7EC8E50078,18 +2870,FUSDT-27d7,FUSDT,FUSDT,0x81994b9607e06ab3d5cF3AffF9a67374f05F27d7,8 +2871,PPC-2958,PPC,PPC,0x044d078F1c86508e13328842Cc75AC021B272958,6 +2872,BTC2X-FLI-1c2b,BTC2X-FLI,BTC2X-FLI,0x0B498ff89709d3838a063f1dFA463091F9801c2b,18 +2873,ALBT-0Eb0,ALBT,ALBT,0x00a8b738E453fFd858a7edf03bcCfe20412f0Eb0,18 +2874,MM-c611,MM,MM,0x6B4c7A5e3f0B99FCD83e9c089BDDD6c7FCe5c611,18 +2875,SHOP-4B8b,SHOP,SHOP,0x64b78325d7495D6d4be92f234fa3f3B8d8964B8b,18 +2876,CNHT-7AEF,CNHT,CNHT,0x6E109E9dD7Fa1a58BC3eff667e8e41fC3cc07AEF,6 +2877,DPAY-Dd78,DPAY,DPAY,0xE5A733681bbE6cd8c764Bb8078ef8E13a576Dd78,18 +2878,SENATE-4470,SENATE,SENATE,0x34Be5b8C30eE4fDe069DC878989686aBE9884470,18 +2879,VEN-53c3,VEN,VEN,0x3A529A8d4f2ea64D206339fA12A3aF4D431F53c3,18 +2880,AX-dA39,AX,AX,0xCB0D82f4DFA503C9e3b8Abc7A3Caa01175b2dA39,18 +2881,FLUT-1870,FLUT,FLUT,0x4F08705FB8F33AffC231ed66e626B40E84A71870,11 +2882,UMAD-326f,UMAD,UMAD,0x31c2415c946928e9FD1Af83cdFA38d3eDBD4326f,8 +2883,STIMA-24Df,STIMA,STIMA,0xD2e5decc08A80be6538F89f9AB8ff296e2f724Df,6 +2884,SUTER-5DB4,SUTER,SUTER,0xAA2ce7Ae64066175E0B90497CE7d9c190c315DB4,18 +2885,MEED-47b7,MEED,MEED,0x8503a7b00B4b52692cC6c14e5b96F142E30547b7,18 +2886,NEBO-b455,NEBO,NEBO,0x7f0c8B125040f707441cad9e5eD8a8408673b455,18 +2887,CETH-0ED5,CETH,CETH,0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5,8 +2888,BRWL-877a,BRWL,BRWL,0x4086E77C5E993FDB90a406285d00111a974F877a,4 +2889,VRX-B4e5,VRX,VRX,0x87DE305311D5788e8da38D19bb427645b09CB4e5,18 +2890,MDT-7d26,MDT,MDT,0x814e0908b12A99FeCf5BC101bB5d0b8B5cDf7d26,18 +2891,YAM-8521,YAM,YAM,0x0AaCfbeC6a24756c20D41914F2caba817C0d8521,18 +2892,SHIB20-4483,SHIB20,SHIB20,0x34ba042827996821CFFEB06477D48a2Ff9474483,8 +2893,DV-65b6,DV,DV,0x2a03A891ADD2dc6d0F7b94419086630ba5cB65b6,18 +2894,KINE-F05D,KINE,KINE,0xCbfef8fdd706cde6F208460f2Bf39Aa9c785F05D,18 +2895,MTH-1F16,MTH,MTH,0xaF4DcE16Da2877f8c9e00544c93B62Ac40631F16,5 +2896,NTN-BEe2,NTN,NTN,0x56D3d0B333D29b48DD7c01d516A737B8866fBEe2,18 +2897,STANDARD-2bcd,STANDARD,STANDARD,0xDA0c94c73D127eE191955FB46bACd7FF999b2bcd,18 +2898,GRLC-5BE9,GRLC,GRLC,0x58f7345b5295E43aA454911571f13be186655BE9,8 +2899,YEL-75ea,YEL,YEL,0x7815bDa662050D84718B988735218CFfd32f75ea,18 +2900,FABRIC-e523,FABRIC,FABRIC,0x8c6Fa66c21aE3fC435790E451946a9Ea82E6e523,18 +2901,BLT-B82e,BLT,BLT,0x107c4504cd79C5d2696Ea0030a8dD4e92601B82e,18 +2902,XY-50DE,XY,XY,0x77777777772cf0455fB38eE0e75f38034dFa50DE,18 +2903,MANC-3363,MANC,MANC,0xE0c05ec44775e4AD62CDC2eEcdF337aA7A143363,2 +2904,TOS-8153,TOS,TOS,0x409c4D8cd5d2924b9bc5509230d16a61289c8153,18 +2905,MYST-f361,MYST,MYST,0x4Cf89ca06ad997bC732Dc876ed2A7F26a9E7f361,18 +2906,VADER-0983,VADER,VADER,0x2602278EE1882889B946eb11DC0E810075650983,18 +2907,COT-4CE8,COT,COT,0x5CAc718A3AE330d361e39244BF9e67AB17514CE8,18 +2908,IAI-2122,IAI,IAI,0x6dDe4fFD6dB302Bc9a46850f61399e082f6c2122,18 +2909,GOLD-73b8,GOLD,GOLD,0x486F4641eF2B50cC130Dadbd27B6F271723873b8,18 +2910,TRZ-56AA,TRZ,TRZ,0x394A16744Dcd805BB0cA7252e70691f0dcAc56AA,18 +2911,INSAI-4674,INSAI,INSAI,0xceec4aE5CF5300aC9A49a816961Af9393b214674,6 +2912,EDEN-1559,EDEN,EDEN,0x1559FA1b8F28238FD5D76D9f434ad86FD20D1559,18 +2913,QUAD-77EE,QUAD,QUAD,0xAB2A7B5876D707e0126B3A75EF7781c77c8877EE,18 +2914,PBTC-733b,PBTC,PBTC,0x5228a22e72ccC52d415EcFd199F99D0665E7733b,18 +2915,INDEX-4cab,INDEX,INDEX,0x0954906da0Bf32d5479e25f46056d22f08464cab,18 +2916,YLD-6F48,YLD,YLD,0xF94b5C5651c888d928439aB6514B93944eEE6F48,18 +2917,ARIA20-4aF9,ARIA20,ARIA20,0xeDF6568618A00C6F0908Bf7758A16F76B6E04aF9,18 +2918,JIYUU-07bD,JIYUU,JIYUU,0x77D9046ee15FAACeB89439FFdDE4be071C2F07bD,18 +2919,AFY-6A21,AFY,AFY,0xa41161AF8D4Ee421ba5fED4328F2B12034796A21,18 +2920,UNIC-3aD5,UNIC,UNIC,0x94E0BAb2F6Ab1F19F4750E42d7349f2740513aD5,18 +2921,PERI-8492,PERI,PERI,0x5d30aD9C6374Bf925D0A75454fa327AACf778492,18 +2922,CIV-361d,CIV,CIV,0x37fE0f067FA808fFBDd12891C0858532CFE7361d,18 +2923,SUNC-C56F,SUNC,SUNC,0x692aCCdD8b86692427E0aa4752AE917Df01CC56F,18 +2924,ASTRADAO-3E23,ASTRADAO,ASTRADAO,0x7E9c15C43f0D6C4a12E6bdfF7c7D55D0f80e3E23,18 +2925,CART-273e,CART,CART,0x5C8C8D560048F34E5f7f8ad71f2f81a89DBd273e,18 +2926,AAMMUNIYFIWETH-0E8f,AAMMUNIYFIWETH,AAMMUNIYFIWETH,0x5394794Be8b6eD5572FCd6b27103F46b5F390E8f,18 +2927,ENTR-d66e,ENTR,ENTR,0xd779eEA9936B4e323cDdff2529eb6F13d0A4d66e,18 +2928,SX-F89D,SX,SX,0x96Eb50804d0eF2790f2E1A33670FEff6040CF89D,18 +2929,LOCUS-b054,LOCUS,LOCUS,0xC64500DD7B0f1794807e67802F8Abbf5F8Ffb054,18 +2930,BDP-480e,BDP,BDP,0xf3dcbc6D72a4E1892f7917b7C43b74131Df8480e,18 +2931,DAKS-B200,DAKS,DAKS,0x6f38e0f1a73c96cB3f42598613EA3474F09cB200,0 +2932,BABYFLOKI-6A61,BABYFLOKI,BABYFLOKI,0xae83511C4Ef07358e2D95B0c219A5f9EB8656A61,18 +2933,BCUBE-0A93,BCUBE,BCUBE,0x93C9175E26F57d2888c7Df8B470C9eeA5C0b0A93,18 +2934,PLSD-36A7,PLSD,PLSD,0x34F0915a5f15a66Eba86F6a58bE1A471FB7836A7,12 +2935,MARS4-ed87,MARS4,MARS4,0x16CDA4028e9E872a38AcB903176719299beAed87,18 +2936,TAI-3B7f,TAI,TAI,0x2F4404C4012476929b6503E1397707480bf23B7f,9 +2937,UCX-C933,UCX,UCX,0x3D3af44cf092a49280e316f09c8f20ecf97BC933,18 +2938,PKT-e83f,PKT,PKT,0x2604FA406Be957E542BEb89E6754fCdE6815e83f,18 +2939,TCR-F050,TCR,TCR,0x9C4A4204B79dd291D6b6571C5BE8BbcD0622F050,18 +2940,TNT-30a0,TNT,TNT,0x6692De64716a177c15360D8d010BC522bBc530a0,18 +2941,LMT-c8AF,LMT,LMT,0x327673aE6B33Bd3d90f0096870059994f30Dc8AF,18 +2942,BIFI-BA81,BIFI,BIFI,0x2791BfD60D232150Bff86b39B7146c0eaAA2BA81,18 +2943,DOKE-A128,DOKE,DOKE,0x517ABf1fCDBD76BC75B532683ada9113E313A128,9 +2944,DOGU-dCf4,DOGU,DOGU,0x8326Bf664704966C984a3A46Fa37d7A80A52dCf4,18 +2945,STARX-e467,STARX,STARX,0xC4e8A9D47000Ab8E59c7031e311762c68215e467,18 +2946,LIFE-8EE6,LIFE,LIFE,0x6c936D4AE98E6d2172dB18c16C4b601C99918EE6,18 +2947,TEMP-1aB9,TEMP,TEMP,0xA36FDBBAE3c9d55a1d67EE5821d53B50B63A1aB9,18 +2948,IDLEDAIYIELD-3bB4,IDLEDAIYIELD,IDLEDAIYIELD,0x3fE7940616e5Bc47b0775a0dccf6237893353bB4,18 +2949,PANDA-00DC,PANDA,PANDA,0x3cBb7f5d7499Af626026E96a2f05df806F2200DC,18 +2950,RADAR-DEa8,RADAR,RADAR,0xf9FBE825BFB2bF3E387af0Dc18caC8d87F29DEa8,18 +2951,UMI-C69C,UMI,UMI,0x61107a409fFFe1965126aa456Af679719695C69C,18 +2952,OPIUM-eC11,OPIUM,OPIUM,0x888888888889C00c67689029D7856AAC1065eC11,18 +2953,FR-b532,FR,FR,0xC626e0619aC79AFEa9281c8eB9b1a9f9D3Fab532,18 +2954,DEPAY-55eb,DEPAY,DEPAY,0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb,18 +2955,BLXM-1a08,BLXM,BLXM,0x38d9eb07A7b8Df7D86F440A4A5c4a4c1a27E1a08,18 +2956,UUU-605D,UUU,UUU,0x3543638eD4a9006E4840B105944271Bcea15605D,18 +2957,VBNT-7f94,VBNT,VBNT,0x48Fb253446873234F2fEBbF9BdeAA72d9d387f94,18 +2958,PIB-b8A7,PIB,PIB,0x1864cE27E9F7517047933CaAE530674e8C70b8A7,18 +2959,LGCY-8A0d,LGCY,LGCY,0xaE697F994Fc5eBC000F8e22EbFfeE04612f98A0d,18 +2960,F9-CC1F,F9,F9,0x38A94e92A19E970c144DEd0B2DD47278CA11CC1F,9 +2961,EDGE-7831,EDGE,EDGE,0x4EC1b60B96193a64AcAe44778e51f7BfF2007831,18 +2962,TON-33C5,TON,TON,0x2be5e8c109e2197D077D13A82dAead6a9b3433C5,18 +2963,CPC-c090,CPC,CPC,0xfAE4Ee59CDd86e3Be9e8b90b53AA866327D7c090,18 +2964,EQUAD-7DF2,EQUAD,EQUAD,0xC28e931814725BbEB9e670676FaBBCb694Fe7DF2,18 +2965,ARTH-8a71,ARTH,ARTH,0x8CC0F052fff7eaD7f2EdCCcaC895502E884a8a71,18 +2966,ELAN-28B5,ELAN,ELAN,0x1b5036bEc1B82D44d52Fa953A370b3c6Cd9328B5,18 +2967,POCHI-4d90,POCHI,POCHI,0x8eB1779A32678452eB273A22d413207299904d90,18 +2968,NFTY-3208,NFTY,NFTY,0xE1D7C7a4596B038CEd2A84bF65B8647271C53208,18 +2969,SYNR-490a,SYNR,SYNR,0xbc6E06778708177a18210181b073DA747C88490a,18 +2970,UDT-1517,UDT,UDT,0x90DE74265a416e1393A450752175AED98fe11517,18 +2971,UNDEAD-7947,UNDEAD,UNDEAD,0x310C8F00b9dE3c31Ab95ea68feb6C877538f7947,18 +2972,SMART-AD8c,SMART,SMART,0xce20BB92CCF9BbF5091ef85649E71E552819AD8c,18 +2973,KAN-8f4a,KAN,KAN,0x1410434b0346f5bE678d0FB554E5c7ab620f8f4a,18 +2974,BOXETH-3B73,BOXETH,BOXETH,0x7690202e2C2297bcD03664e31116d1dFfE7e3B73,18 +2975,BIBLE-543c,BIBLE,BIBLE,0x95e05e2Abbd26943874ac000D87C3D9e115B543c,18 +2976,DVI-9770,DVI,DVI,0x10633216E7E8281e33c86F02Bf8e565a635D9770,18 +2977,TKP-AcaC,TKP,TKP,0xd31695a1d35E489252CE57b129FD4b1B05E6AcaC,18 +2978,DEFX-8eDa,DEFX,DEFX,0x5F474906637bdCDA05f29C74653F6962bb0f8eDa,18 +2979,ORC-2F51,ORC,ORC,0x662b67d00A13FAf93254714DD601F5Ed49Ef2F51,18 +2980,LOOT-8335,LOOT,LOOT,0x721A1B990699eE9D90b6327FaaD0A3E840aE8335,18 +2981,DUCK-305F,DUCK,DUCK,0xC0bA369c8Db6eB3924965e5c4FD0b4C1B91e305F,18 +2982,KAP-8569,KAP,KAP,0x9625cE7753ace1fa1865A47aAe2c5C2Ce4418569,18 +2983,CREDI-4c6B,CREDI,CREDI,0xaE6e307c3Fe9E922E5674DBD7F830Ed49c014c6B,18 +2984,UNT-fdFe,UNT,UNT,0x8d610E20481F4C4f3aCB87bBa9c46BeF7795fdFe,18 +2985,UNCL-Dd49,UNCL,UNCL,0x2f4eb47A1b1F4488C71fc10e39a4aa56AF33Dd49,18 +2986,BCMC-93F9,BCMC,BCMC,0x2BA8349123de45E931a8C8264c332E6e9CF593F9,18 +2987,LBK-37b6,LBK,LBK,0x9cB1AEaFcc8A9406632C5B084246Ea72f62d37b6,8 +2988,SNP-FA9d,SNP,SNP,0x6911F552842236bd9E8ea8DDBB3fb414e2C5FA9d,18 +2989,PAWTH-367F,PAWTH,PAWTH,0xAEcc217a749c2405b5ebC9857a16d58Bdc1c367F,9 +2990,DZAR-341c,DZAR,DZAR,0x9Cb2f26A23b8d89973F08c957C4d7cdf75CD341c,6 +2991,AOG-97C2,AOG,AOG,0x8578530205CEcbe5DB83F7F29EcfEEC860C297C2,18 +2992,FODL-b9C3,FODL,FODL,0x4C2e59D098DF7b6cBaE0848d66DE2f8A4889b9C3,18 +2993,GOGO-4A17,GOGO,GOGO,0x9a96E767bFCcE8E80370BE00821ED5BA283D4A17,18 +2994,FST-3606,FST,FST,0x0E192d382a36De7011F795Acc4391Cd302003606,18 +2995,DKA-fCE0,DKA,DKA,0x5dc60C4D5e75D22588FA17fFEB90A63E535efCE0,18 +2996,PATH-7588,PATH,PATH,0x2a2550e0A75aCec6D811AE3930732F7f3ad67588,18 +2997,ASIA-6011,ASIA,ASIA,0xF519381791C03DD7666C142D4E49Fd94d3536011,18 +2998,IOI-1d81,IOI,IOI,0x8B3870Df408fF4D7C3A26DF852D41034eDa11d81,6 +2999,WPC-6746,WPC,WPC,0x6F620EC89B8479e97A6985792d0c64F237566746,18 +3000,HBCH-0Aa5,HBCH,HBCH,0xaAC679720204aAA68B6C5000AA87D789a3cA0Aa5,18 +3001,AZK-1A99,AZK,AZK,0x5408245a4D7c685F59cE6D3b8B35916dd6c11A99,18 +3002,DECI-4eA6,DECI,DECI,0x6b32022693210cD2Cfc466b9Ac0085DE8fC34eA6,8 +3003,EQX-8B15,EQX,EQX,0xBd3de9a069648c84d27d74d701C9fa3253098B15,18 +3004,CBG-9BA9,CBG,CBG,0x1900E8B5619a3596745F715d0427Fe617c729BA9,18 +3005,REVO-1409,REVO,REVO,0x155040625D7ae3e9caDA9a73E3E44f76D3Ed1409,18 +3006,TOTM-599A,TOTM,TOTM,0x6FF1BFa14A57594a5874B37ff6AC5efbD9F9599A,18 +3007,SNS-19DB,SNS,SNS,0xEa4a2327E75252517535fd013b7C6706609819DB,18 +3008,LBL-eDE1,LBL,LBL,0x2162f572B25f7358db9376AB58a947a4e45CeDE1,18 +3009,TXL-4b41,TXL,TXL,0x8eEF5a82E6Aa222a60F009ac18c24EE12dBf4b41,18 +3010,ODDZ-5Bf6,ODDZ,ODDZ,0xCd2828fc4D8E8a0eDe91bB38CF64B1a81De65Bf6,18 +3011,PLR-9C17,PLR,PLR,0xe3818504c1B32bF1557b16C238B2E01Fd3149C17,18 +3012,RLTM-f389,RLTM,RLTM,0x1b396CF90504686b7edE2760eebb053d30d1f389,18 +3013,SASHIMI-64c2,SASHIMI,SASHIMI,0xC28E27870558cF22ADD83540d2126da2e4b464c2,18 +3014,NIHAO-605D,NIHAO,NIHAO,0xC3681A720605bD6F8fe9A2FaBff6A7CDEcDc605D,18 +3015,WGR-B6e0,WGR,WGR,0xC237868a9c5729bdF3173dDDacaa336a0a5BB6e0,8 +3016,MTC-e745,MTC,MTC,0x905E337c6c8645263D3521205Aa37bf4d034e745,18 +3017,ATD-4f54,ATD,ATD,0x8052327F1BAF94A9DC8B26b9100f211eE3774f54,18 +3018,UNV-A673,UNV,UNV,0xf009f5531dE69067435e32c4b9D36077F4C4A673,18 +3019,SOLVE-406F,SOLVE,SOLVE,0x446C9033E7516D820cc9a2ce2d0B7328b579406F,8 +3020,LUA-21cC,LUA,LUA,0xB1f66997A5760428D3a87D68b90BfE0aE64121cC,18 +3021,GLDN-0CC2,GLDN,GLDN,0xFeeB4D0f5463B1b04351823C246bdB84c4320CC2,18 +3022,GUILD-475A,GUILD,GUILD,0x83E9F223e1edb3486F876EE888d76bFba26c475A,18 +3023,HYPE-15dA,HYPE,HYPE,0x85225Ed797fd4128Ac45A992C46eA4681a7A15dA,18 +3024,POGEX-8876,POGEX,POGEX,0xAEd8077B25c88AF2e711aBdcc24ef9389B028876,18 +3025,DFD-333A,DFD,DFD,0x20c36f062a31865bED8a5B1e512D9a1A20AA333A,18 +3026,ETHA-2e38,ETHA,ETHA,0x59E9261255644c411AfDd00bD89162d09D862e38,18 +3027,CMOS-2a8e,CMOS,CMOS,0x87869A9789291A6cEC99f3c3Ef2fF71fcEb12a8e,9 +3028,SALE-B589,SALE,SALE,0xF063fE1aB7a291c5d06a86e14730b00BF24cB589,18 +3029,KANGAL-d337,KANGAL,KANGAL,0x6E765D26388A17A6e86c49A8E41DF3F58aBcd337,18 +3030,GP-dB32,GP,GP,0x8F8eD076e61A27DB72a5724ea0907A66fb0ddB32,18 +3031,EBSO-F942,EBSO,EBSO,0x866f8a50A64e68ca66E97e032c5Da99538B3F942,4 +3032,LYM-c8c5,LYM,LYM,0xc690F7C7FcfFA6a82b79faB7508c466FEfdfc8c5,18 +3033,TROLL-eB3A,TROLL,TROLL,0xf8ebf4849F1Fa4FaF0DFF2106A173D3A6CB2eB3A,18 +3034,TOKO-2675,TOKO,TOKO,0xa0F0546Eb5E3eE7e8cfC5DA12e5949F3AE622675,18 +3035,EMTRG-8A9F,EMTRG,EMTRG,0xBd2949F67DcdC549c6Ebe98696449Fa79D988A9F,18 +3036,PRIMATE-95ff,PRIMATE,PRIMATE,0x46e98FFE40E408bA6412bEb670507e083C8B95ff,18 +3037,ALTD-E0D1,ALTD,ALTD,0x8929e9DbD2785e3BA16175E596CDD61520feE0D1,18 +3038,NGC-f131,NGC,NGC,0x72dD4b6bd852A3AA172Be4d6C5a6dbEc588cf131,18 +3039,RCN-75A6,RCN,RCN,0xF970b8E36e23F7fC3FD752EeA86f8Be8D83375A6,18 +3040,NEZUKO-7756,NEZUKO,NEZUKO,0x049715C70fDbdD2be4814f76a53Dc3D6F4367756,18 +3041,GAME-1d1c,GAME,GAME,0xD567B5F02b9073aD3a982a099a23Bf019FF11d1c,5 +3042,RIBBIT-5fFe,RIBBIT,RIBBIT,0xb794Ad95317f75c44090f64955954C3849315fFe,18 +3043,FNT-9D59,FNT,FNT,0xDc5864eDe28BD4405aa04d93E05A0531797D9D59,6 +3044,KNIGHT-16bC,KNIGHT,KNIGHT,0x3541A5C1b04AdABA0B83F161747815cd7B1516bC,18 +3045,CPD-5355,CPD,CPD,0x9b31bb425D8263fA1b8B9d090b83CF0C31665355,18 +3046,HIFIDENZA-4eC7,HIFIDENZA,HIFIDENZA,0xb3e6Ee8d2c586FA03Ab70Aef96B8aE6D12D64eC7,18 +3047,PEPECOLA-A141,PEPECOLA,PEPECOLA,0x55fB228730ED971269EBF284C7500d5fF572A141,9 +3048,FSW-26DB,FSW,FSW,0xfffffffFf15AbF397dA76f1dcc1A1604F45126DB,18 +3049,MOCHI-9896,MOCHI,MOCHI,0xf134519cBE2042B06Ee7cE20Df51d09b55559896,18 +3050,PXG-437e,PXG,PXG,0x47e67BA66b0699500f18A53F94E2b9dB3D47437e,18 +3051,ARCHA-C7fD,ARCHA,ARCHA,0x36E43065e977bC72CB86Dbd8405fae7057CDC7fD,9 +3052,PLAQ-2435,PLAQ,PLAQ,0xd6710559656f2ecD336b153B0719500Fff8C2435,18 +3053,AVG-311f,AVG,AVG,0xa41F142b6eb2b164f8164CAE0716892Ce02f311f,18 +3054,FEI-87CA,FEI,FEI,0x956F47F50A910163D8BF957Cf5846D573E7f87CA,18 +3055,HIMAYC-Bdda,HIMAYC,HIMAYC,0x635F15eb7Aa2e62d122f6B1f9f519fDCcf4aBdda,18 +3056,RAPTOR-4BC3,RAPTOR,RAPTOR,0xD115A61A25c059c78cD34b97Fab7aB25dfC84BC3,9 +3057,TOWER-7d0B,TOWER,TOWER,0x1C9922314ED1415c95b9FD453c3818fd41867d0B,18 +3058,NEURONI-f332,NEURONI,NEURONI,0x922e2708462c7a3d014D8344F7C4d92b27ECf332,18 +3059,IHF-D58e,IHF,IHF,0xaF1250fa68D7DECD34fD75dE8742Bc03B29BD58e,18 +3060,SHIN-660b,SHIN,SHIN,0xa27A6FA698a63f82e559914c11C6Cd888060660b,18 +3061,APM-BA6c,APM,APM,0xC8C424B91D8ce0137bAB4B832B7F7D154156BA6c,18 +3062,LPOOL-Df5B,LPOOL,LPOOL,0x6149C26Cd2f7b5CCdb32029aF817123F6E37Df5B,18 +3063,JAM-5A72,JAM,JAM,0x23894DC9da6c94ECb439911cAF7d337746575A72,18 +3064,BRIGHT-af55,BRIGHT,BRIGHT,0xBEaB712832112bd7664226db7CD025B153D3af55,18 +3065,BPRO-5f61,BPRO,BPRO,0xbbBBBBB5AA847A2003fbC6b5C16DF0Bd1E725f61,18 +3066,MG-677B,MG,MG,0xB444Cb2bcB19180602328fA774738cB8DbD6677B,9 +3067,SEUR-8620,SEUR,SEUR,0xD71eCFF9342A5Ced620049e616c5035F1dB98620,18 +3068,GM-37e6,GM,GM,0xe5597f0723EeaBa1B26948e06f008Bf0fc1e37e6,18 +3069,ICHI-C4d6,ICHI,ICHI,0x111111517e4929D3dcbdfa7CCe55d30d4B6BC4d6,18 +3070,NPX-4a02,NPX,NPX,0x28b5E12CcE51f15594B0b91d5b5AdaA70F684a02,2 +3071,RENBTC-B27D,RENBTC,RENBTC,0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D,8 +3072,WHALE-38e0,WHALE,WHALE,0x9355372396e3F6daF13359B7b607a3374cc638e0,4 +3073,DDX-Ed3A,DDX,DDX,0x3A880652F47bFaa771908C07Dd8673A787dAEd3A,18 +3074,CIRUS-8756,CIRUS,CIRUS,0xA01199c61841Fce3b3daFB83FeFC1899715c8756,18 +3075,HIOD-1315,HIOD,HIOD,0x7a83FF237e7870d8d6C3485920EBe654D2841315,18 +3076,REVV-A8Ca,REVV,REVV,0x557B933a7C2c45672B610F8954A3deB39a51A8Ca,18 +3077,CRE8R-d8d6,CRE8R,CRE8R,0xaa61D5dec73971CD4a026ef2820bB87b4a4Ed8d6,18 +3078,GLR-43B1,GLR,GLR,0xd54619E0b9899D74Cc9B981354Eb6b59732c43B1,18 +3079,KEKE-A3fF,KEKE,KEKE,0xf7168c8AbB0ff80116413a8d95396BBdC318A3fF,7 +3080,EURT-E491,EURT,EURT,0xC581b735A1688071A1746c968e0798D642EDE491,6 +3081,MET-89aa,MET,MET,0x2Ebd53d035150f328bd754D6DC66B99B0eDB89aa,18 +3082,HISQUIGGLE-f13F,HISQUIGGLE,HISQUIGGLE,0x51395AdE06Eae126f590e7B06Dc8F6Baf511f13F,18 +3083,TRUTH-cd53,TRUTH,TRUTH,0xAF75d880b3128981D1fEd3292Fc02E3FB37Acd53,9 +3084,NATION-2069,NATION,NATION,0x333A4823466879eeF910A04D473505da62142069,18 +3085,MUSD-35a5,MUSD,MUSD,0xe2f2a5C287993345a840Db3B0845fbC70f5935a5,18 +3086,BBADGER-fC28,BBADGER,BBADGER,0x19D97D8fA813EE2f51aD4B4e04EA08bAf4DFfC28,18 +3087,OETH-8dC3,OETH,OETH,0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3,18 +3088,CBX-642a,CBX,CBX,0x37FC4b48CE93469dbEA9918468993C735049642a,18 +3089,BTE-80Ef,BTE,BTE,0x73B708E84837FFCcDE2933e3A1531fe61D5e80Ef,18 +3090,IBIT-8FDE,IBIT,IBIT,0xA3cB87080e68AD54D00573983D935Fa85d168FDE,8 +3091,BTSG-54A9,BTSG,BTSG,0x05079687D35b93538cbd59fe5596380cae9054A9,18 +3092,TKN-E73a,TKN,TKN,0xaAAf91D9b90dF800Df4F55c205fd6989c977E73a,8 +3093,UNCX-B1D0,UNCX,UNCX,0xaDB2437e6F65682B85F814fBc12FeC0508A7B1D0,18 +3094,VALOR-0E0a,VALOR,VALOR,0x297E4e5e59Ad72B1B0A2fd446929e76117be0E0a,18 +3095,DEV-5b26,DEV,DEV,0x5cAf454Ba92e6F2c929DF14667Ee360eD9fD5b26,18 +3096,WQT-95bF,WQT,WQT,0x06677Dc4fE12d3ba3C7CCfD0dF8Cd45e4D4095bF,18 +3097,XTN-27a0,XTN,XTN,0x674C6Ad92Fd080e4004b2312b45f796a192D27a0,18 +3098,VIX-085B,VIX,VIX,0x49Bf0220C9Ce17E52dCcA3d217231746D676085B,18 +3099,EMARS-8E19,EMARS,EMARS,0x5b5065A95842Ca8d51274BA9ADf57861D60e8E19,18 +3100,HOPPY-1543,HOPPY,HOPPY,0x8C130499D33097D4D000D3332E1672f75b431543,8 +3101,CUMINU-7536,CUMINU,CUMINU,0xd6327ce1fb9D6020E8C2c0E124A1eC23DCAb7536,18 +3102,NEXUS-7d29,NEXUS,NEXUS,0x0abD596070bE270F04Eb446128B3dC04969E7d29,18 +3103,CAPY-b78a,CAPY,CAPY,0xF03D5fC6E08dE6Ad886fCa34aBF9a59ef633b78a,18 +3104,IFV-4eCE,IFV,IFV,0x3656bD0f3f07623Bb7f429B390D208f894e44eCE,18 +3105,GOB-8A80,GOB,GOB,0xd6929179D752d5D25c5efe2d9729eb77D7138A80,18 +3106,BOLT-e473,BOLT,BOLT,0x36948A6809bE82D3Ba8De9f2Be626101e2C9e473,9 +3107,BTM-c7D5,BTM,BTM,0xC9D21E5A24110b67af31aF464edfDC2dAe5Ec7D5,18 +3108,DOGEGF-6Bc5,DOGEGF,DOGEGF,0xfb130d93E49DcA13264344966A611dc79a456Bc5,18 +3109,DIVI-3a77,DIVI,DIVI,0x246908BfF0b1ba6ECaDCF57fb94F6AE2FcD43a77,8 +3110,UNO-1A77,UNO,UNO,0x474021845C4643113458ea4414bdb7fB74A01A77,18 +3111,MOPS-D967,MOPS,MOPS,0x602f65BB8B8098Ad804E99DB6760Fd36208cD967,18 +3112,AAMMUNIWBTCUSDC-4C6F,AAMMUNIWBTCUSDC,AAMMUNIWBTCUSDC,0x2365a4890eD8965E564B7E2D27C38Ba67Fec4C6F,18 +3113,ICOM-9dCF,ICOM,ICOM,0xB131F337C45D386cEeC234e194b2663D5c3d9dCF,18 +3114,AEL-1EA8,AEL,AEL,0xd337382da15d12Bb6e56498e91DF64f86c8f1EA8,18 +3115,HIGAZERS-8544,HIGAZERS,HIGAZERS,0xc1AD0aA69454603a5dEe55Cf9BD9341e01328544,18 +3116,AQT-4F93,AQT,AQT,0x2a9bDCFF37aB68B95A53435ADFd8892e86084F93,18 +3117,CND-6Da1,CND,CND,0xEc505C81D6a7567b5BDE804870b1038832fE6Da1,18 +3118,ASH-0b92,ASH,ASH,0x64D91f12Ece7362F91A6f8E7940Cd55F05060b92,18 +3119,PIGGY-C36D,PIGGY,PIGGY,0xDF121180Af07cb906d970799627A430D2440C36D,18 +3120,SIPHER-F511,SIPHER,SIPHER,0x9F52c8ecbEe10e00D9faaAc5Ee9Ba0fF6550F511,18 +3121,RYOSHI-618e,RYOSHI,RYOSHI,0x777E2ae845272a2F540ebf6a3D03734A5a8f618e,18 +3122,GVC-58Bf,GVC,GVC,0x8dc89F4716E027394Bba225b82328C1ea2Ea58Bf,18 +3123,BSGG-5a25,BSGG,BSGG,0x69570f3E84f51Ea70b7B68055c8d667e77735a25,18 +3124,DINU-7732,DINU,DINU,0xbb1EE07d6c7BAeB702949904080eb61f5D5e7732,18 +3125,STAK-6D13,STAK,STAK,0x1F8A626883d7724DBd59eF51CBD4BF1Cf2016D13,18 +3126,MVEDA-482d,MVEDA,MVEDA,0xCBe7142F5c16755D8683BA329EFA1ABF7b54482d,8 +3127,MT-37CC,MT,MT,0x9b4e2B4B13d125238Aa0480dD42B4f6fC71b37CC,18 +3128,DFT-Fb6A,DFT,DFT,0xA2A54f1Ec1f09316eF12c1770D32ed8F21B1Fb6A,8 +3129,PLUMS-B104,PLUMS,PLUMS,0x666CBfaA3baa2FAccFAC8854fea1E5Db140FB104,18 +3130,SCURVE-917F,SCURVE,SCURVE,0xC25a3A3b969415c80451098fa907EC722572917F,18 +3131,ZIN-7d06,ZIN,ZIN,0x033e223870f766644f7f7a4B7dc2E91573707d06,18 +3132,MLT-521d,MLT,MLT,0x9506d37f70eB4C3d79C398d326C871aBBf10521d,18 +3133,STMATIC-8599,STMATIC,STMATIC,0x9ee91F9f426fA633d227f7a9b000E28b9dfd8599,18 +3134,NFTX-f776,NFTX,NFTX,0x87d73E916D7057945c9BcD8cdd94e42A6F47f776,18 +3135,SUKI-18d5,SUKI,SUKI,0xD212046F89680aC9F106B9c63f314cc9808e18d5,18 +3136,IXT-f094,IXT,IXT,0xfcA47962D45ADFdfd1Ab2D972315dB4ce7CCf094,8 +3137,MILK2-c1de,MILK2,MILK2,0x80c8C3dCfB854f9542567c8Dac3f44D709eBc1de,18 +3138,APEX-42B8,APEX,APEX,0x52A8845DF664D76C69d2EEa607CD793565aF42B8,18 +3139,CPRX-978f,CPRX,CPRX,0xc6e145421FD494B26dCF2BFeB1b02b7c5721978f,18 +3140,SHAKE-6189,SHAKE,SHAKE,0x6006FC2a849fEdABa8330ce36F5133DE01F96189,18 +3141,UNB-d922,UNB,UNB,0x8dB253a1943DdDf1AF9bcF8706ac9A0Ce939d922,18 +3142,MIST-b7aB,MIST,MIST,0x88ACDd2a6425c3FaAE4Bc9650Fd7E27e0Bebb7aB,18 +3143,NEWO-7D96,NEWO,NEWO,0x98585dFc8d9e7D48F0b1aE47ce33332CF4237D96,18 +3144,PAID-D787,PAID,PAID,0x1614F18Fc94f47967A3Fbe5FfcD46d4e7Da3D787,18 +3145,TETHER-2F16,TETHER,TETHER,0x4D9B0B7a6dB042CB990D36A0df5aA2960e552F16,9 +3146,DIE-4aC7,DIE,DIE,0x6Ef6610d24593805144d73b13d4405E00A4E4aC7,18 +3147,NFTL-F2DD,NFTL,NFTL,0xe7F72Bc0252cA7B16dBb72eEee1AfcDb2429F2DD,18 +3148,DINERO-Be79,DINERO,DINERO,0xa3ad8c7AB6b731045b5b16E3fDf77975c71ABe79,18 +3149,NFD-5346,NFD,NFD,0xDFDb7f72c1F195C5951a234e8DB9806EB0635346,18 +3150,GUM-0f24,GUM,GUM,0x4f5fa8f2d12e5eB780f6082Dd656C565C48E0f24,18 +3151,FCL-0EB3,FCL,FCL,0xF4d861575ecC9493420A3f5a14F85B13f0b50EB3,18 +3152,DUBBZ-Da17,DUBBZ,DUBBZ,0x38029C62DfA30D9FD3CaDf4C64e9b2ab21DbDa17,18 +3153,LQW-2B00,LQW,LQW,0x66580f80a00deAfab4519dC33C35BF44d8A12B00,18 +3154,FT-FBd0,FT,FT,0xEe9E7Bb7E55bBc86414047B61D65c9C0d91fFBd0,18 +3155,BIST-093F,BIST,BIST,0x6e8908cfa881C9f6f2C64d3436E7b80b1bf0093F,18 +3156,DBUY-5782,DBUY,DBUY,0x4EcE5C5CfB9B960A49aAe739E15cDB6cfDcc5782,9 +3157,GHST-1550,GHST,GHST,0x3F382DbD960E3a9bbCeaE22651E88158d2791550,18 +3158,GF-E238,GF,GF,0xAaEf88cEa01475125522e117BFe45cF32044E238,18 +3159,MESA-319F,MESA,MESA,0x5AFFF9876C1F98b7d2b53bCB69EB57e92408319F,18 +3160,DZOO-ca83,DZOO,DZOO,0xc97d6C52F3ADD91Fa1c5287a453d7444aECBca83,18 +3161,JSM-EC2d,JSM,JSM,0x04C618CDbc1D59142dFEB4B9864835A06983EC2d,18 +3162,SYC-Dc94,SYC,SYC,0x0A41E6d4D4897E8Cec819ce7D10B2D7cDa61Dc94,18 +3163,SONIC-37C8,SONIC,SONIC,0x6D56cdDd23a693ED3851fA0A5d8c67A8739537C8,9 +3164,IDLEUSDCSAFE-0D35,IDLEUSDCSAFE,IDLEUSDCSAFE,0x3391bc034f2935eF0E1e41619445F998b2680D35,18 +3165,DAI-1d0F,DAI,DAI,0x6B175474E89094C44Da98b954EedeAC495271d0F,18 +3166,LWD-Ca83,LWD,LWD,0x786e995A975C2ab7C1dd252A9019fB0c91c9Ca83,18 +3167,STRIDR-F22C,STRIDR,STRIDR,0x5CEAa82FFd3b1c0193ff65Fc93510846dD56F22C,9 +3168,DVP-9812,DVP,DVP,0x8E30ea2329D95802Fd804f4291220b0e2F579812,18 +3169,MYB-e0BC,MYB,MYB,0x5d60d8d7eF6d37E16EBABc324de3bE57f135e0BC,18 +3170,PPT-8e3a,PPT,PPT,0xd4fa1460F537bb9085d22C7bcCB5DD450Ef28e3a,8 +3171,EMOTI-b988,EMOTI,EMOTI,0x9b0E1C344141fB361B842d397dF07174E1CDb988,9 +3172,GFX-58fC,GFX,GFX,0x65ad6A2288b2Dd23E466226397c8F5D1794e58fC,18 +3173,IYKYK-a2bA,IYKYK,IYKYK,0x7cB683151A83c2B10A30cBB003CDA9996228a2bA,18 +3174,PUNDIX-0C38,PUNDIX,PUNDIX,0x0FD10b9899882a6f2fcb5c371E17e70FdEe00C38,18 +3175,MONGOOSE-f156,MONGOOSE,MONGOOSE,0xa1817B6d8D890F3943b61648992730373B71f156,9 +3176,TALK-a7A7,TALK,TALK,0xCAabCaA4ca42e1d86dE1a201c818639def0ba7A7,18 +3177,HUSL-26be,HUSL,HUSL,0xa2881F7F441267042f9778fFA0d4F834693426be,18 +3178,GEO-6750,GEO,GEO,0x147faF8De9d8D8DAAE129B187F0D02D819126750,18 +3179,MM-1a63,MM,MM,0xC3c221fE28c33814c28c822b631fd76047eF1a63,18 +3180,RBX-309e,RBX,RBX,0x3Ba925fdeAe6B46d0BB4d424D829982Cb2F7309e,18 +3181,ZCN-3B78,ZCN,ZCN,0xb9EF770B6A5e12E45983C5D80545258aA38F3B78,10 +3182,HAUS-f687,HAUS,HAUS,0xf2051511B9b121394FA75B8F7d4E7424337af687,18 +3183,XYZ-2883,XYZ,XYZ,0x618679dF9EfCd19694BB1daa8D00718Eacfa2883,18 +3184,OCT-c6DC,OCT,OCT,0xF5cFBC74057C610c8EF151A439252680AC68c6DC,18 +3185,DPI-3C2b,DPI,DPI,0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b,18 +3186,PEPEAI-e88D,PEPEAI,PEPEAI,0x8d008CAC1a5CB08aC962b1e34E977B79ABEee88D,18 +3187,CIX-57ca,CIX,CIX,0x6d60A8dFb16D09F67D46fcd36A0Cd310078257ca,18 +3188,DDD-7342,DDD,DDD,0x9F5F3CFD7a32700C93F971637407ff17b91c7342,18 +3189,LEOX-7ad5,LEOX,LEOX,0xa444EC96Ee01bB219A44B285De47bf33C3447ad5,18 +3190,CND-95fa,CND,CND,0xd4c435F5B09F855C3317c8524Cb1F586E42795fa,18 +3191,EYE-1c65,EYE,EYE,0x155ff1A85F440EE0A382eA949f24CE4E0b751c65,18 +3192,PHNX-F2f7,PHNX,PHNX,0x38A2fDc11f526Ddd5a607C1F251C065f40fBF2f7,18 +3193,FRAX-b99e,FRAX,FRAX,0x853d955aCEf822Db058eb8505911ED77F175b99e,18 +3194,MEMEME-1EbE,MEMEME,MEMEME,0x1A963Df363D01EEBB2816b366d61C917F20e1EbE,18 +3195,SWISE-2FA2,SWISE,SWISE,0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2,18 +3196,BAM-4AaB,BAM,BAM,0x9DB0FB0Aebe6A925B7838D16e3993A3976A64AaB,18 +3197,SETH-31cb,SETH,SETH,0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb,18 +3198,HVE2-73f5,HVE2,HVE2,0xD487892BB4C57edBe7aB401d9fe801c8FE6473f5,18 +3199,WOM-Cf76,WOM,WOM,0xBd356a39BFf2cAda8E9248532DD879147221Cf76,18 +3200,SUSD-5f51,SUSD,SUSD,0x57Ab1ec28D129707052df4dF418D58a2D46d5f51,18 +3201,CHAD-55e4,CHAD,CHAD,0x6B89B97169a797d94F057F4a0B01E2cA303155e4,18 +3202,HAKI-6697,HAKI,HAKI,0xF90c7f66eAc7E2130bF677D69a250b2136Cf6697,18 +3203,BACON-38e7,BACON,BACON,0x34f797e7190C131cF630524655A618b5BD8738e7,18 +3204,PEAK-Ad78,PEAK,PEAK,0x630d98424eFe0Ea27fB1b3Ab7741907DFFEaAd78,8 +3205,LEVER-9f1f,LEVER,LEVER,0x4B5f49487ea7B3609b1aD05459BE420548789f1f,18 +3206,0XS-1373,0XS,0XS,0x456815812B3129A4389EA4D73e9706697cc91373,18 +3207,ROKO-FF98,ROKO,ROKO,0x6f222E04F6c53Cc688FfB0Abe7206aAc66A8FF98,18 +3208,COPE-7656,COPE,COPE,0xD8E163967FED76806Df0097B704bA721B9b37656,18 +3209,PEPEG-cD63,PEPEG,PEPEG,0x8BCbef61ACd66537362f38167F11875134FfcD63,18 +3210,WOZX-b79F,WOZX,WOZX,0x34950Ff2b487d9E5282c5aB342d08A2f712eb79F,18 +3211,CVX-9D2B,CVX,CVX,0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B,18 +3212,MRPOTATO-81c8,MRPOTATO,MRPOTATO,0x17Bb9F3572d0C69E017dcd048eC7304EEcC981c8,18 +3213,SNET-c71C,SNET,SNET,0xFf19138b039D938db46bDDA0067DC4BA132ec71C,8 +3214,BAZED-8F4a,BAZED,BAZED,0x3eE4B152824b657644c7A9B50694787e80EB8F4a,18 +3215,WTC-8F74,WTC,WTC,0xb7cB1C96dB6B22b0D3d9536E0108d062BD488F74,18 +3216,ICSA-69ed,ICSA,ICSA,0xfc4913214444aF5c715cc9F7b52655e788A569ed,9 +3217,ELF-100e,ELF,ELF,0xbf2179859fc6D5BEE9Bf9158632Dc51678a4100e,18 +3218,TRVL-1F3d,TRVL,TRVL,0xd47bDF574B4F76210ed503e0EFe81B58Aa061F3d,18 +3219,VOICE-C6A9,VOICE,VOICE,0x2e2364966267B5D7D2cE6CD9A9B5bD19d9C7C6A9,18 +3220,BOX-463A,BOX,BOX,0x045414e728067Ab3da4bCeafC0D992D59183463A,18 +3221,DOGEP-80b9,DOGEP,DOGEP,0xE7eaec9Bca79d537539C00C58Ae93117fB7280b9,18 +3222,DOE-d7eF,DOE,DOE,0xf8E9F10c22840b613cdA05A0c5Fdb59A4d6cd7eF,18 +3223,SWAG-42e6,SWAG,SWAG,0x87eDfFDe3E14c7a66c9b9724747a1C5696b742e6,18 +3224,MOFI-7544,MOFI,MOFI,0xB2dbF14D0b47ED3Ba02bDb7C954e05A72deB7544,18 +3225,NGL-66aE,NGL,NGL,0x2653891204F463fb2a2F4f412564b19e955166aE,18 +3226,AAC-d864,AAC,AAC,0xe75ad3aAB14E4B0dF8c5da4286608DaBb21Bd864,5 +3227,IC-6457,IC,IC,0xA876f27F13A9eB6E621202cEFDD5AFc4a90E6457,9 +3228,MNY-586f,MNY,MNY,0xA6F7645ed967FAF708A614a2fcA8D4790138586f,18 +3229,GAS-8469,GAS,GAS,0x6Bba316c48b49BD1eAc44573c5c871ff02958469,18 +3230,FB-1429,FB,FB,0xFB19075D77a0F111796FB259819830F4780f1429,6 +3231,APED-7fF0,APED,APED,0xE0151763455A8a021e64880C238ba1cff3787fF0,18 +3232,BOR-c1A9,BOR,BOR,0x3c9d6c1C73b31c837832c72E04D3152f051fc1A9,18 +3233,POOF-f57A,POOF,POOF,0x888ceA2BBDD5D47a4032cf63668D7525C74af57A,18 +3234,JUSTICE-90B5,JUSTICE,JUSTICE,0x59d1e836F7b7210A978b25a855085cc46fd090B5,18 +3235,DOJO-e43C,DOJO,DOJO,0x8260328d0C405D9Ca061D80199102DdC9089e43C,9 +3236,ETHEREUM-9959,ETHEREUM,ETHEREUM,0xDC5E9445169C73Cf21e1da0B270e8433caC69959,9 +3237,SFG-90dd,SFG,SFG,0xA71DCaaf5ba390B1B2012323A8810fAc121F90dd,18 +3238,SUPERBID-10D6,SUPERBID,SUPERBID,0x0563DCe613D559a47877fFD1593549fb9d3510D6,18 +3239,JAI-a3BB,JAI,JAI,0x5f3b3c37F47d8532836c800f75e7f262623Aa3BB,18 +3240,IHT-F31E,IHT,IHT,0xEda8B016efA8b1161208Cf041cD86972eeE0F31E,18 +3241,SPUME-5283,SPUME,SPUME,0xa16a609fF4e1A15b6cCb469E7a5dD14E89305283,18 +3242,CBETH-9704,CBETH,CBETH,0xBe9895146f7AF43049ca1c1AE358B0541Ea49704,18 +3243,SODO-C24d,SODO,SODO,0x0038e74ff4DAd34404E74B0cB96dB8Ca26EFC24d,18 +3244,KEK-E357,KEK,KEK,0x1353575D76444A11730D2f286e6303990EB1E357,18 +3245,BLU-1FfD,BLU,BLU,0xe5D2e173B120341face9e9970889C9FE64081FfD,18 +3246,MP3-e7a0,MP3,MP3,0x018fb5Af9d015Af25592a014C4266a84143De7a0,18 +3247,AMON-07b6,AMON,AMON,0x00059AE69c1622A7542EdC15E8d17b060fE307b6,18 +3248,MQL-7A3E,MQL,MQL,0x428dc22668E6F3468273634067e5545ED5417A3E,18 +3249,XLM-a551,XLM,XLM,0x3ffDDe70f128de8A5c8b116142d79889d6d5a551,9 +3250,INNBC-8c42,INNBC,INNBC,0xB67718b98d52318240c52E71A898335da4A28c42,6 +3251,CNB-19DB,CNB,CNB,0xC538143202f3b11382D8606aae90a96b042a19DB,18 +3252,CADC-2Eef,CADC,CADC,0xcaDC0acd4B445166f12d2C07EAc6E2544FbE2Eef,18 +3253,JEFF-76ab,JEFF,JEFF,0xF831938CaF837cd505dE196BBb408D81A06376ab,18 +3254,CTC-0419,CTC,CTC,0xa3EE21C306A700E682AbCdfe9BaA6A08F3820419,18 +3255,HMQ-b908,HMQ,HMQ,0xcbCC0F036ED4788F63FC0fEE32873d6A7487b908,8 +3256,OPENAIERC-5041,OPENAIERC,OPENAIERC,0x6A6AA13393B7d1100c00a57c76c39e8B6C835041,9 +3257,TWOPAW-47e8,TWOPAW,TWOPAW,0xf7de6DEf3D319811418d69Bf56c532A815FC47e8,18 +3258,DCO-e095,DCO,DCO,0x2a304FDa5a85182dCA1D03741bB2F07881b9e095,8 +3259,MSHIB-9f62,MSHIB,MSHIB,0xb4039240E71535100BE947116c778d5D98bd9f62,18 +3260,NFTY-B17B,NFTY,NFTY,0x3085154623F51b00Dedfc6Ceeb5197277A66B17B,18 +3261,SPORK-1469,SPORK,SPORK,0xb624FdE1a972B1C89eC1dAD691442d5E8E891469,18 +3262,COV-0Ea7,COV,COV,0xADA86b1b313D1D5267E3FC0bB303f0A2b66D0Ea7,18 +3263,BRCP-f480,BRCP,BRCP,0x73484A262730d1d422610729e828346F9B2ff480,18 +3264,TOTORO-2F12,TOTORO,TOTORO,0xfc09c7cFD9c175DD9423ca02aE1249579AB12F12,9 +3265,DPR-07a1,DPR,DPR,0xf3AE5d769e153Ef72b4e3591aC004E89F48107a1,18 +3266,BULL-2541,BULL,BULL,0x9Be776559fED779cAbd67042a7B8987AAe592541,18 +3267,RAZOR-d2cd,RAZOR,RAZOR,0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd,18 +3268,WNCG-9817,WNCG,WNCG,0xf203Ca1769ca8e9e8FE1DA9D147DB68B6c919817,18 +3269,EURS-7ad8,EURS,EURS,0xdB25f211AB05b1c97D595516F45794528a807ad8,2 +3270,PIKA-3578,PIKA,PIKA,0x60F5672A271C7E39E787427A18353ba59A4A3578,18 +3271,MONO-fa5D,MONO,MONO,0x2920f7d6134f4669343e70122cA9b8f19Ef8fa5D,18 +3272,DBD-e722,DBD,DBD,0xA5f1DbB0e55bc31f32c6d032BeE330288490e722,18 +3273,PORTX-66aC,PORTX,PORTX,0x104F3152D8ebFC3f679392977356962Ff36566aC,18 +3274,R34P-81F6,R34P,R34P,0xCAEaf8381D4B20b43AFA42061D6f80319A8881F6,8 +3275,PBR-d695,PBR,PBR,0x298d492e8c1d909D3F63Bc4A36C66c64ACB3d695,18 +3276,ALFA-B592,ALFA,ALFA,0x128ad1ad707c3B36e6F2ac9739f9dF7516FdB592,18 +3277,CTC-ADA3,CTC,CTC,0x00B7db6B4431e345eee5cc23D21E8dbC1d5cADA3,18 +3278,TGT-0325,TGT,TGT,0x108a850856Db3f85d0269a2693D896B394C80325,18 +3279,IDLEUSDCYIELD-797C,IDLEUSDCYIELD,IDLEUSDCYIELD,0x5274891bEC421B39D23760c04A6755eCB444797C,18 +3280,PAW-1B01,PAW,PAW,0xDc63269eA166b70d4780b3A11F5C825C2b761B01,18 +3281,JET-f768,JET,JET,0x8727c112C712c4a03371AC87a74dD6aB104Af768,18 +3282,SUMMER-CA5c,SUMMER,SUMMER,0x4D4f3715050571A447FfFa2Cd4Cf091C7014CA5c,18 +3283,NYM-90e1,NYM,NYM,0x525A8F6F3Ba4752868cde25164382BfbaE3990e1,6 +3284,DOBO-D0B0,DOBO,DOBO,0x73C6A7491d0dB90Bdb0060308CDE0F49dfD1D0B0,18 +3285,M87-e888,M87,M87,0x80122c6a83C8202Ea365233363d3f4837D13e888,18 +3286,FDUSD-6409,FDUSD,FDUSD,0xc5f0f7b66764F6ec8C8Dff7BA683102295E16409,18 +3287,NOIA-b6ca,NOIA,NOIA,0xa8c8CfB141A3bB59FEA1E2ea6B79b5ECBCD7b6ca,18 +3288,COCO-41Eb,COCO,COCO,0xcB50350aB555Ed5d56265E096288536E8Cac41Eb,18 +3289,PAD-468A,PAD,PAD,0xea7Cc765eBC94C4805e3BFf28D7E4aE48D06468A,18 +3290,SHROOMS-465B,SHROOMS,SHROOMS,0x10D07423FDe4747542E76B7199B98a0d03Cf465B,18 +3291,NYAN-3a0C,NYAN,NYAN,0x0ebE30595a44E5288C24161dDfC1E9fa08E33a0C,18 +3292,BZRX-f4b3,BZRX,BZRX,0x56d811088235F11C8920698a204A5010a788f4b3,18 +3293,SHIELD-16AC,SHIELD,SHIELD,0xcf4C68Db4C2FA0bf58dF07B14f45cE7709a716AC,18 +3294,BDP-2B8c,BDP,BDP,0x593114f03A0A575aece9ED675e52Ed68D2172B8c,18 +3295,STON-8C07,STON,STON,0xdC47f2Ba852669B178699449E50682D6CEAF8C07,18 +3296,LAYER-366b,LAYER,LAYER,0x0fF6ffcFDa92c53F615a4A75D982f399C989366b,18 +3297,PLEB-5c87,PLEB,PLEB,0xe19f85c920B572cA48942315B06D6cAc86585c87,18 +3298,OSQTH-E86B,OSQTH,OSQTH,0xf1B99e3E573A1a9C5E6B2Ce818b617F0E664E86B,18 +3299,ZCX-8804,ZCX,ZCX,0xC52C326331E9Ce41F04484d3B5E5648158028804,18 +3300,CUBE-39f4,CUBE,CUBE,0xDf801468a808a32656D2eD2D2d80B72A129739f4,8 +3301,HMT-2867,HMT,HMT,0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867,18 +3302,MLN-1892,MLN,MLN,0xec67005c4E498Ec7f55E092bd1d35cbC47C91892,18 +3303,SIMPSON-9AE1,SIMPSON,SIMPSON,0x44aAd22aFbB2606d7828Ca1f8f9E5af00e779AE1,9 +3304,CX-1a2C,CX,CX,0x5Ad02305Ba9a4985390170337582986E419f1a2C,9 +3305,ULU-2aD4,ULU,ULU,0x035bfe6057E15Ea692c0DfdcaB3BB41a64Dd2aD4,18 +3306,MPT-D30e,MPT,MPT,0x47481c1b44F2A1c0135c45AA402CE4F4dDE4D30e,18 +3307,FLUX-B1d9,FLUX,FLUX,0x469eDA64aEd3A3Ad6f868c44564291aA415cB1d9,18 +3308,OXT-3Deb,OXT,OXT,0x4575f41308EC1483f3d399aa9a2826d74Da13Deb,18 +3309,SMBSWAP-1FDf,SMBSWAP,SMBSWAP,0x53Bd789F2cDb846b227d8ffc7B46eD4263231FDf,18 +3310,BLZN-995E,BLZN,BLZN,0x70eFDc485a10210B056eF8e0A32993Bc6529995E,18 +3311,BBOT-DDBb,BBOT,BBOT,0x70bE04312f5f66D03708F0A1D6353b3E0F80DDBb,9 +3312,BCP-DBa9,BCP,BCP,0x72e203a17adD19A3099137c9d7015fD3e2b7DBa9,18 +3313,AGI-cE85,AGI,AGI,0x5F18ea482ad5cc6BC65803817C99f477043DcE85,18 +3314,NUM-3079,NUM,NUM,0x3496B523e5C00a4b4150D6721320CdDb234c3079,18 +3315,SSV-7f54,SSV,SSV,0x9D65fF81a3c488d585bBfb0Bfe3c7707c7917f54,18 +3316,OPUL-6444,OPUL,OPUL,0x80D55c03180349Fff4a229102F62328220A96444,18 +3317,AMANA-6F6f,AMANA,AMANA,0x6FCE4A401B6B80ACe52baAefE4421Bd188e76F6f,18 +3318,CLNY-13b2,CLNY,CLNY,0x3E828ac5C480069D4765654Fb4b8733b910b13b2,18 +3319,LEND-ab03,LEND,LEND,0x80fB784B7eD66730e8b1DBd9820aFD29931aab03,18 +3320,REDDIT-8AA7,REDDIT,REDDIT,0x86Eab36585EDDb7a949a0B4771BA733D942A8AA7,9 +3321,VALUE-8E5c,VALUE,VALUE,0x49E833337ECe7aFE375e44F4E3e8481029218E5c,18 +3322,GR-575c,GR,GR,0xcE593a29905951E8Fc579bC092ecA72577dA575c,6 +3323,WMINIMA-A4AF,WMINIMA,WMINIMA,0x669c01CAF0eDcaD7c2b8Dc771474aD937A7CA4AF,18 +3324,BRMV-C894,BRMV,BRMV,0x501e8726d06Cdef66f3e0cb67f54924CcA1cC894,18 +3325,CRV-cd52,CRV,CRV,0xD533a949740bb3306d119CC777fa900bA034cd52,18 +3326,LGOLD-088A,LGOLD,LGOLD,0x27778E14Ce36d3B85e1efFeB43816a17bBB7088A,18 +3327,X7R-ca54,X7R,X7R,0x70008F18Fc58928dcE982b0A69C2c21ff80Dca54,18 +3328,DAIN-4461,DAIN,DAIN,0xd7d706ED3598a354A4aDFce5D8C5383dF99a4461,18 +3329,RBC-3333,RBC,RBC,0x3330BFb7332cA23cd071631837dC289B09C33333,18 +3330,GOKU-ED79,GOKU,GOKU,0xA64dFe8D86963151E6496BEe513E366F6e42ED79,9 +3331,ABUSD-30a8,ABUSD,ABUSD,0x6Ee0f7BB50a54AB5253dA0667B0Dc2ee526C30a8,18 +3332,ANKRETH-c3cb,ANKRETH,ANKRETH,0xE95A203B1a91a908F9B9CE46459d101078c2c3cb,18 +3333,HGET-5148,HGET,HGET,0x7968bc6a03017eA2de509AAA816F163Db0f35148,6 +3334,FAKEAI-c62c,FAKEAI,FAKEAI,0x5AEf5bba19e6a1644805Bd4F5C93C8557b87c62c,18 +3335,DFL-95AB,DFL,DFL,0x09ce2B746C32528B7d864A1e3979Bd97d2f095AB,18 +3336,VSP-8421,VSP,VSP,0x1b40183EFB4Dd766f11bDa7A7c3AD8982e998421,18 +3337,SHARES-e404,SHARES,SHARES,0xebB82c932759B515B2efc1CfBB6BF2F6dbaCe404,18 +3338,ARCONA-52B3,ARCONA,ARCONA,0x0f71B8De197A1C84d31de0F1fA7926c365F052B3,18 +3339,ADF-FC42,ADF,ADF,0x7220e92D418E2EB59D0C25d195FA004bfD3aFC42,18 +3340,FOLD-5921,FOLD,FOLD,0xd084944d3c05CD115C09d072B9F44bA3E0E45921,18 +3341,XOY-9e52,XOY,XOY,0xe9F1d62c671EFe99896492766c0B416bD3FB9e52,8 +3342,ASD-00C2,ASD,ASD,0xff742d05420B6Aca4481F635aD8341F81A6300C2,18 +3343,TSL-6294,TSL,TSL,0x03806Ce5ef69Bd9780EDFb04c29da1F23Db96294,18 +3344,LADYS-46bf,LADYS,LADYS,0x12970E6868f88f6557B76120662c1B3E50A646bf,18 +3345,MUSK-6795,MUSK,MUSK,0x719e7f0daDFdeA25B78595da944F44d15d7E6795,18 +3346,LQTY-c54D,LQTY,LQTY,0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D,18 +3347,SNGLS-D009,SNGLS,SNGLS,0xaeC2E87E0A235266D9C5ADc9DEb4b2E29b54D009,0 +3348,TLM-3F72,TLM,TLM,0x888888848B652B3E3a0f34c96E00EEC0F3a23F72,4 +3349,TRACE-094b,TRACE,TRACE,0x9F7fC686CfD64aA5Ae15b351d03071e91533094b,18 +3350,USDSC-2eBe,USDSC,USDSC,0xA4Bdb11dc0a2bEC88d24A3aa1E6Bb17201112eBe,6 +3351,C2H6-cd64,C2H6,C2H6,0x6aD9a31f02F1E790fF85584EA3c3D0001E45cd64,9 +3352,XIDR-aa52,XIDR,XIDR,0xebF2096E01455108bAdCbAF86cE30b6e5A72aa52,6 +3353,NEX-DeEA,NEX,NEX,0x2C623D3cC9a2Cc158951b8093cB94e80cf56DeEA,18 +3354,STRK-d7B1,STRK,STRK,0x74232704659ef37c08995e386A2E26cc27a8d7B1,18 +3355,HND-7ED3,HND,HND,0x10010078a54396F62c96dF8532dc2B4847d47ED3,18 +3356,XLON-9D58,XLON,XLON,0x36ff4DaE0E88113D68B1209e245B0e3Af92E9D58,18 +3357,BABYDOGE-eBd5,BABYDOGE,BABYDOGE,0xAC8E13ecC30Da7Ff04b842f21A62a1fb0f10eBd5,9 +3358,HYPC-37E4,HYPC,HYPC,0xeA7B7DC089c9a4A916B5a7a37617f59fD54e37E4,6 +3359,JACK-251a,JACK,JACK,0x575B57CA64d2De54fe78fAe6d952251bBb6d251a,18 +3360,SWASH-2F80,SWASH,SWASH,0xA130E3a33a4d84b04c3918c4E5762223Ae252F80,18 +3361,ORE-782A,ORE,ORE,0x4f640F2529ee0cF119A2881485845FA8e61A782A,18 +3362,CRU-3c41,CRU,CRU,0x32a7C02e79c4ea1008dD6564b35F131428673c41,18 +3363,ORAI-c1b5,ORAI,ORAI,0x4c11249814f11b9346808179Cf06e71ac328c1b5,18 +3364,COW-97aB,COW,COW,0xDEf1CA1fb7FBcDC777520aa7f396b4E015F497aB,18 +3365,TRYB-D0EB,TRYB,TRYB,0x2C537E5624e4af88A7ae4060C022609376C8D0EB,6 +3366,ORION-46e4,ORION,ORION,0x727f064A78DC734D33eEc18d5370aef32Ffd46e4,18 +3367,ACRIA-c58A,ACRIA,ACRIA,0x44F5909E97E1CBf5FBbDF0FC92FD83cde5d5c58A,18 +3368,DEXTF-89f0,DEXTF,DEXTF,0x5F64Ab1544D28732F0A24F4713c2C8ec0dA089f0,18 +3369,EUSD-A371,EUSD,EUSD,0x97de57eC338AB5d51557DA3434828C5DbFaDA371,18 +3370,YVYFI-e5F0,YVYFI,YVYFI,0xdb25cA703181E7484a155DD612b06f57E12Be5F0,18 +3371,IETHV2-Be78,IETHV2,IETHV2,0xA0D3707c569ff8C87FA923d3823eC5D81c98Be78,18 +3372,DNXC-f03a,DNXC,DNXC,0x20a8CEC5fffea65Be7122BCaB2FFe32ED4Ebf03a,18 +3373,SILV2-b068,SILV2,SILV2,0x7E77dCb127F99ECe88230a64Db8d595F31F1b068,18 +3374,EROWAN-DcbE,EROWAN,EROWAN,0x07baC35846e5eD502aA91AdF6A9e7aA210F2DcbE,18 +3375,REALM-CFB8,REALM,REALM,0x464FdB8AFFC9bac185A7393fd4298137866DCFB8,18 +3376,CLS-de37,CLS,CLS,0x675BBC7514013E2073DB7a919F6e4cbeF576de37,18 +3377,ETO-1e79,ETO,ETO,0x1c11325EC05500DD587FFe0Eeb2d4499b5B91e79,18 +3378,HOP-a3CC,HOP,HOP,0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC,18 +3379,SNX-2a6F,SNX,SNX,0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F,18 +3380,BORA-3d3B,BORA,BORA,0x26fb86579e371c7AEdc461b2DdEF0A8628c93d3B,18 +3381,SHIBAKEN-Ab6B,SHIBAKEN,SHIBAKEN,0xa4Cf2aFD3B165975afFFBf7e487CDd40C894Ab6B,0 +3382,BLID-56A5,BLID,BLID,0x8A7aDc1B690E81c758F1BD0F72DFe27Ae6eC56A5,18 +3383,BMEX-5277,BMEX,BMEX,0xB113c6CF239F60D380359b762E95C13817275277,6 +3384,FIRE-3eDf,FIRE,FIRE,0x9B81686140e85d28C2236c307Dd49b422A663eDf,18 +3385,DS-771b,DS,DS,0xB67bEB26eBeb0DCEec354aE0942256d03c01771b,18 +3386,SHROOM-f183,SHROOM,SHROOM,0xEd0439EACf4c4965AE4613D77a5C2Efe10e5f183,18 +3387,TIA-Ea26,TIA,TIA,0x824E35f7A75324f99300aFAC75ECF7354E17Ea26,9 +3388,DOGPAD-9C1c,DOGPAD,DOGPAD,0x6f3277ad0782a7DA3eb676b85a8346A100BF9C1c,18 +3389,MOOV-56a7,MOOV,MOOV,0x24EC2Ca132abf8F6f8a6E24A1B97943e31f256a7,18 +3390,GHX-387d,GHX,GHX,0x728f30fa2f100742C7949D1961804FA8E0B1387d,18 +3391,FSN-df00,FSN,FSN,0x979aCA85bA37c675e78322ed5d97fa980B9Bdf00,18 +3392,WEWE-450d,WEWE,WEWE,0x1e917e764BC34d3BC313fe8159a6bD9d9FFD450d,18 +3393,ALLIN-3Ebe,ALLIN,ALLIN,0x9B2b931d6AB97B6A887b2C5d8529537E6FE73Ebe,9 +3394,AKITA-23E6,AKITA,AKITA,0x3301Ee63Fb29F863f2333Bd4466acb46CD8323E6,18 +3395,EGRN-558F,EGRN,EGRN,0xDB8d6D3AC21e4efE3675BBB18514010AC9C5558F,18 +3396,DRGN-A05E,DRGN,DRGN,0x419c4dB4B9e25d6Db2AD9691ccb832C8D9fDA05E,18 +3397,GEL-EA05,GEL,GEL,0x15b7c0c907e4C6b9AdaAaabC300C08991D6CEA05,18 +3398,RARI-41CF,RARI,RARI,0xFca59Cd816aB1eaD66534D82bc21E7515cE441CF,18 +3399,THREADS-657c,THREADS,THREADS,0x581DAFEBA7bf8fA69e4387efF5eAe9eb6401657c,18 +3400,Z3-61a6,Z3,Z3,0x50Eec6D765792dCfB0913C8403ef2A12e1B861a6,18 +3401,KITTY-0b12,KITTY,KITTY,0x61a35258107563f6B6f102aE25490901C8760b12,18 +3402,ZKP-a173,ZKP,ZKP,0x909E34d3f6124C324ac83DccA84b74398a6fa173,18 +3403,TECH-5698,TECH,TECH,0x6286A9e6f7e745A6D884561D88F94542d6715698,18 +3404,SAMA-0113,SAMA,SAMA,0xE04F47FF45576249bc5083DFDf987e03d0550113,18 +3405,GENI-FCc8,GENI,GENI,0x444444444444C1a66F394025Ac839A535246FCc8,9 +3406,LDO-1B32,LDO,LDO,0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32,18 +3407,MARSH-cF37,MARSH,MARSH,0x5a666c7d92E5fA7Edcb6390E4efD6d0CDd69cF37,18 +3408,ZEE-d4c5,ZEE,ZEE,0x2eDf094dB69d6Dcd487f1B3dB9febE2eeC0dd4c5,18 +3409,GMFAM-Fd81,GMFAM,GMFAM,0xe9Da5E227e3Fa4Fc933b5f540BE021e7EcC3Fd81,18 +3410,JGN-e041,JGN,JGN,0x73374Ea518De7adDD4c2B624C0e8B113955ee041,18 +3411,LOKA-8406,LOKA,LOKA,0x61E90A50137E1F645c9eF4a0d3A4f01477738406,18 +3412,UMB-83B2,UMB,UMB,0x6fC13EACE26590B80cCCAB1ba5d51890577D83B2,18 +3413,RPL-A51f,RPL,RPL,0xD33526068D116cE69F19A9ee46F0bd304F21A51f,18 +3414,PLANET-Ab0b,PLANET,PLANET,0x2aD9adDD0d97EC3cDBA27F92bF6077893b76Ab0b,18 +3415,HBTC-d380,HBTC,HBTC,0x0316EB71485b0Ab14103307bf65a021042c6d380,18 +3416,SETH2-043A,SETH2,SETH2,0xFe2e637202056d30016725477c5da089Ab0A043A,18 +3417,PSWAP-21BB,PSWAP,PSWAP,0x519C1001D550C0a1DaE7d1fC220f7d14c2A521BB,18 +3418,ACH-143d,ACH,ACH,0xEd04915c23f00A313a544955524EB7DBD823143d,8 +3419,SHPING-1BEC,SHPING,SHPING,0x7C84e62859D0715eb77d1b1C4154Ecd6aBB21BEC,18 +3420,FORTH-0ce0,FORTH,FORTH,0x77FbA179C79De5B7653F68b5039Af940AdA60ce0,18 +3421,PHTK-Ae7b,PHTK,PHTK,0x1FEE5588cb1De19c70B6aD5399152D8C643FAe7b,18 +3422,ARKM-b050,ARKM,ARKM,0x6E2a43be0B1d33b726f0CA3b8de60b3482b8b050,18 +3423,KIBA-af3c,KIBA,KIBA,0x005D1123878Fc55fbd56b54C73963b234a64af3c,18 +3424,AIEPK-5dDc,AIEPK,AIEPK,0xac5B038058bcD0424C9c252c6487C25F032E5dDc,18 +3425,SHI-AD5a,SHI,SHI,0x243cACb4D5fF6814AD668C3e225246efA886AD5a,18 +3426,BOND-750f,BOND,BOND,0x0391D2021f89DC339F60Fff84546EA23E337750f,18 +3427,FORT-Ec29,FORT,FORT,0x41545f8b9472D758bB669ed8EaEEEcD7a9C4Ec29,18 +3428,CHO-3099,CHO,CHO,0xBBa39Fd2935d5769116ce38d46a71bde9cf03099,18 +3429,PMON-D0b2,PMON,PMON,0x1796ae0b0fa4862485106a0de9b654eFE301D0b2,18 +3430,SKL-a7A7,SKL,SKL,0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7,18 +3431,HEART-897C,HEART,HEART,0x8FAc8031e079F409135766C7d5De29cf22EF897C,18 +3432,TUP-FE6A,TUP,TUP,0x7714f320Adca62B149df2579361AfEC729c5FE6A,18 +3433,COVAL-76Df,COVAL,COVAL,0x3D658390460295FB963f54dC0899cfb1c30776Df,8 +3434,AST-A75a,AST,AST,0x27054b13b1B798B345b591a4d22e6562d47eA75a,4 +3435,FARM-A14D,FARM,FARM,0xa0246c9032bC3A600820415aE600c6388619A14D,18 +3436,MIMO-f9Bc,MIMO,MIMO,0x90B831fa3Bebf58E9744A14D638E25B4eE06f9Bc,18 +3437,MOG-1C7a,MOG,MOG,0xaaeE1A9723aaDB7afA2810263653A34bA2C21C7a,18 +3438,GRUMPYCAT-c5bF,GRUMPYCAT,GRUMPYCAT,0xd8E2D95C8614F28169757cD6445a71c291dEc5bF,18 +3439,DOV-79b1,DOV,DOV,0xac3211a5025414Af2866FF09c23FC18bc97e79b1,18 +3440,NOISEGPT-A562,NOISEGPT,NOISEGPT,0xf23a2BF7619Ad93300499c3fC7d7145A06CcA562,18 +3441,RNBW-D75C,RNBW,RNBW,0xE94B97b6b43639E238c851A7e693F50033EfD75C,18 +3442,GENIE-9BD8,GENIE,GENIE,0x56978E609F2cab06F77c5C8Fd75166FcD8f09BD8,18 +3443,VENT-5624,VENT,VENT,0x5F0bc16D50F72d10b719dBF6845DE2E599eb5624,18 +3444,SOUL-f07F,SOUL,SOUL,0x75858677e27C930FB622759FeafFeE2b754Af07F,8 +3445,JIM-DB86,JIM,JIM,0xD807f7e2818dB8edA0d28B5bE74866338eaEDB86,18 +3446,ERSDL-D3A6,ERSDL,ERSDL,0x5218E472cFCFE0b64A064F055B43b4cdC9EfD3A6,18 +3447,BRIDGE-74B3,BRIDGE,BRIDGE,0x50D1c8e131dCA8B9226c0A0f78947557497374B3,9 +3448,LCX-fe41,LCX,LCX,0x037A54AaB062628C9Bbae1FDB1583c195585fe41,18 +3449,EVERMOON-0f6f,EVERMOON,EVERMOON,0x4ad434b8CDC3AA5AC97932D6BD18b5d313aB0f6f,18 +3450,DGX-57bF,DGX,DGX,0x4f3AfEC4E5a3F2A6a1A411DEF7D7dFe50eE057bF,9 +3451,BIDS-CD2F,BIDS,BIDS,0xA53e968b8d8a5Be52d66e5BB35d9b6B6B5A5CD2F,18 +3452,ISP-9014,ISP,ISP,0xC8807f0f5BA3fa45FfBdc66928d71c5289249014,18 +3453,HYVE-f7d4,HYVE,HYVE,0xd794DD1CAda4cf79C9EebaAb8327a1B0507ef7d4,18 +3454,PSYOP-53D3,PSYOP,PSYOP,0x3007083EAA95497cD6B2b809fB97B6A30bdF53D3,18 +3455,LMWR-bc88,LMWR,LMWR,0x628A3b2E302C7e896AcC432D2d0dD22B6cb9bc88,18 +3456,PC-2016,PC,PC,0x4F311C430540db1d64e635EB55f969F1660B2016,9 +3457,SHOPX-D848,SHOPX,SHOPX,0x7BEF710a5759d197EC0Bf621c3Df802C2D60D848,18 +3458,GENE-D67E,GENE,GENE,0x21413c119b0C11C5d96aE1bD328917bC5C8ED67E,18 +3459,LOOT-2541,LOOT,LOOT,0xb478c6245e3D85D6EC3486B62ea872128d562541,18 +3460,STPT-2aDb,STPT,STPT,0xDe7D85157d9714EADf595045CC12Ca4A5f3E2aDb,18 +3461,BAX-c135,BAX,BAX,0xf920e4F3FBEF5B3aD0A25017514B769bDc4Ac135,18 +3462,USH-EC48,USH,USH,0xE60779CC1b2c1d0580611c526a8DF0E3f870EC48,18 +3463,CTI-BE87,CTI,CTI,0xcB8fb2438A805664cD8c3e640b85AC473DA5BE87,18 +3464,TRB-78a0,TRB,TRB,0x88dF592F8eb5D7Bd38bFeF7dEb0fBc02cf3778a0,18 +3465,RMRK-06e4,RMRK,RMRK,0x471Ea49dd8E60E697f4cac262b5fafCc307506e4,10 +3466,DUNG-8A42,DUNG,DUNG,0x84412819AE69b10250D0D54d58f454018F1c8A42,18 +3467,RFR-149c,RFR,RFR,0xd0929d411954c47438dc1d871dd6081F5C5e149c,4 +3468,DFX-4c60,DFX,DFX,0x888888435FDe8e7d4c54cAb67f206e4199454c60,18 +3469,PICKLE-1Ca5,PICKLE,PICKLE,0x429881672B9AE42b8EbA0E26cD9C73711b891Ca5,18 +3470,ORN-434a,ORN,ORN,0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a,8 +3471,WLD-8753,WLD,WLD,0x163f8C2467924be0ae7B5347228CABF260318753,18 +3472,PEPINU-1106,PEPINU,PEPINU,0x0981d9774a59a703dB85f5EaA23672283EA31106,18 +3473,FUMO-5aa6,FUMO,FUMO,0x2890dF158D76E584877a1D17A85FEA3aeeB85aa6,18 +3474,HXRO-38f3,HXRO,HXRO,0x4bD70556ae3F8a6eC6C4080A0C327B24325438f3,18 +3475,DUST-c0Cc,DUST,DUST,0xB5b1b659dA79A2507C27AaD509f15B4874EDc0Cc,9 +3476,ATA-1225,ATA,ATA,0xA2120b9e674d3fC3875f415A7DF52e382F141225,18 +3477,LUNC-1ea9,LUNC,LUNC,0xd2877702675e6cEb975b4A1dFf9fb7BAF4C91ea9,18 +3478,JDB-273e,JDB,JDB,0xBaD96Ea5D43156a99A94Cd1Fd36a330aA7E2273e,18 +3479,HTB-A941,HTB,HTB,0x6be61833FC4381990e82D7D4a9F4c9B3F67eA941,18 +3480,SD-D10f,SD,SD,0x30D20208d987713f46DFD34EF128Bb16C404D10f,18 +3481,WALLET-94Ae,WALLET,WALLET,0x88800092fF476844f74dC2FC427974BBee2794Ae,18 +3482,ALUSD-60E9,ALUSD,ALUSD,0xBC6DA0FE9aD5f3b0d58160288917AA56653660E9,18 +3483,ABR-8C7C,ABR,ABR,0xa11bD36801d8fa4448F0ac4ea7A62e3634cE8C7C,18 +3484,SKRIMP-0296,SKRIMP,SKRIMP,0xec6d73557937974077911a0B6fDc436b0ff70296,18 +3485,CDAI-3643,CDAI,CDAI,0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643,8 +3486,FINALE-C374,FINALE,FINALE,0xC7a2572fA8FDB0f7E81d6D3c4e3CCF78FB0DC374,18 +3487,CRE-478e,CRE,CRE,0x115eC79F1de567eC68B7AE7eDA501b406626478e,18 +3488,FRM-A68C,FRM,FRM,0xE5CAeF4Af8780E59Df925470b050Fb23C43CA68C,6 +3489,XDOGE-4941,XDOGE,XDOGE,0xd2b274CfBf9534f56b59aD0FB7e645e0354f4941,8 +3490,CCV2-8F11,CCV2,CCV2,0x612E1726435fE38dD49A0B35b4065B56f49c8F11,18 +3491,PERP-3447,PERP,PERP,0xbC396689893D065F41bc2C6EcbeE5e0085233447,18 +3492,BORING-92CA,BORING,BORING,0xBC19712FEB3a26080eBf6f2F7849b417FdD792CA,18 +3493,NTX-7935,NTX,NTX,0xF0d33BeDa4d734C72684b5f9abBEbf715D0a7935,6 +3494,FBX-42Cf,FBX,FBX,0x60BB16c4A931b1a0B8A7D945C651DD90f41D42Cf,18 +3495,XELS-1280,XELS,XELS,0x397Deb686C72384FAd502A81f4d7fDb89e1f1280,8 +3496,ODOGE-4026,ODOGE,ODOGE,0x68b429161Ec09a6c1D65ba70727AB1faa5Bc4026,18 +3497,HIDOODLES-eCAB,HIDOODLES,HIDOODLES,0x3700Adfd26d5bC062cB8b8a77e68fbd43F58eCAB,18 +3498,MARBLE-53E4,MARBLE,MARBLE,0x8EA9bEDb8Bb7E99643844Ec79543F4faa78453E4,18 +3499,SEND-3e4A,SEND,SEND,0x3f14920c99BEB920Afa163031c4e47a3e03B3e4A,0 +3500,BAND-7f55,BAND,BAND,0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55,18 +3501,FUND-7f75,FUND,FUND,0xe9B076B476D8865cDF79D1Cf7DF420EE397a7f75,9 +3502,UNIDX-AfF6,UNIDX,UNIDX,0xf0655DcEE37E5C0b70Fffd70D85f88F8eDf0AfF6,18 +3503,ARPA-b71a,ARPA,ARPA,0xBA50933C268F567BDC86E1aC131BE072C6B0b71a,18 +3504,WALLET-E8AB,WALLET,WALLET,0x9Bf601dA3ABA6d4401ca2B9Af85A8BD63B98E8AB,9 +3505,PRIME-28CF,PRIME,PRIME,0xb23d80f5FefcDDaa212212F028021B41DEd428CF,18 +3506,GRAI-efe4,GRAI,GRAI,0x15f74458aE0bFdAA1a96CA1aa779D715Cc1Eefe4,18 +3507,DORKL-aCf3,DORKL,DORKL,0x94Be6962be41377d5BedA8dFe1b100F3BF0eaCf3,18 +3508,HOKK-21E8,HOKK,HOKK,0xe87e15B9c7d989474Cb6d8c56b3DB4eFAD5b21E8,18 +3509,BONE-18d9,BONE,BONE,0x9813037ee2218799597d83D4a5B6F3b6778218d9,18 +3510,BLUESPARROW-6FdE,BLUESPARROW,BLUESPARROW,0x24cCeDEBF841544C9e6a62Af4E8c2fA6e5a46FdE,9 +3511,POLC-6B37,POLC,POLC,0xaA8330FB2B4D5D07ABFE7A72262752a8505C6B37,18 +3512,LOYAL-5ae3,LOYAL,LOYAL,0x511686014F39F487E5CDd5C37B4b37606B795ae3,18 +3513,SWFTC-fC1e,SWFTC,SWFTC,0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e,8 +3514,CNV-0A04,CNV,CNV,0x000000007a58f5f58E697e51Ab0357BC9e260A04,18 +3515,QLINDO-b46E,QLINDO,QLINDO,0xC18c07a18198A6340cf4d94855fE5eb6DD33b46E,0 +3516,TSUKA-69eD,TSUKA,TSUKA,0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD,9 +3517,SUKU-E4d7,SUKU,SUKU,0x0763fdCCF1aE541A5961815C0872A8c5Bc6DE4d7,18 +3518,URUS-260b,URUS,URUS,0xc6DdDB5bc6E61e0841C54f3e723Ae1f3A807260b,18 +3519,SDL-6871,SDL,SDL,0xf1Dc500FdE233A4055e25e5BbF516372BC4F6871,18 +3520,RBN-fA6B,RBN,RBN,0x6123B0049F904d730dB3C36a31167D9d4121fA6B,18 +3521,ELG-Dc99,ELG,ELG,0xA2085073878152aC3090eA13D1e41bD69e60Dc99,18 +3522,KAT-509C,KAT,KAT,0x14da230d6726C50F759Bc1838717F8CE6373509C,18 +3523,KEEP-aFEC,KEEP,KEEP,0x85Eee30c52B0b379b046Fb0F85F4f3Dc3009aFEC,18 +3524,CLEV-1Bbf,CLEV,CLEV,0x72953a5C32413614d24C29c84a66AE4B59581Bbf,18 +3525,ARCH-1011,ARCH,ARCH,0x73C69d24ad28e2d43D03CBf35F79fE26EBDE1011,18 +3526,RED-A326,RED,RED,0xC744df3419A8c9Bd4D6b9852A503eb1C5308A326,18 +3527,MX-7f36,MX,MX,0x11eeF04c884E24d9B7B4760e7476D06ddF797f36,18 +3528,WNK-8Eba,WNK,WNK,0xE1BDA0c3Bfa2bE7f740f0119B6a34F057BD58Eba,18 +3529,CEEK-55e1,CEEK,CEEK,0xb056c38f6b7Dc4064367403E26424CD2c60655e1,18 +3530,PRO-E220,PRO,PRO,0x226bb599a12C826476e3A771454697EA52E9E220,8 +3531,ECOX-736a,ECOX,ECOX,0xcccD1Ba9f7acD6117834E0D28F25645dECb1736a,18 +3532,PNT-AAeD,PNT,PNT,0x89Ab32156e46F46D02ade3FEcbe5Fc4243B9AAeD,18 +3533,CPOOL-FaC5,CPOOL,CPOOL,0x66761Fa41377003622aEE3c7675Fc7b5c1C2FaC5,18 +3534,FGHT-d40D,FGHT,FGHT,0xe0ffDdF8fd7d63Cf907e433c9293069704D4d40D,18 +3535,ALI-4181,ALI,ALI,0x6B0b3a982b4634aC68dD83a4DBF02311cE324181,18 +3536,DHV-4b2A,DHV,DHV,0x62Dc4817588d53a056cBbD18231d91ffCcd34b2A,18 +3537,LOOMOLD-3DB0,LOOMOLD,LOOMOLD,0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0,18 +3538,LIT-C341,LIT,LIT,0xfd0205066521550D7d7AB19DA8F72bb004b4C341,18 +3539,VITA-A321,VITA,VITA,0x81f8f0bb1cB2A06649E51913A151F0E7Ef6FA321,18 +3540,DG-78a0,DG,DG,0xEE06A81a695750E71a662B51066F2c74CF4478a0,18 +3541,CRAMER-8ee0,CRAMER,CRAMER,0x64Df3aAB3b21cC275bB76c4A581Cf8B726478ee0,18 +3542,SHIH-1465,SHIH,SHIH,0x841FB148863454A3b3570f515414759BE9091465,18 +3543,3D3D-D3BB,3D3D,3D3D,0xFE60FbA03048EfFB4aCf3f0088Ec2f53d779D3BB,18 +3544,FNC-CACE,FNC,FNC,0x7f280daC515121DcdA3EaC69eB4C13a52392CACE,18 +3545,PAL-f4BF,PAL,PAL,0xAB846Fb6C81370327e784Ae7CbB6d6a6af6Ff4BF,18 +3546,CYBA-522A,CYBA,CYBA,0x1063181dc986F76F7eA2Dd109e16fc596d0f522A,9 +3547,INV-FB68,INV,INV,0x41D5D79431A913C4aE7d69a668ecdfE5fF9DFB68,18 +3548,SMARTCREDIT-DA13,SMARTCREDIT,SMARTCREDIT,0x72e9D9038cE484EE986FEa183f8d8Df93f9aDA13,18 +3549,SFI-902c,SFI,SFI,0xb753428af26E81097e7fD17f40c88aaA3E04902c,18 +3550,BIRD-7Ce0,BIRD,BIRD,0x70401dFD142A16dC7031c56E862Fc88Cb9537Ce0,18 +3551,SOP-7e2B,SOP,SOP,0xa8388b8334BEB4840D65eD80F858B080dFFD7e2B,18 +3552,YDF-E66a,YDF,YDF,0x30dcBa0405004cF124045793E1933C798Af9E66a,18 +3553,ASAP-0D45,ASAP,ASAP,0xC36AD98E62598Ae24d4487d8012209f687c30D45,18 +3554,LOOM-F75D,LOOM,LOOM,0x42476F744292107e34519F9c357927074Ea3F75D,18 +3555,KP3R-5A44,KP3R,KP3R,0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44,18 +3556,VAL-d1E4,VAL,VAL,0xe88f8313e61A97cEc1871EE37fBbe2a8bf3ed1E4,18 +3557,BRIGHT-0DfE,BRIGHT,BRIGHT,0x5dD57Da40e6866C9FcC34F4b6DDC89F1BA740DfE,18 +3558,PUSH-EEEE,PUSH,PUSH,0xf418588522d5dd018b425E472991E52EBBeEEEEE,18 +3559,DUSK-A551,DUSK,DUSK,0x940a2dB1B7008B6C776d4faaCa729d6d4A4AA551,18 +3560,SUDO-B7F9,SUDO,SUDO,0x3446Dd70B2D52A6Bf4a5a192D9b0A161295aB7F9,18 +3561,INST-03eb,INST,INST,0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb,18 +3562,BFT-326f,BFT,BFT,0x01fF50f8b7f74E4f00580d9596cd3D0d6d6E326f,18 +3563,GUISE-AFb8,GUISE,GUISE,0x7721A4cb6190EDB11d47f51C20968436ECcDAFb8,18 +3564,HEX-eb39,HEX,HEX,0x2b591e99afE9f32eAA6214f7B7629768c40Eeb39,8 +3565,AVA-ceB9,AVA,AVA,0xa6C0c097741D55ECd9a3A7DeF3A8253fD022ceB9,18 +3566,DEXT-C75a,DEXT,DEXT,0xfB7B4564402E5500dB5bB6d63Ae671302777C75a,18 +3567,NAS-318D,NAS,NAS,0x5d65D971895Edc438f465c17DB6992698a52318D,18 +3568,GTC-163F,GTC,GTC,0xDe30da39c46104798bB5aA3fe8B9e0e1F348163F,18 +3569,SHIBDOGE-928F,SHIBDOGE,SHIBDOGE,0x6ADb2E268de2aA1aBF6578E4a8119b960E02928F,9 +3570,META-387C,META,META,0xDE2F7766C8BF14CA67193128535E5c7454f8387C,18 +3571,BET-a7b7,BET,BET,0x72BaB498fA50a33A03362d0024BB27EFbC50a7b7,18 +3572,ERN-3505,ERN,ERN,0xBBc2AE13b23d715c30720F079fcd9B4a74093505,18 +3573,XCM-8e25,XCM,XCM,0x36ac219f90f5A6A3C77f2a7B660E3cC701f68e25,18 +3574,STA-eED1,STA,STA,0xa7DE087329BFcda5639247F96140f9DAbe3DeED1,18 +3575,VITE-3e70,VITE,VITE,0xadd5E881984783dD432F80381Fb52F45B53f3e70,18 +3576,WTAO-0A44,WTAO,WTAO,0x77E06c9eCCf2E797fd462A92B6D7642EF85b0A44,9 +3577,XSUSHI-4272,XSUSHI,XSUSHI,0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272,18 +3578,NEOBOT-4dEb,NEOBOT,NEOBOT,0x3f2D4708F75DE6Fb60B687fEd326697634774dEb,18 +3579,LYXE-be6D,LYXE,LYXE,0xA8b919680258d369114910511cc87595aec0be6D,18 +3580,BONDLY-68c9,BONDLY,BONDLY,0x91dFbEE3965baAEE32784c2d546B7a0C62F268c9,18 +3581,DORA-c81d,DORA,DORA,0xbc4171f45EF0EF66E76F979dF021a34B46DCc81d,18 +3582,ALPHA-0975,ALPHA,ALPHA,0xa1faa113cbE53436Df28FF0aEe54275c13B40975,18 +3583,0X0-1AD5,0X0,0X0,0x5a3e6A77ba2f983eC0d371ea3B475F8Bc0811AD5,9 +3584,EGT-3170,EGT,EGT,0x450E7F6e3a2f247A51b98C39297a9a5BfbDb3170,9 +3585,CUNI-D550,CUNI,CUNI,0x35A18000230DA775CAc24873d00Ff85BccdeD550,8 +3586,ELMO-B2F0,ELMO,ELMO,0x335F4e66B9B61CEE5CeaDE4e727FCEC20156B2F0,18 +3587,BASE-5fDC,BASE,BASE,0x07150e919B4De5fD6a63DE1F9384828396f25fDC,9 +3588,COLLIE-Bb8A,COLLIE,COLLIE,0xB8A768Cd332e4461FCcFbdb1d0292cEFFbB2Bb8A,18 +3589,TRUTH-dA6A,TRUTH,TRUTH,0x6293bBe52C3682057163172850002F18f993dA6A,18 +3590,CQT-6240,CQT,CQT,0xD417144312DbF50465b1C641d016962017Ef6240,18 +3591,LSHARE-18e9,LSHARE,LSHARE,0x8E01397163b21F64ceC1f06cA6cC7d9aA8F718e9,18 +3592,MYC-F5Ba,MYC,MYC,0x4b13006980aCB09645131b91D259eaA111eaF5Ba,18 +3593,GMT-1989,GMT,GMT,0x7Ddc52c4De30e94Be3A6A0A2b259b2850f421989,18 +3594,NMR-6671,NMR,NMR,0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671,18 +3595,WSTA-27a0,WSTA,WSTA,0xeDEec5691f23E4914cF0183A4196bBEb30d027a0,18 +3596,BOSON-0de9,BOSON,BOSON,0xC477D038d5420C6A9e0b031712f61c5120090de9,18 +3597,UZD-9f1c,UZD,UZD,0xb40b6608B2743E691C9B54DdBDEe7bf03cd79f1c,18 +3598,OMG-0C07,OMG,OMG,0xd26114cd6EE289AccF82350c8d8487fedB8A0C07,18 +3599,QKC-b664,QKC,QKC,0xEA26c4aC16D4a5A106820BC8AEE85fd0b7b2b664,18 +3600,T-beE5,T,T,0xCdF7028ceAB81fA0C6971208e83fa7872994beE5,18 +3601,BEPRO-d36A,BEPRO,BEPRO,0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A,18 +3602,TURBO-20D3,TURBO,TURBO,0xA35923162C49cF95e6BF26623385eb431ad920D3,18 +3603,AE-0D1d,AE,AE,0x5CA9a71B1d01849C0a95490Cc00559717fCF0D1d,18 +3604,MONG-FD9C,MONG,MONG,0x1ce270557C1f68Cfb577b856766310Bf8B47FD9C,18 +3605,DINO-c68F,DINO,DINO,0x49642110B712C1FD7261Bc074105E9E44676c68F,18 +3606,0XA-0EE1,0XA,0XA,0x37268C4F56Ebb13DFAE9c16d57D17579312d0EE1,18 +3607,MONKEYS-6c92,MONKEYS,MONKEYS,0x20CDECBF5d56870b4068a255580a58D068446c92,9 +3608,PHA-2f4E,PHA,PHA,0x6c5bA91642F10282b576d91922Ae6448C9d52f4E,18 +3609,XED-fd86,XED,XED,0xee573a945B01B788B9287CE062A0CFC15bE9fd86,18 +3610,CHAIN-81c4,CHAIN,CHAIN,0xC4C2614E694cF534D407Ee49F8E44D125E4681c4,18 +3611,HAMS-7410,HAMS,HAMS,0x48c87cDacb6Bb6BF6E5Cd85D8ee5C847084c7410,18 +3612,XTP-50fc,XTP,XTP,0x6368e1E18c4C419DDFC608A0BEd1ccb87b9250fc,18 +3613,FEAR-1E83,FEAR,FEAR,0x88A9A52F944315D5B4e917b9689e65445C401E83,18 +3614,DAFI-6439,DAFI,DAFI,0xFc979087305A826c2B2a0056cFAbA50aad3E6439,18 +3615,MONKEYS-6aAC,MONKEYS,MONKEYS,0xf2A22B900dde3ba18Ec2AeF67D4c8C1a0DAB6aAC,9 +3616,BIT-a4C5,BIT,BIT,0x1A4b46696b2bB4794Eb3D4c26f1c55F9170fa4C5,18 +3617,STBU-50eD,STBU,STBU,0xa6422E3E219ee6d4C1B18895275FE43556fd50eD,18 +3618,SPC-Ad20,SPC,SPC,0x86ed939B500E121C0C5f493F399084Db596dAd20,18 +3619,RIO-4097,RIO,RIO,0xf21661D0D1d76d3ECb8e1B9F1c923DBfffAe4097,18 +3620,BOTX-9Fa1,BOTX,BOTX,0xEF19F4E48830093Ce5bC8b3Ff7f903A0AE3E9Fa1,18 +3621,VIB-F724,VIB,VIB,0x2C974B2d0BA1716E644c1FC59982a89DDD2fF724,18 +3622,HT-a161,HT,HT,0x6f259637dcD74C767781E37Bc6133cd6A68aa161,18 +3623,FRXETH-Aa1f,FRXETH,FRXETH,0x5E8422345238F34275888049021821E8E08CAa1f,18 +3624,WTK-68A6,WTK,WTK,0x4cfF49d0A19ed6Ff845a9122fa912AbcFB1F68A6,18 +3625,TKX-0a88,TKX,TKX,0x667102BD3413bFEaa3Dffb48fa8288819E480a88,8 +3626,CC-36C1,CC,CC,0x597981EaC8A293054A1826c7b60cBF92972A36C1,9 +3627,MDI-66Ea,MDI,MDI,0x848896470d989F30503d8f883c331f63b73b66Ea,18 +3628,BTRFLY-e5Da,BTRFLY,BTRFLY,0xc55126051B22eBb829D00368f4B12Bde432de5Da,18 +3629,VOLT-9b25,VOLT,VOLT,0xfFbF315f70E458e49229654DeA4cE192d26f9b25,18 +3630,MITX-1Db6,MITX,MITX,0x4a527d8fc13C5203AB24BA0944F4Cb14658D1Db6,18 +3631,THOR-8044,THOR,THOR,0xa5f2211B9b8170F694421f2046281775E8468044,18 +3632,PAAL-0e16,PAAL,PAAL,0x14feE680690900BA0ccCfC76AD70Fd1b95D10e16,9 +3633,PROS-4B56,PROS,PROS,0x8642A849D0dcb7a15a974794668ADcfbe4794B56,18 +3634,PAXG-Af78,PAXG,PAXG,0x45804880De22913dAFE09f4980848ECE6EcbAf78,18 +3635,BETA-9D28,BETA,BETA,0xBe1a001FE942f96Eea22bA08783140B9Dcc09D28,18 +3636,NEXO-5206,NEXO,NEXO,0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206,18 +3637,WINTER-845f,WINTER,WINTER,0xCcbA0b2bc4BAbe4cbFb6bD2f1Edc2A9e86b7845f,18 +3638,NXM-Cf3B,NXM,NXM,0xd7c49CEE7E9188cCa6AD8FF264C1DA2e69D4Cf3B,18 +3639,ELFI-16f4,ELFI,ELFI,0x4dA34f8264CB33A5c9F17081B9EF5Ff6091116f4,18 +3640,SNAIL-Adc0,SNAIL,SNAIL,0x6Bc40d4099f9057b23aF309C08d935b890d7Adc0,18 +3641,CAI-a48D,CAI,CAI,0xf36C5f04127F7470834ed6f98bDDC1BE62aba48D,18 +3642,STBT-b44a,STBT,STBT,0x530824DA86689C9C17CdC2871Ff29B058345b44a,18 +3643,INSUR-7429,INSUR,INSUR,0x544c42fBB96B39B21DF61cf322b5EDC285EE7429,18 +3644,PLU-264E,PLU,PLU,0xD8912C10681D8B21Fd3742244f44658dBA12264E,18 +3645,RAD-64A3,RAD,RAD,0x31c8EAcBFFdD875c74b94b077895Bd78CF1E64A3,18 +3646,YVLUSD-19dC,YVLUSD,YVLUSD,0x378cb52b00F9D0921cb46dFc099CFf73b42419dC,18 +3647,ALETH-7Ee6,ALETH,ALETH,0x0100546F2cD4C9D97f798fFC9755E47865FF7Ee6,18 +3648,WOJAK-9aaB,WOJAK,WOJAK,0x5026F006B85729a8b14553FAE6af249aD16c9aaB,18 +3649,GST-ETH-1404,GST-ETH,GST-ETH,0x473037de59cf9484632f4A27B509CFE8d4a31404,8 +3650,CLINK-B0c7,CLINK,CLINK,0xFAce851a4921ce59e912d19329929CE6da6EB0c7,8 +3651,ST-YCRV-349D,ST-YCRV,ST-YCRV,0x27B5739e22ad9033bcBf192059122d163b60349D,18 +3652,ZAP-b104,ZAP,ZAP,0x6781a0F84c7E9e846DCb84A9a5bd49333067b104,18 +3653,ASTETH-2428,ASTETH,ASTETH,0x1982b2F5814301d4e9a8b0201555376e62F82428,18 +3654,BBANK-f267,BBANK,BBANK,0xF4b5470523cCD314C6B9dA041076e7D79E0Df267,18 +3655,SFRXETH-e38F,SFRXETH,SFRXETH,0xac3E018457B222d93114458476f3E3416Abbe38F,18 +3656,DG-588D,DG,DG,0x4b520c812E8430659FC9f12f6d0c39026C83588D,18 +3657,GUSD-d5Cd,GUSD,GUSD,0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd,2 +3658,AURABAL-608d,AURABAL,AURABAL,0x616e8BfA43F920657B3497DBf40D6b1A02D4608d,18 +3659,BOBA-Efbc,BOBA,BOBA,0x42bBFa2e77757C645eeaAd1655E0911a7553Efbc,18 +3660,PROME-69E4,PROME,PROME,0x75459A499a79ccD7C5Fae3201738F9E4677D69E4,18 +3661,ALICE-63E8,ALICE,ALICE,0xAC51066d7bEC65Dc4589368da368b212745d63E8,6 +3662,ECO-5727,ECO,ECO,0x8dBF9A4c99580fC7Fd4024ee08f3994420035727,18 +3663,DOG-8899,DOG,DOG,0xBAac2B4491727D78D2b78815144570b9f2Fe8899,18 +3664,KARATE-E684,KARATE,KARATE,0x80008BCD713c38AF90a9930288D446bc3bD2E684,18 +3665,CHANGE-2754,CHANGE,CHANGE,0x7051faED0775f664a0286Af4F75ef5ed74e02754,18 +3666,AVT-824F,AVT,AVT,0x0d88eD6E74bbFD96B831231638b66C05571e824F,18 +3667,BRKL-9ff8,BRKL,BRKL,0x4674a4F24C5f63D53F22490Fb3A08eAAAD739ff8,18 +3668,EMAID-a303,EMAID,EMAID,0x329c6E459FFa7475718838145e5e85802Db2a303,18 +3669,QOM-4974,QOM,QOM,0xa71d0588EAf47f12B13cF8eC750430d21DF04974,18 +3670,BFC-Ab9c,BFC,BFC,0x0c7D5ae016f806603CB1782bEa29AC69471CAb9c,18 +3671,ONDO-9BE3,ONDO,ONDO,0xfAbA6f8e4a5E8Ab82F62fe7C39859FA577269BE3,18 +3672,TBTC-3a88,TBTC,TBTC,0x18084fbA666a33d37592fA2633fD49a74DD93a88,18 +3673,GODS-FD97,GODS,GODS,0xccC8cb5229B0ac8069C51fd58367Fd1e622aFD97,18 +3674,BEZOGE-f695,BEZOGE,BEZOGE,0xDC349913d53b446485E98b76800b6254f43Df695,9 +3675,HELLO-311C,HELLO,HELLO,0x411099C0b413f4fedDb10Edf6a8be63BD321311C,18 +3676,HUSD-87e1,HUSD,HUSD,0xdF574c24545E5FfEcb9a659c229253D4111d87e1,8 +3677,BAD-F015,BAD,BAD,0x32b86b99441480a7E5BD3A26c124ec2373e3F015,18 +3678,SIDUS-1102,SIDUS,SIDUS,0x549020a9Cb845220D66d3E9c6D9F9eF61C981102,18 +3679,PARA-518c,PARA,PARA,0x3a8d5BC8A8948b68DfC0Ce9C14aC4150e083518c,18 +3680,XRT-1cb7,XRT,XRT,0x7dE91B204C1C737bcEe6F000AAA6569Cf7061cb7,9 +3681,BOB-8729,BOB,BOB,0x7D8146cf21e8D7cbe46054e01588207b51198729,18 +3682,CREAM-B200,CREAM,CREAM,0x2ba592F78dB6436527729929AAf6c908497cB200,18 +3683,TKB-b7Fc,TKB,TKB,0x16594930D16f3970e1a4317c6016555cb2e7b7Fc,18 +3684,MS-908F,MS,MS,0x6d6554939D646f274d0FC3cEcB7dab5d76bc908F,18 +3685,LAELAPS-44CA,LAELAPS,LAELAPS,0x6C059413686565D5aD6cce6EED7742c42DbC44CA,18 +3686,PNP-8715,PNP,PNP,0x7DEdBce5a2E31E4c75f87FeA60bF796C17718715,18 +3687,AGLD-9A20,AGLD,AGLD,0x32353A6C91143bfd6C7d363B546e62a9A2489A20,18 +3688,MONA-412A,MONA,MONA,0x275f5Ad03be0Fa221B4C6649B8AeE09a42D9412A,18 +3689,GETH-3De9,GETH,GETH,0xdD69DB25F6D620A7baD3023c5d32761D353D3De9,18 +3690,XDAO-Ad28,XDAO,XDAO,0x71eebA415A523F5C952Cc2f06361D5443545Ad28,18 +3691,XAUT-2F38,XAUT,XAUT,0x68749665FF8D2d112Fa859AA293F07A622782F38,6 +3692,REP-C9bB,REP,REP,0x221657776846890989a759BA2973e427DfF5C9bB,18 +3693,GET-6A1B,GET,GET,0x8a854288a5976036A725879164Ca3e91d30c6A1B,18 +3694,ANKR-EDD4,ANKR,ANKR,0x8290333ceF9e6D528dD5618Fb97a76f268f3EDD4,18 +3695,AIDEV-de8d,AIDEV,AIDEV,0x3a2348DbB9250a43226a27e21EDB94882Bb7de8d,8 +3696,SAITAMA-27B2,SAITAMA,SAITAMA,0xCE3f08e664693ca792caCE4af1364D5e220827B2,9 +3697,BCB-eb7e,BCB,BCB,0x2d886570A0dA04885bfD6eb48eD8b8ff01A0eb7e,9 +3698,CAT-7dB3,CAT,CAT,0x56015BBE3C01fE05bc30A8a9a9Fd9A88917e7dB3,18 +3699,RFOX-8262,RFOX,RFOX,0xa1d6Df714F91DeBF4e0802A542E13067f31b8262,18 +3700,STC-7e7E,STC,STC,0x15B543e986b8c34074DFc9901136d9355a537e7E,18 +3701,WSBC-4Beb,WSBC,WSBC,0xE46091dCE9c67691bCf22768bBEe0BC9E20d4Beb,9 +3702,BST-7F4a,BST,BST,0x509A38b7a1cC0dcd83Aa9d06214663D9eC7c7F4a,18 +3703,OMNIA-c8EE,OMNIA,OMNIA,0x4E58EA38F4915850Fbe1577cd818A09ba673c8EE,18 +3704,KROM-d789,KROM,KROM,0x3af33bEF05C2dCb3C7288b77fe1C8d2AeBA4d789,18 +3705,SERP-5Eec,SERP,SERP,0xFd414e39155F91E94443a9Fe97E856569d0F5Eec,9 +3706,NARUTO-6214,NARUTO,NARUTO,0xAD8D0de33C43eEFe104A279cDB6Ae250C12e6214,9 +3707,BEN-702E,BEN,BEN,0x9bf1D7D63dD7a4ce167CF4866388226EEefa702E,18 +3708,MCADE-22aF,MCADE,MCADE,0xed328E9C1179a30ddC1E7595E036AEd8760C22aF,18 +3709,PROPC-138E,PROPC,PROPC,0x9ff58067Bd8D239000010c154C6983A325Df138E,18 +3710,FKPEPE-d999,FKPEPE,FKPEPE,0x082646B22A3960DA69eF7A778c16dd6fb85Dd999,18 +3711,GHO-6C2f,GHO,GHO,0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f,18 +3712,PPIZZA-8446,PPIZZA,PPIZZA,0xab306326bC72c2335Bd08F42cbec383691eF8446,18 +3713,ASC-1ea1,ASC,ASC,0x17F8e6694080C07D7414C918dd9B9C32a2981ea1,18 +3714,STARL-6B24,STARL,STARL,0x8E6cd950Ad6ba651F6DD608Dc70e5886B1AA6B24,18 +3715,HAHA-c8DA,HAHA,HAHA,0xd87D72248093597df8D56d2a53C1ab7c1A0Cc8DA,18 +3716,GIGA-9cea,GIGA,GIGA,0x83249c6794BCa5a77Eb8c0AF9F1A86E055459cea,9 +3717,SHIK-5572,SHIK,SHIK,0x24dA31e7BB182cb2cABfEF1d88db19C2AE1f5572,18 +3718,GLQ-4D24,GLQ,GLQ,0x9F9c8ec3534c3cE16F928381372BfbFBFb9F4D24,18 +3719,PEPEDOGE-fb67,PEPEDOGE,PEPEDOGE,0xB8C55c80a1cb7394088a36C6b634dC2Bf3C6fb67,18 +3720,UCO-21fa,UCO,UCO,0x8a3d77e9d6968b780564936d15B09805827C21fa,18 +3721,WOO-5D4B,WOO,WOO,0x4691937a7508860F876c9c0a2a617E7d9E945D4B,18 +3722,NU-A4Cc,NU,NU,0x4fE83213D56308330EC302a8BD641f1d0113A4Cc,18 +3723,DEDE-80aA,DEDE,DEDE,0x9D7b68970d2be6dc93124477b4E2e1C9A6b180aA,9 +3724,GENSLR-D936,GENSLR,GENSLR,0xAd1A5B8538a866eCD56dDd328b50ed57cEd5D936,18 +3725,WAS-0E1b,WAS,WAS,0x0c572544a4Ee47904d54aaA6A970AF96B6f00E1b,18 +3726,OKEN-d8D5,OKEN,OKEN,0xD971a3f840359ac4A23a9e75038934855E5Ed8D5,9 +3727,PSTAKE-7006,PSTAKE,PSTAKE,0xfB5c6815cA3AC72Ce9F5006869AE67f18bF77006,18 +3728,RSS3-D57F,RSS3,RSS3,0xc98D64DA73a6616c42117b582e832812e7B8D57F,18 +3729,MEMAG-7AF6,MEMAG,MEMAG,0x6E39A587691b8c9D4341cE0A960998ED6F537AF6,18 +3730,GRP-Fac6,GRP,GRP,0xEc70fF4A5B09110E4D20aDa4F2DB4A86ec61Fac6,18 +3731,TEL-790F,TEL,TEL,0x467Bccd9d29f223BcE8043b84E8C8B282827790F,2 +3732,BUSD-7C53,BUSD,BUSD,0x4Fabb145d64652a948d72533023f6E7A623C7C53,18 +3733,TRU-3784,TRU,TRU,0x4C19596f5aAfF459fA38B0f7eD92F11AE6543784,8 +3734,BAG-5726,BAG,BAG,0x235C8EE913d93c68D2902a8e0b5a643755705726,18 +3735,HISAND33-1340,HISAND33,HISAND33,0x12AEf5C60C2C86c8ECD3079f22F285f326371340,18 +3736,TRIBE-212B,TRIBE,TRIBE,0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B,18 +3737,WAIT-EDd7,WAIT,WAIT,0x2559813BBb508C4C79e9CCCE4703Bcb1f149EDd7,9 +3738,FLASH-F2F8,FLASH,FLASH,0xB1f1F47061A7Be15C69f378CB3f69423bD58F2F8,18 +3739,SALD-636f,SALD,SALD,0x5582a479f0c403E207D2578963CceF5D03BA636f,18 +3740,KENNY-8e72,KENNY,KENNY,0xF5f38B0aD4163A1981C7B960bCD8c242E0038e72,18 +3741,BKN-a36d,BKN,BKN,0x0A638F07ACc6969abF392bB009f216D22aDEa36d,18 +3742,SIRIUS-0D9A,SIRIUS,SIRIUS,0x8dE2B2104B6AC8F9dCE7755fF70f0fa452680D9A,9 +3743,SDAO-875F,SDAO,SDAO,0x993864E43Caa7F7F12953AD6fEb1d1Ca635B875F,18 +3744,VGX-3E3d,VGX,VGX,0x3C4B6E6e1eA3D4863700D7F76b36B7f3D3f13E3d,8 +3745,FRIEND-5a84,FRIEND,FRIEND,0xbde4c4a9057595FA16D38e0BD7871EF119045a84,18 +3746,DVF-1918,DVF,DVF,0xDDdddd4301A082e62E84e43F474f044423921918,18 +3747,MTV-B77f,MTV,MTV,0x6226e00bCAc68b0Fe55583B90A1d727C14fAB77f,18 +3748,ONIT-DBf0,ONIT,ONIT,0x410e731c2970Dce3AdD351064AcF5cE9E33FDBf0,18 +3749,POWR-1269,POWR,POWR,0x595832F8FC6BF59c85C527fEC3740A1b7a361269,6 +3750,BTR-Aaa5,BTR,BTR,0xd433138d12beB9929FF6fd583DC83663eea6Aaa5,18 +3751,XCN-fb18,XCN,XCN,0xA2cd3D43c775978A96BdBf12d733D5A1ED94fb18,18 +3752,HABIBI-f9e2,HABIBI,HABIBI,0x8526Be2379E853d5Cf02f9823BB9690e1a6Ff9e2,18 +3753,TETRIS-E802,TETRIS,TETRIS,0xCb8a95e76A16b58C30B01e39Dd6AAD5949E5E802,9 +3754,KEY-96E7,KEY,KEY,0x4CC19356f2D37338b9802aa8E8fc58B0373296E7,18 +3755,ASTRA-351e,ASTRA,ASTRA,0x201332Bd45c8628D814F870bFb584B385A7C351e,18 +3756,TVK-3988,TVK,TVK,0xd084B83C305daFD76AE3E1b4E1F1fe2eCcCb3988,18 +3757,MWS-9B76,MWS,MWS,0x9B355FEe784768a7b9AC388C19E818E1c0A19B76,18 +3758,POND-D26C,POND,POND,0x57B946008913B82E4dF85f501cbAeD910e58D26C,18 +3759,PREMIA-0E70,PREMIA,PREMIA,0x6399C842dD2bE3dE30BF99Bc7D1bBF6Fa3650E70,18 +3760,HOPR-81dA,HOPR,HOPR,0xF5581dFeFD8Fb0e4aeC526bE659CFaB1f8c781dA,18 +3761,AMPL-A161,AMPL,AMPL,0xD46bA6D942050d489DBd938a2C909A5d5039A161,9 +3762,HEGIC-8430,HEGIC,HEGIC,0x584bC13c7D411c00c01A62e8019472dE68768430,18 +3763,WSTETH-2Ca0,WSTETH,WSTETH,0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0,18 +3764,BICO-c6C2,BICO,BICO,0xF17e65822b568B3903685a7c9F496CF7656Cc6C2,18 +3765,ACE-B1ab,ACE,ACE,0xeC5483804e637D45cDe22Fa0869656B64b5AB1ab,18 +3766,BS-d185,BS,BS,0x5ECa7B975E34567d9460FA613013A7A6993ad185,18 +3767,CAW-e452,CAW,CAW,0xf3b9569F82B18aEf890De263B84189bd33EBe452,18 +3768,STRONG-017c,STRONG,STRONG,0x990f341946A3fdB507aE7e52d17851B87168017c,18 +3769,GT-4759,GT,GT,0xE66747a101bFF2dBA3697199DCcE5b743b454759,18 +3770,UBT-ee5e,UBT,UBT,0x8400D94A5cb0fa0D041a3788e395285d61c9ee5e,8 +3771,SUSHI-0fE2,SUSHI,SUSHI,0x6B3595068778DD592e39A122f4f5a5cF09C90fE2,18 +3772,CEL-D42d,CEL,CEL,0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d,4 +3773,RAT-AbCc,RAT,RAT,0x0B9570a0194FfB8bF9E60a95e8d905Bf2358AbCc,18 +3774,BOBO-5295,BOBO,BOBO,0xB90B2A35C65dBC466b04240097Ca756ad2005295,18 +3775,SUPER-0A55,SUPER,SUPER,0xe53EC727dbDEB9E2d5456c3be40cFF031AB40A55,18 +3776,OAX-Fe1D,OAX,OAX,0x701C244b988a513c945973dEFA05de933b23Fe1D,18 +3777,RAI-4919,RAI,RAI,0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919,18 +3778,EXRD-9414,EXRD,EXRD,0x6468e79A80C0eaB0F9A2B574c8d5bC374Af59414,18 +3779,MAX-0de4,MAX,MAX,0x63f7B1b538a78cB699E5399621B3d2e047C40de4,18 +3780,X-9A77,X,X,0xaFe53EEa0cfE20198328890B69107D5Fd8159A77,9 +3781,PEAR-1f90,PEAR,PEAR,0x5dCD6272C3cbb250823F0b7e6C618bce11B21f90,18 +3782,0X1-aa70,0X1,0X1,0xfcdB9e987f9159dAb2f507007D5E3D10C510aa70,18 +3783,NBOT-549A,NBOT,NBOT,0xe387140d52eBB0Dd729683dC062AEFbC5F7f549A,18 +3784,AAMMWBTC-21FA,AAMMWBTC,AAMMWBTC,0x13B2f6928D7204328b0E8E4BCd0379aA06EA21FA,8 +3785,AJNA-5079,AJNA,AJNA,0x9a96ec9B57Fb64FbC60B423d1f4da7691Bd35079,18 +3786,BNSD-0188,BNSD,BNSD,0x668DbF100635f593A3847c0bDaF21f0a09380188,18 +3787,CVXCRV-0Aa7,CVXCRV,CVXCRV,0x62B9c7356A2Dc64a1969e19C23e4f579F9810Aa7,18 +3788,NOLO-C84C,NOLO,NOLO,0x9754d5e5ea788C62F11d34a818aeAE927AeAC84C,18 +3789,AGEUR-Bce8,AGEUR,AGEUR,0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8,18 +3790,AUTUMN-3a99,AUTUMN,AUTUMN,0x4c3bAe16c79c30eEB1004Fb03C878d89695e3a99,18 +3791,AYFI-8f37,AYFI,AYFI,0x5165d24277cD063F5ac44Efd447B27025e888f37,18 +3792,KNCL-D200,KNCL,KNCL,0xdd974D5C2e2928deA5F71b9825b8b646686BD200,18 +3793,AAMMUSDT-4Cb7,AAMMUSDT,AAMMUSDT,0x17a79792Fe6fE5C95dFE95Fe3fCEE3CAf4fE4Cb7,6 +3794,CWEB-Bf04,CWEB,CWEB,0x505B5eDa5E25a67E1c24A2BF1a527Ed9eb88Bf04,18 +3795,TOWN-Ab7F,TOWN,TOWN,0x3Dd98C8A089dBCFF7e8FC8d4f532BD493501Ab7F,8 +3796,AXSUSHI-f47a,AXSUSHI,AXSUSHI,0xF256CC7847E919FAc9B808cC216cAc87CCF2f47a,18 +3797,AENJ-09Ef,AENJ,AENJ,0xaC6Df26a590F08dcC95D5a4705ae8abbc88509Ef,18 +3798,AREN-D77a,AREN,AREN,0xCC12AbE4ff81c9378D670De1b57F8e0Dd228D77a,18 +3799,AAMMWETH-730A,AAMMWETH,AAMMWETH,0xf9Fb4AD91812b704Ba883B11d2B576E890a6730A,18 +3800,AUNI-2BF1,AUNI,AUNI,0xB9D7CB55f463405CDfBe4E90a6D2Df01C2B92BF1,18 +3801,AMKR-6B88,AMKR,AMKR,0xc713e5E149D5D0715DcD1c156a020976e7E56B88,18 +3802,AUSDC-263C,AUSDC,AUSDC,0xBcca60bB61934080951369a648Fb03DF4F96263C,6 +3803,ABAT-1D00,ABAT,ABAT,0xE1BA0FB44CCb0D11b80F92f4f8Ed94CA3fF51D00,18 +3804,AMANA-873E,AMANA,AMANA,0xa685a61171bb30d4072B338c80Cb7b2c865c873E,18 +3805,ATUSD-e636,ATUSD,ATUSD,0x101cc05f4A51C0319f570d5E146a8C625198e636,18 +3806,AENJ-3F40,AENJ,AENJ,0x712DB54daA836B53Ef1EcBb9c6ba3b9Efb073F40,18 +3807,ASNX-E6c2,ASNX,ASNX,0x35f6B052C598d933D69A4EEC4D04c73A191fE6c2,18 +3808,IETH-d019,IETH,IETH,0xc383a3833A87009fD9597F8184979AF5eDFad019,18 +3809,WETH-6Cc2,WETH,WETH,0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2,18 +3810,AMKR-6998,AMKR,AMKR,0x7deB5e830be29F91E298ba5FF1356BB7f8146998,18 +3811,PEPECOIN-489A,PEPECOIN,PEPECOIN,0xA9E8aCf069C58aEc8825542845Fd754e41a9489A,18 +3812,POLS-D5Aa,POLS,POLS,0x83e6f1E41cdd28eAcEB20Cb649155049Fac3D5Aa,18 +3813,NAOS-4496,NAOS,NAOS,0x4a615bB7166210CCe20E6642a6f8Fb5d4D044496,18 +3814,LEASH-6634,LEASH,LEASH,0x27C70Cd1946795B66be9d954418546998b546634,18 +3815,SSHIP-B886,SSHIP,SSHIP,0xC1ECfaf43C53BEc9B9143Ab274f35603Fd10B886,18 +3816,BEAN-Efab,BEAN,BEAN,0xBEA0000029AD1c77D3d5D23Ba2D8893dB9d1Efab,6 +3817,ALINK-73E0,ALINK,ALINK,0xa06bC25B5805d5F8d82847D191Cb4Af5A3e873E0,18 +3818,SXP-b6A9,SXP,SXP,0x8CE9137d39326AD0cD6491fb5CC0CbA0e089b6A9,18 +3819,GMEE-2373,GMEE,GMEE,0xD9016A907Dc0ECfA3ca425ab20B6b785B42F2373,18 +3820,AURA-3DBF,AURA,AURA,0xC0c293ce456fF0ED870ADd98a0828Dd4d2903DBF,18 +3821,KISHU-817D,KISHU,KISHU,0xA2b4C0Af19cC16a6CfAcCe81F192B024d625817D,9 +3822,SONICBOT-DcDD,SONICBOT,SONICBOT,0xB167b290D172eb33e221309592Df0C042ab9DcDD,9 +3823,FOREX-259B,FOREX,FOREX,0xDb298285FE4C5410B05390cA80e8Fbe9DE1F259B,18 +3824,UFO-DC3B,UFO,UFO,0x249e38Ea4102D0cf8264d3701f1a0E39C4f2DC3B,18 +3825,IMBTC-8923,IMBTC,IMBTC,0x3212b29E33587A00FB1C83346f5dBFA69A458923,8 +3826,XBOT-613D,XBOT,XBOT,0x330528172778Cc5196d5f6742886c72505e0613D,18 +3827,3CRV-E490,3CRV,3CRV,0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490,18 +3828,CAPS-15e2,CAPS,CAPS,0x03Be5C903c727Ee2C8C4e9bc0AcC860Cca4715e2,18 +3829,SAFEEARTH-1CbA,SAFEEARTH,SAFEEARTH,0xE6F1966d04CfcB9cd1B1dC4E8256D8b501b11CbA,9 +3830,SILO-B1f8,SILO,SILO,0x6f80310CA7F2C654691D1383149Fa1A57d8AB1f8,18 +3831,VRN-4f23,VRN,VRN,0x72377f31e30a405282b522d588AEbbea202b4f23,18 +3832,TXA-A830,TXA,TXA,0x4463e6A3dEd0dBE3F6e15bC8420dFc55e5FeA830,18 +3833,STETH-fE84,STETH,STETH,0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84,18 +3834,TRAC-0A6F,TRAC,TRAC,0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F,18 +3835,VXV-bFCe,VXV,VXV,0x7D29A64504629172a429e64183D6673b9dAcbFCe,18 +3836,DCN-91e6,DCN,DCN,0x08d32b0da63e2C3bcF8019c9c5d849d7a9d791e6,0 +3837,FREE-e4Fd,FREE,FREE,0x2F141Ce366a2462f02cEA3D12CF93E4DCa49e4Fd,18 +3838,NKN-c9eb,NKN,NKN,0x5Cf04716BA20127F1E2297AdDCf4B5035000c9eb,18 +3839,FOX-e52d,FOX,FOX,0xc770EEfAd204B5180dF6a14Ee197D99d808ee52d,18 +3840,FLX-91F4,FLX,FLX,0x6243d8CEA23066d098a15582d81a598b4e8391F4,18 +3841,LINA-1937,LINA,LINA,0x3E9BC21C9b189C09dF3eF1B824798658d5011937,18 +3842,UFI-a0E3,UFI,UFI,0xcDa4e840411C00a614aD9205CAEC807c7458a0E3,18 +3843,TOMI-3449,TOMI,TOMI,0x4385328cc4D643Ca98DfEA734360C0F596C83449,18 +3844,AIPAD-8AAf,AIPAD,AIPAD,0xE55d97A97ae6A17706ee281486E98A84095d8AAf,18 +3845,UMA-F828,UMA,UMA,0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828,18 +3846,XPR-A2af,XPR,XPR,0xD7EFB00d12C2c13131FD319336Fdf952525dA2af,4 +3847,WACME-1170,WACME,WACME,0xDF4Ef6EE483953fE3B84ABd08C6A060445c01170,8 +3848,RUSHAI-c45B,RUSHAI,RUSHAI,0x69d47846bb7B884062FaBc08A4A7dEADCd98c45B,18 +3849,LAI-11Cc,LAI,LAI,0x168e209D7b2F58f1f24b8Ae7B7d35E662bBF11Cc,18 +3850,INFRA-9e3c,INFRA,INFRA,0x013062189dc3dcc99e9Cee714c513033b8d99e3c,18 +3851,POOH-E371,POOH,POOH,0xB69753c06BB5c366BE51E73bFc0cC2e3DC07E371,18 +3852,DXP-B745,DXP,DXP,0x88aa4a6C5050b9A1b2Aa7e34D0582025cA6AB745,18 +3853,IMGNAI-CBe0,IMGNAI,IMGNAI,0xA735A3AF76CC30791C61c10d585833829d36CBe0,9 +3854,UBXN-1065,UBXN,UBXN,0x7A73839bd0e5cdED853cB01aa9773F8989381065,18 +3855,NTVRK-157A,NTVRK,NTVRK,0xFc0d6Cf33e38bcE7CA7D89c0E292274031b7157A,18 +3856,VR-8cdD,VR,VR,0x7d5121505149065b562C789A0145eD750e6E8cdD,18 +3857,STOS-Bdcc,STOS,STOS,0x08c32b0726C5684024ea6e141C50aDe9690bBdcc,18 +3858,OCC-7207,OCC,OCC,0x2F109021aFe75B949429fe30523Ee7C0D5B27207,18 +3859,AQTIS-4429,AQTIS,AQTIS,0x6FF2241756549B5816A177659E766EAf14B34429,18 +3860,LYRA-05Bf,LYRA,LYRA,0x01BA67AAC7f75f647D94220Cc98FB30FCc5105Bf,18 +3861,STG-2Cd6,STG,STG,0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6,18 +3862,UMEE-dDaC,UMEE,UMEE,0xc0a4Df35568F116C370E6a6A6022Ceb908eedDaC,6 +3863,CGG-5e43,CGG,CGG,0x1fE24F25b1Cf609B9c4e7E12D802e3640dFA5e43,18 +3864,MC-E5d6,MC,MC,0x949D48EcA67b17269629c7194F4b727d4Ef9E5d6,18 +3865,AGUSD-b583,AGUSD,AGUSD,0xD37EE7e4f452C6638c96536e68090De8cBcdb583,2 +3866,OVR-3697,OVR,OVR,0x21BfBDa47A0B4B5b1248c767Ee49F7caA9B23697,18 +3867,EFI-3733,EFI,EFI,0x656C00e1BcD96f256F224AD9112FF426Ef053733,18 +3868,SCRATS-B973,SCRATS,SCRATS,0x30b47e13cCee15D6Fa7A80994c94Bb9B4a4BB973,18 +3869,XWG-4FEC,XWG,XWG,0x0a77eF9bf662D62Fbf9BA4cf861EaA83F9CC4FEC,18 +3870,SCAI-7512,SCAI,SCAI,0xE35009059cb55ded065027e9832A2c564AFF7512,18 +3871,TAROT-56E8,TAROT,TAROT,0xa10bf0aBa0C7953F279c4Cb8192d3B5dE5eA56E8,18 +3872,DSQ-44aa,DSQ,DSQ,0x54a02Eae26E56d108DdE3B836Db32431228b44aa,18 +3873,XST-c35e,XST,XST,0xC60D6662027F5797Cf873bFe80BcF048e30Fc35e,18 +3874,PIP-8707,PIP,PIP,0x37613D64258c0FE09d5E53EeCb091DA5b8fA8707,18 +3875,CHB-33A0,CHB,CHB,0xf68D4d917592f3a62417aCE42592F15296cc33A0,8 +3876,X-AI-3a77,X-AI,X-AI,0xbF628DfD72CF51752574A970C91F42591B173a77,18 +3877,DUSD-1298,DUSD,DUSD,0xa48F322F8b3edff967629Af79E027628b9Dd1298,18 +3878,DEO-cf8e,DEO,DEO,0x5E7F20e72C21f6D0Bf0A2814FD4164176401cf8e,18 +3879,USDV-3603,USDV,USDV,0x20b3B07E9C0e37815e2892Ab09496559F57C3603,18 +3880,BAN-A034,BAN,BAN,0xe20B9e246db5a0d21BF9209E4858Bc9A3ff7A034,18 +3881,HUNDRED-EA7E,HUNDRED,HUNDRED,0x6CB7D80bDeFEf3F820a3A77eE56F06aFCB20EA7E,18 +3882,SEILOR-1262,SEILOR,SEILOR,0x3e613d7F3CEb1f27Dd22a44F35343DD234c51262,18 +3883,KUJI-3fe7,KUJI,KUJI,0x96543ef8d2C75C26387c1a319ae69c0BEE6f3fe7,6 +3884,USK-10E9,USK,USK,0x1B3C515F58857E141A966b33182f2F3feECC10E9,6 +3885,MINTME-e8b3,MINTME,MINTME,0x772722B55cdC2A086aBd064267a17855Eb15e8b3,18 +3886,NFTE-0310,NFTE,NFTE,0x8c223a82E07feCB49D602150d7C2B3A4c9630310,18 +3887,TRIAS-e95d,TRIAS,TRIAS,0x3A856d4effa670C54585a5D523e96513e148e95d,18 +3888,WUSDR-A752,WUSDR,WUSDR,0xC03b43d492d904406db2d7D57e67C7e8234bA752,9 +3889,OATH-8b0B,OATH,OATH,0x6F9C26Fa731C7Ea4139Fa669962Cf8F1CE6C8b0B,18 +3890,ROVI-eC91,ROVI,ROVI,0xCc503242b574BC01145Da7E2A743b43fB395eC91,18 +3891,WHEE-3CF6,WHEE,WHEE,0x2512c545A0117353e4E9aCDdfF860342640d3CF6,18 +3892,VNDC-b5DE,VNDC,VNDC,0x1F3F677Ecc58F6A1F9e2CF410dF4776a8546b5DE,0 +3893,FUTURE-AI-aa15,FUTURE-AI,FUTURE-AI,0x0FF534801E98A4976246D1f418E441783fc9aa15,18 +3894,CATE-8DCb,CATE,CATE,0xf05897CfE3CE9BBBfE0751CBE6B1B2c686848DCb,9 +3895,RLB-3f3d,RLB,RLB,0x046EeE2cc3188071C02BfC1745A6b17c656e3f3d,18 +3896,VEXT-38c7,VEXT,VEXT,0xB2492E97a68a6E4B9E9a11B99F6C42E5aCCD38c7,18 +3897,BLAZEX-91c0,BLAZEX,BLAZEX,0xDD1b6B259986571A85dA82A84f461e1c212591c0,9 +3898,SOPH-d380,SOPH,SOPH,0x73fBD93bFDa83B111DdC092aa3a4ca77fD30d380,18 +3899,BRISE-3e3A,BRISE,BRISE,0xF2B2f7b47715256Ce4eA43363a867fdce9353e3A,9 +3900,NSFW-BF19,NSFW,NSFW,0x8f006D1e1D9dC6C98996F50a4c810F17a47fBF19,18 +3901,CGPT-39Aa,CGPT,CGPT,0x25931894a86D47441213199621F1F2994e1c39Aa,18 +3902,YOU-d8CA,YOU,YOU,0xb92ba0A6a843379499770dE82Aa936d6bA0fd8CA,18 +3903,HOS-E5Bd,HOS,HOS,0xbF27B3163c25113be5439D56F8ACf2209Ef3E5Bd,18 +3904,OK-4189,OK,OK,0xd3Ac016b1B8C80EeAdDe4D186A9138C9324e4189,18 +3905,PRIMAL-752C,PRIMAL,PRIMAL,0xDd13DEdeCEbDA566322195bc4451D672A148752C,18 +3906,MURATIAI-6bCf,MURATIAI,MURATIAI,0x69C2fcAe7e30b429166BD616A322e32BeC036bCf,18 +3907,MV-B95b,MV,MV,0xAE788F80F2756A86aa2F410C651F2aF83639B95b,18 +3908,IPISTR-348e,IPISTR,IPISTR,0x888888888888f195E27A2E0F98D712952aB9348e,18 +3909,NRG-2069,NRG,NRG,0x1416946162B1C2c871A73B07E932D2fB6C932069,18 +3910,PIRATE-7D7A,PIRATE,PIRATE,0xb990d93C308A31c737Aa91839E8bA8eAF4017D7A,8 +3911,ASAN-f435,ASAN,ASAN,0x5F1F11a3dD7a0C39Da1BaA3C7b8585b52a77f435,18 +3912,PING-8E47,PING,PING,0xC7B89491Bb148551547837ea6ccB4Bb5144d8E47,9 +3913,MEAN-3318,MEAN,MEAN,0x9b25889C493aE6Df34cEef1ecb10D77c1Ba73318,6 +3914,MAGIC-Ac9A,MAGIC,MAGIC,0xB0c7a3Ba49C7a6EaBa6cD4a96C55a1391070Ac9A,18 +3915,SHARBI-c9a9,SHARBI,SHARBI,0xF3A3023e6Dede84AD88a656A3269F2A36e83c9a9,9 +3916,MILKAI-4F39,MILKAI,MILKAI,0x9f826324bb9BdcF7E7Eb274BEDc417BD45D74F39,8 +3917,HMX-5140,HMX,HMX,0x83d6c8C06ac276465e4C92E7aC8C23740F435140,18 +3918,SLG-019a,SLG,SLG,0xFc0B60E0DF5Dc9d4B72D957cA2d251ceE308019a,18 +3919,ZENIQ-7233,ZENIQ,ZENIQ,0x5b52bfB8062Ce664D74bbCd4Cd6DC7Df53Fd7233,18 +3920,HMX-3a88,HMX,HMX,0xb012Be90957D70D9a070918027655F998C123a88,18 +3921,DMT-3A9C,DMT,DMT,0x0B7f0e51Cd1739D6C96982D55aD8fA634dd43A9C,18 +3922,CDT-85Cc,CDT,CDT,0xCdB37A4fBC2Da5b78aA4E41a432792f9533e85Cc,18 +3923,USX-DEc8,USX,USX,0x0a5E677a6A24b2F1A2Bf4F3bFfC443231d2fDEc8,18 +3924,SHIBELON-De6d,SHIBELON,SHIBELON,0x4c584CD339bdDE73B7F5210486dd8bbeEE3fDe6d,9 +3925,CINU-8c32,CINU,CINU,0xA64D5d1eB67748226d84812B45711453f1118c32,9 +3926,CATPAY-491d,CATPAY,CATPAY,0x075067A4b236f68F123FC0553F4560311937491d,9 +3927,JART-8948,JART,JART,0xf3E07812eBC8604fdDB0AA35ff79a03F48f48948,18 +3928,DOGS-ba21,DOGS,DOGS,0xBcCD27062ae1A2BeA5731c904b96EDfb163Aba21,9 +3929,EMPIRE-3665,EMPIRE,EMPIRE,0xf124eD9Ec309907808b1FBc6BEdB2a76927B3665,18 +3930,CIOTX-8FE1,CIOTX,CIOTX,0x9F90B457Dea25eF802E38D470ddA7343691D8FE1,18 +3931,KING-AE8f,KING,KING,0xE28027c99C7746fFb56B0113e5d9708aC86fAE8f,9 +3932,SHINU-C53F,SHINU,SHINU,0x0d229c3FF2d76E4b88Ca4F9d3D3353F4545EC53F,18 +3933,DIFI-808F,DIFI,DIFI,0xC4F521d163d593A759F526DaBf012Cc7581D808F,18 +3934,CP-CFCa,CP,CP,0x5BDC32663Ec75E85ff4abc2CAe7ae8B606A2CFCa,18 +3935,STUSDT-5e10,STUSDT,STUSDT,0x25eC98773D7b4ceD4cAFaB96A2A1c0945f145e10,18 +3936,OBX-4d25,OBX,OBX,0x188fb5f5Ae5BBE4154d5778F2bbb2Fb985c94d25,18 +3937,RJV-adaB,RJV,RJV,0x02c3296C6eb50249f290AE596F2bE9454bFfadaB,6 +3938,WMT-7296,WMT,WMT,0x263B6B028F3e4eD8C4329eB2b5f409Ee38D97296,6 +3939,WOM-0CFB,WOM,WOM,0xc0B314a8c08637685Fc3daFC477b92028c540CFB,18 +3940,DIMO-2E1B,DIMO,DIMO,0x5fab9761d60419C9eeEbe3915A8FA1ed7e8d2E1B,18 +3941,DCK-3A39,DCK,DCK,0x672f4fa517894496B8A958b4b3fcA068cE513A39,18 +3942,ID-6406,ID,ID,0x2dfF88A56767223A5529eA5960Da7A3F5f766406,18 +3943,MPWR-b579,MPWR,MPWR,0x6731827Cb6879a2091ce3ab3423f7bf20539b579,18 +3944,ARB-4ad1,ARB,ARB,0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1,18 +3945,FYT-8ca7,FYT,FYT,0x77F2BE773CA0887ba2b3Ef8344C8CF13C98d8ca7,18 +3946,AI-7D80,AI,AI,0xa89Bf95c5f15a847c8Eb8D348cd7feD719AD7D80,18 +3947,STSW-31a3,STSW,STSW,0x1C98B54d673C026C8286bADCa3E840aaf72931a3,6 +3948,BONK-67F6,BONK,BONK,0x1151CB3d861920e07a38e03eEAd12C32178567F6,5 +3949,GXE-bea6,GXE,GXE,0x510975edA48A97E0cA228dD04d1217292487bea6,18 +3950,ACRE-FC21,ACRE,ACRE,0xb2cABf797bc907B049e4cCB5b84d13be3a8CFC21,18 +3951,WFTM-7870,WFTM,WFTM,0x4E15361FD6b4BB609Fa63C81A2be19d873717870,18 +3952,CANTO-b220,CANTO,CANTO,0x56C03B8C4FA80Ba37F5A7b60CAAAEF749bB5b220,18 +3953,BRG-6DB1,BRG,BRG,0xC9C4fd7579133701FA2769b6955e7E56bb386DB1,18 +3954,AGOV-280c,AGOV,AGOV,0xd1420AF453Fd7bf940573431D416cAcE7fF8280c,18 +3955,SPA-9008,SPA,SPA,0xB4A3B0Faf0Ab53df58001804DdA5Bfc6a3D59008,18 +3956,LFG-Aa8F,LFG,LFG,0x969786c4A8884013d1c9fF18dCCA2aeDbbBfAa8F,18 +3957,CAKE-c898,CAKE,CAKE,0x152649eA73beAb28c5b49B26eb48f7EAD6d4c898,18 +3958,DUCKYAI-75a6,DUCKYAI,DUCKYAI,0xD38DE430D355a7a8337204c2A4C80392E61475a6,18 +3959,CREMAT-9cB2,CREMAT,CREMAT,0x8b9F7e9586633cA4ABffb1F746da8dAed7849cB2,18 +3960,JM-9771,JM,JM,0x388D819724dD6d71760A38F00dc01D310d879771,8 +3961,GMM-c279,GMM,GMM,0x4B19C70Da4c6fA4bAa0660825e889d2F7eaBc279,18 +3962,BREWLABS-77Ba,BREWLABS,BREWLABS,0xdAd33e12e61dC2f2692F2c12e6303B5Ade7277Ba,9 +3963,WBESC-0252,WBESC,WBESC,0xf89060c99853Bb52eaF5F2247D007d73de660252,18 +3964,MIND-f8aB,MIND,MIND,0x87dA7BBd398D6610dED42617E34069D0083ff8aB,18 +3965,ROO-A938,ROO,ROO,0x9d7107c8E30617CAdc11f9692A19C82ae8bbA938,18 +3966,TRAVA-00bf,TRAVA,TRAVA,0x186D0Ba3dfC3386C464eECd96A61fBB1E2dA00bf,18 +3967,MELD-0400,MELD,MELD,0x333000333b26eE30214B4af6419D9ab07a450400,18 +3968,CRO-450b,CRO,CRO,0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b,8 +3969,PRNT-15FD,PRNT,PRNT,0x7Cfea0DD176651E7B5a1CeD9c4fAf8Ee295315FD,18 +3970,GRV-290c,GRV,GRV,0xF33893DE6eB6aE9A67442E066aE9aBd228f5290c,8 +3971,MAZI-f5CB,MAZI,MAZI,0x5B8650Cd999B23cF39Ab12e3213fbC8709c7f5CB,18 +3972,REUNI-9456,REUNI,REUNI,0x9ed7E4B1BFF939ad473dA5E7a218C771D1569456,6 +3973,ERN-1846,ERN,ERN,0x91A69021b0BaeF3445E51726458a0CE601471846,18 +3974,PHX-77Fa,PHX,PHX,0x9776191F4ebBBa7f358C1663bF82C0a0906c77Fa,18 +3975,FUSDC-B36C,FUSDC,FUSDC,0x9d1089802eE608BA84C5c98211afE5f37F96B36C,6 +3976,PEL-6C5c,PEL,PEL,0xA75E7928d3de682e3F44dA60C26F33117c4E6C5c,18 +3977,POV-b2E8,POV,POV,0x15a3081B541e8daD25C4A5E0C4C4B4E8d105b2E8,18 +3978,ALT-FC9f,ALT,ALT,0x1BD55090B8878630E57FAE6eBd11FD61d16DFC9f,18 +3979,UNSHETH-09ef,UNSHETH,UNSHETH,0x0Ae38f7E10A43B5b2fB064B42a2f4514cbA909ef,18 +3980,TRR-253e,TRR,TRR,0x490e3f4af13e1616EC97A8C6600c1061a8D0253e,18 +3981,CGU-F8C9,CGU,CGU,0x849A226f327b89E3133D9930d927F9EB9346F8C9,8 +3982,KNS-Bd01,KNS,KNS,0xf1264873436A0771E440E2b28072FAfcC5EEBd01,18 +3983,ORB-95cd,ORB,ORB,0x3C917054e03485808137EB306eAFA8DA0Ab695cd,18 +3984,BNB-DD52,BNB,BNB,0xB8c77482e45F1F44dE1745F52C74426C631bDD52,18 +3985,SOMM-0FD1,SOMM,SOMM,0xa670d7237398238DE01267472C6f13e5B8010FD1,6 +3986,WSBC-4Beb,WSBC,WSBC,0xE46091dCE9c67691bCf22768bBEe0BC9E20d4Beb,9 +3987,WEFI-6a52,WEFI,WEFI,0xfFA188493C15DfAf2C206c97D8633377847b6a52,18 +3988,SQUIDGROW-557A,SQUIDGROW,SQUIDGROW,0xd8Fa690304D2B2824D918C0c7376e2823704557A,9 +3989,TFT-fB5b,TFT,TFT,0x395E925834996e558bdeC77CD648435d620AfB5b,7 +3990,4TOKEN-9940,4TOKEN,4TOKEN,0x8dB4beACcd1698892821a9a0Dc367792c0cB9940,18 +3991,EDU-9C99,EDU,EDU,0x26aAd156Ba8eFA501b32B42Ffcdc8413F90e9C99,18 +3992,SQUID-f6ED,SQUID,SQUID,0xf823FD9aC0abb8d779076A41DAa049844299f6ED,18 +3993,TAROT-CD6e,TAROT,TAROT,0x837d904A3799c0769079BE9ecbadDF1aBD4cCD6e,18 +3994,PACT-0899,PACT,PACT,0xDcfA8c46ec015D4bF13d6be492cb7a8Eb4580899,18 +3995,ONUS-8f92,ONUS,ONUS,0x4184Aa04215e5d716dD4C213FeD519aCADc68f92,18 +3996,1ART-f17E,1ART,1ART,0xD3c325848D7c6E29b574Cb0789998b2ff901f17E,18 +3997,DUA-68f8,DUA,DUA,0x6c249b6F6492864d914361308601A7aBb32E68f8,18 +3998,CGV-7866,CGV,CGV,0xaeF420fd77477d9Dc8B46D704D44dD09d6c27866,6 +3999,WTRX-7AB5,WTRX,WTRX,0x50327c6c5a14DCaDE707ABad2E27eB517df87AB5,6 +4000,WAR-1f34,WAR,WAR,0x983d8edB44Ca96c0595f3c456ebdD47855911f34,18 +4001,CHITCAT-48c4,CHITCAT,CHITCAT,0x7cF551258d6871b72EE1bD1624588a6245bF48c4,18 +4002,XETA-3550,XETA,XETA,0x967Fb0D760ED3ce53AfE2f0A071674cccAe73550,18 +4003,PLQ-BB7B,PLQ,PLQ,0xd23Ed8cA350CE2631F7EcDC5E6bf80D0A1DeBB7B,18 +4004,FLAG-36Df,FLAG,FLAG,0x9348E94A447bF8B2ec11f374D3F055FD47d936Df,18 +4005,HNY-0FcE,HNY,HNY,0xc3589F56B6869824804A5EA29F2c9886Af1B0FcE,18 +4006,NEXT-5Be7,NEXT,NEXT,0x377d552914E7A104bC22B4F3B6268dDC69615Be7,18 +4007,NEX-c845,NEX,NEX,0xE2dc070524A6e305ddB64d8513DC444B6a1ec845,8 +4008,ANC-Bc20,ANC,ANC,0x0F3ADC247E91c3c50bC08721355A41037E89Bc20,18 +4009,KRW-894b,KRW,KRW,0x499568c250Ab2a42292261d6121525d70691894b,18 +4010,8PAY-9042,8PAY,8PAY,0xFeea0bDd3D07eb6FE305938878C0caDBFa169042,18 +4011,WCHI-4605,WCHI,WCHI,0x6DC02164d75651758aC74435806093E421b64605,8 +4012,DPET-0d08,DPET,DPET,0xfb62AE373acA027177D1c18Ee0862817f9080d08,18 +4013,ORAO-d035,ORAO,ORAO,0xEE1CeA7665bA7aa97e982EdeaeCb26B59a04d035,18 +4014,HYDRO-6f01,HYDRO,HYDRO,0x946112efaB61C3636CBD52DE2E1392D7A75A6f01,18 +4015,DC-9180,DC,DC,0x7B4328c127B85369D9f82ca0503B000D09CF9180,18 +4016,HAI-9a63,HAI,HAI,0x05Fb86775Fd5c16290f1E838F5caaa7342bD9a63,8 +4017,HNS-d2Ac,HNS,HNS,0xA771b49064Da011DF051052848477f18DbA1d2Ac,6 +4018,USDS-4838,USDS,USDS,0x45fDb1b92a649fb6A64Ef1511D3Ba5Bf60044838,18 +4019,BLKC-7F6E,BLKC,BLKC,0x8BCd06492416a749C9369009b3429861b7F27F6E,8 +4020,C98-229f,C98,C98,0xAE12C5930881c53715B369ceC7606B70d8EB229f,18 +4021,BUY-3ed8,BUY,BUY,0x396eC402B42066864C406d1ac3bc86B575003ed8,2 +4022,DOJO-1DF8,DOJO,DOJO,0x180dAe91D6d56235453a892d2e56a3E40Ba81DF8,18 +4023,SWINGBY-b13A,SWINGBY,SWINGBY,0x8287C7b963b405b7B8D467DB9d79eEC40625b13A,18 +4024,START-22C1,START,START,0x1d7Ca62F6Af49ec66f6680b8606E634E55Ef22C1,18 +4025,ANGEL-d5A1,ANGEL,ANGEL,0x6C7B97c7e09E790D161769a52F155125FAc6d5A1,18 +4026,GBYTE-cc2a,GBYTE,GBYTE,0x31F69dE127C8A0fF10819C0955490a4Ae46fcc2a,18 +4027,CRFI-8C5b,CRFI,CRFI,0x8848812BD31AEEe33313C10A840FfC3169078C5b,18 +4028,AGS-991C,AGS,AGS,0x667Fd83E24Ca1D935d36717D305D54fA0CAC991C,18 +4029,DEC-E7F3,DEC,DEC,0x9393fdc77090F31c7db989390D43F454B1A6E7F3,3 +4030,BYTZ-1B78,BYTZ,BYTZ,0x2aaD9Dbc82611485a52325923e1187734e951B78,8 +4031,CYC-Ef9a,CYC,CYC,0x8861cfF2366C1128fd699B68304aD99a0764Ef9a,18 +4032,MEDIA-6941,MEDIA,MEDIA,0xdb726152680eCe3c9291f1016f1d36f3995f6941,6 +4033,COW-5Ea8,COW,COW,0x34965f73Cfa05Bf8d8aF37cB4af64Fa950605Ea8,18 +4034,MOCA-537e,MOCA,MOCA,0x9Ac07635DDBDE5db18648c360DEFb00F5f22537e,18 +4035,FLUX-1D14,FLUX,FLUX,0x7645DdfEecedA57e41f92679c4aCd83c56A81D14,18 +4036,ANY-b4D6,ANY,ANY,0xf99d58e463A2E07e5692127302C20A191861b4D6,18 +4037,GAJ-94d0,GAJ,GAJ,0x9Fda7cEeC4c18008096C2fE2B85F05dc300F94d0,18 +4038,CSWAP-e225,CSWAP,CSWAP,0xe0b0C16038845BEd3fCf70304D3e167Df81ce225,18 +4039,DAPP-1649,DAPP,DAPP,0x939B462ee3311f8926c047D2B576C389092b1649,4 +4040,FIS-cC8d,FIS,FIS,0xef3A930e1FfFFAcd2fc13434aC81bD278B0ecC8d,18 +4041,RAID-9cCB,RAID,RAID,0x154e35c2b0024B3e079c5c5e4fC31c979c189cCB,18 +4042,NSBT-cB93,NSBT,NSBT,0x9D79d5B61De59D882ce90125b18F74af650acB93,6 +4043,ADAPAD-0289,ADAPAD,ADAPAD,0xDB0170e2d0c1CC1b2E7a90313d9B9afA4f250289,18 +4044,CAP-3142,CAP,CAP,0x43044f861ec040DB59A7e324c40507adDb673142,18 +4045,EGG-d23a,EGG,EGG,0xC2708A3A4ba7F64bddc1A49F92f941Bc77Cad23a,18 +4046,APEIN-1698,APEIN,APEIN,0x8bbf1DcCBEdD5c70d8E793d432fB56b848DD1698,18 +4047,VLXPAD-28C0,VLXPAD,VLXPAD,0xb8e3bB633F7276cc17735D86154E0ad5ec9928C0,18 +4048,TBC-04A1,TBC,TBC,0x9798dF2f5d213a872c787bD03b2b91F54D0D04A1,18 +4049,WOW-6e45,WOW,WOW,0x3405A1bd46B85c5C029483FbECf2F3E611026e45,18 +4050,RACA-9040,RACA,RACA,0x12BB890508c125661E03b09EC06E404bc9289040,18 +4051,WJXN-f2e6,WJXN,WJXN,0xcA1262e77Fb25c0a4112CFc9bad3ff54F617f2e6,0 +4052,NWC-3fED,NWC,NWC,0x968F6f898a6Df937fC1859b323aC2F14643e3fED,18 +4053,ZEDXION-9341,ZEDXION,ZEDXION,0xFbC4f3f645C4003a2E4F4e9b51077d2DaA9a9341,18 +4054,ZANO-7d78,ZANO,ZANO,0xdb85f6685950E285b1E611037BEBe5B34e2B7d78,18 +4055,PGEN-16C9,PGEN,PGEN,0xf6719e1A8fcBB1B9c290019E37e004966A8916C9,18 +4056,CRB-149d,CRB,CRB,0x2fd8BC03D9e827F77faC20B5130eE98B7F80149d,8 +4057,BEXT-173D,BEXT,BEXT,0xE22c4E46C6f54e72315CA6eDA934e7b766b0173D,18 +4058,OH-3C30,OH,OH,0x16ba8Efe847EBDFef99d399902ec29397D403C30,18 +4059,ZAM-f4c6,ZAM,ZAM,0xd373576a9e738F37Dc6882328358Ff69c4cAf4c6,18 +4060,ECOP-FFaD,ECOP,ECOP,0x0106A1122FE94a9CF151097c1Fe17229Ec78FFaD,18 +4061,PIXEL-5BaD,PIXEL,PIXEL,0x65E6B60Ea01668634D68D0513Fe814679F925BaD,18 +4062,DAR-62a3,DAR,DAR,0x081131434f93063751813C619Ecca9C4dC7862a3,6 +4063,BABYDOGE-460B,BABYDOGE,BABYDOGE,0xAC57De9C1A09FeC648E93EB98875B212DB0d460B,9 +4064,BOO-Fa58,BOO,BOO,0x55aF5865807b196bD0197e0902746F31FBcCFa58,18 +4065,EYE-2E89,EYE,EYE,0x9A257C90Fa239fBA07771ef7da2d554D148c2E89,18 +4066,FEVR-2e8d,FEVR,FEVR,0x9fB83c0635De2E815fd1c21b3a292277540C2e8d,18 +4067,ZENITH-285C,ZENITH,ZENITH,0x0343131C0257aC21Ea5A8dc83841f071eFd9285C,18 +4068,DOGIRA-B3D7,DOGIRA,DOGIRA,0xD8C1232FcD219286E341271385bd70601503B3D7,9 +4069,FCP-1580,FCP,FCP,0xb6Dd77FD132dcAa10F1858734e838a0FA7431580,18 +4070,BTL-9986,BTL,BTL,0x93e32efaFd24973d45f363A76D73ccB9Edf59986,6 +4071,COPI-0d9d,COPI,COPI,0x42Baf1f659D765C65ADE5BB7E08eb2C680360d9d,18 +4072,WSB-2f64,WSB,WSB,0xe1590A6FA0CFf9C960181cb77d8a873601772f64,18 +4073,PKN-9503,PKN,PKN,0xdf09a216Fac5ADC3e640Db418C0b956076509503,18 +4074,DOMI-f83F,DOMI,DOMI,0x45C2F8c9B4c0bDC76200448cc26C48ab6ffef83F,18 +4075,LUNR-Aa5A,LUNR,LUNR,0xA87135285Ae208e22068AcDBFf64B11Ec73EAa5A,4 +4076,SFIL-32C0,SFIL,SFIL,0x965b85D4674F64422c4898C8F8083187f02B32C0,8 +4077,USTC-1acD,USTC,USTC,0xa47c8bf37f92aBed4A126BDA807A7b7498661acD,18 +4078,WOOP-C393,WOOP,WOOP,0xaAD483F97f13C6A20B9D05d07c397CE85c42C393,18 +4079,IDYP-e056,IDYP,IDYP,0xBD100d061E120b2c67A24453CF6368E63f1Be056,18 +4080,VST-e259,VST,VST,0x77A1f4E744d810239F465043E35d067Ca33De259,18 +4081,BTCBR-3695,BTCBR,BTCBR,0xE57425F1598f9b0d6219706b77f4b3DA573a3695,18 +4082,SOURCE-a79E,SOURCE,SOURCE,0x7118057ff0F4Fd0994fb9d2D94de8231d5cca79E,18 +4083,WWY-E322,WWY,WWY,0x9Ab70e92319f0b9127df78868Fd3655fB9f1E322,18 +4084,AXL-C0E0,AXL,AXL,0x25b24B3c47918b7962B3e49C4F468367F73CC0E0,18 +4085,UST-87a5,UST,UST,0xa693B19d2931d498c5B318dF961919BB4aee87a5,6 +4086,SATOZ-4f97,SATOZ,SATOZ,0x845e2e8B42DCED7DEDCDBa9BdE32C9e338224f97,8 +4087,EKTA-81C4,EKTA,EKTA,0x2f75113b13D136F861d212Fa9b572F2C79Ac81C4,18 +4088,BTT-7957,BTT,BTT,0xC669928185DbCE49d2230CC9B0979BE6DC797957,18 +4089,SLP-Aa25,SLP,SLP,0xCC8Fa225D80b9c7D42F96e9570156c65D6cAAa25,0 +4090,COC-fd46,COC,COC,0xc4BB7277A74678f053259CB1F96140347efbfd46,18 +4091,GEM-F806,GEM,GEM,0x9b17bAADf0f21F03e35249e0e59723F34994F806,18 +4092,O3-7d28,O3,O3,0xEe9801669C6138E84bD50dEB500827b776777d28,18 +4093,WTLOS-AC88,WTLOS,WTLOS,0x7825e833D495F3d1c28872415a4aee339D26AC88,18 +4094,QMALL-2198,QMALL,QMALL,0x2217e5921B7edfB4BB193a6228459974010D2198,18 +4095,MCONTENT-b3F4,MCONTENT,MCONTENT,0xD3c51de3E6DD9b53D7f37699AFB3EE3Bf9B9b3F4,6 +4096,VCG-F1E9,VCG,VCG,0x1F36FB2D91d9951Cf58aE4c1956C0b77e224F1E9,18 +4097,PAY-3ea3,PAY,PAY,0xe580074A10360404AF3ABfe2d524D5806D993ea3,18 +4098,PHL-cC1a,PHL,PHL,0x723bD1f87A327e94ceaBf68d8f022E0f54B9cC1a,18 +4099,WAL-8532,WAL,WAL,0x22c5543d1a35178cB03b33f929A959145E538532,18 +4100,PLY-003d,PLY,PLY,0x20d60c6eb195868d4643f2c9B0809e4De6Cc003d,6 +4101,MTD-75Bf,MTD,MTD,0x809E130E10e787139c54e1d12d3D1971b7A675Bf,18 +4102,PLY-f90b,PLY,PLY,0x1aB43204a195a0fD37EdeC621482AFd3792ef90b,18 +4103,IBEX-1dC6,IBEX,IBEX,0xF655C8567E0f213e6C634CD2A68d992152161dC6,18 +4104,NNT-aD56,NNT,NNT,0x19193F450086d0442157b852081976D41657aD56,18 +4105,RISE-0cA3,RISE,RISE,0xC17c30e98541188614dF99239cABD40280810cA3,18 +4106,DHN-A244,DHN,DHN,0x32462bA310E447eF34FF0D15BCE8613aa8C4A244,18 +4107,NFT-850a,NFT,NFT,0x198d14F2Ad9CE69E76ea330B374DE4957C3F850a,6 +4108,SMBR-62Dd,SMBR,SMBR,0x16B3E050e9e2f0Ac4f1BEA1b3E4fdc43d7f062Dd,9 +4109,NBT-824c,NBT,NBT,0x446F2A8A39Cc730ef378Be759A3c57f1a3fE824c,18 +4110,JMPT-c840,JMPT,JMPT,0x420a24c9c65bd44c48bfB1cC8D6cD1ea8B1Ac840,18 +4111,KZEN-100F,KZEN,KZEN,0x4550003152F12014558e5CE025707E4DD841100F,18 +4112,USDD-b5c6,USDD,USDD,0x0C10bF8FcB7Bf5412187A595ab97a3609160b5c6,18 +4113,PS1-512E,PS1,PS1,0xb5be7557fe8f69a2B5707D25fA0aeE80DfDA512E,18 +4114,MAIN-aa75,MAIN,MAIN,0xfcEB206E1a80527908521121358B5e26cAABaa75,18 +4115,BLAST-2Eda,BLAST,BLAST,0x614D7f40701132E25fe6fc17801Fbd34212d2Eda,9 +4116,DFI-358A,DFI,DFI,0x8Fc8f8269ebca376D046Ce292dC7eaC40c8D358A,8 +4117,CELT-6134,CELT,CELT,0xf6e06B54855eFf198a2d9A8686113665499a6134,18 +4118,A4-69f1,A4,A4,0x9767203e89dcD34851240B3919d4900d3E5069f1,6 +4119,QUA-88B7,QUA,QUA,0xd35c06a2781f648c75290976ecF71E71582188B7,18 +4120,RADIO-5636,RADIO,RADIO,0x7a5d3A9Dcd33cb8D527f7b5F96EB4Fef43d55636,18 +4121,ANKRMATIC-480C,ANKRMATIC,ANKRMATIC,0x26dcFbFa8Bc267b250432c01C982Eaf81cC5480C,18 +4122,VINU-52c9,VINU,VINU,0xAFCdd4f666c84Fed1d8BD825aA762e3714F652c9,18 +4123,ISHND-5dbf,ISHND,ISHND,0x9e6b19874e97fe8E8CAD77f2c0AB5E7a693E5dbf,18 +4124,ACRV-0884,ACRV,ACRV,0x2b95A1Dcc3D405535f9ed33c219ab38E8d7e0884,18 +4125,SHACK-7f0e,SHACK,SHACK,0x5f018e73C185aB23647c82bD039e762813877f0e,18 +4126,SHA-97FC,SHA,SHA,0x40fEd5691e547885cABd7A2990De719DCc8497FC,18 +4127,SPICE-429d,SPICE,SPICE,0x18a1Ea69A50A85752b7bC204a2c45A95Ce6E429d,18 +4128,BIP-8131,BIP,BIP,0xcafE34BAE6F1b23A6B575303EdCc0578d2188131,18 +4129,OPENX-b7E2,OPENX,OPENX,0x57d579F483854c62FEf850B8a5332B0d8424b7E2,18 +4130,SLEEPEE-12d9,SLEEPEE,SLEEPEE,0x80CD73baDb406eA36B9a7CDeb8df06AeFa7E12d9,18 +4131,EVMOS-eE7b,EVMOS,EVMOS,0x93581991f68DBaE1eA105233b67f7FA0D6BDeE7b,18 +4132,SOKU-6160,SOKU,SOKU,0x4C3A8ECeB656Ec63eaE80a4ebD565E4887DB6160,18 +4133,USV-4440,USV,USV,0x88536C9B2C4701b8dB824e6A16829D5B5Eb84440,9 +4134,ELK-eeeE,ELK,ELK,0xeEeEEb57642040bE42185f49C52F7E9B38f8eeeE,18 +4135,CERES-0aDA,CERES,CERES,0x2e7B0d4F9B2EaF782eD3D160e3a0a4b1a7930aDA,18 +4136,BANANA-c7f2,BANANA,BANANA,0x92DF60c51C710a1b1C20E42D85e221f3A1bFc7f2,18 +4137,OSEA-6E44,OSEA,OSEA,0xC72633F995e98Ac3BB8a89e6a9C4Af335C3D6E44,18 +4138,LBLOCK-D329,LBLOCK,LBLOCK,0x2b867efD2dE4Ad2B583Ca0CB3dF9C4040Ef4D329,9 +4139,GMT-f740,GMT,GMT,0xe3c408BD53c31C085a1746AF401A4042954ff740,8 +4140,MNTL-3295,MNTL,MNTL,0x2C4F1DF9c7DE0C59778936C9b145fF56813F3295,6 +4141,BUILD-9Eeb,BUILD,BUILD,0x57b59f981730c6257dF57cF6F0D98283749A9Eeb,18 +4142,MCRT-478D,MCRT,MCRT,0xde16Ce60804a881e9F8c4eBB3824646EDecd478D,9 +4143,VVS-DDE3,VVS,VVS,0x839e71613f9aA06E5701CF6de63E303616B0DDE3,18 +4144,FXUSD-cE3F,FXUSD,FXUSD,0x8616E8EA83f048ab9A5eC513c9412Dd2993bcE3F,18 +4145,WALV-D497,WALV,WALV,0x256D1fCE1b1221e8398f65F9B36033CE50B2D497,18 +4146,LFI-a0b2,LFI,LFI,0xb28f803A8772E6584A65Ab6dfC535aE6fEf8a0b2,18 +4147,CUSD-8246,CUSD,CUSD,0xC285B7E09A4584D027E5BC36571785B515898246,18 +4148,FER-0D19,FER,FER,0x2f32b39023dA7d6A6486A85d12B346EB9C2A0D19,18 +4149,FUNEX-57d0,FUNEX,FUNEX,0xD6e460F70e1CF60E55B770f66E568B44bf3657d0,18 +4150,MIMATIC-fAD6,MIMATIC,MIMATIC,0x8D6CeBD76f18E1558D4DB88138e2DeFB3909fAD6,18 +4151,ASTRAFER-6F17,ASTRAFER,ASTRAFER,0x97Bbbc5d96875fB78D2F14b7FF8d7a3a74106F17,18 +4152,BOB-1B0B,BOB,BOB,0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0B,18 +4153,SEAN-DE24,SEAN,SEAN,0xA719CB79Af39A9C10eDA2755E0938bCE35e9DE24,18 +4154,WMEMO-af57,WMEMO,WMEMO,0x3b79a28264fC52c7b4CEA90558AA0B162f7Faf57,18 +4155,TXPT-E33c,TXPT,TXPT,0x19b22DbADc298c359A1D1b59e35f352A2b40E33c,18 +4156,TXAU-53bF,TXAU,TXAU,0xe4A6f23Fb9e00Fca037Aa0EA0a6954dE0a6C53bF,18 +4157,TXAG-bfF3,TXAG,TXAG,0x34ABce75D2f8f33940c721dCA0f562617787bfF3,18 +4158,PIXL-dd64,PIXL,PIXL,0x427A03Fb96D9A94A6727fbcfbBA143444090dd64,18 +4159,RAD-06FB,RAD,RAD,0xdDc6625FEcA10438857DD8660C021Cd1088806FB,18 +4160,LBR-aCcA,LBR,LBR,0xC98835e792553e505AE46e73a6fD27a23985aCcA,18 +4161,UNIBOT-5040,UNIBOT,UNIBOT,0x25127685dC35d4dc96C7fEAC7370749d004C5040,18 +4162,BEE-307c,BEE,BEE,0x4C4F2B9DEB3c91006719Bb3232DD4eb39977307c,18 +4163,TUCKER-A84f,TUCKER,TUCKER,0x6f49694827d46A14Baf2a7b1eAC3e6eB3526A84f,9 +4164,OXO-09fc,OXO,OXO,0x47daC6BD80f024575a6d367aF5Ba8e89202A09fc,18 +4165,PEPE3.0-5398,PEPE3.0,PEPE3.0,0x0e92C90867bF82ebbE66ae0352a4C6D876Fb5398,18 +4166,CSCS-cFB7,CSCS,CSCS,0xa6Ec49E06C25F63292bac1Abc1896451A0f4cFB7,18 +4167,FROGDOG-e16C,FROGDOG,FROGDOG,0x3cda61B56278842876e7fDD56123d83DBAFAe16C,18 +4168,SHIBIE-a98F,SHIBIE,SHIBIE,0x4965b3b90f3a63Fc72F74e53322f66b2a174a98F,18 +4169,RVT-2244,RVT,RVT,0x3d1BA9be9f66B8ee101911bC36D3fB562eaC2244,18 +4170,Homer Pepe-ea3c,Homer Pepe,Homer Pepe,0x86803e2012CBA1Ca09d87393f5C739FA9E58ea3c,9 +4171,HODL-FecE,HODL,HODL,0x7b5FD0BB4154292173807aE6ae05153787e3FecE,18 +4172,CAL-36E1,CAL,CAL,0x20561172f791f915323241E885b4f7D5187c36E1,18 +4173,USDB-f060,USDB,USDB,0x309627af60F0926daa6041B8279484312f2bf060,18 +4174,RUNE-49cb,RUNE,RUNE,0x3155BA85D5F96b2d030a4966AF206230e46849cb,18 +4175,PXLDY-F051,PXLDY,PXLDY,0xbC91A632E78db7c74508Ea26e91B266aa235F051,18 +4176,AURA-16bE,AURA,AURA,0x6047e101aaa9Ab9b02fe5Cbc1DD03c2C7C8516bE,18 +4177,REMIO-Fdbc,REMIO,REMIO,0xa35Bd2246978Dfbb1980DFf8Ff0f5834335dFdbc,18 From 7439083f5facd2851aceddb6e2ea652bc98f306c Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Thu, 28 Sep 2023 15:12:07 -0700 Subject: [PATCH 31/33] bugfixes for `tenderly_event_exchanges` setting --- fastlane_bot/data/tokens.csv | 1 + fastlane_bot/events/utils.py | 13 ++++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/fastlane_bot/data/tokens.csv b/fastlane_bot/data/tokens.csv index 0927274ce..648e11495 100644 --- a/fastlane_bot/data/tokens.csv +++ b/fastlane_bot/data/tokens.csv @@ -4177,3 +4177,4 @@ 4175,PXLDY-F051,PXLDY,PXLDY,0xbC91A632E78db7c74508Ea26e91B266aa235F051,18 4176,AURA-16bE,AURA,AURA,0x6047e101aaa9Ab9b02fe5Cbc1DD03c2C7C8516bE,18 4177,REMIO-Fdbc,REMIO,REMIO,0xa35Bd2246978Dfbb1980DFf8Ff0f5834335dFdbc,18 +4178,RNB-e743,RNB,RNB,0x2A039B1D9bBDccBb91be28691b730ca893e5e743,18 diff --git a/fastlane_bot/events/utils.py b/fastlane_bot/events/utils.py index 16e68c634..ce369ac12 100644 --- a/fastlane_bot/events/utils.py +++ b/fastlane_bot/events/utils.py @@ -300,6 +300,9 @@ def handle_tenderly_event_exchanges(cfg: Config, exchanges: str, tenderly_fork_i if not tenderly_fork_id: return [] + if not exchanges or exchanges == "None": + return [] + exchanges = exchanges.split(",") if exchanges else [] cfg.logger.info(f"Running data fetching for exchanges: {exchanges}") return exchanges @@ -1033,16 +1036,16 @@ def get_latest_events( List[Any] A list of the latest events. """ - tenderly_tenderly_events = [] + tenderly_pol_events = [] - if mgr.tenderly_fork_id: + if mgr.tenderly_fork_id and 'bancor_pol' in mgr.tenderly_event_exchanges: tenderly_pol_events = get_tenderly_pol_events( mgr=mgr, start_block=start_block, current_block=current_block, tenderly_fork_id=mgr.tenderly_fork_id, ) - mgr.cfg.logger.info(f"carbon_pol_events: {len(tenderly_tenderly_events)}") + mgr.cfg.logger.info(f"carbon_pol_events: {len(tenderly_pol_events)}") # Get all event filters, events, and flatten them events = [ @@ -1060,8 +1063,8 @@ def get_latest_events( latest_events = filter_latest_events(mgr, events) if mgr.tenderly_fork_id: - if tenderly_tenderly_events: - latest_tenderly_events = filter_latest_events(mgr, tenderly_tenderly_events) + if tenderly_pol_events: + latest_tenderly_events = filter_latest_events(mgr, tenderly_pol_events) latest_events += latest_tenderly_events # remove the events from any mgr.tenderly_event_exchanges exchanges From 173402244998d8a76cb3010d6af1f2a590ad2cf3 Mon Sep 17 00:00:00 2001 From: Lesigh-3100 Date: Fri, 29 Sep 2023 11:48:46 +0300 Subject: [PATCH 32/33] Fixed an issue in which bancor POL balances were not updated correctly --- fastlane_bot/data/tokens.csv | 4 ++++ fastlane_bot/events/multicall_utils.py | 2 +- fastlane_bot/events/pools/bancor_pol.py | 9 ++++++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/fastlane_bot/data/tokens.csv b/fastlane_bot/data/tokens.csv index 648e11495..b38cc9351 100644 --- a/fastlane_bot/data/tokens.csv +++ b/fastlane_bot/data/tokens.csv @@ -4178,3 +4178,7 @@ 4176,AURA-16bE,AURA,AURA,0x6047e101aaa9Ab9b02fe5Cbc1DD03c2C7C8516bE,18 4177,REMIO-Fdbc,REMIO,REMIO,0xa35Bd2246978Dfbb1980DFf8Ff0f5834335dFdbc,18 4178,RNB-e743,RNB,RNB,0x2A039B1D9bBDccBb91be28691b730ca893e5e743,18 +4179,IOST-883b,IOST,IOST,0xf063Dc5160721A3c35A9A853a4498FFF32e9883b,18 +4180,KOPE-52e5,KOPE,KOPE,0x15B479Fd41749d5e4aD7EE06F55c7360e54052e5,18 +4181,NEAR-f6a4,NEAR,NEAR,0x85F17Cf997934a597031b2E18a9aB6ebD4B9f6a4,24 +4182,BENT-C375,BENT,BENT,0x01597E397605Bf280674Bf292623460b4204C375,18 diff --git a/fastlane_bot/events/multicall_utils.py b/fastlane_bot/events/multicall_utils.py index 5ab6bef9d..a864ce272 100644 --- a/fastlane_bot/events/multicall_utils.py +++ b/fastlane_bot/events/multicall_utils.py @@ -273,7 +273,7 @@ def _extract_pol_params_for_multicall(result: Any, pool_info: Dict, mgr: Any) -> mgr.web3.eth.contract(abi=ERC20_ABI, address=tkn0_address)) if tkn0_address not in mgr.token_contracts: mgr.token_contracts[tkn0_address] = tkn_contract - tkn_balance = tkn_contract.functions.balanceOf(tkn0_address).call() + tkn_balance = tkn_contract.functions.balanceOf(mgr.cfg.BANCOR_POL_ADDRESS).call() result = { "fee": "0.000", "fee_float": 0.000, diff --git a/fastlane_bot/events/pools/bancor_pol.py b/fastlane_bot/events/pools/bancor_pol.py index 0d6f32886..3da6e4806 100644 --- a/fastlane_bot/events/pools/bancor_pol.py +++ b/fastlane_bot/events/pools/bancor_pol.py @@ -70,9 +70,12 @@ def update_from_event( if event_args["args"]["token"] == self.state["tkn0_address"] and event_type in [ "TokenTraded" ]: - data["tkn0_balance"] = ( - self.state["tkn0_balance"] - event_args["args"]["amount"] - ) + # *** Balance now updated from multicall *** + pass + # if self.state['last_updated_block'] < event_args['blockNumber']: + # data["y_0"] = ( + # self.state["y_0"] - event_args["args"]["amount"] + # ) for key, value in data.items(): self.state[key] = value From 8678bd3de47b1883f1b1512a5bfab581153108ac Mon Sep 17 00:00:00 2001 From: Mike Casale <46603283+mikewcasale@users.noreply.github.com> Date: Fri, 29 Sep 2023 08:34:03 -0700 Subject: [PATCH 33/33] fixes broken POL test --- resources/NBTest/NBTest_033_Pools.ipynb | 96 ++++++++++++------------- resources/NBTest/NBTest_033_Pools.py | 2 +- 2 files changed, 49 insertions(+), 49 deletions(-) diff --git a/resources/NBTest/NBTest_033_Pools.ipynb b/resources/NBTest/NBTest_033_Pools.ipynb index 7c340651e..2bcc299dc 100644 --- a/resources/NBTest/NBTest_033_Pools.ipynb +++ b/resources/NBTest/NBTest_033_Pools.ipynb @@ -6,8 +6,8 @@ "id": "6580a545", "metadata": { "ExecuteTime": { - "end_time": "2023-09-18T11:41:01.034785Z", - "start_time": "2023-09-18T11:40:57.609561Z" + "end_time": "2023-09-29T15:32:34.656653Z", + "start_time": "2023-09-29T15:32:33.634074Z" } }, "outputs": [ @@ -15,7 +15,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "ConstantProductCurve v3.1 (25/Aug/2023)\n", + "ConstantProductCurve v3.3 (21/Sep/2023)\n", "CarbonBot v3-b2.2 (20/June/2023)\n", "UniswapV2Pool v0.0.1 (2023-07-03)\n", "UniswapV3Pool v0.0.1 (2023-07-03)\n", @@ -60,8 +60,8 @@ "id": "14b3c378", "metadata": { "ExecuteTime": { - "end_time": "2023-09-18T11:41:01.037278Z", - "start_time": "2023-09-18T11:41:01.033932Z" + "end_time": "2023-09-29T15:32:34.656819Z", + "start_time": "2023-09-29T15:32:34.654801Z" } }, "outputs": [], @@ -84,8 +84,8 @@ "id": "4bf9ea77", "metadata": { "ExecuteTime": { - "end_time": "2023-09-18T11:41:01.039783Z", - "start_time": "2023-09-18T11:41:01.036744Z" + "end_time": "2023-09-29T15:32:34.661485Z", + "start_time": "2023-09-29T15:32:34.658406Z" } }, "outputs": [], @@ -98,9 +98,7 @@ { "cell_type": "markdown", "id": "5e07f1229048cd9c", - "metadata": { - "collapsed": false - }, + "metadata": {}, "source": [ "## test_bancor_v2_pool" ] @@ -110,10 +108,9 @@ "execution_count": 4, "id": "4dfe57c17c271eec", "metadata": { - "collapsed": false, "ExecuteTime": { - "end_time": "2023-09-18T11:41:01.042227Z", - "start_time": "2023-09-18T11:41:01.040179Z" + "end_time": "2023-09-29T15:32:34.664765Z", + "start_time": "2023-09-29T15:32:34.662140Z" } }, "outputs": [], @@ -141,8 +138,8 @@ "id": "9d4692f5", "metadata": { "ExecuteTime": { - "end_time": "2023-09-18T11:41:01.045277Z", - "start_time": "2023-09-18T11:41:01.043826Z" + "end_time": "2023-09-29T15:32:34.668935Z", + "start_time": "2023-09-29T15:32:34.663794Z" } }, "outputs": [], @@ -166,8 +163,8 @@ "id": "cb1ac3fd", "metadata": { "ExecuteTime": { - "end_time": "2023-09-18T11:41:01.048040Z", - "start_time": "2023-09-18T11:41:01.046377Z" + "end_time": "2023-09-29T15:32:34.673916Z", + "start_time": "2023-09-29T15:32:34.668877Z" } }, "outputs": [], @@ -192,14 +189,23 @@ "id": "d69d49a3", "metadata": { "ExecuteTime": { - "end_time": "2023-09-18T11:41:01.053769Z", - "start_time": "2023-09-18T11:41:01.050776Z" + "end_time": "2023-09-29T15:32:34.687927Z", + "start_time": "2023-09-29T15:32:34.674043Z" } }, "outputs": [ { "data": { - "text/plain": "{'cid': '0x',\n 'fee': '0.000',\n 'fee_float': 0.0,\n 'exchange_name': 'bancor_v3',\n 'tkn0_balance': 2981332708522538339515032,\n 'tkn1_balance': 2981332708522538339515032,\n 'tkn0_symbol': 'tkn0',\n 'tkn1_symbol': 'tkn1'}" + "text/plain": [ + "{'cid': '0x',\n", + " 'fee': '0.000',\n", + " 'fee_float': 0.0,\n", + " 'exchange_name': 'bancor_v3',\n", + " 'tkn0_balance': 2981332708522538339515032,\n", + " 'tkn1_balance': 2981332708522538339515032,\n", + " 'tkn0_symbol': 'tkn0',\n", + " 'tkn1_symbol': 'tkn1'}" + ] }, "execution_count": 7, "metadata": {}, @@ -225,8 +231,8 @@ "id": "4e331537", "metadata": { "ExecuteTime": { - "end_time": "2023-09-18T11:41:01.082592Z", - "start_time": "2023-09-18T11:41:01.054836Z" + "end_time": "2023-09-29T15:32:34.688263Z", + "start_time": "2023-09-29T15:32:34.678092Z" } }, "outputs": [], @@ -266,8 +272,8 @@ "id": "6a9b1034", "metadata": { "ExecuteTime": { - "end_time": "2023-09-18T11:41:01.086790Z", - "start_time": "2023-09-18T11:41:01.059096Z" + "end_time": "2023-09-29T15:32:34.688310Z", + "start_time": "2023-09-29T15:32:34.682505Z" } }, "outputs": [], @@ -295,21 +301,17 @@ }, { "cell_type": "markdown", - "source": [], - "metadata": { - "collapsed": false - }, - "id": "b23eb1bda7161783" + "id": "b23eb1bda7161783", + "metadata": {}, + "source": [] }, { "cell_type": "markdown", + "id": "46617bc4b132b353", + "metadata": {}, "source": [ "## test_bancor_pol_token_traded_event" - ], - "metadata": { - "collapsed": false - }, - "id": "46617bc4b132b353" + ] }, { "cell_type": "code", @@ -317,8 +319,8 @@ "id": "fb389643", "metadata": { "ExecuteTime": { - "end_time": "2023-09-18T11:41:01.086880Z", - "start_time": "2023-09-18T11:41:01.061916Z" + "end_time": "2023-09-29T15:32:34.688684Z", + "start_time": "2023-09-29T15:32:34.686925Z" } }, "outputs": [], @@ -337,27 +339,25 @@ " 'tkn0_symbol': 'tkn0', \n", " 'tkn1_symbol': 'tkn1',}\n", ")\n", - "assert (bancor_pol_pool.state['tkn0_balance'] == 10)" + "assert (bancor_pol_pool.state['tkn0_balance'] == 10 + setup_data['bancor_pol_token_traded_event']['args']['amount'])" ] }, { "cell_type": "markdown", + "id": "6d14cfb18d534c28", + "metadata": {}, "source": [ "## test_bancor_pol_trading_enabled_event" - ], - "metadata": { - "collapsed": false - }, - "id": "6d14cfb18d534c28" + ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "id": "afb5a056", "metadata": { "ExecuteTime": { - "end_time": "2023-09-18T11:41:45.060094Z", - "start_time": "2023-09-18T11:41:45.053325Z" + "end_time": "2023-09-29T15:32:34.694720Z", + "start_time": "2023-09-29T15:32:34.689949Z" } }, "outputs": [], @@ -382,9 +382,9 @@ "formats": "ipynb,py:light" }, "kernelspec": { - "name": "fastlane-bot-38", + "display_name": "fastlane-bot-38", "language": "python", - "display_name": "fastlane-bot-38" + "name": "fastlane-bot-38" }, "language_info": { "codemirror_mode": { @@ -396,7 +396,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.1" + "version": "3.8.17" } }, "nbformat": 4, diff --git a/resources/NBTest/NBTest_033_Pools.py b/resources/NBTest/NBTest_033_Pools.py index cda51f056..a6d467615 100644 --- a/resources/NBTest/NBTest_033_Pools.py +++ b/resources/NBTest/NBTest_033_Pools.py @@ -138,7 +138,7 @@ 'tkn0_symbol': 'tkn0', 'tkn1_symbol': 'tkn1',} ) -assert (bancor_pol_pool.state['tkn0_balance'] == 10) +assert (bancor_pol_pool.state['tkn0_balance'] == 10 + setup_data['bancor_pol_token_traded_event']['args']['amount']) # ## test_bancor_pol_trading_enabled_event