Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: low
Invalid

Missing MEV Protection Mechanisms in Auction.sol

Summary

The Auction contract lacks frontrunning protection in its buy() function, making it vulnerable to MEV extraction and sandwich attacks.

Vulnerability Details

function buy(uint256 amount) external whenActive {
require(amount <= state.totalRemaining, "Not enough ZENO remaining");
uint256 price = getPrice();
uint256 cost = price * amount;
require(usdc.transferFrom(msg.sender, businessAddress, cost), "Transfer failed");
bidAmounts[msg.sender] += amount;
state.totalRemaining -= amount;
state.lastBidTime = block.timestamp;
state.lastBidder = msg.sender;
zeno.mint(msg.sender, amount);
emit ZENOPurchased(msg.sender, amount, price);
}

No minimum purchase amount

No cooldown between purchases

Price calculation vulnerable to sandwich attacks

Impact

Searchers can extract MEV by sandwiching user transactions

Higher gas costs for legitimate users

Potential to manipulate auction timing for better prices

Small buyers disadvantaged against MEV bots

Tools Used

Manuel code review

Recommendations

Add minimum purchase amount

Implement purchase cooldown period

Use commit-reveal scheme for buys

Add price slippage protection

Updates

Lead Judging Commences

inallhonesty Lead Judge about 1 month ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

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