UniswapV3 Simulator based on its name is a swap project whose architecture is broadly based on the UniswapV3. All algorithms associated with this project are based on what is happening in UniswapV3 behind the scenes.
For a better understanding of the swap and add liquidity process you could go to this directory to see the calculations.
NOTE: All resources that I used to build this project were adjusted at the end of this readme.
To run this project via foundry, you will need to add the following environment variables to your .env file with these names (Choose the appropriate one based on the network that you want to interact with)
ALCHEMY_API_KEY
ALCHEMY_ENDPOINT
ETHERSCAN_API_KEY=
PRIVATE_KEY
To deploy this project run
forge script script/UniswapV3SimulatorDeployer.s.sol --rpc-url <RPC-URL> --broadcast --verify
To run tests, run the following command
forge test -vvv
To get test coverages run:
forge coverage