Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Circom Poseidon #13

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Conversation

colinsteidtmann
Copy link

Hi, I think I implemented Poseidon in Circom. Please review and leave feedback if necessary.

@tumberger
Copy link
Collaborator

@colinsteidtmann Thanks for the contribution!

A couple of things that I think need to be resolved before merging the PR:

  • The commit messages are not really understandable, I cannot understand what the proposition of this PR is, or what the scope is. It seems that you added more than just Poseidon?
  • Why is the tmp folder a part of the PR? Not sure why these files are relevant to the benchmarking repository.
  • What does it mean that you think you implemented Poseidon? Could you provide additional tests & sanity checks to increase the confidence in the correctness of the circuits.

In general, please read through the Contribution Guidelines.

Best,
Jens

@tumberger tumberger marked this pull request as draft May 9, 2023 12:59
…eadme and tutorial slightly, changed the script to allow larger power of tau ceremonies, edited the python script to use the power of tau specified in circom's circuit configuration files, updated gitignore to ignore the large packages generated when running scripts
@colinsteidtmann colinsteidtmann marked this pull request as ready for review May 12, 2023 03:40
@colinsteidtmann
Copy link
Author

Hello @tumberger, I have deleted my old commit messages. Here are the changes made:

Circom Circuit Directories I Added:

  • circom/circuits/benchmarks/0xParcECDSA
  • circom/circuits/benchmarks/circomlib
  • circom/circuits/benchmarks/ecdsa
  • circom/circuits/benchmarks/eddsaPoseidon
  • circom/circuits/benchmarks/keccak256
  • circom/circuits/benchmarks/mimc
  • circom/circuits/benchmarks/pedersen
  • circom/circuits/benchmarks/poseidon
  • circom/circuits/benchmarks/schnorr
  • circom/circuits/benchmarks/sha256
  • circom/circuits/benchmarks/smt

Circom Circuit Input Directories I Added:

  • circom/inputs/benchmarks/ecdsa
  • circom/inputs/benchmarks/eddsaPoseidon
  • circom/inputs/benchmarks/keccak256
  • circom/inputs/benchmarks/mimc
  • circom/inputs/benchmarks/pedersen
  • circom/inputs/benchmarks/poseidon
  • circom/inputs/benchmarks/schnorr
  • circom/inputs/benchmarks/sha256
  • circom/inputs/benchmarks/smt

ZK Harness Input Directories I Added or Modified:

  • _input/circuit/ecdsa
  • _input/circuit/eddsaPoseidon
  • _input/circuit/keccak256
  • _input/circuit/mimc
  • _input/circuit/pedersen
  • _input/circuit/poseidon
  • _input/circuit/schnorr
  • _input/circuit/sha256
  • _input/circuit/smt

Other files:

  • circom/scripts/run_circuit.sh, I updated it so that if a user didn't have the power of tau ceremony necessary then it would automatically download one from the official source
  • _input/config/circom/config_all.json, besides adding all the new circom circuits, I changed the config that that it includes which power of tau the circuit is suppose to use
  • _scripts/reader/process_circuit.py, I updated it so that it works with the changes I made to circom's config.
  • .gitignore, I updated is so that it ignores the large files and folders generated by the circom related scripts
  • circom/test, created this directory and wrote tests for Schnorr that Sanjay and I implemented
  • circom/package.json, included packages necessary to run tests
  • circom/README.md and circom/TUTORIAL.md, updated it so it fits with the changes I made

All scripts in circom/README.md work. The website compiles and includes all my changes on my machine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants