Dtec - Audit 2

CertiKFiles named in the report

CertiK reviewed The Dtec World (Dtec - Audit 2) on 24 Jul 2024: 8 findings, 0 critical; 5 marked fixed, 3 acknowledged.

No open critical findings
Open the reportOpen The Dtec World’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
High010
Medium010
Low015
LowClarification on The Design of `PrivateSaleLock2Fixed

The `PrivateSaleLock2` contract is designed with two primary methods, `releaseFunds()` and `claim()`, to facilitate users in claiming tokens. Specifically, the `releaseFunds()` method reads the quantity of tokens purchased by the user from the `DTECPrivateSale` contract and directly releases a certain amount of tokens to the user based on the `immediateReleaseRate` set in the `DTECPrivateSale` contract. The `claim()` method calculates the total amount of tokens released to the current user through the `PrivateSaleLock` contract, subtracts the amount already claimed by the user, and transfers the currently claimable tokens to the user. The underlying design intent here is that the total number of tokens released through `releaseFunds()`, combined with the total released through the `claim()` method, equals the number of tokens purchased by the user via the `DTECPrivateSale` contract. Additionally, since users can obtain their purchased tokens through both the original `DTECPrivateSale` contract and the `PrivateSaleLock` contract, and can also receive the same amount of tokens through the `PrivateSaleLock2` contract, they ultimately have the opportunity to receive double the amount of tokens.

LowHardcode Configuration ValuesFixed

The associated variables have been given fixed values through hard coding, which cannot be modified. Additionally, the token decimal appears to be hardcoded to 18.

LowMeaningless Check in `getClaimable()` FunctionFixed

The `lockStartTime` state variable in the `CommunityIncentives` and `TgeVestingBase` contracts signifies the commencement time for the release of the vested amount. It is designated as immutable, indicating that its value is assigned only once. For the vesting service to operate accurately, `lockStartTime` must not be initialized to zero. Consequently, evaluating whether `lockStartTime` equals zero is redundant. ```solidity if (info.totalClaimed == info.totalAmount || lockStartTime == 0 || block.timestamp < lockStartTime) { return 0; } ``` ```solidity if (info.totalClaimed == info.totalAmount || lockStartTime == 0 ) { return 0; } ```

LowThird-Party Dependency UsageFixed

The contract is serving as the underlying entity to interact with one or more third party protocols. The scope of the audit treats third party entities as black boxes and assumes their functional correctness. However, in the real world, third parties can be compromised and this may lead to lost or stolen assets. In addition, upgrades of third parties can possibly create severe impacts, such as increasing fees of third parties, migrating to new LP pools, etc. ```solidity DTECPrivateSale public constant privSale1 = DTECPrivateSale(0x6d158bb60FfF3a66F0290BF3F156B9d355163e50); PrivateSaleLock public constant privSale1Lock = PrivateSaleLock(0x47D5c7599991F121A817C289B8E62Dd2015D5Eb3); IERC20 public constant dtecToken = IERC20(0xd87aF7B418d64FF2cdE48d890285bA64fc6E115F); ``` ```solidity address public immutable dtecTokenAddress; ```

LowUnused CodeFixed

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

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

  • contracts/vesting/BitciVesting.sol
  • contracts/vesting/KolVesting.sol
  • contracts/locks/PrivateSaleLock2.sol
  • contracts/vesting/CommunityIncentives.sol
  • contracts/vesting/TgeVesting.sol

Part of The Dtec World’s security record

The Dtec World
Audits2 audits by 1 firmLast audit Jul 2024, by CertiK.
Critical findingsNo open critical findingsAcross 2 reports.
Open The Dtec World’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