Last Man Standing

First Flight #45
Beginner FriendlyFoundrySolidity
100 EXP
View results
Submission Details
Severity: medium
Valid

Missing previous king payout mechanism breaks documented design

Description:

The protocol documentation explicitly promises that "King (Current King) receives a small payout from the next player's claimFee", but this functionality is completely absent from the actual implementation. The code contains only placeholder variables and defensive checks that are never utilized:

// Variable declared but always remains 0
uint256 previousKingPayout = 0;
// Defensive check based on unused variable
if (currentPlatformFee > (sentAmount - previousKingPayout)) {
currentPlatformFee = sentAmount - previousKingPayout;
}

What actually happens in claimThrone():

  1. New player pays claimFee

  2. Platform takes commission (platformFeePercentage)

  3. Remaining amount goes entirely to the pot

  4. Previous king receives nothing

What documentation promises:

  • Previous king should receive a portion of the new claim fee

  • This creates economic incentives for early participation

  • Forms a multi-level reward structure

The function comments also contradict the implementation:

/**
* If there's a previous king, a small portion of the new claim fee is sent to them.
*/

Impact:

Players expect immediate rewards for becoming king based on documentation

No intermediate rewards reduce motivation for early game participation

Recommended Mitigation:

Implement the missing previous king payout mechanism as documented

Updates

Appeal created

inallhonesty Lead Judge 29 days ago
Submission Judgement Published
Validated
Assigned finding tags:

Missing Previous King Payout Functionality

Support

FAQs

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