{"id":30071289,"url":"https://github.com/tangle-network/eigenlayer-contract-deployer","last_synced_at":"2025-08-08T12:40:25.662Z","repository":{"id":286008760,"uuid":"959902307","full_name":"tangle-network/eigenlayer-contract-deployer","owner":"tangle-network","description":"A library containing Rust bindings for contracts and tools for deploying contracts","archived":false,"fork":false,"pushed_at":"2025-07-14T18:40:59.000Z","size":2512,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-01T06:01:33.284Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tangle-network.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-03T14:34:46.000Z","updated_at":"2025-06-27T18:07:06.000Z","dependencies_parsed_at":"2025-06-27T19:22:14.071Z","dependency_job_id":"9c8b9a8d-115c-4dac-b1d4-6f5f08aa54a8","html_url":"https://github.com/tangle-network/eigenlayer-contract-deployer","commit_stats":null,"previous_names":["tangle-network/blueprint-contract-deployer","tangle-network/eigenlayer-contract-deployer"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/tangle-network/eigenlayer-contract-deployer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Feigenlayer-contract-deployer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Feigenlayer-contract-deployer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Feigenlayer-contract-deployer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Feigenlayer-contract-deployer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tangle-network","download_url":"https://codeload.github.com/tangle-network/eigenlayer-contract-deployer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Feigenlayer-contract-deployer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269423681,"owners_count":24414612,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-08T02:00:09.200Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-08T12:40:19.844Z","updated_at":"2025-08-08T12:40:25.636Z","avatar_url":"https://github.com/tangle-network.png","language":"Rust","readme":"![Tangle Network Banner](https://raw.githubusercontent.com/tangle-network/tangle/refs/heads/main/assets/Tangle%20%20Banner.png)\n\n\u003ch1 align=\"center\"\u003eEigenlayer Contract Deployer\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\u003cem\u003eA Rust library for generating bindings and deploying smart contracts for Eigenlayer AVSs.\u003c/em\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/tangle-network/eigenlayer-contract-deployer/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/tangle-network/eigenlayer-contract-deployer/ci.yml?branch=main\u0026logo=github\" alt=\"Build Status\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/tangle-network/eigenlayer-contract-deployer/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/tangle-network/eigenlayer-contract-deployer?sort=semver\u0026display_name=release\" alt=\"Latest Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/tangle-network/eigenlayer-contract-deployer/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/tangle-network/eigenlayer-contract-deployer\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.com/invite/cv8EfJu3Tn\"\u003e\u003cimg src=\"https://img.shields.io/discord/833784453251596298?label=Discord\" alt=\"Discord\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://t.me/tanglenet\"\u003e\u003cimg src=\"https://img.shields.io/endpoint?color=neon\u0026url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Ftanglenet\" alt=\"Telegram\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Overview\n\nThe Eigenlayer Contract Deployer is a Rust library that provides bindings for smart contracts commonly used in blueprints created with the Blueprint SDK. It focuses on EigenLayer/EVM blueprints and includes tools for deploying contracts and setting up environments for blueprints.\n\nThe library contains:\n\n1. **Rust Bindings for Smart Contracts**: Automatically generated Rust bindings for specified contracts.\n2. **Deployment Tools**: Helper functions for deploying contracts and setting up permissions.\n3. **Environment Setup**: Utilities for setting up environments for blueprints, specifically for EigenLayer AVSs.\n\nCurrently, the library includes specific support for the EigenLayer Incredible Squaring blueprint, with plans to make it more general-purpose for any AVS.\n\n## Features\n\n- **Automatic Binding Generation**: Uses a build script to generate Rust bindings from Solidity contracts.\n- **Core Contract Deployment**: Functions to deploy EigenLayer core contracts.\n- **AVS Contract Deployment**: Functions to deploy AVS-specific contracts for EigenLayer.\n- **Permission Management**: Utilities to set up permissions between aforementioned contracts.\n\n## Usage\n\n### Prerequisites\n\n- Rust 1.86\n- Forge (for contract compilation and binding generation)\n\n### Installation\n\nAdd the library to your Cargo.toml:\n\n```toml\n[dependencies]\neigenlayer-contract-deployer = { git = \"https://github.com/tangle-network/eigenlayer-contract-deployer\" }\n```\n\n### Example: Deploying EigenLayer AVS Contracts\n\n```rust\nuse eigenlayer_contract_deployer::deploy::deploy_avs_contracts;\nuse eigenlayer_contract_deployer::core::deploy_core_contracts;\nuse alloy_primitives::Address;\n\nasync fn deploy_my_avs() -\u003e Result\u003c(), Box\u003cdyn std::error::Error\u003e\u003e {\n    // Deploy core contracts first\n    let core_contracts = deploy_core_contracts(\n        \"http://localhost:8545\",\n        \"private_key\",\n        deployer_address,\n        config_data,\n        None,\n        None,\n    ).await?;\n    \n    // Deploy AVS contracts\n    let avs_contracts = deploy_avs_contracts(\n        \"http://localhost:8545\",\n        \"private_key\",\n        deployer_address,\n        1, // num_quorums\n        core_contracts.permission_controller,\n        core_contracts.allocation_manager,\n        core_contracts.avs_directory,\n        core_contracts.delegation_manager,\n        core_contracts.pauser_registry,\n        core_contracts.rewards_coordinator,\n        core_contracts.strategy_factory,\n        task_generator_addr,\n        aggregator_addr,\n        100, // task_response_window_block\n    ).await?;\n    \n    // Setup permissions\n    setup_avs_permissions(\n        \u0026core_contracts,\n        \u0026avs_contracts,\n        \u0026wallet,\n        deployer_address,\n        \"metadata_uri\".to_string(),\n    ).await?;\n    \n    Ok(())\n}\n```\n\n## Architecture\n\nThe library is structured as follows:\n\n- **build.rs**: Handles the automatic generation of Rust bindings from Solidity contracts.\n- **src/bindings/**: Contains the generated Rust bindings for contracts.\n- **src/core.rs**: Functions for deploying EigenLayer core contracts.\n- **src/deploy.rs**: Functions for deploying AVS-specific contracts.\n- **src/helpers.rs**: Utility functions for contract deployment.\n- **src/permissions.rs**: Functions for setting up permissions between contracts.\n\n## 📜 License\n\nLicensed under either of\n\n* Apache License, Version 2.0\n  ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n* MIT license\n  ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your discretion.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftangle-network%2Feigenlayer-contract-deployer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftangle-network%2Feigenlayer-contract-deployer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftangle-network%2Feigenlayer-contract-deployer/lists"}