From 1a2024bf41dc2510c543051e005424cf11c1fd51 Mon Sep 17 00:00:00 2001
From: quaq <56312047+0x0aa0@users.noreply.github.com>
Date: Wed, 29 Nov 2023 17:12:14 -0600
Subject: [PATCH] cleanup imports (#78)

---
 src/BLSOperatorStateRetriever.sol             | 10 ++---
 src/BLSPubkeyRegistry.sol                     |  7 +++-
 src/BLSPubkeyRegistryStorage.sol              | 12 +++---
 src/BLSPublicKeyCompendium.sol                |  5 +--
 src/BLSRegistryCoordinatorWithIndices.sol     | 38 +++++++++----------
 src/BLSSignatureChecker.sol                   | 20 +++++-----
 src/IndexRegistry.sol                         |  3 +-
 src/IndexRegistryStorage.sol                  |  6 +--
 src/ServiceManagerBase.sol                    | 16 ++++----
 src/StakeRegistry.sol                         | 15 +++++---
 src/StakeRegistryStorage.sol                  | 10 +----
 src/interfaces/IBLSRegistry.sol               |  1 -
 .../IBLSRegistryCoordinatorWithIndices.sol    | 12 +++---
 src/interfaces/IBLSSignatureChecker.sol       | 11 +++---
 src/interfaces/IIndexRegistry.sol             |  2 +-
 src/interfaces/IQuorumRegistry.sol            |  2 +-
 src/interfaces/IStakeRegistry.sol             |  4 +-
 17 files changed, 85 insertions(+), 89 deletions(-)

diff --git a/src/BLSOperatorStateRetriever.sol b/src/BLSOperatorStateRetriever.sol
index 0ce58b15..5d2c89ed 100644
--- a/src/BLSOperatorStateRetriever.sol
+++ b/src/BLSOperatorStateRetriever.sol
@@ -1,12 +1,12 @@
 // SPDX-License-Identifier: BUSL-1.1
 pragma solidity =0.8.12;
 
-import "./interfaces/IStakeRegistry.sol";
-import "./interfaces/IBLSPubkeyRegistry.sol";
-import "./interfaces/IIndexRegistry.sol";
-import "./interfaces/IBLSRegistryCoordinatorWithIndices.sol";
+import {IBLSRegistryCoordinatorWithIndices} from "src/interfaces/IBLSRegistryCoordinatorWithIndices.sol";
+import {IBLSPubkeyRegistry} from "src/interfaces/IBLSPubkeyRegistry.sol";
+import {IStakeRegistry} from "src/interfaces/IStakeRegistry.sol";
+import {IIndexRegistry} from "src/interfaces/IIndexRegistry.sol";
 
-import "./libraries/BitmapUtils.sol";
+import {BitmapUtils} from "src/libraries/BitmapUtils.sol";
 
 /**
  * @title BLSOperatorStateRetriever with view functions that allow to retrieve the state of an AVSs registry system.
diff --git a/src/BLSPubkeyRegistry.sol b/src/BLSPubkeyRegistry.sol
index 1d8028d2..56f404de 100644
--- a/src/BLSPubkeyRegistry.sol
+++ b/src/BLSPubkeyRegistry.sol
@@ -1,9 +1,12 @@
 // SPDX-License-Identifier: BUSL-1.1
 pragma solidity =0.8.12;
 
-import "./libraries/BN254.sol";
+import {BLSPubkeyRegistryStorage} from "src/BLSPubkeyRegistryStorage.sol";
 
-import "./BLSPubkeyRegistryStorage.sol";
+import {IBLSPublicKeyCompendium} from "src/interfaces/IBLSPublicKeyCompendium.sol";
+import {IRegistryCoordinator} from "src/interfaces/IRegistryCoordinator.sol";
+
+import {BN254} from "src/libraries/BN254.sol";
 
 contract BLSPubkeyRegistry is BLSPubkeyRegistryStorage {
     using BN254 for BN254.G1Point;
diff --git a/src/BLSPubkeyRegistryStorage.sol b/src/BLSPubkeyRegistryStorage.sol
index 42359387..2c0ce9e7 100644
--- a/src/BLSPubkeyRegistryStorage.sol
+++ b/src/BLSPubkeyRegistryStorage.sol
@@ -1,13 +1,11 @@
 // SPDX-License-Identifier: BUSL-1.1
 pragma solidity =0.8.12;
 
-import "./interfaces/IBLSPubkeyRegistry.sol";
-import "./interfaces/IRegistryCoordinator.sol";
-import "./interfaces/IBLSPublicKeyCompendium.sol";
-
-import "./libraries/BN254.sol";
-
-import "@openzeppelin-upgrades/contracts/proxy/utils/Initializable.sol";
+import {IBLSPubkeyRegistry} from "src/interfaces/IBLSPubkeyRegistry.sol";
+import {IRegistryCoordinator} from "src/interfaces/IRegistryCoordinator.sol";
+import {IBLSPublicKeyCompendium} from "src/interfaces/IBLSPublicKeyCompendium.sol";
+import {BN254} from "src/libraries/BN254.sol";
+import {Initializable} from "@openzeppelin-upgrades/contracts/proxy/utils/Initializable.sol";
 
 abstract contract BLSPubkeyRegistryStorage is Initializable, IBLSPubkeyRegistry {
     /// @notice the registry coordinator contract
diff --git a/src/BLSPublicKeyCompendium.sol b/src/BLSPublicKeyCompendium.sol
index 28c49a97..f9aad7f1 100644
--- a/src/BLSPublicKeyCompendium.sol
+++ b/src/BLSPublicKeyCompendium.sol
@@ -1,9 +1,8 @@
 // SPDX-License-Identifier: BUSL-1.1
 pragma solidity =0.8.12;
 
-import "./interfaces/IBLSPublicKeyCompendium.sol";
-
-import "./libraries/BN254.sol";
+import {IBLSPublicKeyCompendium} from "src/interfaces/IBLSPublicKeyCompendium.sol";
+import {BN254} from "src/libraries/BN254.sol";
 
 /**
  * @title A shared contract for EigenLayer operators to register their BLS public keys.
diff --git a/src/BLSRegistryCoordinatorWithIndices.sol b/src/BLSRegistryCoordinatorWithIndices.sol
index a97d93ce..c200b59f 100644
--- a/src/BLSRegistryCoordinatorWithIndices.sol
+++ b/src/BLSRegistryCoordinatorWithIndices.sol
@@ -1,26 +1,24 @@
 // SPDX-License-Identifier: BUSL-1.1
 pragma solidity =0.8.12;
 
-import "@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol";
-import "@openzeppelin-upgrades/contracts/proxy/utils/Initializable.sol";
-
-import "eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol";
-import "eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol";
-import "eigenlayer-contracts/src/contracts/libraries/EIP1271SignatureUtils.sol";
-import "eigenlayer-contracts/src/contracts/permissions/Pausable.sol";
-
-import "src/interfaces/IBLSRegistryCoordinatorWithIndices.sol";
-import "src/interfaces/ISocketUpdater.sol";
-import "src/interfaces/IServiceManager.sol";
-import "src/interfaces/IBLSPubkeyRegistry.sol";
-import "src/interfaces/IStakeRegistry.sol";
-import "src/interfaces/IIndexRegistry.sol";
-import "src/interfaces/IRegistryCoordinator.sol";
-
-import "src/libraries/BitmapUtils.sol";
-import "src/libraries/BN254.sol";
-
-
+import {Initializable} from "@openzeppelin-upgrades/contracts/proxy/utils/Initializable.sol";
+import {EIP712} from "@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol";
+
+import {EIP1271SignatureUtils} from "eigenlayer-contracts/src/contracts/libraries/EIP1271SignatureUtils.sol";
+import {IPauserRegistry} from "eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol";
+import {Pausable} from "eigenlayer-contracts/src/contracts/permissions/Pausable.sol";
+import {ISlasher} from "eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol";
+
+import {IBLSRegistryCoordinatorWithIndices} from "src/interfaces/IBLSRegistryCoordinatorWithIndices.sol";
+import {IRegistryCoordinator} from "src/interfaces/IRegistryCoordinator.sol";
+import {IBLSPubkeyRegistry} from "src/interfaces/IBLSPubkeyRegistry.sol";
+import {IServiceManager} from "src/interfaces/IServiceManager.sol";
+import {ISocketUpdater} from "src/interfaces/ISocketUpdater.sol";
+import {IStakeRegistry} from "src/interfaces/IStakeRegistry.sol";
+import {IIndexRegistry} from "src/interfaces/IIndexRegistry.sol";
+
+import {BitmapUtils} from "src/libraries/BitmapUtils.sol";
+import {BN254} from "src/libraries/BN254.sol";
 
 /**
  * @title A `RegistryCoordinator` that has three registries:
diff --git a/src/BLSSignatureChecker.sol b/src/BLSSignatureChecker.sol
index 4d440e92..d5cb998a 100644
--- a/src/BLSSignatureChecker.sol
+++ b/src/BLSSignatureChecker.sol
@@ -1,14 +1,14 @@
 // SPDX-License-Identifier: BUSL-1.1
 pragma solidity =0.8.12;
 
-import "./interfaces/IRegistryCoordinator.sol";
-import "./interfaces/IStakeRegistry.sol";
-import "./interfaces/IBLSPubkeyRegistry.sol";
-import "./interfaces/IBLSRegistryCoordinatorWithIndices.sol";
-import "./interfaces/IBLSSignatureChecker.sol";
+import {IBLSRegistryCoordinatorWithIndices} from "src/interfaces/IBLSRegistryCoordinatorWithIndices.sol";
+import {IBLSSignatureChecker} from "src/interfaces/IBLSSignatureChecker.sol";
+import {IRegistryCoordinator} from "src/interfaces/IRegistryCoordinator.sol";
+import {IBLSPubkeyRegistry} from "src/interfaces/IBLSPubkeyRegistry.sol";
+import {IStakeRegistry} from "src/interfaces/IStakeRegistry.sol";
 
-import "./libraries/BitmapUtils.sol";
-import "./libraries/BN254.sol";
+import {BitmapUtils} from "src/libraries/BitmapUtils.sol";
+import {BN254} from "src/libraries/BN254.sol";
 
 /**
  * @title Used for checking BLS aggregate signatures from the operators of a `BLSRegistry`.
@@ -132,13 +132,11 @@ contract BLSSignatureChecker is IBLSSignatureChecker {
                     stakeRegistry.getTotalStakeAtBlockNumberFromIndex(quorumNumber, referenceBlockNumber, nonSignerStakesAndSignature.totalStakeIndices[quorumNumberIndex]);
                 // copy total stake to signed stake
                 quorumStakeTotals.signedStakeForQuorum[quorumNumberIndex] = quorumStakeTotals.totalStakeForQuorum[quorumNumberIndex];
-                
-                // keep track of the nonSigners index in the quorum
-                uint32 nonSignerForQuorumIndex = 0;
-                
                 // loop through all nonSigners, checking that they are a part of the quorum via their quorumBitmap
                 // if so, load their stake at referenceBlockNumber and subtract it from running stake signed
                 for (uint32 i = 0; i < nonSignerStakesAndSignature.nonSignerPubkeys.length; i++) {
+                    // keep track of the nonSigners index in the quorum
+                    uint32 nonSignerForQuorumIndex = 0;
                     // if the nonSigner is a part of the quorum, subtract their stake from the running total
                     if (BitmapUtils.numberIsInBitmap(nonSignerQuorumBitmaps[i], quorumNumber)) {
                         quorumStakeTotals.signedStakeForQuorum[quorumNumberIndex] -=
diff --git a/src/IndexRegistry.sol b/src/IndexRegistry.sol
index 571d8960..0d9a8340 100644
--- a/src/IndexRegistry.sol
+++ b/src/IndexRegistry.sol
@@ -1,7 +1,8 @@
 // SPDX-License-Identifier: BUSL-1.1
 pragma solidity =0.8.12;
 
-import "./IndexRegistryStorage.sol";
+import {IndexRegistryStorage} from "src/IndexRegistryStorage.sol";
+import {IRegistryCoordinator} from "src/interfaces/IRegistryCoordinator.sol";
 
 /**
  * @title A `Registry` that keeps track of an ordered list of operators for each quorum
diff --git a/src/IndexRegistryStorage.sol b/src/IndexRegistryStorage.sol
index d69c436c..570d5fa8 100644
--- a/src/IndexRegistryStorage.sol
+++ b/src/IndexRegistryStorage.sol
@@ -1,10 +1,10 @@
 // SPDX-License-Identifier: BUSL-1.1
 pragma solidity =0.8.12;
 
-import "./interfaces/IIndexRegistry.sol";
-import "./interfaces/IRegistryCoordinator.sol";
+import {Initializable} from "@openzeppelin-upgrades/contracts/proxy/utils/Initializable.sol";
 
-import "@openzeppelin-upgrades/contracts/proxy/utils/Initializable.sol";
+import {IRegistryCoordinator} from "src/interfaces/IRegistryCoordinator.sol";
+import {IIndexRegistry} from "src/interfaces/IIndexRegistry.sol";
 
 /**
  * @title Storage variables for the `IndexRegistry` contract.
diff --git a/src/ServiceManagerBase.sol b/src/ServiceManagerBase.sol
index 325065d4..3a794a00 100644
--- a/src/ServiceManagerBase.sol
+++ b/src/ServiceManagerBase.sol
@@ -1,17 +1,17 @@
 // SPDX-License-Identifier: UNLICENSED
 pragma solidity ^0.8.9;
 
-import "@openzeppelin-upgrades/contracts/proxy/utils/Initializable.sol";
-import "@openzeppelin-upgrades/contracts/access/OwnableUpgradeable.sol";
+import {OwnableUpgradeable} from "@openzeppelin-upgrades/contracts/access/OwnableUpgradeable.sol";
+import {Initializable} from "@openzeppelin-upgrades/contracts/proxy/utils/Initializable.sol";
 
-import "eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol";
-import "eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol";
-import "eigenlayer-contracts/src/contracts/permissions/Pausable.sol";
+import {IPauserRegistry} from "eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol";
+import {ISlasher} from "eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol";
+import {Pausable} from "eigenlayer-contracts/src/contracts/permissions/Pausable.sol";
 
-import "./interfaces/IBLSRegistryCoordinatorWithIndices.sol";
-import "./interfaces/IServiceManager.sol";
+import {BLSSignatureChecker} from "src/BLSSignatureChecker.sol";
 
-import "./BLSSignatureChecker.sol";
+import {IBLSRegistryCoordinatorWithIndices} from "src/interfaces/IBLSRegistryCoordinatorWithIndices.sol";
+import {IServiceManager} from "src/interfaces/IServiceManager.sol";
 
 /**
  * @title Base implementation of `IServiceManager` interface, designed to be inherited from by more complex ServiceManagers.
diff --git a/src/StakeRegistry.sol b/src/StakeRegistry.sol
index acb25268..da2d04ee 100644
--- a/src/StakeRegistry.sol
+++ b/src/StakeRegistry.sol
@@ -1,12 +1,15 @@
 // SPDX-License-Identifier: BUSL-1.1
 pragma solidity =0.8.12;
 
-import "@openzeppelin/contracts/utils/math/Math.sol";
-import "eigenlayer-contracts/src/contracts/libraries/BitmapUtils.sol";
-import "src/interfaces/IServiceManager.sol";
-import "src/interfaces/IStakeRegistry.sol";
-import "src/interfaces/IRegistryCoordinator.sol";
-import "src/StakeRegistryStorage.sol";
+import {IDelegationManager} from "eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol";
+
+import {StakeRegistryStorage} from "src/StakeRegistryStorage.sol";
+
+import {IRegistryCoordinator} from "src/interfaces/IRegistryCoordinator.sol";
+import {IServiceManager} from "src/interfaces/IServiceManager.sol";
+import {IStakeRegistry} from "src/interfaces/IStakeRegistry.sol";
+
+import {BitmapUtils} from "src/libraries/BitmapUtils.sol";
 
 /**
  * @title A `Registry` that keeps track of stakes of operators for up to 256 quorums.
diff --git a/src/StakeRegistryStorage.sol b/src/StakeRegistryStorage.sol
index 7a950597..2d08d8ce 100644
--- a/src/StakeRegistryStorage.sol
+++ b/src/StakeRegistryStorage.sol
@@ -1,18 +1,12 @@
 // SPDX-License-Identifier: BUSL-1.1
 pragma solidity =0.8.12;
 
-import {IStrategyManager} from "eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol";
-<<<<<<< HEAD
-import {IServiceManager} from "./interfaces/IServiceManager.sol";
-import {IStakeRegistry} from  "./interfaces/IStakeRegistry.sol";
-import {IRegistryCoordinator} from "./interfaces/IRegistryCoordinator.sol";
-=======
 import {IDelegationManager} from "eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol";
+import {IStrategyManager} from "eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol";
 
+import {IRegistryCoordinator} from "src/interfaces/IRegistryCoordinator.sol";
 import {IServiceManager} from "src/interfaces/IServiceManager.sol";
 import {IStakeRegistry} from  "src/interfaces/IStakeRegistry.sol";
-import {IRegistryCoordinator} from "src/interfaces/IRegistryCoordinator.sol";
->>>>>>> 12b09de (fix: fix compilation issues and tests)
 
 /**
  * @title Storage variables for the `StakeRegistry` contract.
diff --git a/src/interfaces/IBLSRegistry.sol b/src/interfaces/IBLSRegistry.sol
index d9122263..7e712471 100644
--- a/src/interfaces/IBLSRegistry.sol
+++ b/src/interfaces/IBLSRegistry.sol
@@ -4,7 +4,6 @@ pragma solidity >=0.5.0;
 import {IQuorumRegistry} from "./IQuorumRegistry.sol";
 import {BN254} from "../libraries/BN254.sol";
 
-
 /**
  * @title Minimal interface extension to `IQuorumRegistry`.
  * @author Layr Labs, Inc.
diff --git a/src/interfaces/IBLSRegistryCoordinatorWithIndices.sol b/src/interfaces/IBLSRegistryCoordinatorWithIndices.sol
index 6966af04..04b64815 100644
--- a/src/interfaces/IBLSRegistryCoordinatorWithIndices.sol
+++ b/src/interfaces/IBLSRegistryCoordinatorWithIndices.sol
@@ -2,11 +2,13 @@
 pragma solidity =0.8.12;
 
 import {ISignatureUtils} from "eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol";
-import {IRegistryCoordinator} from "./IRegistryCoordinator.sol";
-import {IStakeRegistry} from "./IStakeRegistry.sol";
-import {IBLSPubkeyRegistry} from "./IBLSPubkeyRegistry.sol";
-import {IIndexRegistry} from "./IIndexRegistry.sol";
-import {BN254} from "../libraries/BN254.sol";
+
+import {IRegistryCoordinator} from "src/interfaces/IRegistryCoordinator.sol";
+import {IBLSPubkeyRegistry} from "src/interfaces/IBLSPubkeyRegistry.sol";
+import {IStakeRegistry} from "src/interfaces/IStakeRegistry.sol";
+import {IIndexRegistry} from "src/interfaces/IIndexRegistry.sol";
+
+import {BN254} from "src/libraries/BN254.sol";
 
 /**
  * @title Minimal interface for the `IBLSStakeRegistryCoordinator` contract.
diff --git a/src/interfaces/IBLSSignatureChecker.sol b/src/interfaces/IBLSSignatureChecker.sol
index e2759f95..0162e0c6 100644
--- a/src/interfaces/IBLSSignatureChecker.sol
+++ b/src/interfaces/IBLSSignatureChecker.sol
@@ -1,11 +1,12 @@
 // SPDX-License-Identifier: BUSL-1.1
 pragma solidity =0.8.12;
 
-import {IBLSRegistryCoordinatorWithIndices} from "./IBLSRegistryCoordinatorWithIndices.sol";
-import {IBLSPubkeyRegistry} from "./IBLSPubkeyRegistry.sol";
-import {IRegistryCoordinator} from "./IRegistryCoordinator.sol";
-import {IStakeRegistry} from "./IStakeRegistry.sol";
-import {BN254} from "../libraries/BN254.sol";
+import {IBLSRegistryCoordinatorWithIndices} from "src/interfaces/IBLSRegistryCoordinatorWithIndices.sol";
+import {IRegistryCoordinator} from "src/interfaces/IRegistryCoordinator.sol";
+import {IBLSPubkeyRegistry} from "src/interfaces/IBLSPubkeyRegistry.sol";
+import {IStakeRegistry} from "src/interfaces/IStakeRegistry.sol";
+
+import {BN254} from "src/libraries/BN254.sol";
 
 /**
  * @title Used for checking BLS aggregate signatures from the operators of a EigenLayer AVS with the RegistryCoordinator/BLSPubkeyRegistry/StakeRegistry architechture.
diff --git a/src/interfaces/IIndexRegistry.sol b/src/interfaces/IIndexRegistry.sol
index 552c1a4d..1765802d 100644
--- a/src/interfaces/IIndexRegistry.sol
+++ b/src/interfaces/IIndexRegistry.sol
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: BUSL-1.1
 pragma solidity =0.8.12;
 
-import "./IRegistry.sol";
+import {IRegistry} from "./IRegistry.sol";
 
 /**
  * @title Interface for a `Registry`-type contract that keeps track of an ordered list of operators for up to 256 quorums.
diff --git a/src/interfaces/IQuorumRegistry.sol b/src/interfaces/IQuorumRegistry.sol
index d59dfcf1..21c10dee 100644
--- a/src/interfaces/IQuorumRegistry.sol
+++ b/src/interfaces/IQuorumRegistry.sol
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: BUSL-1.1
 pragma solidity >=0.5.0;
 
-import "./IRegistry.sol";
+import {IRegistry} from "./IRegistry.sol";
 
 /**
  * @title Interface for a `Registry`-type contract that uses either 1 or 2 quorums.
diff --git a/src/interfaces/IStakeRegistry.sol b/src/interfaces/IStakeRegistry.sol
index 880557b6..63a16b9a 100644
--- a/src/interfaces/IStakeRegistry.sol
+++ b/src/interfaces/IStakeRegistry.sol
@@ -1,11 +1,11 @@
 // SPDX-License-Identifier: BUSL-1.1
 pragma solidity =0.8.12;
 
-import {IStrategy} from "eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol";
 import {IDelegationManager} from "eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol";
+import {IStrategy} from "eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol";
 
-import {IRegistry} from "./IRegistry.sol";
 import {IServiceManager} from "./IServiceManager.sol";
+import {IRegistry} from "./IRegistry.sol";
 
 /**
  * @title Interface for a `Registry` that keeps track of stakes of operators for up to 256 quorums.