Kindly Coin

CertiKFiles named in the report

CertiK reviewed Kindly (Kindly Coin) on 9 Sep 2022: 12 findings, 1 critical; 10 marked fixed, 2 open.

1 critical finding, fixed
Open the reportOpen Kindly’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings12

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

SeverityOpenAcknowledgedFixed
Critical001
High200
Medium000
Low009
CriticalCalling functions using `_msgSender()` via `execuFixed

When `withdraw()` is called via `executeMetaTransaction()` the result of the _msgSender() function is the contract address `Kindly` so the tokens will not be burned from the `userAddress` address, but from the contract address `Kindly`. The same behavior can be in other functions using `_msgSender()`.

LowDeclaration Naming ConventionFixed

Internal functions doesn't start with "_". - `toTypedMessageHash()` - `hashMetaTransaction()` - `verify()`

LowImproper Usage of `public` and `external` TypeFixed

`public` functions that are never called by the contract could be declared as `external`. `external` functions are more efficient than `public` functions.

LowMissing Emit EventsFixed

The function that affects the status of sensitive variables should be able to emit events as notifications to customers: - `mint()` - `deposit()`

LowRedundant Code ComponentsFixed

The linked statements do not affect the functionality of the codebase and appear to be either leftovers from test code or older functionality.

LowToo Many DigitsFixed

Literals with many digits are difficult to read and review. ```solidity=262 _mint(_msgSender(), 108000000 * 10**18); ```

LowTypos in the contractFixed

There is a typo in the comment: `contractsa` should be `contracts` There is a typo in the `Initializable.sol`: `inited` should be `initialized`

LowUnlocked Compiler VersionFixed

The contract has unlocked compiler version. An unlocked compiler version in the source code of the contract permits the user to compile it at or above a particular version. This, in turn, leads to differences in the generated bytecode between compilations due to differing compiler version numbers. This can lead to an ambiguity when debugging as compiler specific bugs may occur in the codebase that would be hard to identify over a span of multiple compiler versions rather than a specific one.

LowUnnecessary Use of SafeMathFixed

The `SafeMath` library is used unnecessarily. With Solidity compiler versions 0.8.0 or newer, arithmetic operations will automatically revert in case of integer overflow or underflow.

LowUnused StructFixed

```solidity=51 struct EIP712Domain { string name; string version; address verifyingContract; bytes32 salt; } ``` - `EIP712Domain` is declared but never used.

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

  • contracts/Kindlycoin-eth.sol
  • contracts/Kindlycoin.sol

Part of Kindly’s security record

Kindly
Audits1 audit by 1 firmLast audit Sep 2022, by CertiK.
Critical findingsNo open critical findingsIn that report, 1 critical finding was reported. It is marked fixed by the firm that reported it.
Open Kindly’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