You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Have explicit struct members of the a,b,c polynomials currently stored as a single vector W_polys_blinded_at_secret_g1[a,b,c] in the plonk_proof class. Similarly, have explicit struct members for the q_L, q_R, q_O, q_M, a_C selector polynomials currently stored as a single vector Q_polys in the circuit struct.
In all header files: leave only functions that are externally visible to calling code. If a function is only used "internally" in the implementation then just leave it in the .tcc (and not in the .hpp), potentially in the internal namespace (to hide it from other code). See also discussion: [BASE] Plonk #49 (comment)
Make sure that all functions do not rely on the caller for allocating the correct sizes of the return parameters. Make the latter to be allocated inside the functions that compute them. See also [BASE] Plonk #49 (comment)
Have explicit
structmembers of thea,b,cpolynomials currently stored as a single vectorW_polys_blinded_at_secret_g1[a,b,c]in theplonk_proofclass. Similarly, have explicitstructmembers for theq_L, q_R, q_O, q_M, a_Cselector polynomials currently stored as a single vectorQ_polysin thecircuitstruct.In all header files: leave only functions that are externally visible to calling code. If a function is only used "internally" in the implementation then just leave it in the
.tcc(and not in the.hpp), potentially in theinternal namespace(to hide it from other code). See also discussion: [BASE] Plonk #49 (comment)Make sure that all functions do not rely on the caller for allocating the correct sizes of the return parameters. Make the latter to be allocated inside the functions that compute them. See also [BASE] Plonk #49 (comment)