-
Notifications
You must be signed in to change notification settings - Fork 3
Community beta #73
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
base: main
Are you sure you want to change the base?
Community beta #73
Conversation
Changes to gas cost
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
6b04795 to
02a7066
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why the bash script approach instead of standard forge script?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I usually do the left curved way of manually generating the stuff so that I can deploy and verify in the browser. Cuz it always works with Etherscan and I don’t need to copy private keys. Also for the initcodehash.
Let me know if you have a better way.
| /*-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»-»*/ | ||
|
|
||
| /// @dev Transient storage slot to denote if the context is in the middle of a `_lzReceive`. | ||
| uint256 internal constant _IN_LZ_RECEIVE_TRANSIENT_SLOT = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With solidity 0.8.27 I think we can explicitly declare transient variables now, maybe that turns this cleaner?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I have the same thought. Let’s do it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dang, it doesn’t reduce the SLOC in this case, cuz everything that touches the transient stuff are already in the middle of an assembly block.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could be good if it reduced SLOC but we're already doing everything in an assembly block so can leave as-is
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if this file should be a Solady primitive instead of copy-pasted into our project
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lemme think how to refactor Solady’s tests to allow this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
solady only copies the relevant parts of forge-std to save on compilation/installation times. sometimes solady mocks don't inherit from test base and so use brutalizer to fuzz in that case
|
|
||
| /// @dev Places multiple bids. | ||
| /// If any token is `address(0)`, it is treated as the native token. | ||
| function placeBids( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Convert these to one array of structs instead of four arrays, per convo
No description provided.