Contracts that build off of Uniswap V3, and leverage Chainlink Automation, to create limit orders.
Getting Started
Before attempting to setup the repo, first make sure you have Foundry installed and updated, which can be done here.
Building
Install Foundry dependencies and build the project.
forge buildTo install new libraries.
forge install <GITHUB_USER>/<REPO>You will need to install the following
forge install transmissions11/solmateforge install smartcontractkit/chainlinkforge install OpenZeppelin/openzeppelin-contractsforge install transmissions11/solmateWhenever you install new libraries using Foundry, make sure to update your remappings.txt file.
Testing
Before running test, rename sample.env to .env, and add your mainnet RPC. If you want to deploy any contracts, you will need that networks RPC, a Private Key, and an Etherscan key(if you want foundry to verify the contracts).
Note in order to run tests against forked mainnet, your RPC must be an archive node. My favorite archive node is Alchemy. Note use Polygon block number 37834659 for tests.
Run tests with Foundry:
npm run forkTestDeployment
Once all libraries are added, and your .env is updated, navigate to the script folder and choose the script you want to deploy.
At the top of the script you will see the command you need to run.