Reports

Smart Contract Security Assessment

Euler evk swap verifier update

This PR allows the swap verifier to use the deposit() function on vaults without a skim().

1
Issues
0
C/H/M
Period
Jan 27, 2026 - Jan 27, 2026
Auditors
HHK, Panda

Review Summary

Protocol Overview

This PR allows the swap verifier to use the deposit() function on vaults without a skim().

Protocol
Euler Finance
Timeline
Jan 27, 2026 - Jan 27, 2026
Audit Team
HHK, Panda

Audit Overview

Scope and Resources

Scope

This audit covers PR totaling approximately ~20 lines of code across 0.25 days of review.

Overall Assessment

Evaluation Matrix

access control

mathematics

complexity

libraries

decentralization

code stability

documentation

monitoring

testing

Key Findings

Findings Summary

0
Critical
0
High
0
Medium
1
Low
0
Informational
0
Gas
L-1 Finding

L-1: Early return on zero `amountMin` silently skips deposit/skim operations

Low

Description:

In verifyAmountMinAndDeposit and verifyAmountMinAndSkim, an early return occurs when amountMin == 0:

if (amountMin == 0) return;

This silently skips the deposit/skim operation entirely without any revert or indication to the caller. While 99.9% of swaps will specify amountMin > 0, callers may not expect that passing 0 results in no deposit rather than a deposit with no slippage protection.

Impact:

Low. Unexpected behavior where zero amountMin silently skips operations instead of performing them without slippage checks. Zero share errors would revert at the vault level anyway.

Recommendation:

Remove the early return checks, allowing the vault to handle edge cases and revert if necessary.

Developer Response:

Fixed in commit b6046f4.

Final Remarks

The new verifyAmountMinAndDeposit() function follows the same pattern as the existing skim-based flow and is straightforward. No major issues were identified during the review. The early return on amountMin == 0 in verifyAmountMinAndSkim() and verifyAmountMinAndDeposit() were removed, addressing the main finding from the review.

Methodology

Severity Classification

Critical

Immediate threat to user funds or protocol integrity

Direct loss of funds, protocol compromise

High

Significant security risk requiring urgent attention

Potential fund loss, major functionality disruption

Medium

Important issue that should be addressed

Limited fund risk, functionality concerns

Low

Minor issue with minimal impact

Best practice violations, minor inefficiencies

Gas

Findings that improve gas efficiency

Increased transaction costs

Informational

Code quality and best practice recommendations

Reduced maintainability and readability