├── .env.example ├── .gitignore ├── .gitmodules ├── README.md ├── abi ├── ERC20.json ├── UniswapV2Pool.json ├── UniswapV2Router2.json ├── UniswapV3Pool.json ├── UniswapV3Quoter2.json ├── UniswapV3SwapRouter2.json └── WETH.json ├── addresses ├── __init__.py ├── arbitrum.py ├── ethereum.py └── polygon.py ├── configs.py ├── contracts ├── foundry.toml ├── src │ ├── SimulatorV1.sol │ ├── WhackAMoleBotV1.sol │ ├── lib │ │ └── SafeTransfer.sol │ └── protocols │ │ ├── IERC20.sol │ │ ├── IWETH.sol │ │ ├── curve │ │ └── ICurvePool.sol │ │ └── uniswap │ │ ├── IQuoterV2.sol │ │ ├── IUniswapV2Pair.sol │ │ ├── IUniswapV2Router.sol │ │ ├── IUniswapV3SwapRouter.sol │ │ └── UniswapV2Library.sol └── test │ └── WhackAMoleBotV1.t.sol ├── data ├── __init__.py ├── cex.py ├── cex_streams.py ├── dex.py ├── dex_streams.py └── utils.py ├── dugtrio.jpg ├── examples └── dex.py ├── execution ├── WhackAMoleBotV1.json ├── __init__.py └── dex_order.py ├── external ├── __init__.py ├── influxdb.py └── telegram_bot.py ├── main.py ├── requirements.txt ├── simulation ├── SimulatorV1.json ├── __init__.py ├── online_simulator.py ├── uniswap_v2.py └── uniswap_v3.py ├── strategies └── dex_arb_base.py └── tests ├── test_WhackAMoleBotV1.py └── test_simulation.py /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/.env.example -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/.gitmodules -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/README.md -------------------------------------------------------------------------------- /abi/ERC20.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/abi/ERC20.json -------------------------------------------------------------------------------- /abi/UniswapV2Pool.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/abi/UniswapV2Pool.json -------------------------------------------------------------------------------- /abi/UniswapV2Router2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/abi/UniswapV2Router2.json -------------------------------------------------------------------------------- /abi/UniswapV3Pool.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/abi/UniswapV3Pool.json -------------------------------------------------------------------------------- /abi/UniswapV3Quoter2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/abi/UniswapV3Quoter2.json -------------------------------------------------------------------------------- /abi/UniswapV3SwapRouter2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/abi/UniswapV3SwapRouter2.json -------------------------------------------------------------------------------- /abi/WETH.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/abi/WETH.json -------------------------------------------------------------------------------- /addresses/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/addresses/__init__.py -------------------------------------------------------------------------------- /addresses/arbitrum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/addresses/arbitrum.py -------------------------------------------------------------------------------- /addresses/ethereum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/addresses/ethereum.py -------------------------------------------------------------------------------- /addresses/polygon.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/addresses/polygon.py -------------------------------------------------------------------------------- /configs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/configs.py -------------------------------------------------------------------------------- /contracts/foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/contracts/foundry.toml -------------------------------------------------------------------------------- /contracts/src/SimulatorV1.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/contracts/src/SimulatorV1.sol -------------------------------------------------------------------------------- /contracts/src/WhackAMoleBotV1.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/contracts/src/WhackAMoleBotV1.sol -------------------------------------------------------------------------------- /contracts/src/lib/SafeTransfer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/contracts/src/lib/SafeTransfer.sol -------------------------------------------------------------------------------- /contracts/src/protocols/IERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/contracts/src/protocols/IERC20.sol -------------------------------------------------------------------------------- /contracts/src/protocols/IWETH.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/contracts/src/protocols/IWETH.sol -------------------------------------------------------------------------------- /contracts/src/protocols/curve/ICurvePool.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/contracts/src/protocols/curve/ICurvePool.sol -------------------------------------------------------------------------------- /contracts/src/protocols/uniswap/IQuoterV2.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/contracts/src/protocols/uniswap/IQuoterV2.sol -------------------------------------------------------------------------------- /contracts/src/protocols/uniswap/IUniswapV2Pair.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/contracts/src/protocols/uniswap/IUniswapV2Pair.sol -------------------------------------------------------------------------------- /contracts/src/protocols/uniswap/IUniswapV2Router.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/contracts/src/protocols/uniswap/IUniswapV2Router.sol -------------------------------------------------------------------------------- /contracts/src/protocols/uniswap/IUniswapV3SwapRouter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/contracts/src/protocols/uniswap/IUniswapV3SwapRouter.sol -------------------------------------------------------------------------------- /contracts/src/protocols/uniswap/UniswapV2Library.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/contracts/src/protocols/uniswap/UniswapV2Library.sol -------------------------------------------------------------------------------- /contracts/test/WhackAMoleBotV1.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/contracts/test/WhackAMoleBotV1.t.sol -------------------------------------------------------------------------------- /data/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/data/__init__.py -------------------------------------------------------------------------------- /data/cex.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/data/cex.py -------------------------------------------------------------------------------- /data/cex_streams.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/data/cex_streams.py -------------------------------------------------------------------------------- /data/dex.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/data/dex.py -------------------------------------------------------------------------------- /data/dex_streams.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/data/dex_streams.py -------------------------------------------------------------------------------- /data/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/data/utils.py -------------------------------------------------------------------------------- /dugtrio.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/dugtrio.jpg -------------------------------------------------------------------------------- /examples/dex.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/examples/dex.py -------------------------------------------------------------------------------- /execution/WhackAMoleBotV1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/execution/WhackAMoleBotV1.json -------------------------------------------------------------------------------- /execution/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/execution/__init__.py -------------------------------------------------------------------------------- /execution/dex_order.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/execution/dex_order.py -------------------------------------------------------------------------------- /external/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/external/__init__.py -------------------------------------------------------------------------------- /external/influxdb.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/external/influxdb.py -------------------------------------------------------------------------------- /external/telegram_bot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/external/telegram_bot.py -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/main.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/requirements.txt -------------------------------------------------------------------------------- /simulation/SimulatorV1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/simulation/SimulatorV1.json -------------------------------------------------------------------------------- /simulation/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/simulation/__init__.py -------------------------------------------------------------------------------- /simulation/online_simulator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/simulation/online_simulator.py -------------------------------------------------------------------------------- /simulation/uniswap_v2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/simulation/uniswap_v2.py -------------------------------------------------------------------------------- /simulation/uniswap_v3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/simulation/uniswap_v3.py -------------------------------------------------------------------------------- /strategies/dex_arb_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/strategies/dex_arb_base.py -------------------------------------------------------------------------------- /tests/test_WhackAMoleBotV1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/tests/test_WhackAMoleBotV1.py -------------------------------------------------------------------------------- /tests/test_simulation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidquant/whack-a-mole/HEAD/tests/test_simulation.py --------------------------------------------------------------------------------