The home for Hyperlane core contracts, sdk packages, and other infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hyperlane-monorepo/solidity/contracts/interfaces/avs/vendored/IDelegationManager.sol

38 lines
1.4 KiB

// SPDX-License-Identifier: BUSL-1.1
pragma solidity >=0.8.0;
import {IStrategy} from "./IStrategy.sol";
/**
* @title DelegationManager
* @author Layr Labs, Inc.
* @notice Terms of Service: https://docs.eigenlayer.xyz/overview/terms-of-service
* @notice This is the contract for delegation in EigenLayer. The main functionalities of this contract are
* - enabling anyone to register as an operator in EigenLayer
* - allowing operators to specify parameters related to stakers who delegate to them
* - enabling any staker to delegate its stake to the operator of its choice (a given staker can only delegate to a single operator at a time)
* - enabling a staker to undelegate its assets from the operator it is delegated to (performed as part of the withdrawal process, initiated through the StrategyManager)
*/
interface IDelegationManager {
struct OperatorDetails {
address earningsReceiver;
address delegationApprover;
uint32 stakerOptOutWindowBlocks;
}
feat(cli): Add avs validator status command (#4056) ### Description <!-- What's included in this PR? --> - Command to check all operators on our AVS and show the chains that they are validating on - Already been reviewed here https://github.com/hyperlane-xyz/hyperlane-monorepo/pull/4004, this PR was to merge it main instead of cli-2.0 Example usage: ``` yarn hyperlane avs check --chain ethereum --registry $REGISTRY Hyperlane CLI Checking AVS validator status for ethereum, this may take up to a minute to run... ❗️ MerkleTreeHook is not deployed on anvil8545 Operator name: Abacus Works AVS Operator Operator address: 0xFe114FcC7609578f525219a8eF77e2CCe27C5357 Validator address: 0x03c842db86A6A3E524D4a6615390c1Ea8E2b9541 Validating on... ethereum Storage location: s3://hyperlane-mainnet3-ethereum-validator-0/us-east-1 Latest merkle tree checkpoint index: 8219 Latest validator checkpoint index: 8219 ✅ Validator is signing latest checkpoint Operator name: Kelp by Kiln Operator address: 0x96fC0751e0febe7296d4625500f8e4535a002c7d Validator address: 0xEa5f21513182e97D0169a4d2E7aC71Ae8827F5bC Validating on... ethereum Storage location: s3://kiln-mainnet-hyperlane-validator-signatures/eu-west-1/ethereum Latest merkle tree checkpoint index: 8219 ❌ Failed to fetch latest signed checkpoint index The following warnings were encountered: ❗️ Failed to fetch latest signed checkpoint index of validator on ethereum, this is likely due to failing to read an S3 bucket ``` ### Drive-by changes <!-- Are there any minor or drive-by changes also included? --> ### Related issues <!-- - Fixes #[issue number here] --> - Fixes #3976 ### 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 --> No ### Testing <!-- What kind of testing have these changes undergone? None/Manual/Unit Tests --> Manual
5 months ago
event OperatorMetadataURIUpdated(
address indexed operator,
string metadataURI
);
function registerAsOperator(
OperatorDetails calldata registeringOperatorDetails,
string calldata metadataURI
) external;
function getOperatorShares(
address operator,
IStrategy[] memory strategies
) external view returns (uint256[] memory);
}