shopdi

CertiKFiles named in the report

CertiK reviewed Shopdi on 27 Sep 2022: 10 findings, 0 critical; 7 marked fixed, 2 acknowledged, 1 open.

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

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings10

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

SeverityOpenAcknowledgedFixed
Critical000
High010
Medium010
Low107
LowError MessageFixed

The error message for the modifier `onlyGnosisSafeWallet` mentions the `owner`, which could be confused with the error message for the `onlyOwner` modifier.

LowIncorrect CommentFixed

The comment says that the tax defaults to `5%`, however it is set to `1%` in the constructor. In addition, a comment states the max transfer amount rate is `0.5%` of the total supply, however it is set to `0.05%` in the constructor.

LowMissing ChecksFixed

The `transferFrom()`, `decreaseAllowance()`, and `__transfer()` functions not have an explicit require statements, and depend on the exception thrown by the compiler. - The `transferFrom()` function does not have an explicit require statement to check whether the message sender is allowed by `sender` to spend the amount. - The `decreaseAllowance()` function does not have an explicit require statement to check if there is enough allowance for the `spender` that the message sender want to decrease. - The `__transfer()` function does not check if the `sender` has enough balance that they want to transfer to the `recipient`.

LowMissing Zero Address ValidationFixed

The `_gnosisSafeWallet` address should be checked before assignment to make sure is not the zero address.

LowOperator is immutableFixed

These comments says that the following function can only be called by current operator. This gives the impression that operator can be changed, but the operator is immutable.

LowToo Many DigitsFixed

Literals with many digits are difficult to read and review.

LowVariables That Could Be Declared as ImmutableFixed

The `_decimals` variable assigned in the constructor can be declared as `immutable`. Immutable state variables can be assigned during contract creation but will remain constant throughout the lifetime of a deployed contract. A big advantage of immutable variables is that reading them is significantly cheaper than reading from regular state variables since they will not be stored in storage.

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 (1)

  • contracts/Token.sol

Part of Shopdi’s security record

Shopdi
Audits1 audit by 1 firmLast audit Sep 2022, by CertiK.
Critical findingsNo open critical findingsIn 1 report.
Open Shopdi’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