The configure function in AssetSwapPath library accepts mismatched array lengths between assets and swap strategies, breaking the core assumption that each asset pair in the path needs exactly one swap strategy.
Consider a swap path configuration:
This misconfiguration causes failures in CreditDelegationBranch
's debt settlement process.
This impacts protocol solvency and debt settlements through cascading failures in the core settlement mechanisms. When a settlement attempt fails in CreditDelegationBranch:
This failure prevents critical state updates in the vault. The vault's marketsRealizedDebtUsd remains unchanged, and crucially, the USDC backing for the engine isn't allocated through UsdTokenSwapConfig.load().usdcAvailableForEngine[vault.engine]
. Assets become trapped in intermediate states within vaults, unable to complete their conversion to USDC.
The solvency impact further propagates through the market settlement system:
The failure to update USDC credit shares creates a systemic breakdown in collateralization. Markets become progressively undercollateralized as credit deposits remain unsettled. The USDC backing for USD tokens becomes insufficient, undermining the protocol's core stability mechanism. This disruption extends to vault credit capacity calculations and market auto-deleverage enforcement, ultimately compromising the protocol's ability to maintain accurate debt/credit ratios and proper collateralization levels.
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.