Security Researcher
Soon to be smart contract auditor (security reviewer). Not taking myself too seriously (yet). https://t.co/4P0tTxheVT
High
Total
Medium
Total
Total Earnings
#224 All Time
Payouts
1st Places
2nd Places
Top 10
All
Sherlock
Code4rena
Cantina
CodeHawks
Immunefi
Feb '25
medium
Jan '25
Dec '24
medium
Incorrect Total Assets Calculation in _harvestAndReport Leading to Share Value Manipulation and Irredeemable Assets
medium
not adding `claimable` balance to the total assets in `_harvestAndReport` can cause losses.
medium
Inflated `totalAssets` in `StrategyMainnet`, `StrategyArb`, and `StrategyOp` Contracts
low
Missing Router Update Mechanism in StrategyMainnet Contract
low
Old router retains token allowance after update
Nov '24
medium
Aug '24
high
medium
medium
medium
medium
Jul '24
high
`mintToken()`, `mintWithBudget()`, and `forge()` in the `TraitForgeNft` Contract Will Fail Due to a Wrong Modifier Used in `EntropyGenerator.initializeAlphaIndices()`
high
The maximum number of generations is infinite
medium
There is no slippage check in the `nuke()` function.
medium
Pause and unpause functions are inaccessible
medium
NFTs mature too slowly under default settings.
medium
`Golden God` Tokens can be minted twice per generation
medium
Each generation should have 1 "Golden God" NFT, but there could be 0
medium
TraitForgeNft: Generations without a golden god are possible
medium
Incorrect check against golden entropy value in the first two batches
medium
medium
Jun '24
May '24
high
Apr '24
Feb '24
high
Malicious user can stake an amount which causes zero curStakeAtRisk on a loss but equal rewardPoints to a fair user on a win
high
A locked fighter can be transferred; leads to game server unable to commit transactions, and unstoppable fighters
high
Non-transferable `GameItems` can be transferred with `GameItems::safeBatchTransferFrom(...)`
medium
NFTs can be transferred even if StakeAtRisk remains, so the user's win cannot be recorded on the chain due to underflow, and can recover past losses that can't be recovered(steal protocol's token)
medium
Constraints of dailyAllowanceReplenishTime and allowanceRemaining during mint() can be bypassed by using alias accounts & safeTransferFrom()
medium
DoS in `MergingPool::claimRewards` function and potential DoS in `RankedBattle::claimNRN` function if called after a significant amount of rounds passed.