#46942 [SC-Low] set perpetual asset balance link there is no cycle checks
Description
Brief/Intro
Vulnerability Details
fn _load_account_no_asset_data(
self: @ContractState, account: ContractAddress,
) -> AccountState {
// load fees and referral
let fee_rates = self.account._get_account_fee_rate(account);
let referral = self.account.get_account_referral(account);
// load perpetual markets (both futures and options)
let (perp_names, perp_balances) = self.perpetual_future._get_account_markets(account);
// load token markets
let (mut token_names, mut token_balances) = self.token._get_account_markets(account);
...
}
fn _load_account_v2(self: @ContractState, account: ContractAddress) -> AccountState {
let mut account_state = self._load_account_no_asset_data(account);
if account_state.perpetual_names.is_empty() && account_state.token_names.is_empty() {
return account_state;
}
account_state
.asset_data = self
._load_asset_data(account_state.perpetual_names, account_state.token_names);
account_state
}
Impact Details
Proof of Concept
Proof of Concept
Previous#46910 [SC-Insight] Token Balance Event Data Inconsistency in Position TransfersNext#46960 [SC-Insight] trade order sizes are not validated properly
Was this helpful?