deploy_avs_contracts

Function deploy_avs_contracts 

Source
pub async fn deploy_avs_contracts(
    http_endpoint: &str,
    private_key: &str,
    deployer_address: Address,
    num_quorums: u32,
    permission_controller_address: Address,
    allocation_manager_address: Address,
    avs_directory_addr: Address,
    delegation_manager_addr: Address,
    pauser_registry_addr: Address,
    rewards_coordinator_addr: Address,
    strategy_factory_addr: Address,
    task_generator_addr: Address,
    aggregator_addr: Address,
    task_response_window_block: u32,
) -> Result<DeployedContracts>
Expand description

Deploys the EigenLayer AVS contracts

This function deploys all the necessary contracts for the EigenLayer AVS following the logic from the provided Solidity script.

§Arguments

  • http_endpoint - HTTP endpoint for the RPC provider
  • private_key - Private key for the deployer account
  • num_quorums - Number of quorums
  • permission_controller_address - Address of the permission controller
  • allocation_manager_address - Address of the allocation manager
  • avs_directory_addr - Address of the AVS directory
  • delegation_manager_addr - Address of the delegation manager
  • eigen_layer_pauser_reg_addr - Address of the EigenLayer pauser registry
  • rewards_coordinator_addr - Address of the rewards coordinator
  • task_generator_addr - Address of the task generator
  • aggregator_addr - Address of the aggregator
  • task_response_window_block - Task response window in blocks

§Returns

  • Result<DeployedContracts> - The deployed contract addresses

§Errors

  • color_eyre::eyre::Error - If any deployment or transaction fails