@@ -755,8 +755,19 @@ contract AllocationManager is
755755 /// @inheritdoc IAllocationManagerView
756756 function getAllocationDelay (
757757 address operator
758- ) public view returns (bool isSet , uint32 delay ) {
759- _delegateView (secondHalf);
758+ ) public view returns (bool , uint32 ) {
759+ AllocationDelayInfo memory info = _allocationDelayInfo[operator];
760+
761+ uint32 delay = info.delay;
762+ bool isSet = info.isSet;
763+
764+ // If there is a pending delay that can be applied, apply it
765+ if (info.effectBlock != 0 && block .number >= info.effectBlock) {
766+ delay = info.pendingDelay;
767+ isSet = true ;
768+ }
769+
770+ return (isSet, delay);
760771 }
761772
762773 /// @inheritdoc IAllocationManagerView
@@ -796,7 +807,9 @@ contract AllocationManager is
796807 function getAVSRegistrar (
797808 address avs
798809 ) public view returns (IAVSRegistrar) {
799- _delegateView (secondHalf);
810+ IAVSRegistrar registrar = _avsRegistrar[avs];
811+
812+ return address (registrar) == address (0 ) ? IAVSRegistrar (avs) : registrar;
800813 }
801814
802815 /// @inheritdoc IAllocationManagerView
@@ -827,21 +840,27 @@ contract AllocationManager is
827840
828841 /// @inheritdoc IAllocationManagerView
829842 function isOperatorSlashable (address operator , OperatorSet memory operatorSet ) public view returns (bool ) {
830- _delegateView (secondHalf);
843+ RegistrationStatus memory status = registrationStatus[operator][operatorSet.key ()];
844+
845+ // slashableUntil returns the last block the operator is slashable in so we check for
846+ // less than or equal to
847+ return status.registered || block .number <= status.slashableUntil;
831848 }
832849
833850 /// @inheritdoc IAllocationManagerView
834851 function getRedistributionRecipient (
835852 OperatorSet memory operatorSet
836- ) external view returns (address ) {
837- _delegateView (secondHalf);
853+ ) public view returns (address ) {
854+ // Load the redistribution recipient and return it if set, otherwise return the default burn address.
855+ address redistributionRecipient = _redistributionRecipients[operatorSet.key ()];
856+ return redistributionRecipient == address (0 ) ? DEFAULT_BURN_ADDRESS : redistributionRecipient;
838857 }
839858
840859 /// @inheritdoc IAllocationManagerView
841860 function isRedistributingOperatorSet (
842861 OperatorSet memory operatorSet
843862 ) public view returns (bool ) {
844- _delegateView (secondHalf) ;
863+ return getRedistributionRecipient (operatorSet) != DEFAULT_BURN_ADDRESS ;
845864 }
846865
847866 /// @inheritdoc IAllocationManagerView
0 commit comments