[Documentation] set error placement in contract, match example to prescription

Add example

fix order
This commit is contained in:
William Entriken 2022-11-04 03:58:19 -04:00 committed by Nikola Matic
parent 0b4b1045cf
commit 8f705fc327

View File

@ -1058,14 +1058,40 @@ Inside each contract, library or interface, use the following order:
1. Type declarations
2. State variables
3. Events
4. Modifiers
5. Functions
4. Errors
5. Modifiers
6. Functions
.. note::
It might be clearer to declare types close to their use in events or state
variables.
Yes:
.. code-block:: solidity
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.8.4 <0.9.0;
abstract contract Math {
error DivideByZero();
function divide(int256 numerator, int256 denominator) public virtual returns (uint256);
}
No:
.. code-block:: solidity
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.8.4 <0.9.0;
abstract contract Math {
function divide(int256 numerator, int256 denominator) public virtual returns (uint256);
error DivideByZero();
}
******************
Naming Conventions
******************
@ -1130,15 +1156,15 @@ Yes:
contract Owned {
address public owner;
constructor() {
owner = msg.sender;
}
modifier onlyOwner {
require(msg.sender == owner);
_;
}
constructor() {
owner = msg.sender;
}
function transferOwnership(address newOwner) public onlyOwner {
owner = newOwner;
}
@ -1169,15 +1195,15 @@ No:
contract owned {
address public owner;
constructor() {
owner = msg.sender;
}
modifier onlyOwner {
require(msg.sender == owner);
_;
}
constructor() {
owner = msg.sender;
}
function transferOwnership(address newOwner) public onlyOwner {
owner = newOwner;
}