Module ServiceManagerBase

Source
Expand description

Generated by the following Solidity interface…

library IRewardsCoordinator {
    struct OperatorDirectedRewardsSubmission {
        StrategyAndMultiplier[] strategiesAndMultipliers;
        address token;
        OperatorReward[] operatorRewards;
        uint32 startTimestamp;
        uint32 duration;
        string description;
    }
    struct OperatorReward {
        address operator;
        uint256 amount;
    }
    struct RewardsSubmission {
        StrategyAndMultiplier[] strategiesAndMultipliers;
        address token;
        uint256 amount;
        uint32 startTimestamp;
        uint32 duration;
    }
    struct StrategyAndMultiplier {
        address strategy;
        uint96 multiplier;
    }
}

library ISignatureUtils {
    struct SignatureWithSaltAndExpiry {
        bytes signature;
        bytes32 salt;
        uint256 expiry;
    }
}

interface ServiceManagerBase {
    event Initialized(uint8 version);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    event RewardsInitiatorUpdated(address prevRewardsInitiator, address newRewardsInitiator);

    function avsDirectory() external view returns (address);
    function createAVSRewardsSubmission(IRewardsCoordinator.RewardsSubmission[] memory rewardsSubmissions) external;
    function createOperatorDirectedAVSRewardsSubmission(IRewardsCoordinator.OperatorDirectedRewardsSubmission[] memory operatorDirectedRewardsSubmissions) external;
    function deregisterOperatorFromAVS(address operator) external;
    function getOperatorRestakedStrategies(address operator) external view returns (address[] memory);
    function getRestakeableStrategies() external view returns (address[] memory);
    function owner() external view returns (address);
    function registerOperatorToAVS(address operator, ISignatureUtils.SignatureWithSaltAndExpiry memory operatorSignature) external;
    function renounceOwnership() external;
    function rewardsInitiator() external view returns (address);
    function setClaimerFor(address claimer) external;
    function setRewardsInitiator(address newRewardsInitiator) external;
    function transferOwnership(address newOwner) external;
    function updateAVSMetadataURI(string memory _metadataURI) external;
}

…which was generated by the following JSON ABI:

