Honor World Token security record

Arbitrum, BNB Chain

As of 3 Nov 2026, Honor World Token has 2 audit reports by 1 security firm on Trustblock; the latest is by CertiK, dated 17 Jan 2023. Those reports list no open critical findings.

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 and findings, contracts and incidents up to Nov 2026. Trustblock does not review code.

Audits2

Newest first

AuditSecurity firmDateScopeCritical findingsReport
Honorworld - Audit 2Security firm: CertiKDate: Scope: Files named in the reportNo open critical findingsOpen · skynet.certik.com
Honorworld - AuditSecurity firm: CertiKDate: Scope: Files named in the reportNo open critical findingsOpen · skynet.certik.com

Findings24

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

SeverityOpenAcknowledgedFixed
Critical000
High060
Medium001
Low359
Medium`pool.boostedSupply` Not UpdatedHonorworld - Audit 2 · CertiK · 17 Jan 2023Fixed

The `emergencyWithdraw` function is provided to the user to retrieve the assets from the contract in an emergency. At the end code of the function, all the information of the user has been reset, but the global variable `pool.boostedSupply` of the current pool is not subtracted from the variable `user.boostedAmount`.

Open the report
LowCheck-effects pattern not usedHonorworld - Audit 2 · CertiK · 17 Jan 2023Fixed

A reentrancy attack can occur when the contract creates a function that makes an external call to another untrusted contract before resolving any effects. If the attacker can control the untrusted contract, they can make a recursive call back to the original function, repeating interactions that would have otherwise not run after the external call resolved the effects.

Open the report
LowMissing Zero Address ValidationHonorworld - Audit 2 · CertiK · 17 Jan 2023Fixed

Addresses should be checked before assignment or external call to make sure they are not zero addresses. ```solidity=85 buybackPool = _buybackPool; ``` - `_buybackPool` is not zero-checked before being used. --- ```solidity=86 devaddr = _devAddress; ``` - `_devAddress` is not zero-checked before being used. --- ```solidity=102 devaddr = _devAddress; ``` - `_devAddress` is not zero-checked before being used.

Open the report
LowState Variables in Upgradeable Contracts are InitHonorworld - Audit 2 · CertiK · 17 Jan 2023Fixed

State variables initialized when declared are equivalent to initializing them inside the constructor. Therefore, initializing state variables when declared in an upgradeable contract has no actual effect since the constructor of an upgradeable contract is never called.

Open the report
LowConfusing Function NamesHonorworld - Audit · CertiK · 10 Oct 2022Fixed

Function `balanceOf()` in `LPStaking` shares the same name as the function to check token balance in standard ERC20. Function `ownerOf()` in `NFTStaking` shares the same name as the one in standard ERC721. It may cause confusion to users to use similar names.

Open the report
LowDivide Before MultiplyHonorworld - Audit · CertiK · 10 Oct 2022Fixed

Performing integer division before multiplication truncates the low bits, losing the precision of calculation. ```solidity=266 uint256 boost = sharesSupply.mul(userWeight).div(totalWeight).mul(100 - TOKENLESS_PRODUCTION).div(100); ```

Open the report
LowFunction Should Be Declared ExternalHonorworld - Audit · CertiK · 10 Oct 2022Fixed

The functions which are never called internally within the contract should have external visibility for gas optimization. LPStaking: - `setDevAddress()` - `addPool()` - `setPool()` - `deposit()` - `withdraw()` NFTStaking: - `setApprovedMinter()` - `setApprovedOperator()` - `setAuraRule()` - `stake()` - `unstake()` - `claim()` - `levelup()` - `ownerOf()` - `onERC1155BatchReceived()` - `onERC1155Received()` StrategyPSC: - `deposit()` - `farm()` - `withdraw()` - `earn()` - `convertDustToEarned()` - `pause()` - `unpause()` - `setSettings()` - `setGov()` - `setOnlyGov()` - `setUniRouterAddress()` - `setRewardsAddress()` - `setDevAddress()` - `setHarvestAddress()` - `inCaseTokensGetStuck()` - `wrapBNB()`

Open the report
LowLength of Input Array Not CheckedHonorworld - Audit · CertiK · 10 Oct 2022Fixed

In function `escrowOwnership()`, `restoreOwnership()` and `transferOwnership()` takes the ERC1155 token ID and amounts as arrays. The length of the two arrays are not compared and confirmed, which might cause issue when incorrect number of input is provided.

Open the report
LowUnused State VariablesHonorworld - Audit · CertiK · 10 Oct 2022Fixed

Variable `controllers` in `HWTToken` is never used in the contract. ```solidity=24 mapping(address => bool) controllers; ``` Variable `hwtAddress` in `strategyPSC` is never used in the contract. ```solidity=34 address public hwtAddress; ```

Open the report
LowVariables That Could Be Declared as Immutable orHonorworld - Audit · CertiK · 10 Oct 2022Fixed

State variable `controllerFee` in contract `StrategyPSC` could be declared as `constant` since it is never modified. The following variables assigned in the constructor can be declared as `immutable`. `LPStaking`: - `buybackPool` `StrategyPSC`: - `isAutoComp` - `farmContractAddress` - `pid` - `wantAddress` - `token0Address` - `token1Address` - `earnedAddress` - `wbnbAddress` - `lpStakingAddress` Immutable state variables can be assigned during contract creation but will remain constant throughout the lifetime of a deployed contract. A big advantage of constant and 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

Contracts

No deployed address is recorded for these audits.

The reports name a repository or files. Open a report to see its scope.

The repositories and files the reports name

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="honor-world"
></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