One more question if I may….when using mstore in assembly should we always declare a memory variable after the assembly block and before the subsequent high lvl solidity code to make sure the high level code does not overwrite the memory slot which was written to in the assembly block? I would really appreciate an answer! Your channel helps me ao much in my web 3 journey!
You should just update the free memory pointer that is stored at the 0x40 memory word so that it points to after all the memory you just wrote in the assembly block.
Previously immutable values could only be set in the constructor. Immutable values are a part of the contract bytecode, so they should not be stored on the proxy if you expect them to be used in the implementation contract.
Owen , My kind request as your subscriber can you please upload a video in which you go through each line of uniswap it would be very useful for beginners.
Great please make more videos
More on the way!
Hey Owen, thank you for the content.
Quick one: how often do you use checklists when auditing SC?
I use an "auditing brain" so that common findings never go missed every time.
You have done many great things for web3 community
So glad I could help ser!
More on the way 🫡
OMG, Owen, you're the best!
Glad this could help! ❤
#11, #16 and #20 are really interesting
Remember those for future audits you do!
One more question if I may….when using mstore in assembly should we always declare a memory variable after the assembly block and before the subsequent high lvl solidity code to make sure the high level code does not overwrite the memory slot which was written to in the assembly block? I would really appreciate an answer! Your channel helps me ao much in my web 3 journey!
You should just update the free memory pointer that is stored at the 0x40 memory word so that it points to after all the memory you just wrote in the assembly block.
Great content 🫡
Glad you liked it!! More on the way 🫡
When upgrading a contract should the immutable values be set in the initializer function of the upgraded implementation?
Previously immutable values could only be set in the constructor. Immutable values are a part of the contract bytecode, so they should not be stored on the proxy if you expect them to be used in the implementation contract.
In the `gas greifing` part, it's actually not correct to say the cost of memory expansion is `exponentially`, use `quadratically` is accurate.
Good point!
Owen , My kind request as your subscriber can you please upload a video in which you go through each line of uniswap it would be very useful for beginners.
Added to my list ser!
V2 or V3?
@@0xOwenThurm v2 will be good ! Thankyou soo much brother ❤️.
@@0xOwenThurm v3
Precision loss one is Awesome But mostly depends on program either accept it or not ( Based on true Events)
Absolutely, all of these depend on the system at hand!
Sad to say, my finding was invalidated regarding ethers not able to withdraw. 😢
😢It's always the worst when you find out that a finding is fake news haha -- but makes the real ones that much better!
how to get job in your company ?
Join us in the lab and participate in the team audits we do in there!