datahaven/test/cli/handlers/contracts
Gonza Montiel 9f6614770c
feat: support updating the AVS dashboard metadata (#136)
## Key changes
- Add CLI command to update AVS metadata URI on-chain via
`updateAVSMetadataURI` function. Use:
  - `bun cli contracts update-metadata --chain <...> --uri <...>`
- Support for multiple chains (tipicaly holesky, hoodi, or a mainnet)
- Tx confirmation and gas usage reporting

---------

Co-authored-by: Steve Degosserie <723552+stiiifff@users.noreply.github.com>
2025-09-02 15:54:47 +02:00
..
.env.example feat: support updating the AVS dashboard metadata (#136) 2025-09-02 15:54:47 +02:00
deploy.ts feat: Datahaven contracts deployment on public testnet (#123) 2025-08-21 10:02:31 +00:00
index.ts feat: support updating the AVS dashboard metadata (#136) 2025-09-02 15:54:47 +02:00
README.md feat: Datahaven contracts deployment on public testnet (#123) 2025-08-21 10:02:31 +00:00
status.ts feat: Datahaven contracts deployment on public testnet (#123) 2025-08-21 10:02:31 +00:00
update-metadata.ts feat: support updating the AVS dashboard metadata (#136) 2025-09-02 15:54:47 +02:00
verify.ts feat: Datahaven contracts deployment on public testnet (#123) 2025-08-21 10:02:31 +00:00

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

  1. Account Setup: Create or import an account in Metamask (you'll need the private key)
  2. Funding: Get native tokens for deployment fees:
  3. API Key (optional): Generate API token from block explorer for contract verification:

Setup

cd test && cp cli/handlers/contracts/.env.example .env

Edit .env with your values:

# Required: Private key with deployment funds
PRIVATE_KEY=0x...

# Required: AVS owner private key (can be same as 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