Fortuneum security record

BNB Chainfortuneum.io

As of 3 Nov 2026, Fortuneum has 2 audit reports by 1 security firm on Trustblock; the latest is by CertiK, dated 18 Nov 2022. Those reports list no open critical findings. It also holds 1 deployed contract on 1 chain.

Critical findings
No open critical findings
Across 2 reports.
Open the latest report
Your label, live
Get the label for your site

Record last updated . It holds audits, findings and contracts up to Nov 2026, and incidents up to Oct 2026. Trustblock does not review code.

Audits2

Newest first

AuditSecurity firmDateScopeCritical findingsReport
FORTUNESecurity firm: CertiKDate: Scope: 1 address on BNB ChainNo open critical findingsOpen · skynet.certik.com
FORTUNESecurity firm: CertiKDate: Scope: 1 address on BNB ChainNo open critical findingsOpen · skynet.certik.com

Findings26

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

SeverityOpenAcknowledgedFixed
Critical000
High020
Medium000
Low2400
Low`liquidityShare` and `marketingShare` can be diffFORTUNE · CertiK · 18 Nov 2022Open

Assume the fees are all zero except for `marketingFeeOnBuy` and `marketingFeeOnSell` are `1` as they are in the `constructor()`. In this assume that the fees are gathered using these fees up until `canSwap` would be true and before there is a sell so that `swapAndSendMarketing()` has not been called. Then assume the buy and sell fees are updated so that all fees are zero except for `liquidityFeeOnBuy` and `liquidityFeeOnSell` which are set to 1. Then a sell is executed so that in this case it will `swapAndLiquify()` the entire `contractTokenBalance` as the `marketingShare` will be zero because of the updated fees. However, all those fees were generated to be swapped and sent to the marketing address instead of added to liquidity. In addition, the `walletToWalletTransferFee` is split between marketing and liquidity based on the buy and sell fees. This can cause confusion as to what percentage of a transfer is allocated for marketing versus liquidity.

Open the report
Low`liquidityShare` and `marketingShare` can be diffFORTUNE · CertiK · 18 Nov 2022Open

Assume the fees are all zero except for `marketingFeeOnBuy` and `marketingFeeOnSell` are `1` as they are in the `constructor()`. In this assume that the fees are gathered using these fees up until `canSwap` would be true and before there is a sell so that `swapAndSendMarketing()` has not been called. Then assume the buy and sell fees are updated so that all fees are zero except for `liquidityFeeOnBuy` and `liquidityFeeOnSell` which are set to 1. Then a sell is executed so that in this case it will `swapAndLiquify()` the entire `contractTokenBalance` as the `marketingShare` will be zero because of the updated fees. However, all those fees were generated to be swapped and sent to the marketing address instead of added to liquidity. In addition, the `walletToWalletTransferFee` is split between marketing and liquidity based on the buy and sell fees. This can cause confusion as to what percentage of a transfer is allocated for marketing versus liquidity.

Open the report
LowFunction Should Be Declared ExternalFORTUNE · CertiK · 18 Nov 2022Open

The following functions are never called internally within the contract and should have external visibility: - `enableTrading()` - `isExcludedFromFees(address account)`

Open the report
LowFunction Should Be Declared ExternalFORTUNE · CertiK · 18 Nov 2022Open

The following functions are never called internally within the contract and should have external visibility: - `enableTrading()` - `isExcludedFromFees(address account)`

Open the report
LowInconsistency between Function Name and FunctionaFORTUNE · CertiK · 18 Nov 2022Open

The function `excludeFromFees()` allows not only to exclude an address from fees but also allows to include an address paying fees.

Open the report
LowInconsistency between Function Name and FunctionaFORTUNE · CertiK · 18 Nov 2022Open

The function `excludeFromFees()` allows not only to exclude an address from fees but also allows to include an address paying fees.

Open the report
LowLeftover tokens caused by the unoptimized one-sidFORTUNE · CertiK · 18 Nov 2022Open

The `swapAndLiquify()` function converts half of the `FORTUNEUM` tokens to `BNB`. The other half of `FORTUNEUM` tokens and part of the converted `BNB` tokens are then added as liquidity to the `uniswapV2Pair`. For every `swapAndLiquify()` function call, a small amount of `BNB` is left over in the contract. This is because the price of `FORTUNEUM` drops after swapping the first half into `BNB`, and the other half of `FORTUNEUM` require less than the converted `BNB` to be paired with when adding liquidity. The contract has a `claimStuckTokens()` function, which withdraws the contracts `BNB` balance to the `msg.sender`, so we mark this finding as **informational** as the tokens will not be locked forever.

Open the report
LowLeftover tokens caused by the unoptimized one-sidFORTUNE · CertiK · 18 Nov 2022Open

The `swapAndLiquify()` function converts half of the `FORTUNEUM` tokens to `BNB`. The other half of `FORTUNEUM` tokens and part of the converted `BNB` tokens are then added as liquidity to the `uniswapV2Pair`. For every `swapAndLiquify()` function call, a small amount of `BNB` is left over in the contract. This is because the price of `FORTUNEUM` drops after swapping the first half into `BNB`, and the other half of `FORTUNEUM` require less than the converted `BNB` to be paired with when adding liquidity. The contract has a `claimStuckTokens()` function, which withdraws the contracts `BNB` balance to the `msg.sender`, so we mark this finding as **informational** as the tokens will not be locked forever.

