diff --git a/src/contracts/core/AVSDirectory.sol b/src/contracts/core/AVSDirectory.sol index 6e74836ea..5074d5aa9 100644 --- a/src/contracts/core/AVSDirectory.sol +++ b/src/contracts/core/AVSDirectory.sol @@ -688,6 +688,8 @@ contract AVSDirectory is // Newly configured magnitude is less than current value. // Therefore we handle this as a deallocation + // Note: MAX_PENDING_UPDATES == 1, so we do not have to decrement any allocations + // 1. push PendingFreeMagnitude and respective array index into (op,opSet,Strategy) queued deallocations uint256 index = _pendingFreeMagnitude[operator][allocation.strategy].length; _pendingFreeMagnitude[operator][allocation.strategy].push( @@ -697,6 +699,7 @@ contract AVSDirectory is }) ); _queuedDeallocationIndices[operator][allocation.strategy][operatorSetKey].push(index); + } else if (allocation.magnitudes[i] > uint64(currentMagnitude)) { // Newly configured magnitude is greater than current value. // Therefore we handle this as an allocation