Skip to content

Commit

Permalink
[Documentation] set error placement in contract, match example to pre…
Browse files Browse the repository at this point in the history
…scription

Add example

fix order
  • Loading branch information
fulldecent authored and nikola-matic committed Nov 21, 2022
1 parent 0b4b104 commit 8f705fc
Showing 1 changed file with 36 additions and 10 deletions.
46 changes: 36 additions & 10 deletions docs/style-guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
******************
Expand Down Expand Up @@ -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;
}
Expand Down Expand Up @@ -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;
}
Expand Down

0 comments on commit 8f705fc

Please sign in to comment.