Retik Finance

CertiK1 address on Ethereum

CertiK reviewed Retik Finance on 9 Jan 2024: 8 findings, 0 critical; 2 acknowledged, 6 open.

No open critical findings
Open the reportOpen Retik Finance’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
High020
Medium000
Low600
LowDiscussion On The Anti-BotOpen

The Anti-Bot mechanism is unable to protect against the initial entry of bots. In lines 292 to 296 of the code, it identifies and flags the "from" and "to" addresses as Bots. Due to the order of operations, where the check for whether an address is a bot occurs prior to this section, it can result in a situation where even if the "from" or "to" address is flagged as a bot during the current transaction, the transaction can still proceed normally. ```solidity=283 require(!isBot[from], "RETIK: Bot detected"); if (from != owner() && to != owner()) { // trading disable till launch require(trading, "RETIK: trading is disable"); // antibot if ( block.timestamp < launchedAt + snipingTime ) { if (dexPair == from) { isBot[to] = true; } else if (dexPair == to) { isBot[from] = true; } } } ``` The question we want to discuss is whether we need to penalize bots or block transactions the first time they enter.

LowMissing Emit EventsOpen

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

LowPull-Over-Push PatternOpen

The change of `owner` by function `transferOwnership()` overrides the previously set `owner` with the new one without guaranteeing the new `owner` has the ability to actuate transactions on-chain.

LowSafeMath Included in PragmaOpen

Solidity version >=0.8.0 includes checked arithmetic operations and underflow/overflow by default, making SafeMath redundant.

LowUnused EventOpen

The event `SwapAndLiquify` is declared but the current code logic does not use this information.

LowVariable can be Declared as ConstantOpen

The values of `_name`,`_symbol`,`_decimals`,`_totalSupply` and `snipingTime` are never changed after assignment, so they can be declared as `constant`. A big advantage of constant variables is that reading them is significantly cheaper than reading from regular state variables.

Contracts in scope1

AddressChainSource code
0x26ebb8213fb8d66156f1af8908d43f7e3e367c1dChain: EthereumSource code: Verified source

Part of Retik Finance’s security record

Retik Finance
Audits1 audit by 1 firmLast audit Jan 2024, by CertiK.
Critical findingsNo open critical findingsIn 1 report.
Open Retik Finance’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