# CertiK $SMRAT

Due to the ***CertiK*** audit of $SMRAT we had to change our $MNRY token contract.

Certik Audit: <https://www.certik.org/projects/moonratfinance>

$MNRT contract: <https://github.com/moonery-io/moonery-contracts/blob/main/contracts/Moonery.sol>

## Findings

| ID                                                    | Category                   | Severity                     | Location             | Changes                                                                                                          |
| ----------------------------------------------------- | -------------------------- | ---------------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------- |
| MRC-01 Incorrect error message                        | Logical Issue              | :digit\_three: Minor         |                      | See [***SSL-01***](https://docs.moonery.io/mnry/audit#findings)                                                  |
| MRC-02 Redundant code                                 | Logical Issue              | :blue\_circle: Informational |                      | See [***SSL-02***](https://docs.moonery.io/mnry/audit#findings)                                                  |
| MRC-03 Missing Range Check for Input Variable         | Centralization / Privilege | :digit\_three: Minor         | Multiple locations   | changed to taxFee, liquidityFee and maxTxAmount                                                                  |
| MRC-04 Centralized risk in addLiquidity               | Centralization / Privilege | :red\_circle: Major          |                      | See [***SSL-0***](https://docs.moonery.io/mnry/audit#findings)***4***                                            |
| MRC-05 Inappropriate Variable Initialization          | Logical Issue              | :digit\_two: Medium          | Moonery.sol:475      | By init: \_maxTxAmount= \_tTotal.mul(5).div(10000)                                                               |
| MRC-06 Tautology or Contradiction Issue               | Gas Optimization           | :digit\_three: Minor         | Moonery.sol:586      | changed to: require(balanceOf(receiver) > 0, "CL2");                                                             |
| MRC-07 Variable Typo                                  | Coding Style               | :blue\_circle: Informational |                      | See [***SSL-11***](https://docs.moonery.io/mnry/audit#findings)                                                  |
| MRC-08 Missing Events for Significant Transactions    | Coding Style               | :blue\_circle: Informational |                      | See [***SSL-08***](https://docs.moonery.io/mnry/audit#findings)                                                  |
| MRC-09 Inappropriate Location of Constant Declaration | Coding Style               | :blue\_circle: Informational | Moonery.sol:471\~487 | Declared constants at the beginning of the contract.                                                             |
| MRC-10 Redundant Setting                              | Coding Style               | :blue\_circle: Informational | Multiple locations   | Appropriate values set once                                                                                      |
| MRC-11 Missing Check for Reentrancy Attack            | Logical Issue              | :digit\_two: Medium          | Moonery.sol:197\~211 | Changed and tested on test net. But these changes could lock all transfers of $MNRY. So we reverted the changes. |
|                                                       |                            |                              |                      |                                                                                                                  |
