evm-deployment

Deploy Sablier EVM contracts (Comptroller, ERC20 Faucet, Flow, Lockup, Airdrops) with full workflow automation. This skill should be used when the user asks to "deploy", "deploy protocol", "deploy to chain", or mentions deployment-related tasks. Handles contract deployment, explorer verification, SDK updates, and sample data creation through Init script.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "evm-deployment" with this command: npx skills add sablier-labs/agent-skills/sablier-labs-agent-skills-evm-deployment

Overview

End-to-end deployment workflow for Sablier EVM contracts. Supports Comptroller, Flow, Lockup, and Airdrops with protocol-specific adaptations.

Prerequisites

Version Check

Before proceeding, verify Foundry version:

forge -V

Stop if version is below 1.3.6.

Protocol Detection

Detect the current EVM protocol from package.json:

Package NameProtocolSDK Path
@sablier/evm-utilsComptroller../sdk/deployments/comptroller
@sablier/flowFlow../sdk/deployments/flow
@sablier/lockupLockup../sdk/deployments/lockup
@sablier/airdropsAirdrops../sdk/deployments/airdrops

Extract version from package.json"version": "x.y.z" → SDK version is v<x.y>

Workflow

Execute steps in order, tracking state between each:

Step 1: Deploy Contracts

Reference: ./references/deploy.md | Examples: ./references/examples.md

Deploy protocol contracts using Foundry. Handles:

  • RPC configuration
  • Deterministic (CREATE2) vs non-deterministic (CREATE) deployment
  • Contract verification on block explorer

Step 2: Update SDK (optional)

Reference: ./references/copy-to-sdk.md

Copy broadcast artifacts to SDK repository:

  • Broadcast JSON file
  • Update README.md with deployment info
  • Update deployments.ts with contract addresses

Step 3: Create Test Data (optional)

Reference: ./references/deploy-streams.md

For Flow and Lockup protocols only. Creates sample streams for testing:

  • Mint or verify ERC20 token balance
  • Run Init.s.sol script to create test streams

State Tracking

Track and carry forward between steps:

StateSource
Protocol nameDetected from package.json
Chain IDFrom deployment or user input
Chain nameLowercase (e.g., ethereum, arbitrum)
Deployment typedeterministic or non-deterministic
Contract addressesFrom broadcast JSON returns field
Block numberFrom deployment receipt (hex → decimal)
SDK versionFrom package.json version

Protocol-Specific Scripts

ProtocolDeterministic ScriptNon-deterministic Script
ComptrollerDeployDeterministicComptrollerProxy.s.solDeployComptrollerProxy.s.sol
FlowDeployDeterministicProtocol.s.solDeployProtocol.s.sol
LockupDeployDeterministicProtocol.s.solDeployProtocol.s.sol
AirdropsDeployDeterministicFactories.s.solDeployFactories.s.sol

Output Summary

After completion, provide:

  • Protocol deployed
  • Chain and deployment type
  • Contract addresses (factories + campaigns if applicable)
  • Verification status
  • SDK files updated (if applicable)
  • Test data created (if applicable)

Airdrops Campaign Contracts

When deploying Airdrops test data, campaigns are created via factory:

FactoryCampaign Contract
SablierFactoryMerkleInstantSablierMerkleInstant
SablierFactoryMerkleLLSablierMerkleLL
SablierFactoryMerkleLTSablierMerkleLT
SablierFactoryMerkleVCASablierMerkleVCA

Campaign addresses are returned in broadcast returns field, not contractAddress.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Web3

web3-viem

No summary provided by upstream source.

Repository SourceNeeds Review
Web3

web3-btt

No summary provided by upstream source.

Repository SourceNeeds Review
Web3

web3-forge

No summary provided by upstream source.

Repository SourceNeeds Review
Web3

web3-foundry

No summary provided by upstream source.

Repository SourceNeeds Review