Aeterna

CertiK2 addresses on BNB Chain

CertiK reviewed Aeterna on 27 Sep 2023: 16 findings, 0 critical; 9 marked fixed, 3 acknowledged, 4 open.

No open critical findings
Open the reportOpen Aeterna’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings16

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

SeverityOpenAcknowledgedFixed
Critical000
High030
Medium001
Low408
MediumNo Upper Limits for FeesFixed

There are no upper limits restricting parameters of `setTaxes()`, potentially enabling up to 100% of fees on transactions.

LowMissing Error MessagesFixed

The **require** can be used to check for conditions and throw an exception if the condition is not met. It is better to provide a string message containing details about the error that will be passed back to the caller.

LowRedundant View FunctionFixed

The value of variable `inSwap` can only be changed in the modifier `swapping`, it is set to false in the end. The view function `isNotInSwap()` always return false. ```solidity=457 modifier swapping() { inSwap = true; _; inSwap = false; } ```

LowSolidity Version Not RecommendedFixed

Solidity frequently releases new compiler versions. Using an old version prevents access to new Solidity security features. Also, recent versions may be too early to be trusted. File: Aeterna.sol (Line 2) ```solidity pragma solidity ^0.7.4; ```

LowThe growth of supply will increaseFixed

The total supply increases based on its previous value as the following statements. If the variables `_rewardYield` and `_rewardYieldDenominator` are not changed, the total supply will grow faster and faster. Over time, the `Aeterna` balance in all wallets will grow much faster than it did when it was launched. ```solidity=682 for (uint256 i = 0; i < times; i++) { _totalSupply = _totalSupply .mul((_rewardYieldDenominator).add(_rewardYield)) .div(_rewardYieldDenominator); } ``` We would like to confirm with the client if the current implementation aligns with the original project design.

LowUnused State VariableFixed

One or more state variables are never used in the codebase. Variable `MAX_INT256` in `SafeMathInt` is never used in `SafeMathInt`. File: Aeterna.sol (Line 6, Contract `SafeMathInt`) ```solidity int256 private constant MAX_INT256 = ~(int256(1) << 255); ```

LowUser Prefer Selling Token If `_rebasePairTokens`Fixed

If the `_rebasePairTokens` is disabled, the increased `Aeterna` token in the DEX pair will be burned. If the auto rebase is disabled for a long time, after a manual rebase, the supply of the `Aeterna` token will increase significantly and will be distributed to all wallets. As a result, if the wallet owner sells `Aeterna` to the DEX in the first place, he can get more BNB. ```solidity=692 if(!_rebasePairTokens && pairBalanceAfter > pairBalanceBefore) { uint256 diffTokens = pairBalanceAfter - pairBalanceBefore; _basicTransfer(pairAddress, DEAD, diffTokens); emit Transfer(pairAddress, DEAD, diffTokens); } ``` We would like to confirm with the client if the current implementation aligns with the original project design.

LowVariables That Could Be Declared as `constant`Fixed

The linked variables could be declared as `constant` since these state variables are never modified.

LowVariables That Could Be Declared as ImmutableFixed

The linked variables 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.

Contracts in scope2

AddressChainSource code
0xe75bf67df2388183d9b7714231996c937d4a855aChain: BNB ChainSource code: Verified source
0xd04301b19e74efc656548be601a4f1fd37a822a0Chain: BNB ChainSource code: Verified source

Part of Aeterna’s security record

Aeterna
Audits3 audits by 2 firmsLast audit Sep 2023, by CertiK.
Critical findingsNo open critical findingsAcross 3 reports.
Open Aeterna’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