a contract that uses any and all native currency it is sent to buy from a Uniswap pool.
- Install Foundry - you can get it by following the instructions here under the "Use Foundryup" section. Namely:
- Run
curl -L https://foundry.paradigm.xyz | bash - Run
foundryup
- Run
- Run
forge create AutoBuyContract --rpc-url <RPC_URL> --private-key <YOUR_PRIVATE_KEY> --constructor-args <WETH_CONTRACT_ADDRESS> <WETH_UNISWAP_POOL_ADDRESS>where:- <WETH_CONTRACT_ADDRESS> = The contract address of the canonical wrapped version of the native currency of the chain you're deploying to
- <WETH_UNISWAP_POOL_ADDRESS> = The contract address of the Uniswap Pool between the wrapped native currency and the token you want this contract to autobuy (make sure that the wrapped native token is
token0and the other token istoken1on that contract, you can check on the pool contract's Etherscan page - if the wrapped native token istoken1and the other token istoken0, then make sure to deployAutoBuyContractWETHToken1instead ofAutoBuyContractin the above command) - <RPC_URL> = An RPC url by which to access the chain you want to deploy to (you can find a bunch of public ones here if you need)
- <YOUR_PRIVATE_KEY> = The private key of the wallet (THIS SHOULD BE A HOT WALLET, DO NOT DEPLOY THINGS FROM WALLETS THAT HAVE A LOT OF MONEY IN THEM) you would like to deploy from - there are other ways connect a wallet with forge's
createcommand if you'd like to check them out here too
For AutoLiquidateContract: - <PROCEEDS_RECIPIENT> = The address that should recieve the proceeds of the liquidated native currency
Once you deploy, when you send the chain's native currency to this contract, it will take it, auto-buy the token you have configured it to, and then send that token to you.