> For the complete documentation index, see [llms.txt](https://audits.solidgrp.io/richai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://audits.solidgrp.io/richai/audit-results/findings.md).

# Findings

### <mark style="color:blue;">**Issue 01**</mark>

| Type                 | Severity                                   | Location    | Status                                           |
| -------------------- | ------------------------------------------ | ----------- | ------------------------------------------------ |
| **Gas Optimization** | <mark style="color:yellow;">**Low**</mark> | `_transfer` | <mark style="color:red;">**Not Resolved**</mark> |

**Description**

approve is being called on every transaction which automatically contributes liquidity to the pool, on the same tokens and for the same spender (the router).

**Recommendation**

In order to reduce gas costs, `approve` could be called once (with max int).

### <mark style="color:blue;">**Issue 02**</mark>

| Type              | Severity                                      | Location    | Status                                           |
| ----------------- | --------------------------------------------- | ----------- | ------------------------------------------------ |
| **Volatile Code** | <mark style="color:orange;">**Medium**</mark> | `_transfer` | <mark style="color:red;">**Not Resolved**</mark> |

**Description**

`_transfer` may call internally to uniswap router functions (such as swap function and liquidity addition function) it may cause `_transfer` to fail unnecessarily.

**Recommendation**

\_transfer function should always work and not fail due to any other router-related functions in order to ensure the token's tradability.&#x20;

Although it's a best practice to gracefully handle errors, the probability of these functions failing frequently is low.

### <mark style="color:blue;">**Issue 03**</mark>

| Type              | Severity                                   | Location    | Status                                           |
| ----------------- | ------------------------------------------ | ----------- | ------------------------------------------------ |
| **Volatile Code** | <mark style="color:yellow;">**Low**</mark> | `_transfer` | <mark style="color:red;">**Not Resolved**</mark> |

**Description**

There is a chance that the amount swapped for eth will result in a very high slippage ( since Uniswap UI interface allow 49% slippage there is a risk that investors won't be able to sell the tokens).

**Recommendation**

Currently, there is no option to turn off swapping and liquidity addition. In the event of the aforementioned issue, we recommend adding a feature to disable this option. This will ensure that the token remains tradable at all times.

### <mark style="color:blue;">**Issue 04**</mark>

| Type                 | Severity                                            | Location    | Status                                           |
| -------------------- | --------------------------------------------------- | ----------- | ------------------------------------------------ |
| **Gas Optimization** | <mark style="color:green;">**Informational**</mark> | `_transfer` | <mark style="color:red;">**Not Resolved**</mark> |

**Description**

The tokens are being swapped twice in a single transaction.

**Recommendation**

Consider calling the swap function only once to minimize gas fees.
