Skip to content

Deploy Protocol

Deploy Protocol #11

Workflow file for this run

name: "Deploy Protocol"
env:
API_KEY_ARBISCAN: ${{ secrets.API_KEY_ARBISCAN }}
API_KEY_BSCSCAN: ${{ secrets.API_KEY_BSCSCAN }}
API_KEY_ETHERSCAN: ${{ secrets.API_KEY_ETHERSCAN }}
API_KEY_GNOSISSCAN: ${{ secrets.API_KEY_GNOSISSCAN }}
API_KEY_INFURA: ${{ secrets.API_KEY_INFURA }}
API_KEY_OPTIMISTIC_ETHERSCAN: ${{ secrets.API_KEY_OPTIMISTIC_ETHERSCAN }}
API_KEY_POLYGONSCAN: ${{ secrets.API_KEY_POLYGONSCAN }}
API_KEY_SNOWTRACE: ${{ secrets.API_KEY_SNOWTRACE }}
FOUNDRY_OPTIMIZER_RUNS: "4000" # needed to compile V2 Core
FOUNDRY_PROFILE: "optimized"
MNEMONIC: ${{ secrets.MNEMONIC }}
RPC_URL_GOERLI: ${{ secrets.RPC_URL_GOERLI }}
on:
workflow_dispatch:
inputs:
admin:
default: "0xF3663da48030b6c88535413Fd643aB0B5F3496ff"
description: "Initial protocol admin."
required: false
chain:
default: "goerli"
description: "Chain name as defined in the Foundry config."
required: false
max-segment-count:
default: "300"
description: "Maximum number of segments allowed in a stream."
required: false
permit2:
default: "0x000000000022D473030F116dDEE9F6B43aC78BA3"
description: "The permit2 address."
required: false
jobs:
deploy-protocol:
runs-on: "ubuntu-latest"
steps:
- name: "Check out the repo"
uses: "actions/checkout@v3"
with:
submodules: "recursive"
token: ${{ secrets.CI_TOKEN }}
- name: "Install Foundry"
uses: "foundry-rs/foundry-toolchain@v1"
- name: "Deploy the Sablier V2 Protocol"
run: >-
forge script script/DeployProtocol.s.sol
--broadcast
--rpc-url "${{ inputs.chain }}"
--sig "run(address,uint256,address)"
--verify
-vvvv
"${{ inputs.admin }}"
"${{ inputs.max-segment-count }}"
"${{ inputs.permit2 }}"
- name: "Add workflow summary"
run: |
echo "## Result" >> $GITHUB_STEP_SUMMARY
echo "✅ Done" >> $GITHUB_STEP_SUMMARY