easy POC template generation from the command line
from the command line, call quickpoc 0x.. [folder_name]
to generate a ready-to-go sandbox for running POCs for the given address against mainnet, including:
- forge template with name mirroring contract name
src/
folder populated with all contracts and libraries- test file autogenerated with contract import
- test setup with contract variable and mainnet forking
cd folder_name
copied to clipboard to save you 1 extra second
you can run forge test
to confirm it's working, then go into tests/POC.t.sol
to interact with the contract (saved in storage as c
).
on a unix machine with bash installed, make sure you have all dependencies:
- foundry (follow instructions here)
- jq (
brew install jq
)
clone this repo:
git clone https://github.com/zobront/quickpoc.git
set up two environment variables by calling the following from your terminal (or adding to your bash rc file):
export ETH_RPC_URL="..."
export ETHERSCAN_API_KEY="..."
save quickpoc to a location you won't move it:
mkdir ~/.quickpoc && mkdir ~/.quickpoc/bin
cp quickpoc ~/.quickpoc/bin/quickpoc # call from within the cloned repo
add the path to your bash rc file:
export PATH="$PATH:/Users/{your_name}/.quickpoc/bin"
make sure the file is executable:
chmod +x ~/.quickpoc/bin/quickpoc
you should then be able to call quickpoc 0x..
from any folder to generate the POC folder within it.
big thanks to deliriusz for adding proxy checks and professionalism. check out his fork turbopoc for a more full featured version.