From 39a2038d95cccea1bfcf7356ab716aadf6352374 Mon Sep 17 00:00:00 2001 From: Luke Van Seters Date: Thu, 15 Jul 2021 10:39:32 -0400 Subject: [PATCH 1/2] Move mev inspect code to mev_inspect module --- mev_inspect/__init__.py | 0 block.py => mev_inspect/block.py | 2 +- {utils => mev_inspect}/config.ini | 0 mev_inspect/config.py | 13 +++++++++++++ .../inspector_uniswap.py | 12 ++++++------ processor.py => mev_inspect/processor.py | 2 +- {schemas => mev_inspect/schemas}/__init__.py | 0 {schemas => mev_inspect/schemas}/blocks.py | 0 {schemas => mev_inspect/schemas}/utils.py | 0 tokenflow.py => mev_inspect/tokenflow.py | 12 ++++++------ utils.py => mev_inspect/utils.py | 0 testing_file.py | 14 ++++++++------ 12 files changed, 35 insertions(+), 20 deletions(-) create mode 100644 mev_inspect/__init__.py rename block.py => mev_inspect/block.py (98%) rename {utils => mev_inspect}/config.ini (100%) create mode 100644 mev_inspect/config.py rename inspector_uniswap.py => mev_inspect/inspector_uniswap.py (95%) rename processor.py => mev_inspect/processor.py (90%) rename {schemas => mev_inspect/schemas}/__init__.py (100%) rename {schemas => mev_inspect/schemas}/blocks.py (100%) rename {schemas => mev_inspect/schemas}/utils.py (100%) rename tokenflow.py => mev_inspect/tokenflow.py (98%) rename utils.py => mev_inspect/utils.py (100%) diff --git a/mev_inspect/__init__.py b/mev_inspect/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/block.py b/mev_inspect/block.py similarity index 98% rename from block.py rename to mev_inspect/block.py index 7add9c9..03f1b0f 100644 --- a/block.py +++ b/mev_inspect/block.py @@ -4,7 +4,7 @@ from typing import List from web3 import Web3 -from schemas import Block, BlockCall, BlockCallType +from mev_inspect.schemas import Block, BlockCall, BlockCallType cache_directory = './cache' diff --git a/utils/config.ini b/mev_inspect/config.ini similarity index 100% rename from utils/config.ini rename to mev_inspect/config.ini diff --git a/mev_inspect/config.py b/mev_inspect/config.py new file mode 100644 index 0000000..465a098 --- /dev/null +++ b/mev_inspect/config.py @@ -0,0 +1,13 @@ +import os +import configparser + + +THIS_FILE_DIRECTORY = os.path.dirname(__file__) +CONFIG_PATH = os.path.join(THIS_FILE_DIRECTORY, "config.ini") + + +def load_config(): + config = configparser.ConfigParser() + config.read(CONFIG_PATH) + + return config diff --git a/inspector_uniswap.py b/mev_inspect/inspector_uniswap.py similarity index 95% rename from inspector_uniswap.py rename to mev_inspect/inspector_uniswap.py index 8dd7034..02d8653 100644 --- a/inspector_uniswap.py +++ b/mev_inspect/inspector_uniswap.py @@ -1,11 +1,11 @@ -from web3 import Web3 -import configparser import json -import utils -## Config file is used for addresses/ABIs -config = configparser.ConfigParser() -config.read('./utils/config.ini') +from web3 import Web3 + +from mev_inspect import utils +from mev_inspect.config import load_config + +config = load_config() uniswap_router_abi = json.loads(config['ABI']['UniswapV2Router']) uniswap_router_address = (config['ADDRESSES']['UniswapV2Router']) diff --git a/processor.py b/mev_inspect/processor.py similarity index 90% rename from processor.py rename to mev_inspect/processor.py index 548d7b5..5dd96ea 100644 --- a/processor.py +++ b/mev_inspect/processor.py @@ -1,4 +1,4 @@ -from schemas.utils import to_original_json_dict +from mev_inspect.schemas.utils import to_original_json_dict class Processor: diff --git a/schemas/__init__.py b/mev_inspect/schemas/__init__.py similarity index 100% rename from schemas/__init__.py rename to mev_inspect/schemas/__init__.py diff --git a/schemas/blocks.py b/mev_inspect/schemas/blocks.py similarity index 100% rename from schemas/blocks.py rename to mev_inspect/schemas/blocks.py diff --git a/schemas/utils.py b/mev_inspect/schemas/utils.py similarity index 100% rename from schemas/utils.py rename to mev_inspect/schemas/utils.py diff --git a/tokenflow.py b/mev_inspect/tokenflow.py similarity index 98% rename from tokenflow.py rename to mev_inspect/tokenflow.py index 822b79f..3941298 100644 --- a/tokenflow.py +++ b/mev_inspect/tokenflow.py @@ -1,10 +1,10 @@ -# from web3 import Web3, HTTPProvider -from pathlib import Path import json -import configparser +from pathlib import Path + +from mev_inspect.config import load_config + +config = load_config() -config = configparser.ConfigParser() -config.read('./utils/config.ini') rpc_url = config['RPC']['Endpoint'] weth_address = config['ADDRESSES']['WETH'] # w3 = Web3(HTTPProvider(rpc_url)) @@ -236,4 +236,4 @@ def get_gas_used_by_tx(txHash): # res = run_tokenflow("0x5ab21bfba50ad3993528c2828c63e311aafe93b40ee934790e545e150cb6ca73", 11931272) # print(res) -# get_gas_used_by_tx("0x4121ce805d33e952b2e6103a5024f70c118432fd0370128d6d7845f9b2987922") \ No newline at end of file +# get_gas_used_by_tx("0x4121ce805d33e952b2e6103a5024f70c118432fd0370128d6d7845f9b2987922") diff --git a/utils.py b/mev_inspect/utils.py similarity index 100% rename from utils.py rename to mev_inspect/utils.py diff --git a/testing_file.py b/testing_file.py index 9b65098..869b5f3 100644 --- a/testing_file.py +++ b/testing_file.py @@ -1,10 +1,12 @@ -from processor import Processor -from web3.providers import base -from inspector_uniswap import UniswapInspector -import block -from web3 import Web3 import argparse +from web3.providers import base +from web3 import Web3 + +from mev_inspect import block +from mev_inspect.inspector_uniswap import UniswapInspector +from mev_inspect.processor import Processor + parser = argparse.ArgumentParser(description='Inspect some blocks.') parser.add_argument('-block_number', metavar='b', type=int, nargs='+', help='the block number you are targetting, eventually this will need to be changed') @@ -23,4 +25,4 @@ uniswap_inspector = UniswapInspector(base_provider) ## Create a processor, pass in an ARRAY of inspects processor = Processor(base_provider, [uniswap_inspector, uniswap_inspector]) -processor.get_transaction_evaluations(block_data) \ No newline at end of file +processor.get_transaction_evaluations(block_data) From 8c71aed2db970658d6b3e159cff26f0e0e09abeb Mon Sep 17 00:00:00 2001 From: Luke Van Seters Date: Thu, 15 Jul 2021 10:42:21 -0400 Subject: [PATCH 2/2] Fix tests as well --- tests/__init__.py | 0 tests/liquidation_test.py | 7 ++++--- tests/tokenflow_test.py | 6 ++++-- 3 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 tests/__init__.py diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/liquidation_test.py b/tests/liquidation_test.py index 8bc43f1..0771c2b 100644 --- a/tests/liquidation_test.py +++ b/tests/liquidation_test.py @@ -1,6 +1,7 @@ import unittest -import inspector_compound -import inspector_aave + +from mev_inspect import inspector_compound +from mev_inspect import inspector_aave class TestLiquidations (unittest.TestCase): def test_compound_liquidation(self): @@ -16,4 +17,4 @@ class TestLiquidations (unittest.TestCase): if __name__ == '__main__': - unittest.main() \ No newline at end of file + unittest.main() diff --git a/tests/tokenflow_test.py b/tests/tokenflow_test.py index 529bb35..7a13ba1 100644 --- a/tests/tokenflow_test.py +++ b/tests/tokenflow_test.py @@ -1,5 +1,7 @@ import unittest -import tokenflow + +from mev_inspect import tokenflow + class TestTokenFlow (unittest.TestCase): def test_simple_arb(self): @@ -24,4 +26,4 @@ class TestTokenFlow (unittest.TestCase): self.assertEqual(res['dollar_flows'], [0,0]) if __name__ == '__main__': - unittest.main() \ No newline at end of file + unittest.main()