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

dynamic configuration #21

Open
Ethan-000 opened this issue Jun 2, 2023 · 3 comments
Open

dynamic configuration #21

Ethan-000 opened this issue Jun 2, 2023 · 3 comments

Comments

@Ethan-000
Copy link
Owner

Ideally, we want to configure the circuit based on the opcodes required.

For example, if the circuit doesn't use ecdsa opcode there's no need to configure ecdsa.

currently the configure function of the Circuit trait in halo2 doesn't take self, so it doesn't have access to the fields of the struct (NoirHalo2Translator). I'm wondering if theres a way around this.

@Ethan-000 Ethan-000 mentioned this issue Jun 2, 2023
@jp4g
Copy link
Collaborator

jp4g commented Jun 4, 2023

Though #23 solves this issue for PSE, there is no equivalent for ZCash. Right now, the opcodes reside in the NoirCircuitTranslator struct. However, we could likely store values like opcodes in PlonkConfig.

This is a reasonable approach I think since the official halo2_gadgets Poseidon's configuration has both columns/ selectors and operational parameters.

@Ethan-000
Copy link
Owner Author

Thanks for the comment :). The way configure function works is different between chips and circuits so that in circuits, we can't pass additional parameters.

@jp4g
Copy link
Collaborator

jp4g commented Jun 5, 2023

Ah somehow I missed that configure does not have access to self like synthesize does. that is annoying

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

No branches or pull requests

2 participants