Incident,
Source: De.Fi incident database.
- Audits before it
- 0.
- Audits since
- 3, the latest dated 6 Jul 2022.
As of 2 Nov 2026, DODO AMM has 3 audit reports by 1 security firm on Trustblock; the latest is by CertiK, dated 6 Jul 2022. Those reports list no open critical findings. It also holds 1 incident (latest 8 Mar 2021).
Record last updated . It holds audits and findings, contracts and incidents up to Oct 2026. Trustblock does not review code.
Newest first
| Audit | Security firm | Date | Scope | Critical findings | Report |
|---|---|---|---|---|---|
| DODO LimitOrder -Addendum | Security firm: CertiK | Date: | Scope: Files named in the report | No open critical findings | Open · skynet.certik.com |
| DODO CrowdPooling V2 | Security firm: CertiK | Date: | Scope: Files named in the report | No open critical findings | Open · skynet.certik.com |
| DODO Mining | Security firm: CertiK | Date: | Scope: Files named in the report | No open critical findings | Open · skynet.certik.com |
Statuses are the security firm’s own, from each report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 2 | 0 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 3 | 0 | 12 |
Detects the comparison to boolean constants. Boolean constants can be used directly and do not need to be compare to true or false.
Open the reportThe **require** can be used to check for conditions and throw an exception if the condition is not met. It is better to provide a string message containing details about the error that will be passed back to the caller.
Open the reportThe given input `switches` is missing the check for the length.
Open the reportAccording the usage logic of the linked modifier at L40, L74, and L115 in `CPFunding.sol`, the modified functions are allowed to execute if the vesting does not force to stop.
Open the reportIf i equal to len-1,we don't need to execute code `rewardTokenInfos[i] = rewardTokenInfos[len - 1];`.
Open the reportWe notice that the function `RewardVault.reward()` can only be executed by the owner. But in function `BaseMine.claimReward()` the reward is transfered to `msg.sender`. So how can other users claim their own rewards. Is there any other implementation of `IRewardVault.reward()`.
Open the reportPlease introduce when will the function `vDODOMine.syncBalance()` be executed and what will happen.
Open the reportFunction `vDODOMine.syncBalance()` should be able to emit events as notifications to customers because it change the status of sensitive variables.
Open the reportContract `vDODOMine` missing transfer process in function `deposit()` and `withdraw()`.
Open the report`public` functions that are never called by the contract could be declared `external`.
Open the reportWhen `rewardToken` not found in function `BaseMine.getIdByRewardToken()`, it should return a warning message.But according to the logic,it won't return anything.
Open the reportWrong Warning message of check in function `BaseMine.getRewardTokenById()`: ``` require(i<rewardTokenInfos.length, "DODOMineV2: REWARD_ID_FOUND");
Open the reportAttached through a shared contract address. Our incident data ends in Oct 2026.
Source: De.Fi incident database.
The reports name a repository or files. Open a report to see its scope.
Is this your project? Show this record on your own website. The label states what the record holds, links to this page and updates by itself. It is free and needs no sign-in.
Automatic: the three strongest facts of this project’s own record (its last audit and two more), highlighted. They update with the record. Picking a fact turns Automatic off.
<head><script src="https://widget.trustblock.run/project-widget.min.js" defer></script></head><body><divdata-tb-project-widgetdata-tb-project-slug="dodo-dex"></div></body>
Paste the code where the label should appear. It uses no API credit and updates by itself.
Something wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.
Tell us