You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Points that are specific to solady are marked with a β‘.
Emoji key for Issues and PRs
Format: <emoji><space><Title>
Type
Emoji
readme/docs
π
new feature
β¨
refactor/cleanup
β»οΈ
nit
π₯’
security fix
π
optimization
β‘οΈ
configuration
π·ββοΈ
events
π
bug fix
π
Styling
Comments must have periods after every sentence.
Underscore prefix are reserved for private and internal functions and variables in contracts.
Variables and code expressions in comments should be backquoted (e.g. `b`). β‘
Memory addresses and memory related constants should be in hexadecimal format (e.g. 0x20). β‘ This is to convey semantic meaning, and aid readability for binary / hexadecimal natives.
Please keep the maximum line length, including comments to 100 characters or below. This is a balance between the old-school 80 character limit and the newer 120 character limit in the Solidity style guide. This makes it easier to read code on small or split screens. β‘
Constants must be in ALL_CAPS. If it is a private or internal constant in a contract, prefix it with an underscore. β‘
Fuzz tests are simply testDescription. Let's normalize fuzz testing. β‘
File naming
Let's stick to solmate's, to maintain drop-in compatibility for the select few classes and libraries we have.
Most of the stuff here are similar to solmate's.
Points that are specific to solady are marked with a β‘.
Emoji key for Issues and PRs
Format:
<emoji><space><Title>
Styling
`b`
). β‘0x20
). β‘This is to convey semantic meaning, and aid readability for binary / hexadecimal natives.
ALL_CAPS
. If it is a private or internal constant in a contract, prefix it with an underscore. β‘testDescription
. Let's normalize fuzz testing. β‘File naming
Let's stick to solmate's, to maintain drop-in compatibility for the select few classes and libraries we have.
It's a mouthfeel over consistency thing.
Compiler / Transpiler safety
Make sure your PR's are compilable with
--via-ir
. β‘Care must be taken when using the
slot
keyword in Yul,to ensure that the code is compatible with upgradeable contract transpilers. β‘
Others
Our
SafeTransferLib
library acceptsaddress
instead ofERC20
. β‘This is intentional for better cross-compatibility with OpenZeppelin.
The text was updated successfully, but these errors were encountered: