Hedgey Finance

Resonance Security94 addresses on 13 chains

Audit · firm’s term: smart contract audit

Resonance Security reviewed Hedgey (Hedgey Finance) on 12 Nov 2024: 9 findings, 0 critical; 3 marked fixed, 6 open.

No open critical findings
Open the reportOpen Hedgey’s security record
Report stored on IPFS. Content hash QmZK9fBkTbPNFRbyXLeV4n61nukPToXLEwyhxsHheVEbw2

Trustblock does not review code.

Findings9

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

SeverityOpenAcknowledgedFixed
Critical000
High000
Medium200
Low403
MediumInsufficient Signature Validation Leads To Possibility Of Claiming From Arbitrary CampaignsOpen

The function claimMultipleWithSig() is used by paymasters to claim tokens from multiple campaigns on behalf of a claimer. It uses a signature verification mechanism to control the access to this function and the ability to claim the claimer's tokens.The signature provided as an input parameter to this function includes several variables necessary to prevent signature attacks, e.g. signature replay, however, it does not do so effectively. When attempting to claim from multiple campaigns, the paymaster needs to provide a signature that, along with other variables, will verify the id and amount of tokens of the first campaign as well as the number of campaigns to claim. Solely relying on these variables opens up the possibility for the paymaster to claim unintended campaigns.As an example of a proof of concept:Claimer can claim from 4 campaigns;Claimer provides a proper signature to the paymaster to claim on his behalf for only 3 of the campaigns, specifically campaigns 1, 2, and 3.Paymaster uses the same signature to claim from campaigns 1, 2, and 4.The scenario identified previously is possible due to the fact that the first campaign matches what the claimer intended, and the number of claimed campaigns also matches. However, it does not match the intended campaigns that were meant to be claimed on behalf of the claimer.

MediumProtocol Fees Can Be BypassedOpen

The protocol adds a fee in native ETH to users through the frontend. However, it is possible to prevent the fee payment by using the smart contract directly without using the web application.

Low++i/i++ Should Be unchecked{++i}/unchecked{i++}Open

When it is not possible for counters to overflow, as is the case when used in for and while-loops, they should be unchecked. The unchecked keyword is new in solidity version 0.8.0, so this only applies to that version or higher, which these instances are. This saves 30-40 gas per loop.

LowCritical Changes Should Use Two-step ProcedureOpen

The critical procedures used to change treasury or whitelist or blacklist tokens in this protocol should use a two step process in order to ensure the modification is indeed intended.

LowExcess Fees Sent Via msg.value Not RefundedOpen

The smart contract allows users to provide ETH as fee, but does not refund the amount in excess of what is required, sending incorrect amounts to treasury.

LowsafeTransferFrom() Should Be Used In Place Of transferFrom()Open

Unlike the basic Transfer function, SafeTransfer incorporates safeguards against potential smart contract vulnerabilities, such as reentrancy attacks and unexpected token loss.

Contracts in scope

No deployed address is recorded for this audit.

The report names a repository or files. Open the report to see its scope.

Part of Hedgey’s security record

Hedgey
Audits3 audits by 2 firmsLast audit Nov 2024, by Resonance Security.
Critical findingsNo open critical findingsAcross 3 reports.
IncidentIncident 18 Apr 2024Source: De.Fi incident database.
Open Hedgey’s security record

Security firm

Resonance Security

18 projects reviewed · 25 reports · latest Aug 2025

See Resonance Security’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