LFGSwap security record

Arbitrum, Ethereumlfgswap.financeXGitHub

As of 3 Nov 2026, LFGSwap has 2 audit reports by 1 security firm on Trustblock; the latest is by CertiK, dated 27 Mar 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, findings and contracts up to Nov 2026, and incidents up to Oct 2026. Trustblock does not review code.

Audits2

Newest first

AuditSecurity firmDateScopeCritical findingsReport
LfgSwap ⅡSecurity firm: CertiKDate: Scope: Files named in the reportNo open critical findingsOpen · skynet.certik.com
LFGswapSecurity firm: CertiKDate: Scope: Files named in the reportNo open critical findingsOpen · skynet.certik.com

Findings28

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

SeverityOpenAcknowledgedFixed
Critical000
High501
Medium001
Low1704
HighState Variables in Upgradeable Contracts are InitLfgSwap Ⅱ · CertiK · 27 Mar 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
MediumLack of Storage Gap in Upgradeable ContractLfgSwap Ⅱ · CertiK · 27 Mar 2023Fixed

There is no storage gap preserved in the logic contract. Any logic contract that acts as a base contract that needs to be inherited by other upgradeable child should have a reasonable size of storage gap preserved for the new state variable introduced by the future upgrades.

Open the report
Lowmint not start from initializeMintLfgSwap Ⅱ · CertiK · 27 Mar 2023Fixed

The state variable `lastRewardAt` is initialized in the function `updatePool()`. However, the `updatePool()` is not called in the function `initializeMint()`, which means the mint rewards do not start to accumulate. In the current logic, the first `updatePool()` will be called during the first time of deposit and the mint starts.

Open the report
LowMissing Input ValidationLfgSwap Ⅱ · CertiK · 27 Mar 2023Fixed

`endAt` is the variable that checks if the IFO will be ended, so its value has to be later than the current blockstamp.

Open the report
LowNot Record Total Transferred `rewardAmount`LfgSwap Ⅱ · CertiK · 27 Mar 2023Fixed

```solidity=355 function _withdrawReferralReward(address user) private { uint256 rewardAmount = userReferralReward(user); if(rewardAmount > 0) { offeringToken.safeTransfer(user, rewardAmount); emit HarvestReferralReward(user, rewardAmount); } } function userReferralReward(address user) public view returns (uint256 rewardAmount) { uint256 point = referralPoint[user]; if(point > 0 && totalRewardPoint > 0 ) { //expect data uint256 offering = totalRewardOffered; rewardAmount = point.mul(offering).div(totalRewardPoint); } } ``` In the above function `_withdrawReferralReward()`, the total number of transferred rewards is not recorded and tracked. Since both `totalRewardPoint` and `totalRewardOffered` may be changed, the number of `rewardAmount` would be also impacted and therefore the total number of transferred `rewardAmount` would be potentially messed up.

Open the report
LowUnprotected InitializerLfgSwap Ⅱ · CertiK · 27 Mar 2023Fixed

One or more logic contracts do not protect their initializers. An attacker can call the initializer and assume ownership of the logic contract, whereby she can perform privileged operations that trick unsuspecting users into believing that she is the owner of the upgradeable contract. ```solidity=18 abstract contract IFOInitializableMix is ReentrancyGuardUpgradeable, OwnableUpgradeable { ``` - `IFOInitializableMix` is an upgradeable contract that does not protect its initializer. ```solidity=127 function initialize( ``` - `initialize` is an unprotected initializer function.

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="lfgswap"
></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