-
Notifications
You must be signed in to change notification settings - Fork 50
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
Replace secp_utils usage of big.Int
with uint256 library.
#353
Comments
Hi @rodrigo-pino may i be assigned to this issue? thanks! |
Hi @TAdev0 is yours. This are the things you need to do:
Tell me if you need help with anything! |
We are using |
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 |
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedI have a strong background in backend software engineering with expertise in languages such as Go and Solidity. My experience with optimizing code for performance and efficiency, especially in systems where every millisecond counts, aligns well with the task at hand. Additionally, I have worked with cryptographic primitives, which include elliptic curve cryptography, making me familiar with the operations and optimizations necessary in this domain. How I plan on tackling this issueTo approach the problem of replacing big.Int with uint256, I would first ensure I understand the precise usage of big.Int in the current codebase, particularly how it handles elliptic curve operations in secp_utils.go. Given that big.Int is a general-purpose library for handling arbitrarily large integers, it adds unnecessary overhead when dealing with values smaller than 2**256 - 1. This is where uint256 can provide a significant performance boost due to its fixed-size nature, which allows for more efficient operations at the CPU level. |
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.The text was updated successfully, but these errors were encountered: