Foxify: Decentralized Exchange security record

Arbitrum, Sonicfoxify.tradeGitHub

As of 3 Nov 2026, Foxify: Decentralized Exchange has 1 audit report on Trustblock, by CertiK, dated 26 Jun 2023. That report lists no open critical findings.

Critical findings
No open critical findings
In 1 report.
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.

Audits1

Newest first

AuditSecurity firmDateScopeCritical findingsReport
Foxify - New DealSecurity firm: CertiKDate: Scope: Files named in the reportNo open critical findingsOpen · skynet.certik.com

Findings11

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

SeverityOpenAcknowledgedFixed
Critical000
High010
Medium000
Low406
LowDivide Before MultiplyFoxify - New Deal · CertiK · 26 Jun 2023Fixed

Performing integer division before multiplication truncates the low bits, losing the precision of calculation. ```solidity=297 uint256 stableFee = (amount * fee) / DIVIDER; uint256 discount_ = (affiliationUserData_.discount * stableFee) / DIVIDER; ```

Open the report
LowLack of Access Control in `initialize()` FunctionFoxify - New Deal · CertiK · 26 Jun 2023Fixed

The `initialize()` function does not have any access control measures implemented, allowing any account to call this function to initialize the address of `configuration`.

Open the report
LowMissing Validation on `latestRoundData()`Foxify - New Deal · CertiK · 26 Jun 2023Fixed

The function `accept()` is using `latestRoundData()` to get token's price by Chainlink, but there are no validations that the data is not stale. This issue also exists in function `validateRoundData`. Reference: https://github.com/code-423n4/2021-12-yetifinance-findings/issues/91

Open the report
LowMissing Zero Address ValidationFoxify - New Deal · CertiK · 26 Jun 2023Fixed

The address of `_immutableConfiguration.utils` is missing a check that it is not `address(0)` in the constructor.

Open the report
LowReverse Ordering in `blacklistList()` FunctionFoxify - New Deal · CertiK · 26 Jun 2023Fixed

The `blacklistList()` function is designed to return values from the address set starting from the index `offset` up to the index `to - 1`. However, in its current implementation, the order of the returned addresses is reversed. For instance, if the order of addresses in the set is [a, b, c], the function currently returns [c, b, a] instead of [a, b, c]. This could potentially lead to misunderstandings or errors in interpreting the result. ```solidity=25 function blacklistList(uint256 offset, uint256 limit) external view returns (address[] memory output) { uint256 blacklistLength = _blacklist.length(); uint256 to = offset + limit; if (blacklistLength < to) to = blacklistLength; output = new address[](to - offset); for (uint256 i = offset; i < to; i++) output[i - offset] = _blacklist.at(blacklistLength - i - 1); } ```

Open the report
LowUnchecked ERC-20 `transfer()`/`transferFrom()` CaFoxify - New Deal · CertiK · 26 Jun 2023Fixed

The return values of the `transfer()` and `transferFrom()` calls in the smart contract are not checked. Some ERC-20 tokens' transfer functions return no values, while others return a bool value, they should be handled with care. If a function returns `false` instead of reverting upon failure, an unchecked failed transfer could be mistakenly considered successful in the contract. ```solidity=99 _immutableConfiguration.stable.transferFrom(msg.sender, address(this), amount); ``` --- ```solidity=166 if (amountCreator > 0) _immutableConfiguration.stable.transfer(creator, amountCreator); ``` --- ```solidity=167 if (amountAccepter > 0) _immutableConfiguration.stable.transfer(accepter, amountAccepter); ``` --- ```solidity=191 stable_.transfer(feeRecipient, amount); ``` --- ```solidity=224 if (amount > 0) _immutableConfiguration.stable.transferFrom(msg.sender, address(this), amount); ``` --- ```solidity=238 stable.transfer(recipient, amount); ``` --- ```solidity=258 _immutableConfiguration.stable.transferFrom(msg.sender, address(this), amount); ``` --- ```solidity=273 _immutableConfiguration.stable.transfer(msg.sender, amount); ``` --- ```solidity=23 stable.transferFrom(msg.sender, address(this), amount); ``` --- ```solidity=44 stable.transferFrom(msg.sender, address(this), amount); ``` --- ```solidity=65 stable.transferFrom(msg.sender, address(this), amount); ```

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