CertiK reviewed Energreen (Energreen.) on 14 Dec 2023: 3 findings, 0 critical; 1 marked fixed, 2 acknowledged.
Report hosted on skynet.certik.com.
Trustblock does not review code.
Statuses are the security firm’s own, from its report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 2 | 1 |
| Medium | 0 | 0 | 0 |
| Low | 0 | 0 | 0 |
In the contract `EnergreenToken` the role `releaserAddress` has authority over the function `releaseVesting()`. Any compromise to the `releaserAddress` account may allow the hacker to take advantage of this authority and release unlocked tokens. Conversely, they could choose not to release tokens, causing them to remain locked in the contract. Note that the contract already includes checks on the vesting addresses and amounts in order to release unlocked tokens. ```solidity=162 // VESTING LOCK RELEASE function releaseVesting (address vestingAddress) public releaserOrOwner nonReentrant { Vesting memory vesting = vestings[vestingAddress] ; require( block.timestamp >= vesting.vestingTime , "Vesting time is not now." ) ; require( vesting.period > 0 , "Vesting is over for this address" ) ; uint256 nextVestingTime ; if (vestingAddress == idoAddress) { nextVestingTime = vesting.vestingTime + 1 weeks ; } // Adding 1 week for IDO vesting else { nextVestingTime = getNextVestingMonth(1 , vesting.vestingTime) ; // Vesting day is same for every month except IDO sale. } vesting.vestingTime = nextVestingTime; vesting.period -= 1 ; vestings[vestingAddress] = vesting ; _transfer(address(this), vestingAddress, vesting.amount); emit VestingClaimed(vestingAddress, vesting.amount,(vesting.totalVesting - vesting.period)); } ```
All of the EGRN tokens are minted to the contract. 70% of them is subsequently distributed to the following addresses: - `stakingAddress`: 0xe1C9E85A91f97090f27bE358D03E4Ad28f8F242A - `liquidityAddress`: 0x656F4EAc864393d61362e24434f8Ad2987543aC3 - `idoAddress`: 0x34EcE43178f23F908164651aB673ffbfc26b0b22 - `privateSale1Address`: 0xFaC7c87D1777662909b7Bf7e4E7bc0922423229c - `privateSale2Address`: 0x14530Dd3325CE7D035d231210CC4b2bF5b0ebE88 - `reserveAddress`: 0x66D9Bb5cC0D8B32C62C46Dfb7376031A497afe70 The other tokens are locked and will be transferred to the following addresses when unlocked: - `marketingAddress`: 0x3aca898549cC4863beC8D95362Ecc4030a6ad346 - `privateSale1Address`: 0xFaC7c87D1777662909b7Bf7e4E7bc0922423229c - `privateSale2Address`: 0x14530Dd3325CE7D035d231210CC4b2bF5b0ebE88 - `idoAddress`: 0x34EcE43178f23F908164651aB673ffbfc26b0b22 - `teamAddress`: 0x7F4C6325b0690d98138229C1b2938886ffe10A65 - `advisorAddress`: 0x9c137226d0D4c191F4A680F646dFEb381e7Acee4 This is a centralization risk because the addresses can distribute tokens without obtaining the consensus of the community. Any compromise to these addresses may allow a hacker to steal and sell tokens on the market, resulting in severe damage to the project. Furthermore, the tokens that remain within the contract for future vesting also present a risk, as they are subject to the control of a limited group of individuals or entities.
The report names a repository or files. Open the report to see its scope.
Repository and files the report names (1)
1,044 projects reviewed · 1,375 reports · latest May 2025
See CertiK’s auditsSomething 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