Open rodrigo-pino opened 2 months ago
Hi @rodrigo-pino may i be assigned to this issue? thanks!
Hi @TAdev0 is yours. This are the things you need to do:
big.Int
for uint256
.uint256
instead of *uint256
)getBaseBig
& getSecPBig
should return a constant and not perform any operation. Currently, they are: (i) creating a big int and (ii) setting it up using a string. They should return a uint256 without any of these operations. Also, it makes no sense they return a boolean as a second output.Tell me if you need help with anything!
We are using github.com/holiman/uint256
as our uint256 library which is already part of the VM packages
Thanks a lot for explanations, will be useful as this is my first Go contribution :)
@rodrigo-pino @cicr99 now all hints are implemented, we can discuss the scope of this issue should we replace big.Int absolutely everywhere its possible with uint256?
In
./pkg/hintrunner/utils/secp_utils.go
there are utilities for elliptic curves. They usedbig.Int
unnecessarily because all values are smaller than 2**256 - 1.The task is to replace all use of
big.Int
withuint256
which is waaaaaaay faster.