Skip to content

Commit edccf26

Browse files
committed
fix(vault): prevent unnecessary processing for liquidity adapter in AccrualVaultV2
1 parent 210a917 commit edccf26

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

packages/blue-sdk/src/vault/v2/VaultV2.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,11 +335,15 @@ export class AccrualVaultV2 extends VaultV2 implements IAccrualVaultV2 {
335335
// MarketV1 adapters first (flexible withdrawal order).
336336
for (const adapter of this.accrualAdapters) {
337337
if (this.forceDeallocatePenalties[adapter.address] !== 0n) continue;
338-
if (adapter.address === this.accrualLiquidityAdapter?.address) continue;
339338

340339
if (adapter instanceof AccrualVaultV2MorphoMarketV1Adapter) {
341340
for (const position of adapter.positions) {
341+
if (position.marketId === this.accrualLiquidityAdapter?.address) {
342+
const liqMarketId = MarketParams.fromHex(this.liquidityData).id;
343+
if (liqMarketId === position.marketId) continue;
344+
}
342345
const available = availableLiquidity.get(position.marketId) ?? 0n;
346+
343347
const amount = MathLib.min(position.supplyAssets, available);
344348

345349
if (amount > 0n) {
@@ -354,6 +358,10 @@ export class AccrualVaultV2 extends VaultV2 implements IAccrualVaultV2 {
354358
}
355359
} else if (adapter instanceof AccrualVaultV2MorphoMarketV1AdapterV2) {
356360
for (const market of adapter.markets) {
361+
if (market.id === this.accrualLiquidityAdapter?.address) {
362+
const liqMarketId = MarketParams.fromHex(this.liquidityData).id;
363+
if (liqMarketId === market.id) continue;
364+
}
357365
const supplyAssets = market.toSupplyAssets(
358366
adapter.supplyShares[market.id] ?? 0n,
359367
);
@@ -377,6 +385,7 @@ export class AccrualVaultV2 extends VaultV2 implements IAccrualVaultV2 {
377385
for (const adapter of this.accrualAdapters) {
378386
if (this.forceDeallocatePenalties[adapter.address] !== 0n) continue;
379387
if (!(adapter instanceof AccrualVaultV2MorphoVaultV1Adapter)) continue;
388+
if (adapter.address === this.accrualLiquidityAdapter?.address) continue;
380389

381390
const vaultV1 = adapter.accrualVaultV1;
382391
const targetAssets = vaultV1.toAssets(adapter.shares);

0 commit comments

Comments
 (0)