Wemix Retainer 137 HSPFE

CertiKFiles named in the report

Audit

Part of CertiK’s retainer series

CertiK reviewed WEMIX (Wemix Retainer 137 HSPFE) on 31 Oct 2024: 8 findings, 0 critical; 4 marked fixed, 4 open.

No open critical findings
Open the reportOpen WEMIX’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings8

Statuses are the security firm’s own, from its report.

SeverityOpenAcknowledgedFixed
Critical000
High100
Medium100
Low204
LowIncorrect `getLastIndex()` Return Value When `hspFixed

In the `getLastIndex()` function, the value of `index` is not assigned when `hspCount == 0` is `false`, and as a result would return `0` when the correct return value is greater than 0.

LowLack of enforcement that `st` and `rt` tokens areFixed

In the `deploy()` function of `SPFactory`, there's no enforcement that the `goddra` and `hydra` token addresses are different. If they are the same, and insufficient `goddra` token is provided by the project team as the `rt` (reward) token, then it is possible that then user A's staked token might be paid out as reward to user B when user B claims reward, and user A would be unable to unstake its tokens due to insufficient token balance.

LowMissing Emit EventsFixed

There should always be events emitted in the sensitive functions that are controlled by centralization roles.

LowUnderscore Prefix For Non-External VariablesFixed

The current contract doesn't follow the naming convention specified by [Solidity DOC](https://docs.soliditylang.org/en/v0.8.20/style-guide.html#underscore-prefix-for-non-external-functions-and-variables): The state variable `variable` is used as `private` or `internal` and is not exposed publicly. It should have `an underscore prefix` like `_varaible`. Leading underscores allow you to immediately recognize the intent of such functions, but more importantly, if you change a function from non-external to external (including public) and rename it accordingly, this forces you to review every call site while renaming. This can be an important manual check against unintended external functions and a common source of security vulnerabilities (avoid find-replace-all tooling for this change).

Contracts in scope

No deployed address is recorded for this audit.

The report names a repository or files. Open the report to see its scope.

Repository and files the report names (4)

  • Mir4Global/Staking/SPFactory.sol
  • Common/staking/v2/option/SPBridgeClaim.sol
  • Mir4Global/Staking/SPforGOD.sol
  • Common/staking/v2/base/calculator/SPFeeCalculator.sol

Part of WEMIX’s security record

WEMIX
Audits75 audits by 1 firmLast audit Feb 2025, by CertiK.
Critical findingsNo open critical findingsAcross the 75 reports, 17 critical findings were reported. Each is marked fixed by the firm that reported it.
Open WEMIX’s security record

Security firm

CertiK

1,044 projects reviewed · 1,375 reports · latest May 2025

See CertiK’s audits

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