Due to incorrect address in the tokenManager.addTokenBalance
function invoked the pointTokenAmount
will be saved as collateral instead of PointToken
. So users can not receive point tokens but can withdraw additional amounts of collateral which can cause inconsistency in the protocol token balances and users virtual balances. There are two instances of the issue.
When sellers settle points the buyers internal point token balances should be also increased by invoking the tokenManager.addTokenBalance
function.
This call updates the userTokenBalanceMap[_msgSender()][_tokenAddress][_tokenBalanceType]
variable which is used to withdraw tokens. Since the makerInfo.tokenAddress
variable contains the collateral token address users can not withdraw Point tokens.
Unexpected behavior, assets loses
Manual Review
Consider using MarketPlaceInfo.tokenAddress
instead of makerInfo.tokenAddress
Valid high severity, In `settleAskTaker/closeBidTaker`, by assigning collateral token to user balance instead of point token, if collateral token is worth more than point, this can cause stealing of other users collateral tokens within the CapitalPool contract, If the opposite occurs, user loses funds based on the points they are supposed to receive
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.