[
  {
    "type": "function",
    "name": "avsDirectory",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "createAVSRewardsSubmission",
    "inputs": [
      {
        "name": "rewardsSubmissions",
        "type": "tuple[]",
        "internalType": "struct IRewardsCoordinator.RewardsSubmission[]",
        "components": [
          {
            "name": "strategiesAndMultipliers",
            "type": "tuple[]",
            "internalType": "struct IRewardsCoordinator.StrategyAndMultiplier[]",
            "components": [
              {
                "name": "strategy",
                "type": "address",
                "internalType": "contract IStrategy"
              },
              {
                "name": "multiplier",
                "type": "uint96",
                "internalType": "uint96"
              }
            ]
          },
          {
            "name": "token",
            "type": "address",
            "internalType": "contract IERC20"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "startTimestamp",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "duration",
            "type": "uint32",
            "internalType": "uint32"
          }
        ]
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "createOperatorDirectedAVSRewardsSubmission",
    "inputs": [
      {
        "name": "operatorDirectedRewardsSubmissions",
        "type": "tuple[]",
        "internalType": "struct IRewardsCoordinator.OperatorDirectedRewardsSubmission[]",
        "components": [
          {
            "name": "strategiesAndMultipliers",
            "type": "tuple[]",
            "internalType": "struct IRewardsCoordinator.StrategyAndMultiplier[]",
            "components": [
              {
                "name": "strategy",
                "type": "address",
                "internalType": "contract IStrategy"
              },
              {
                "name": "multiplier",
                "type": "uint96",
                "internalType": "uint96"
              }
            ]
          },
          {
            "name": "token",
            "type": "address",
            "internalType": "contract IERC20"
          },
          {
            "name": "operatorRewards",
            "type": "tuple[]",
            "internalType": "struct IRewardsCoordinator.OperatorReward[]",
            "components": [
              {
                "name": "operator",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "amount",
                "type": "uint256",
                "internalType": "uint256"
              }
            ]
          },
          {
            "name": "startTimestamp",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "duration",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "description",
            "type": "string",
            "internalType": "string"
          }
        ]
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deregisterOperatorFromAVS",
    "inputs": [
      {
        "name": "operator",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "getOperatorRestakedStrategies",
    "inputs": [
      {
        "name": "operator",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getRestakeableStrategies",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "owner",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "registerOperatorToAVS",
    "inputs": [
      {
        "name": "operator",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "operatorSignature",
        "type": "tuple",
        "internalType": "struct ISignatureUtils.SignatureWithSaltAndExpiry",
        "components": [
          {
            "name": "signature",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "salt",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "expiry",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "renounceOwnership",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "rewardsInitiator",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "setClaimerFor",
    "inputs": [
      {
        "name": "claimer",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "setRewardsInitiator",
    "inputs": [
      {
        "name": "newRewardsInitiator",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "transferOwnership",
    "inputs": [
      {
        "name": "newOwner",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "updateAVSMetadataURI",
    "inputs": [
      {
        "name": "_metadataURI",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "event",
    "name": "Initialized",
    "inputs": [
      {
        "name": "version",
        "type": "uint8",
        "indexed": false,
        "internalType": "uint8"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "OwnershipTransferred",
    "inputs": [
      {
        "name": "previousOwner",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "newOwner",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "RewardsInitiatorUpdated",
    "inputs": [
      {
        "name": "prevRewardsInitiator",
        "type": "address",
        "indexed": false,
        "internalType": "address"
      },
      {
        "name": "newRewardsInitiator",
        "type": "address",
        "indexed": false,
        "internalType": "address"
      }
    ],
    "anonymous": false
  }
]

Structs§

Initialized
Event with signature Initialized(uint8) and selector 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. solidity event Initialized(uint8 version);
OwnershipTransferred
Event with signature OwnershipTransferred(address,address) and selector 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. solidity event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
RewardsInitiatorUpdated
Event with signature RewardsInitiatorUpdated(address,address) and selector 0xe11cddf1816a43318ca175bbc52cd0185436e9cbead7c83acc54a73e461717e3. solidity event RewardsInitiatorUpdated(address prevRewardsInitiator, address newRewardsInitiator);
ServiceManagerBaseInstance
A ServiceManagerBase instance.
avsDirectoryCall
Function with signature avsDirectory() and selector 0x6b3aa72e. solidity function avsDirectory() external view returns (address);
avsDirectoryReturn
Container type for the return parameters of the avsDirectory() function.
createAVSRewardsSubmissionCall
Function with signature createAVSRewardsSubmission(((address,uint96)[],address,uint256,uint32,uint32)[]) and selector 0xfce36c7d. solidity function createAVSRewardsSubmission(IRewardsCoordinator.RewardsSubmission[] memory rewardsSubmissions) external;
createAVSRewardsSubmissionReturn
Container type for the return parameters of the createAVSRewardsSubmission(((address,uint96)[],address,uint256,uint32,uint32)[]) function.
createOperatorDirectedAVSRewardsSubmissionCall
Function with signature createOperatorDirectedAVSRewardsSubmission(((address,uint96)[],address,(address,uint256)[],uint32,uint32,string)[]) and selector 0xa20b99bf. solidity function createOperatorDirectedAVSRewardsSubmission(IRewardsCoordinator.OperatorDirectedRewardsSubmission[] memory operatorDirectedRewardsSubmissions) external;
createOperatorDirectedAVSRewardsSubmissionReturn
Container type for the return parameters of the createOperatorDirectedAVSRewardsSubmission(((address,uint96)[],address,(address,uint256)[],uint32,uint32,string)[]) function.
deregisterOperatorFromAVSCall
Function with signature deregisterOperatorFromAVS(address) and selector 0xa364f4da. solidity function deregisterOperatorFromAVS(address operator) external;
deregisterOperatorFromAVSReturn
Container type for the return parameters of the deregisterOperatorFromAVS(address) function.
getOperatorRestakedStrategiesCall
Function with signature getOperatorRestakedStrategies(address) and selector 0x33cfb7b7. solidity function getOperatorRestakedStrategies(address operator) external view returns (address[] memory);
getOperatorRestakedStrategiesReturn
Container type for the return parameters of the getOperatorRestakedStrategies(address) function.
getRestakeableStrategiesCall
Function with signature getRestakeableStrategies() and selector 0xe481af9d. solidity function getRestakeableStrategies() external view returns (address[] memory);
getRestakeableStrategiesReturn
Container type for the return parameters of the getRestakeableStrategies() function.
ownerCall
Function with signature owner() and selector 0x8da5cb5b. solidity function owner() external view returns (address);
ownerReturn
Container type for the return parameters of the owner() function.
registerOperatorToAVSCall
Function with signature registerOperatorToAVS(address,(bytes,bytes32,uint256)) and selector 0x9926ee7d. solidity function registerOperatorToAVS(address operator, ISignatureUtils.SignatureWithSaltAndExpiry memory operatorSignature) external;
registerOperatorToAVSReturn
Container type for the return parameters of the registerOperatorToAVS(address,(bytes,bytes32,uint256)) function.
renounceOwnershipCall
Function with signature renounceOwnership() and selector 0x715018a6. solidity function renounceOwnership() external;
renounceOwnershipReturn
Container type for the return parameters of the renounceOwnership() function.
rewardsInitiatorCall
Function with signature rewardsInitiator() and selector 0xfc299dee. solidity function rewardsInitiator() external view returns (address);
rewardsInitiatorReturn
Container type for the return parameters of the rewardsInitiator() function.
setClaimerForCall
Function with signature setClaimerFor(address) and selector 0xa0169ddd. solidity function setClaimerFor(address claimer) external;
setClaimerForReturn
Container type for the return parameters of the setClaimerFor(address) function.
setRewardsInitiatorCall
Function with signature setRewardsInitiator(address) and selector 0x3bc28c8c. solidity function setRewardsInitiator(address newRewardsInitiator) external;
setRewardsInitiatorReturn
Container type for the return parameters of the setRewardsInitiator(address) function.
transferOwnershipCall
Function with signature transferOwnership(address) and selector 0xf2fde38b. solidity function transferOwnership(address newOwner) external;
transferOwnershipReturn
Container type for the return parameters of the transferOwnership(address) function.
updateAVSMetadataURICall
Function with signature updateAVSMetadataURI(string) and selector 0xa98fb355. solidity function updateAVSMetadataURI(string memory _metadataURI) external;
updateAVSMetadataURIReturn
Container type for the return parameters of the updateAVSMetadataURI(string) function.

Enums§

ServiceManagerBaseCalls
Container for all the ServiceManagerBase function calls.
ServiceManagerBaseEvents
Container for all the ServiceManagerBase events.

Statics§

BYTECODE
The creation / init bytecode of the contract.
DEPLOYED_BYTECODE
The runtime bytecode of the contract, as deployed on the network.

Functions§

deploy
Deploys this contract using the given provider and constructor arguments, if any.
deploy_builder
Creates a RawCallBuilder for deploying this contract using the given provider and constructor arguments, if any.
new
Creates a new wrapper around an on-chain ServiceManagerBase contract instance.