TL;DR
"Unfortunately, using a non-native Ethereum curve results in a higher computational (i.e., gas) cost. While using the native curve incurs a transaction gas cost of 21K, replacing it with the currently available implementations leads to a 50x factor increase to 1M."
Why ethereum uses secp256k1 elliptic curve specifically?? why not secp256r1 variation which is widely adopted outside web 3 world, like secure enclave,google passkeys uses it, but ethereum does not?
This research paper has the detailed explanation for it.
https://t.co/k1ECxEgnLI
Foundry tip:
Tired of dealing with the whole process of setting up a project in Remix just for some quick testing? Give Chisel a shot β it's right there in your foundry installation, ready to roll with a simple command in your terminal.
Imagine you're curious about the maximum value a uint32 can hold. Well, with Chisel, it's just two lines away.
And if you're interested in peeking under the hood, try out the !source command to see how the code is represented internally. You can also dive into the raw values of variables on the stack with the nifty !rawstack command. It's quick, straightforward, and saves you from the hassle.
Got 2 minutes? look at this basic yet interesting medium severity finding of mine (also found by few other folks) in open dollar contest on C4. Let's say there's a modifier that checks for approval, and userA has the approval. mapping x [ownerA] [loan] [userA] = true π§΅
And yes loans itself can be transferred in open dollar protocol in case if you are wondering, check out the original report for more details,
https://t.co/BFS4pjZm1J
"In Multi-Party Computation wallets, the private key is shard to mitigate the single point of failure risk found in traditional wallets. Checkout this video which explains the core concept of MPC in 5 mins.
https://t.co/XedqKZdHmJ
Imagining graph of equations and getting into intricacies can be challenging sometimes, I use this helpful graph calculator in that situation.
https://t.co/faBaUCX4RK
@GeoGen100@zdravkohristov0@code4rena I agree with this part, less code = less bugs, but what makes a bot good is the datasets it has imo, an experienced programmer would more likely to provide better datasets while writing scripts and is less likely to participate in contest where rewards doesnβt align w efforts.
I was Juggling multiple audit contests at once, time was tight to fully analyze @dopex_io but managed to spot 1 High severity finding, rapidly shifting gears is not the best practice tho, one should stay w the codebase as long as he can, especially when you are just starting out.
These are the vm commands I find myself using all the time when writing Foundry tests. What are your most used forge methods for effective smart contract testing? I'd love to learn any tips!
Thanks for reading.
Struggling to remember useful Foundry testing commands? π Here's a quick reference of my go-to methods for writing tests: π§΅
vm.warp(uint256) - set block.timestamp to future timestamp
vm. deal(address, uint256) - Sends ether from the testing address to the specified address
vm.prank(address) - Sets the sender of all transactions to the specified address
vm.startPrank(address) - Starts a prank from the specified address
vm.stopPrank() - Stops any active prank