### Description
- Implements `IServiceManager` for the `ECDSAServiceManagerBase` which
has a single quorum
- `HyperlaneServiceManager` (HSM), the main AVS contract for
registering/deregistering operators and enrolling/unenrolling into
challengers
- the HSM has a mutable slasher so that once the EL slasher is live, we
can set it for your AVS too to enable freezing operators.
- EnumerableMapEnrollment for a enumerable map of enrollment statuses
for each operator and challenger
Update: I switched the ECDSAServiceManager i had written earlier to
steven's PR here:
https://github.com/Layr-Labs/eigenlayer-middleware/pull/234. The
differences are:
- events for (de)registering
Notes
- `hardhat yarn` tries looking for all imports (including the ones from
submodules) as npm libraries , eg. @eigenlayer/core.
### Drive-by changes
- none
### Related issues
- fixes https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/3590,
### Backward compatibility
<!--
Are these changes backward compatible? Are there any infrastructure
implications, e.g. changes that would prohibit deploying older commits
using this infra tooling?
Yes/No
-->
### Testing
<!--
What kind of testing have these changes undergone?
None/Manual/Unit Tests
-->