As of 3 Nov 2026, Green Planet ECO has 1 audit report on Trustblock, by CertiK, dated 17 May 2023. That report lists no open critical findings.
Record last updated . It holds audits, findings and contracts up to Nov 2026, and incidents up to Oct 2026. Trustblock does not review code.
Newest first
| Audit | Security firm | Date | Scope | Critical findings | Report |
|---|---|---|---|---|---|
| Greenplaneteco - Audit | Security firm: CertiK | Date: | Scope: Files named in the report | No open critical findings | Open · skynet.certik.com |
Statuses are the security firm’s own, from each report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 1 | 0 |
| Medium | 0 | 0 | 2 |
| Low | 0 | 0 | 9 |
In the function `mintForPartners()`, the unit of input parameter `amount` is `ether`, the maximum number of tokens that can be minted for partners cannot exceed `mintableTokenAmountForPartners`, whose unit is `wei`. ```solidity=478 require( amount <= mintableTokenAmountForPartners, "Required amount is over of mintable amount." ); ``` The `require` statement does not multiply the `amount` by `1e18`, resulting in minting an excess token amount still pass the check. This issue also exists in `privateSale()` and `publicSale()` functions.
Open the reportThe mapping `automatedMarketMakerPairs` is an empty map because it is never initiated. So, the following condition is always evaluated to false, and the `swapTokenAndSendEthToWallet()` function will not be called. As a result, all fees are locked in the `ECO` contract. ```solidity=211 if (canSwap && !swapping && automatedMarketMakerPairs[to]) { ```
Open the reportThe mintable token amount cannot exceed the maximum value of `uint` type, making the use of `MAX_SUPPLY` redundant. ```solidity=19 uint public constant MAX_SUPPLY = type(uint).max; ```
Open the reportThe `ECO` contract approves the `uniswapV2Router` address for an unlimited number of tokens. This can be a security risk if the router contract is compromised.
Open the reportThe comment states "Max buy fee is 20% and max sell fee is 30%". However, the maximum buy fee is 2% and the maximum sale fee is 3%.
Open the reportIf `maxTransactionLimitEnabled` is enabled and wallets are not excluded from the maximum transaction limit, then transfers of tokens between user wallets must also follow maximum transfer limits, and the token amount cannot exceed the value returned by the `maxTransferAmountSell()` function. As the name of the `maxTransferAmountSell()` function implies, it is intended for selling transactions but not wallet-to-wallet token transfers.
Open the reportThere should always be events emitted in the sensitive functions that are controlled by centralization roles.
Open the reportAddresses should be checked before assignment or external call to make sure they are not zero addresses. ```solidity=534 payable(ownerWallet).transfer(address(this).balance); ``` - `ownerWallet` is not zero-checked before being used.
Open the reportState variables that never change should be declared as `constant` to save gas. ```solidity=43 uint public mintableTokenAmountForFounders = (INIT_TOTAL_SUPPLY * SHARE_OF_FOUNDERS) / 1000; ``` - `mintableTokenAmountForFounders` should be declared `constant`. --- ```solidity=59 uint public tokenPriceForPartners = 0.00002 ether; ``` - `tokenPriceForPartners` should be declared `constant`. --- ```solidity=60 uint public tokenPriceForPrivate = 0.00003 ether; ``` - `tokenPriceForPrivate` should be declared `constant`. --- ```solidity=61 uint public tokenPriceForPublic = 0.00004 ether; ``` - `tokenPriceForPublic` should be declared `constant`. --- ```solidity=71 address public walletOfFounder1 = 0xF9e347F9837A07c3b0778011Db4720E252B7b6a0; ``` - `walletOfFounder1` should be declared `constant`. --- ```solidity=73 address public walletOfFounder2 = 0x21E41D5efC9A5FC24D7212A0151Bb18983c79Dc4; ``` - `walletOfFounder2` should be declared `constant`. --- ```solidity=75 address public walletOfFounder3 = 0x56F877f0bF4f8502c29afa4474692F8219C98bef; ``` - `walletOfFounder3` should be declared `constant`. --- ```solidity=79 address public walletOfEcosystem = 0xe0FcFd2a0aFE8c9F3707Beb34291C518D2FC00Cf; ``` - `walletOfEcosystem` should be declared `constant`. --- ```solidity=81 address public walletOfCommunity = 0xbe3a59FD4Cbed7D850f1F622F788Bf16c8CA4bDa; ``` - `walletOfCommunity` should be declared `constant`. --- ```solidity=83 address public walletOfListing = 0x89B3Fe584e4Ea44115fFcA6DD41B6621DF8c37EC; ``` - `walletOfListing` should be declared `constant`. --- ```solidity=84 address public walletOfMarketing = 0x39FC2c432cA5098301a97817aF894d75685bc496; ``` - `walletOfMarketing` should be declared `constant`. --- ```solidity=89 address private walletOfBurn = 0x000000000000000000000000000000000000dEaD; ``` - `walletOfBurn` should be declared `constant`.
Open the reportThe `SafeMath` library is used unnecessarily. With Solidity compiler versions 0.8.0 or newer, arithmetic operations will automatically revert in case of integer overflow or underflow. ```solidity=13 using SafeMath for uint256; ``` - `SafeMath` library is used for `uint256` type in `ECO` contract.
Open the reportIt is not recommended to use Solidity's `transfer()` and `send()` functions for transferring Ether, since some contracts may not be able to receive the funds. Those functions forward only a fixed amount of gas (2300 specifically) and the receiving contracts may run out of gas before finishing the transfer. Also, EVM instructions' gas costs may increase in the future. Thus, some contracts that can receive now may stop working in the future due to the gas limitation. ```solidity=534 payable(ownerWallet).transfer(address(this).balance); ``` - `ECO.withdraw` uses `transfer()`.
Open the reportThe reports name a repository or files. Open a report to see its scope.
Is this your project? Show this record on your own website. The label states what the record holds, links to this page and updates by itself. It is free and needs no sign-in.
Automatic: the three strongest facts of this project’s own record (its last audit and two more), highlighted. They update with the record. Picking a fact turns Automatic off.
<head><script src="https://widget.trustblock.run/project-widget.min.js" defer></script></head><body><divdata-tb-project-widgetdata-tb-project-slug="green-planet-eco"></div></body>
Paste the code where the label should appear. It uses no API credit and updates by itself.
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