CertiK reviewed PEPE FLOKI (PEPEF) on 12 May 2023: 11 findings, 0 critical; 3 acknowledged, 8 open.
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 | 3 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 8 | 0 | 0 |
In the contract `Ownable` the role `_owner` has authority over the functions shown in the diagram below.  Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and renounce/transfer ownership to the other address. --- In the contract `PEPEFLOKI` the role `_owner` has authority over the functions shown in the diagram below.  - `claimStuckTokens()`: Claims stuck tokens in the contract, can only be called by the contract owner. - `excludeFromFees()`: Excludes or includes an account from fees, can only be called by the contract owner. - `enableTrading()`: Enables trading for the token, can only be called by the contract owner. - `setSwapEnabled()`: Sets the swapEnabled state, can only be called by the contract owner. - `setSwapTokensAtAmount()`: Sets the number of tokens to be swapped at once, can only be called by the contract owner. Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and update the sensitive settings and execute sensitive functions of the project.
All **PEPEF** tokens are sent to the contract deployer when deploying the contract. This is a potential centralization risk as the deployer can distribute **PEPEF** tokens without the consensus of the community.
```solidity=698 function swapAndSendMarketing(uint256 tokenAmount) private { uint256 initialBalance = address(this).balance; address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp); uint256 newBalance = address(this).balance - initialBalance; payable(marketingWallet).sendValue(newBalance); emit SwapAndSendMarketing(tokenAmount, newBalance); } ``` The `swapAndSendMarketing()` function calls the `uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens()` function to swap the `PEPEF` tokens to BNB and send the BNB to the `marketingWallet` address. As a result, over time the `marketingWallet` address will accumulate a significant portion BNB. If the `marketingWallet` is an EOA (Externally Owned Account), the mishandling of its private key can have devastating consequences for the project as a whole. For the common deflationary token, the entire tokenomic requires certain liquidity to support. However, in the current implementation, the swapped BNB is transferred to `marketingWallet` and is not being used for adding liquidity. Therefore, the entire tokenomic may crash due to lacking enough liquidity in the BNB-PEPEF pool.
| Address | Chain | Source code |
|---|---|---|
| 0x4e24…70150x4e2434294a722329b6b64e0c2fca51b2533d7015 | Chain: BNB Chain | Source code: Verified source |
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