Open the report
LowMissing Emit EventsFORTUNE · CertiK · 18 Nov 2022Open

There should always be events emitted in the sensitive functions that are controlled by centralization roles. Specifically: - `enableTrading()` does not emit an event when is executed. - `claimStuckTokens()` emits an event only when `ERC20token.transfer()` is executed. No event is emitted when BNB is withdrawn from the contract.

Open the report
LowMissing Emit EventsFORTUNE · CertiK · 18 Nov 2022Open

There should always be events emitted in the sensitive functions that are controlled by centralization roles. Specifically: - `enableTrading()` does not emit an event when is executed. - `claimStuckTokens()` emits an event only when `ERC20token.transfer()` is executed. No event is emitted when BNB is withdrawn from the contract.

Open the report
Show 10 more
LowPrivilege not Revoked or TransferredFORTUNE · CertiK · 18 Nov 2022Open

When the contract is deployed the following addresses are exempted from fees: - the current `owner` - the current `marketingWallet` If ownership is transferred or renounced with `transferOwnership()` or `renounceOwnership()`, the exemptions are not granted to the new owner nor are they revoked from the previous owner. Also if `marketingWallet` is updated with `changeMarketingWallet()` the exemptions are not granted to the new marketing wallet nor are they revoked from the previous marketing address.

Open the report
LowPrivilege not Revoked or TransferredFORTUNE · CertiK · 18 Nov 2022Open

When the contract is deployed the following addresses are exempted from fees: - the current `owner` - the current `marketingWallet` If ownership is transferred or renounced with `transferOwnership()` or `renounceOwnership()`, the exemptions are not granted to the new owner nor are they revoked from the previous owner. Also if `marketingWallet` is updated with `changeMarketingWallet()` the exemptions are not granted to the new marketing wallet nor are they revoked from the previous marketing address.

Open the report
LowSolidity Version Not RecommendedFORTUNE · CertiK · 18 Nov 2022Open

The contract uses the latest solidity version available at the moment which is `0.8.17`. Using the most recent version can be risky as all bugs for the current version may not be known.

Open the report
LowSolidity Version Not RecommendedFORTUNE · CertiK · 18 Nov 2022Open

The contract uses the latest solidity version available at the moment which is `0.8.17`. Using the most recent version can be risky as all bugs for the current version may not be known.

Open the report
LowThird Party DependencyFORTUNE · CertiK · 18 Nov 2022Open

The contract is serving as the underlying entity to interact with a third party AMM protocol. The scope of the audit treats third party entities as black boxes and assume 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.

Open the report
LowThird Party DependencyFORTUNE · CertiK · 18 Nov 2022Open

The contract is serving as the underlying entity to interact with a third party AMM protocol. The scope of the audit treats third party entities as black boxes and assume 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.

Open the report
LowUnchecked ERC-20 `transfer()` CallFORTUNE · CertiK · 18 Nov 2022Open

The return value of the transfer() call is not checked. ```solidity=760 ERC20token.transfer(msg.sender, balance); ```

Open the report
LowUnchecked ERC-20 `transfer()` CallFORTUNE · CertiK · 18 Nov 2022Open

The return value of the transfer() call is not checked. ```solidity=760 ERC20token.transfer(msg.sender, balance); ```

Open the report
LowUnused InterfaceFORTUNE · CertiK · 18 Nov 2022Open

```solidity=20 interface IUniswapV2Pair { ``` - `IUniswapV2Pair` is declared but never used.

Open the report
LowUnused InterfaceFORTUNE · CertiK · 18 Nov 2022Open

```solidity=20 interface IUniswapV2Pair { ``` - `IUniswapV2Pair` is declared but never used.

Open the report
Show 4 more
LowUsage of Magic NumbersFORTUNE · CertiK · 18 Nov 2022Open

The linked magic numbers are hardcoded in the codebase.

Open the report
LowUsage of Magic NumbersFORTUNE · CertiK · 18 Nov 2022Open

The linked magic numbers are hardcoded in the codebase.

Open the report
LowVariable That Could Be Declared as ImmutableFORTUNE · CertiK · 18 Nov 2022Open

`uniswapV2Pair` assigned in the constructor can be declared as `immutable`. Immutable state variables can be assigned during contract creation but will remain constant throughout the lifetime of a deployed contract. A big advantage of immutable variables is that reading them is significantly cheaper than reading from regular state variables since they will not be stored in storage.

Open the report
LowVariable That Could Be Declared as ImmutableFORTUNE · CertiK · 18 Nov 2022Open

`uniswapV2Pair` assigned in the constructor can be declared as `immutable`. Immutable state variables can be assigned during contract creation but will remain constant throughout the lifetime of a deployed contract. A big advantage of immutable variables is that reading them is significantly cheaper than reading from regular state variables since they will not be stored in storage.

Open the report

Contracts1

AddressChainSource code
0x2d716831d82d837c3922ad8c10fe70757b5814feChain: BNB ChainSource code: Verified source

Show this on your site

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.

Content

Facts

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.

Fixed as
Language

Style

Layout
Theme
Accent
Corners

Format

Size
Date
Embed as
HTML
<head>
<script src="https://widget.trustblock.run/project-widget.min.js" defer></script>
</head>
<body>
<div
data-tb-project-widget
data-tb-project-slug="fortuneum"
></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