Payouts
Top 10
Top 25
Top 50
All
Code4rena
Aug '24
high
Malicious actors can manipulate the `cross_chain_callback` callback
high
There is no refund mechanism in `ChakraSettlement.processCrossChainCallback` or `ChakraSettlementHandler.receive_cross_chain_callback` function
high
Inconsistent Handler Validation Behavior in Cairo ERC20Handler's Cross-Chain Callback
high
Anyone can manipulate user nonce (nonce_manager) in settlement contract
medium
Settlement contract is mistakenly used for the handler contract when assigning ReceivedCrossChainTx struct
medium
inconsistency in sender address when creating cross chain messages on Starknet can lead to loss of funds
medium
Wrong usage of transaction originator address instead of caller address
medium
Does not check if to_chain and to_handler is whitelisted in cross_chain_erc20_settlement
medium
SettlementSignatureVerifier's required_validators is not updated, resulting in a low or high number of signatures being required
Apr '24
Feb '24
high
Incorrect bad debt accounting can lead to a state where the `claimFeesBeneficial` function is permanently bricked and no new incentives can be distributed, potentially locking pending and future protocol fees in the `FeeManager` contract
medium
Liquidating chaining can be achieved by liquidating token collateral with the highest `collateralFactor`
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
Since you can reroll with a different fighterType than the NFT you own, you can reroll bypassing maxRerollsAllowed and reroll attributes based on a different fighterType
high
Players have complete freedom to customize the fighter NFT when calling `redeemMintPass` and can redeem fighters of types Dendroid and with rare attributes
high
Fighters cannot be minted after the initial generation due to uninitialized `numElements` mapping
high
Non-transferable `GameItems` can be transferred with `GameItems::safeBatchTransferFrom(...)`
high
FighterFarm:: reroll won't work for nft id greator than 255 due to input limited to uint8
medium
Can mint NFT with the desired attributes by reverting transaction
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.
medium
Fighter created by mintFromMergingPool can have arbitrary weight and element
Jan '24
high
User can evade `liquidation` by depositing the minimum of tokens and gain time to not be liquidated
high
First depositor can break staking-rewards accounting
medium
THE USER WHO WITHDRAWS LIQUIDITY FROM A PARTICULAR POOL IS ABLE TO CLAIM MORE REWARDS THAN HE DULY DESERVES BY CAREFULLY SELECTING A `decreaseShareAmount` VALUE SUCH THAT THE `virtualRewardsToRemove` IS ROUNDED DOWN TO ZERO
medium
Incorrect assumption in PoolMath.sol can cause underflow when zapping is used
medium
SALT staker can get extra voting power by simply unstaking their xSALT
medium
Reusing a SALT that has already been used for voting can allow a malicious proposal to pass and compromise the protocol.
Nov '23
Oct '23