Kanga Exchange

CertiK1 address on Ethereum

CertiK reviewed Kanga Exchange on 17 Apr 2023: 7 findings, 0 critical; 1 marked fixed, 6 acknowledged.

No open critical findings
Open the reportOpen Kanga Exchange’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings7

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

SeverityOpenAcknowledgedFixed
Critical000
High001
Medium000
Low060
LowDoes not conform to EIP-20Acknowledged

According to [EIP-20](https://eips.ethereum.org/EIPS/eip-20), transfers of 0 values MUST be treated as normal transfers and fire the `Transfer` event. However, both `transfer()` and `transferFrom()` will return `false` and not emit an event if the input `_value` is 0.

LowERC20 Approval Race ConditionAcknowledged

The ERC-20 `approve` function has a well-known race condition whereby an adjustment of an existing approval can be exploited to utilize the full amount of the previously set approval as well as the newly set approval by monitoring the transaction mempool. See also [ERC20 API: An Attack Vector on Approve/TransferFrom Methods](https://docs.google.com/document/d/1YLPtQxZu1UAvO9cZ1O2RPXBbT0mooh4DYKjA_jp-RLM/edit#heading=h.m9fhqynw2xvt)

LowSolidity Version Not RecommendedAcknowledged

Solidity frequently releases new compiler versions. Using an old version prevents access to new Solidity security features. In addition the contracts have an 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 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.

LowToo Many DigitsAcknowledged

Literals with many digits are difficult to read and review.

LowTransfers do not revert on failureAcknowledged

Both functions `transfer()` and `transferFrom()` return false instead of reverting on failure. This conforms to the ERC-20 standard, but it is often mistakingly assumed that these functions will revert on failure.

LowUnused ModifierAcknowledged

The modifier `isOwner()` is declared but never used in the contract.

Contracts in scope1

AddressChainSource code
0x471d113059324321749e097705197a2b44a070fcChain: EthereumSource code: Verified source

Part of Kanga Exchange’s security record

Kanga Exchange
Audits1 audit by 1 firmLast audit Apr 2023, by CertiK.
Critical findingsNo open critical findingsIn 1 report.
Open Kanga Exchange’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