Joinsplit refactor / review? #348
Labels
arithmetic-circuit/R1CS
Task related to the R1CS programs
c++
Task related to the c++ part of the code base
code-quality
Task related to the code quality (refactor, enhancements etc.)
Further to #290, it could be valuable to review the joinsplit code and potentially refactor it into more maintainable blocks (it is currently approx ~620 lines with ~225 lines in the constructor. For example, a
joinsplit_public_data_variable
object / gadget.It could also be worth checking for variables that are being unncessarily allocated (often as a result of limitations of libsnark). One example is the
ZERO
variable, which seems to be required as a consequence oflibsnark::block_variable
supporting onlylibsnark::pb_variable_array
. (Iflibsnark::block_variable
could be refactored to uselibsnark::pb_linear_combination_array
, it could handle constants without needing any further variables - there may be other examples).The text was updated successfully, but these errors were encountered: