https://docs.soliditylang.org/en/v0.8.7/style-guide.html
Layout contract elements in the following order:
- Pragma statements
- Import statements
- Interfaces
- Libraries
- Contracts
Inside each contract, library or interface, use the following order:
- Type declarations
- State variables
- Events
- Functions
Order of functions:
- constructor
- receive function (if exists)
- fallback function (if exists)
- external
- standard
- view
- pure
- public
- internal
- private
Please follow the natspec format for commenting contract
, library
, interface
, function
, public state variable
and event
declarations.