def pool_finder(self, pool_finder_config, mocker: MockerFixture, whitelist): mocker.patch.object(Coingecko, "coins", return_value=whitelist) config = yaml.safe_load(pool_finder_config) app = App(config) assert len(app.action_tree.actions) == 2 yield app app.store.delete(Result.pool_finder_pools) app.store.delete(Result.pool_finder_tokens) app.store.delete(Result.whitelist_addresses)
async def test_run(self, store, config_file, mocker): mocker.patch.object(SettingsParser, "setup_store", return_value=store) config = yaml.safe_load(config_file) app = App(config) assert len(app.action_tree.actions) == 2 await app.run() assert len(store["found_cycles"]) == 5 trades = app.store["filtered_trades"] assert trades[0].profit == pytest.approx(1.354642)
def main(argv=None): arguments = docopt(__doc__, argv, version=Arbie.__version__) # noqa: WPS609 logging.getLogger().info(f"arguments: {arguments}") setup_logging(str(arguments["--log"])) config_path = str(arguments["--file"]) config = None with open(config_path, "r") as config_file: config = yaml.safe_load(config_file) app = App(config) try: asyncio.run(app.run()) except Exception as ex: logging.getLogger().error(ex) raise ex
def trader(self, trader_config, weth: GenericToken, dummy_account): weth.transfer(dummy_account.address, BigNumber(4)) config = yaml.safe_load(trader_config) app = App(config) yield app app.store.delete(Result.trader_profit)
def path_finder(self, path_finder_config): config = yaml.safe_load(path_finder_config) app = App(config) yield app app.store.delete(Result.arbitrage_filtered_trades)
def pool_updater(self, pool_updater_config): config = yaml.safe_load(pool_updater_config) app = App(config) yield app app.store.delete(Result.pool_updater_pools)