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

feat: Documentation and CI configuration for Solidity #36

Merged
merged 7 commits into from
Jun 21, 2024
Merged

Conversation

storojs72
Copy link
Member

This PR aims to fix #34 (at least partially because the final documentation needs to be properly integrated into mdbook which is currently only in dev branch) by introducing README with basic information about Solidity verification of proofs generated by inclusion and epoch-change programs as well as CI configuration for Foundry testing

wwared and others added 6 commits June 21, 2024 17:45
* feat: Add scaffolding for Plonk verification in Solidity

* feat: Add Plonk contract

* tests: Add more negative Solidity testing

* feat: Add Rust program for Solidity contract generating

* chore: Update Cargo.lock

* chore: Update Plonk contract according to 'e48c01ec' tag of Sphinx

* chore: Formatting

* feat: Introduce downloading from our AWS private bucket

* feat: Update Foundry project to use sphinx-contracts dependency

* chore: Rename SP1 -> Sphinx
Signed-off-by: Thomas Chataigner <tom.chataigner@yahoo.fr>
Signed-off-by: Thomas Chataigner <tom.chataigner@yahoo.fr>
Signed-off-by: Thomas Chataigner <tom.chataigner@yahoo.fr>
Copy link
Contributor

@wwared wwared left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! A few comments and typos/nits inline below.

I think the big question relating to the release workflow is how we'll handle accessing the sphinx-contracts repository. We can discuss that outside of this PR though

Our Light Client is able to produce SNARK proofs that can be verified on-chain. This section will cover how to run the
benchmarks for the on-chain verification.

To be able to execute such tests our repository contains a project called `solidity` is based
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To be able to execute such tests our repository contains a project called `solidity` is based
To be able to execute such tests our repository contains a project called `solidity` that is based

Comment on lines +16 to +17
Make sure that you have properly set up the `sphinx-contracts` submodule. If you haven't done so, you can do it by
running the following command:
Copy link
Contributor

@wwared wwared Jun 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something to keep in mind: sphinx-contracts is still a private repository, so there's the question of how we'll handle access to it and how to deal with it in the released source.

In the released source, we can vendor in the repository and make sure it's included in its entirety at the right commit. Alternatively, we just ensure to give access to everyone relevant to the repository, which we will probably need to do anyway


> **Note**
>
> You might be encountering issue with updating `sphinx-contracts` Foundry dependency, in this case try manually
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> You might be encountering issue with updating `sphinx-contracts` Foundry dependency, in this case try manually
> You might be encountering issue when updating the `sphinx-contracts` Foundry dependency, in this case try manually

@tchataigner tchataigner merged commit 802dac9 into plonk Jun 21, 2024
4 checks passed
@tchataigner tchataigner deleted the issue-34 branch June 21, 2024 17:14
tchataigner added a commit that referenced this pull request Jun 24, 2024
* feat: Update Sphinx and replace Groth16 with Plonk (#23)

* feat: Solidity verification of light client proofs with Plonk (#28)

* feat: Add scaffolding for Plonk verification in Solidity

* feat: Add Plonk contract

* tests: Add more negative Solidity testing

* feat: Add Rust program for Solidity contract generating

* chore: Update Cargo.lock

* chore: Update Plonk contract according to 'e48c01ec' tag of Sphinx

* chore: Formatting

* feat: Introduce downloading from our AWS private bucket

* feat: Update Foundry project to use sphinx-contracts dependency

* chore: Rename SP1 -> Sphinx

* chore: Add README for Solidity verification

* feat: Add CI configuration for Solidity

* ci: solidity tests on all PR

Signed-off-by: Thomas Chataigner <tom.chataigner@yahoo.fr>

* chore: update programs

Signed-off-by: Thomas Chataigner <tom.chataigner@yahoo.fr>

* docs: move documentation to mdBook

Signed-off-by: Thomas Chataigner <tom.chataigner@yahoo.fr>

---------

Signed-off-by: Thomas Chataigner <tom.chataigner@yahoo.fr>
Co-authored-by: wwared <wwared@users.noreply.github.com>
Co-authored-by: Thomas Chataigner <tom.chataigner@yahoo.fr>
wwared added a commit that referenced this pull request Jun 24, 2024
* feat: Update Sphinx and replace Groth16 with Plonk (#23)

* feat: Solidity verification of light client proofs with Plonk (#28)

* feat: Add scaffolding for Plonk verification in Solidity

* feat: Add Plonk contract

* tests: Add more negative Solidity testing

* feat: Add Rust program for Solidity contract generating

* chore: Update Cargo.lock

* chore: Update Plonk contract according to 'e48c01ec' tag of Sphinx

* chore: Formatting

* feat: Introduce downloading from our AWS private bucket

* feat: Update Foundry project to use sphinx-contracts dependency

* chore: Rename SP1 -> Sphinx

* chore: Add README for Solidity verification

* feat: Add CI configuration for Solidity

* ci: solidity tests on all PR

Signed-off-by: Thomas Chataigner <tom.chataigner@yahoo.fr>

* chore: update programs

Signed-off-by: Thomas Chataigner <tom.chataigner@yahoo.fr>

* docs: move documentation to mdBook

Signed-off-by: Thomas Chataigner <tom.chataigner@yahoo.fr>

---------

Signed-off-by: Thomas Chataigner <tom.chataigner@yahoo.fr>
Co-authored-by: wwared <wwared@users.noreply.github.com>
Co-authored-by: Thomas Chataigner <tom.chataigner@yahoo.fr>
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.

4 participants