SSSwap

First Flight #41
Beginner FriendlyRust
100 EXP
View results
Submission Details
Impact: medium
Likelihood: high
Invalid

Missing Minimum Amount Check for Token Deposits

Description

The initialize_pool function only checks that deposited amounts are non-zero:

require!(
amount_token_a > 0 && amount_token_b > 0,
AmmError::NoZeroProvision
);

It does not enforce a meaningful minimum, allowing pools to be initialized with very low token amounts.

Impact

Setting tiny initial reserves results in unrealistic price ratios and high price impact on trades. This makes the pool unusable for real trading and can mislead users and price aggregators.

Recommendation

Add a minimum threshold to ensure healthy pool initialization:

const MIN_LIQUIDITY: u64 = 10_000;
require!(
amount_token_a >= MIN_LIQUIDITY && amount_token_b >= MIN_LIQUIDITY,
AmmError::InsufficientLiquidity
);
Updates

Lead Judging Commences

0xtimefliez Lead Judge 5 days ago
Submission Judgement Published
Invalidated
Reason: Design choice

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.