Part 2

Zaros
PerpetualsDEXFoundrySolidity
70,000 USDC
View results
Submission Details
Severity: high
Invalid

Incorrect update of variables

Summary

Incorrect update of variables in CreditDelegationBranch::settleVaultsDebt.

Vulnerability Details

In CreditDelegationBranch::settleVaultsDebt, the if() get executed when the vault is in debt(less USDC than vault asset),
that is, vault unsettled realized debt in USD is less than zero. This converts part of the vault assets to USDC to cover for
vault debts. However, the amount USDC(ctx.usdcOut) gotten after the conversion is substracted from the vault's unsettled
debt instead of addition.

Impact

Increment in vault's unsettled debt

@> vault.marketsRealizedDebtUsd -= ctx.usdcOutX18.intoUint256().toInt256().toInt128();

Recommendations

.
.
- vault.marketsRealizedDebtUsd -= ctx.usdcOutX18.intoUint256().toInt256().toInt128();
+ vault.marketsRealizedDebtUsd += ctx.usdcOutX18.intoUint256().toInt256().toInt128();
.
.
Updates

Lead Judging Commences

inallhonesty Lead Judge 6 months ago
Submission Judgement Published
Invalidated
Reason: Too generic

Support

FAQs

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