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

TurboComposer - API review #587

Closed
vlopes11 opened this issue Sep 27, 2021 · 1 comment
Closed

TurboComposer - API review #587

vlopes11 opened this issue Sep 27, 2021 · 1 comment
Assignees
Labels
team:Core Low Level Core Development Team (Rust)

Comments

@vlopes11
Copy link
Contributor

Describe what you want implemented
The current StandardComposer API contains a lot of legacy functions that were meant to not produce breaking changes while additional functionalities were added to plonk.

One example is with https://docs.rs/dusk-plonk/0.8.2/dusk_plonk/constraint_system/struct.StandardComposer.html#method.big_add_gate and https://docs.rs/dusk-plonk/0.8.2/dusk_plonk/constraint_system/struct.StandardComposer.html#method.big_add that are completely redundant.

The API must be entirely refactored to simplify its usage and improve the documentation

Describe "Why" this is needed
The current API is very confusing with different functions that contains the same implementations. Since we will perform a breaking change by renaming StandardComposer to TurboComposer, these functions should be simplified as well.

Describe alternatives you've considered
N/A

Additional context
N/A

@vlopes11 vlopes11 added the team:Core Low Level Core Development Team (Rust) label Sep 27, 2021
@ureeves ureeves self-assigned this Sep 30, 2021
vlopes11 added a commit that referenced this issue Sep 30, 2021
The current`TurboComposer` API constaints a lot of legacy functions with
inconsistent signatures.

For the addition gate, we have `big_add`, `big_add_gate`, `add`,
`add_gate` with different signatures that internally perform the same
operation.

This commit aims to create an uniform API for the composer.

Resolves #565 , #583 , #584 , #587 , #588
vlopes11 added a commit that referenced this issue Sep 30, 2021
The current`TurboComposer` API constaints a lot of legacy functions with
inconsistent signatures.

For the addition gate, we have `big_add`, `big_add_gate`, `add`,
`add_gate` with different signatures that internally perform the same
operation.

This commit aims to create an uniform API for the composer.

Resolves #565 , #583 , #584 , #587 , #588
vlopes11 added a commit that referenced this issue Sep 30, 2021
The current`TurboComposer` API constaints a lot of legacy functions with
inconsistent signatures.

For the addition gate, we have `big_add`, `big_add_gate`, `add`,
`add_gate` with different signatures that internally perform the same
operation.

This commit aims to create an uniform API for the composer.

Resolves #565 , #583 , #584 , #587 , #588
vlopes11 added a commit that referenced this issue Sep 30, 2021
The current`TurboComposer` API constaints a lot of legacy functions with
inconsistent signatures.

For the addition gate, we have `big_add`, `big_add_gate`, `add`,
`add_gate` with different signatures that internally perform the same
operation.

This commit aims to create an uniform API for the composer.

Resolves #565 , #583 , #584 , #587 , #588
vlopes11 added a commit that referenced this issue Sep 30, 2021
The current`TurboComposer` API constaints a lot of legacy functions with
inconsistent signatures.

For the addition gate, we have `big_add`, `big_add_gate`, `add`,
`add_gate` with different signatures that internally perform the same
operation.

This commit aims to create an uniform API for the composer.

Resolves #565 , #583 , #584 , #587 , #588
vlopes11 added a commit that referenced this issue Sep 30, 2021
The current`TurboComposer` API constaints a lot of legacy functions with
inconsistent signatures.

For the addition gate, we have `big_add`, `big_add_gate`, `add`,
`add_gate` with different signatures that internally perform the same
operation.

This commit aims to create an uniform API for the composer.

Resolves #565 , #583 , #584 , #587 , #588
vlopes11 added a commit that referenced this issue Sep 30, 2021
The current`TurboComposer` API constaints a lot of legacy functions with
inconsistent signatures.

For the addition gate, we have `big_add`, `big_add_gate`, `add`,
`add_gate` with different signatures that internally perform the same
operation.

This commit aims to create an uniform API for the composer.

