mirror of
https://github.com/datahaven-xyz/datahaven
synced 2026-05-24 09:50:01 +00:00
## Summary This PR fixes several issues with the CLI deploy-contracts command to properly support local Anvil deployments and improves the overall contract deployment workflow. ### Key fixes: - Add support for anvil chain in the CLI deploy contracts command - Rename PRIVATE_KEY to DEPLOYER_PRIVATE_KEY for consistency and clarity across the deployment flow - Fix EigenLayer contract status display for local/anvil chains by reading addresses from the deployments file instead of config - Fix runShellCommandWithLogger to properly throw errors on command failure - Correct totalSteps in DeployTestnet.s.sol from 2 to 4 ### Housekeeping: - Update .gitignore to ignore the entire broadcast/ folder (autogenerated Foundry artifacts) - Streamline contracts/README.md with clearer structure and deployment instructions |
||
|---|---|---|
| .. | ||
| .env.example | ||
| deploy.ts | ||
| index.ts | ||
| README.md | ||
| status.ts | ||
| update-metadata.ts | ||
| verify.ts | ||
DataHaven Contracts Deployment
Deploy DataHaven AVS contracts to supported chains (Hoodi, Holesky, Mainnet).
What Gets Deployed
- DataHaven: ServiceManager, VetoableSlasher, RewardsRegistry
- Snowbridge: BeefyClient, AgentExecutor, Gateway, RewardsAgent
- EigenLayer: References existing contracts (not deployed)
Prerequisites
- Account Setup: Create or import an account in Metamask (you'll need the private key)
- Funding: Get native tokens for deployment fees:
- Hoodi: Use PoW Faucet at https://hoodi-faucet.pk910.de/#/mine/cc7df92c-9629-4ad8-aaa4-53b1e1c294e8
- Holesky: Use public faucets or bridge from mainnet
- Mainnet: Purchase ETH
- API Key (optional): Generate API token from block explorer for contract verification:
- Hoodi: Etherscan-compatible endpoint
- Holesky: https://holesky.etherscan.io/apis
- Mainnet: https://etherscan.io/apis
Setup
cd test && cp cli/handlers/contracts/.env.example .env
Edit .env with your values:
# Required: Private key with deployment funds
DEPLOYER_PRIVATE_KEY=0x...
# Required: AVS owner private key (can be same as DEPLOYER_PRIVATE_KEY)
AVS_OWNER_PRIVATE_KEY=0x...
# Optional: For contract verification
ETHERSCAN_API_KEY=your_api_key_here
Deployment Commands
Deploy to Hoodi
bun cli contracts deploy --chain hoodi
Deploy to Holesky
bun cli contracts deploy --chain holesky
Deploy to Mainnet
bun cli contracts deploy --chain mainnet
Custom RPC URL
bun cli contracts deploy --chain hoodi --rpc-url https://your-rpc-url.com
Check Deployment Status
bun cli contracts status --chain hoodi
Deployment Files
Successful deployments create:
../contracts/deployments/{chain}.json- Contract addresses../contracts/deployments/{chain}-rewards-info.json- Rewards configuration