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 providerprivate_key- Private key for the deployer accountnum_quorums- Number of quorumspermission_controller_address- Address of the permission controllerallocation_manager_address- Address of the allocation manageravs_directory_addr- Address of the AVS directorydelegation_manager_addr- Address of the delegation managereigen_layer_pauser_reg_addr- Address of the EigenLayer pauser registryrewards_coordinator_addr- Address of the rewards coordinatortask_generator_addr- Address of the task generatoraggregator_addr- Address of the aggregatortask_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