Resolves #565 , #583 , #584 , #587 , #588
vlopes11 added a commit that referenced this issue Sep 30, 2021
The current`TurboComposer` API constaints a lot of legacy functions with
inconsistent signatures.

For the addition gate, we have `big_add`, `big_add_gate`, `add`,
`add_gate` with different signatures that internally perform the same
operation.

This commit aims to create an uniform API for the composer.

Resolves #565 , #583 , #584 , #587 , #588
vlopes11 added a commit that referenced this issue Oct 1, 2021
The current`TurboComposer` API constaints a lot of legacy functions with
inconsistent signatures.

For the addition gate, we have `big_add`, `big_add_gate`, `add`,
`add_gate` with different signatures that internally perform the same
operation.

This commit aims to create an uniform API for the composer.

Resolves #565 , #583 , #584 , #587 , #588
vlopes11 added a commit that referenced this issue Oct 1, 2021
The current`TurboComposer` API constaints a lot of legacy functions with
inconsistent signatures.

For the addition gate, we have `big_add`, `big_add_gate`, `add`,
`add_gate` with different signatures that internally perform the same
operation.

This commit aims to create an uniform API for the composer.

Resolves #583 , #584 , #587 , #588
@ZER0 ZER0 added this to the Implementing PlonkUp milestone Oct 6, 2021
vlopes11 added a commit that referenced this issue Oct 7, 2021
The current`TurboComposer` API constaints a lot of legacy functions with
inconsistent signatures.

For the addition gate, we have `big_add`, `big_add_gate`, `add`,
`add_gate` with different signatures that internally perform the same
operation.

This commit aims to create an uniform API for the composer.

Resolves #583 , #584 , #587 , #588
@ureeves ureeves removed their assignment Oct 14, 2021
@vlopes11 vlopes11 self-assigned this Oct 14, 2021
vlopes11 added a commit that referenced this issue Oct 14, 2021
Constraints contains also witness indexes. The `gate` functions are
supposed to take plain `Constraint`s while `component` functions can
receive witnesses and build internal constraints.

Resolves #587
vlopes11 added a commit that referenced this issue Oct 14, 2021
Constraints contains also witness indexes. The `gate` functions are
supposed to take plain `Constraint`s while `component` functions can
receive witnesses and build internal constraints.

Resolves #587
vlopes11 added a commit that referenced this issue Oct 15, 2021
Constraints contains also witness indexes. The `gate` functions are
supposed to take plain `Constraint`s while `component` functions can
receive witnesses and build internal constraints.

Resolves #587
vlopes11 added a commit that referenced this issue Oct 15, 2021
Constraints contains also witness indexes. The `gate` functions are
supposed to take plain `Constraint`s while `component` functions can
receive witnesses and build internal constraints.

Resolves #624
See also: #587
@vlopes11
Copy link
Contributor Author

Fixed in #600

vlopes11 added a commit that referenced this issue Oct 15, 2021
Constraints contains also witness indexes. The `gate` functions are
supposed to take plain `Constraint`s while `component` functions can
receive witnesses and build internal constraints.

Resolves #624
See also: #587
vlopes11 added a commit that referenced this issue Oct 15, 2021
Constraints contains also witness indexes. The `gate` functions are
supposed to take plain `Constraint`s while `component` functions can
receive witnesses and build internal constraints.

Resolves #624
See also: #587
vlopes11 added a commit that referenced this issue Oct 18, 2021
The current`TurboComposer` API constaints a lot of legacy functions with
inconsistent signatures.

For the addition gate, we have `big_add`, `big_add_gate`, `add`,
`add_gate` with different signatures that internally perform the same
operation.

This commit aims to create an uniform API for the composer.

Resolves #583 , #584 , #587 , #588
vlopes11 added a commit that referenced this issue Oct 18, 2021
Constraints contains also witness indexes. The `gate` functions are
supposed to take plain `Constraint`s while `component` functions can
receive witnesses and build internal constraints.

Resolves #624
See also: #587
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team:Core Low Level Core Development Team (Rust)
Projects
None yet
Development

No branches or pull requests

3 participants