0xLSD

CertiKFiles named in the report

CertiK reviewed 0xLSD on 16 Oct 2023: 17 findings, 0 critical; 4 marked fixed, 2 acknowledged, 11 open.

No open critical findings
Open the reportOpen 0xLSD’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings17

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

SeverityOpenAcknowledgedFixed
Critical000
High022
Medium000
Low1102
HighExecution of `swapToOX()` May FailFixed

In the `swapToOX()` function, the contract swaps `USDT` for `0XLSD` tokens. Subsequently, the contract invokes the `burn()` function to burn `burnNum` number of `0XLSD` tokens directly from the function caller `msg.sender`. However, it is noted that the contract imposes a significantly high fee on the buyer unless the ` isTxFeeExempt[msg.sender]` is set to `true`. Consequently, the `msg.sender` only receives 1% of `outAmounts[1]` (since the buy fee `_buy` is set at 99%), which is actually lower than the `_burnRate` of 5% and ultimately leads to the failure of transaction.

HighUnreasonable call to `burn()`Fixed

In the `swapToUSDT()` function, the contract swaps the `0XLSD` tokens transferred from the function caller `msg.sender` for `USDT`, and these `USDT` are directly transferred back to the `msg.sender`. During the swap, the contract uses `amount - burnNum` as the input for the swap instead of the original `amount`. However, it is noted that the contract invokes the public `burn()` function, which burns the `burnNum` amount of `0XLSD` tokens from `msg.sender` instead of from the contract `0XLSD`, which is where the tokens have been transferred to. As a result, the contract retains the `burnNum` amount of `0XLSD` tokens, leading to the accumulation of these tokens within the contract's holdings. An added note is that this function will fail if the user transfers all available tokens to the contract through this function, since there will be no tokens left in the balance of the `msg.sender` to burn.

LowMissing Zero Address ValidationFixed

Addresses are not validated before assignment or external calls, potentially allowing the use of zero addresses and leading to unexpected behavior or vulnerabilities. For example, transferring tokens to a zero address can result in a permanent loss of those tokens. ```solidity=1086 key = _key; ``` - `_key` is not zero-checked before being used. --- ```solidity=1105 key = _new; ``` - `_new` is not zero-checked before being used.

LowUnused State VariableFixed

Some state variables are not used in the codebase. This can lead to incomplete functionality or potential vulnerabilities if these variables are expected to be utilized. The following variables are declared but never used within the code. ```solidity=1064 bool public canSet = true; ``` ```solidity=1073 IPancakeFactory factory = IPancakeFactory(router.factory()); ```

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/OX.sol

Part of 0xLSD’s security record

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