-
Notifications
You must be signed in to change notification settings - Fork 3
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
monorepo #1
base: dev
Are you sure you want to change the base?
monorepo #1
Conversation
What is the purpose of the |
It defines a uniform API for pairing trait. I think it is better to put it out than within bn254 crate, in case we introduce another curve, say bls12-381 later. |
Is the reason to vendor One small concern comes to my mind is when we vendor But if we can gain a lot by owning these traits, it should be fine since for component libraries (e.g. |
Yes I think we will need to touch FF for Goldilocks.
Right. I agree with the concern, and it is perhaps not practical to implement each other's trait. |
Hey @zhenfeizhang As @han0110 I have the same concern. And I'm not really sure why you need to touch anything in The only thing I can imagine, is the fact that you need to ADD things to the traits. But not sure why either. I would appreciate if you can justify the changes to
|
Understood. and also agree here. The issue was So I am fine to remove |
The last question I do have is why we need our |
Since I will note that I have found it useful to change |
I guess we mainly want the EC models from pasta curves, which BN254 depends on.
makes more sense to me. |
So c1b57ab implements a skeleton of Goldilocks -- it turns out that we don't need to touch FF so far. @han0110 @CPerezz
Yeah. I also prefer to modify FF directly. But since we have temporarily put a pause on this direction, one (easy, but not clean) way to get around is to expose the u64 from Goldilocks... |
Yep I assumed that. But just wondered if there was another thing that I was missing.
Nothing prevents you to do something like: impl AsRef<u64>
impl AsRef<[u128]> And so on for the things that you need that for. What I try to mean here is that we can't have all of the derefs we would like. But it's also non-sensical to make them. As then bls or bn would be forced to also implement these things. And that would not make any sense at all for them. trait SuperField: Field + PrimeField + TraitNeeded1 + TraitNeeded2 + ....
custom CONST
custon fn() {} WDYT? |
This sounds good to me. |
Just to clarify a misunderstanding:
|
This PR includes the following halo2 dependencies
It removes the gadgets repo. The idea is to have a separate monorepo that holds useful gadgets.
Eventually we want to have the following structure of.
The refactoring of pasta_curves -> EC_model will be done via a separate PR.