-
Couldn't load subscription status.
- Fork 150
Add an Absorb trait bound to PCCommitment
#144
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
base: master
Are you sure you want to change the base?
Conversation
| pub struct Commitment<E>( | ||
| /// The commitment is a group element. | ||
| pub E::G1Affine, | ||
| ); | ||
| ) | ||
| where | ||
| E: Pairing, | ||
| E::G1Affine: Absorb; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Technically, we don't need an Absorb bound on E::G1Affine, only on the PCCommitment impl and on the Absorb impl, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would avoid most of this churn I think
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I restrict PCCommitment: Absorb, then I also have to ensure any struct which implements PCCommitment also implements Absorb - and so I need to restrict E::G1Affine etc. to also be Absorb.
Let me know if you have another idea for this, I currently can't see a better workaround.
| } | ||
|
|
||
| /// A commitment along with information about its degree bound (if any). | ||
| #[derive(Clone)] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Pratyush If I'm not deriving Absorb, what about the degree_bound? I would assume this doesn't need to get absorbed.
Description
Following Option 2 from #143.
closes: #143
Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.
Pendingsection inCHANGELOG.mdFiles changedin the Github PR explorer