lambdaclass / cairo-vm_in_go

cairo-vm_in_go is a Go implementation of the Cairo VM. Cairo (CPU Algebraic Intermediate Representation) is a programming language for writing provable programs, where one party can prove to another that a certain computation was executed correctly without the need for this party to re-execute the same program.
Apache License 2.0
57 stars 13 forks source link

Unify conventions around usage of `big.Int` #294

Open fmoletta opened 1 year ago

fmoletta commented 1 year ago

Some functions use big.Int as arguments, while others use *big.Int. The same happens with scope variables, some hints store them as references while others store their value, which can lead to bugs in cross-hint interaction. We should have a unified criteria to avoid any kind of confusions. I suggest sticking to *big.Int, as this is what all functions and methods in the big package use