• Stars
    star
    315
  • Rank 132,951 (Top 3 %)
  • Language
    Shell
  • Created almost 2 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

easy POC template generation from the command line

quickpoc

easy POC template generation from the command line

features

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).

install

  1. on a UNIX machine with bash installed, install all dependencies:
  • foundry (follow instructions here)
  • jq (brew install jq)
  • graphviz (brew install graphviz)
  • surya (npm i -g surya)
  • sol2uml (npm i -g sol2uml)
  1. download the quickpoc file from this repo.

  2. set up two environment variables by calling the following from your terminal:

  • export ETH_RPC_URL="..."
  • export ETHERSCAN_API_KEY="..."
  1. you can then run it directly by calling the file (./quickpoc)

  2. more conveniently, install it globally:

  • put it somewhere you won't touch it (usually ~/bin)
  • if this folder isn't already in your path, open your bash run control file (for example, ~/.zshrc) and add the following line: export PATH="$PATH:/Users/path_to_folder_holding_file
  • call chmod +x path_to_file to make the file executable
  • you should then be able to call quickpoc 0x.. from any folder to generate the POC folder within it.

future

  • support non-mainnet networks
  • allow inputting multiple addresses
  • automatically pull all contracts listed on an immunefi page

please submit issues for any additional features you'd like to see :)

thank yous

big thanks to deliriusz for adding graph viz tools, proxy checks, and professionalism.

More Repositories

1

audits

public audit & bug reports
254
star
2

paradigm-ctf

template for efficient paradigm ctf testing & scripts
Solidity
153
star
3

xchain

Cross chain call library for Solidity
Solidity
80
star
4

4byte-collider

Simple Rust script for finding colliding 4byte function selectors
Rust
57
star
5

halmos-solady

Formally verifying consistency between Solmate and Solady using Halmos
Solidity
50
star
6

nft-snapshot

A script to scrape owners of a given NFT. Helpful for snapshots for airdrops, white lists, etc.
JavaScript
24
star
7

homerolled-zk

simple zk implementations in python
Python
18
star
8

ethernaut

Complete solutions to all of OpenZeppelin's Ethernaut security challenges.
JavaScript
9
star
9

aztec-poker

proof of concept zk-based trustless poker game on aztec
Rust
8
star
10

pv4d

private voting for dummies
Solidity
8
star
11

tla-specs

TLA
7
star
12

dna-computing-simulator

A simple Python simulator that mirrors Adleman's 1994 DNA computing paper.
Python
7
star
13

dapp-template

A simple minimal structure for a DApp built with Ethers, Hardhat, Mocha and NextJS
JavaScript
7
star
14

vyper-halmos

a (work in progress) pipeline for testing vyper contracts with halmos
Solidity
6
star
15

fogofwar

a simple 2 player card game, with an pinch of zk mystery
Solidity
6
star
16

token-ping

An npm package for easily querying ERC20, ERC721, or ERC1155 data with no setup.
JavaScript
5
star
17

zkdna

zk proof of variant
Rust
2
star
18

rps

Dummy project to play with The Graph
JavaScript
1
star
19

gist

A simple script to extract the most relevant sentence in a body of text, using GloVe word embeddings.
Jupyter Notebook
1
star
20

obrontcom

JavaScript
1
star
21

billy-the-bull

Solidity
1
star
22

aztec-hipster-airdrop

use proof of historic private state to claim an airdrop
Rust
1
star
23

multisig

A simple multisig wallet with voting for fund release.
JavaScript
1
star
24

http-rs

Rust
1
star
25

benft3-frontend

JavaScript
1
star
26

blog

1
star
27

swirl-and-mint

Use AI neural style transfer to artistically combine two images, then mint as an NFT with one click.
JavaScript
1
star
28

regal-raptors

Regal Raptors are a collection of Ethereum NFTs created by multiple artists with 100% of proceeds going to raptor conservation (hawk, falcon, eagle, and owl). Each image is a Founding Member token redeemable for in-person raptor experiences coming 2022-2024.
Solidity
1
star