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

Create CLI Foundry template #185

Open
cedoor opened this issue Dec 12, 2022 · 7 comments · May be fixed by #854
Open

Create CLI Foundry template #185

cedoor opened this issue Dec 12, 2022 · 7 comments · May be fixed by #854
Assignees
Labels
feature 🚀 This is enhancing something existing or creating something new good first issue Good for newcomers

Comments

@cedoor
Copy link
Member

cedoor commented Dec 12, 2022

Description

There is a CLI Hardhat template called cli-template-contracts-hardhat with a sample contract and tests for that contract.

The idea is to recreate that same template using Foundry instead of Hardhat. The template will be called cli-template-contracts-foundry.

Previous work

https://github.com/vplasencia/semaphore-foundry

https://github.com/vplasencia/semaphore-foundry-hardhat

https://github.com/vplasencia/semaphore-hardhat-foundry

@cedoor cedoor added this to the Semaphore CLI templates milestone Dec 12, 2022
@cedoor cedoor added the feature 🚀 This is enhancing something existing or creating something new label Dec 12, 2022
@cedoor cedoor removed this from the CLI milestone Jan 18, 2023
@cedoor cedoor added this to the Semaphore CLI templates milestone Jan 31, 2023
@vplasencia
Copy link
Member

The challenge here is to deploy the Semaphore contract properly using Foundry in the test environment. The equivalent in Hardhat is: https://github.com/semaphore-protocol/semaphore/blob/main/packages/hardhat/src/tasks/deploy-semaphore.ts

More context:
Getting the poseidon code and linking libraries:

The poseidon function in the PoseidonT3 library is empty by default, to get its code the circomlibjs javascript library is used. Then, it is necessary to link the PoseidonT3 library with the new code, to the IncrementalBinaryTree library.

We didn't change the implementation of the poseidon function because that code is already audited.

@cedoor cedoor closed this as not planned Won't fix, can't repro, duplicate, stale Apr 26, 2023
@cedoor cedoor reopened this Jan 8, 2024
@cedoor cedoor added this to the Semaphore V4 milestone Jan 8, 2024
@cedoor
Copy link
Member Author

cedoor commented Jan 8, 2024

Re-opening this issue as Semaphore V4 will use an actual contract for Poseidon and there shouldn't be any problems with Foundry.

@vplasencia vplasencia self-assigned this Jan 16, 2024
@vplasencia vplasencia removed their assignment Apr 19, 2024
@vplasencia vplasencia added the good first issue Good for newcomers label May 3, 2024
@cedoor cedoor removed this from the Semaphore V4 milestone Jul 4, 2024
@csiejimmyliu
Copy link
Contributor

Hi @cedoor, @vplasencia! I'm interested in this issue. Please assign it to me.
Thank you!

@cedoor
Copy link
Member Author

cedoor commented Sep 2, 2024

Hey @csiejimmyliu, assigned :)

@csiejimmyliu
Copy link
Contributor

csiejimmyliu commented Sep 7, 2024

Hey @cedoor !
I'm in PSE Core Taiwan, my group mate @timou0911 works with me on this issue. Can you assign him too?

@cedoor
Copy link
Member Author

cedoor commented Sep 9, 2024

Hey @csiejimmyliu, sure! They need to comment here tho.

@timou0911
Copy link

timou0911 commented Sep 9, 2024

Hi @cedoor ! Just created a PR of this issue!

@cedoor cedoor linked a pull request Sep 11, 2024 that will close this issue
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature 🚀 This is enhancing something existing or creating something new good first issue Good for newcomers
Projects
Status: 👀 In review
Development

Successfully merging a pull request may close this issue.

4 participants