From 5d67640968997573086612e83871f503b540e367 Mon Sep 17 00:00:00 2001 From: smol-ninja Date: Tue, 12 Dec 2023 16:46:30 +0000 Subject: [PATCH 1/5] chore: polish deploy-multi-chain script --- .env.example | 8 +++-- shell/deploy-multi-chains.sh | 57 +++++++++++++++++++++++++----------- 2 files changed, 45 insertions(+), 20 deletions(-) diff --git a/.env.example b/.env.example index 26b14380..48719e06 100644 --- a/.env.example +++ b/.env.example @@ -9,19 +9,20 @@ export MNEMONIC="YOUR_MNEMONIC" export ARBITRUM_RPC_URL="YOUR_RPC_URL" export AVALANCHE_RPC_URL="YOUR_RPC_URL" export BASE_RPC_URL="YOUR_RPC_URL" -export BINANCE_RPC_URL="YOUR_RPC_URL" +export BSC_RPC_URL="YOUR_RPC_URL" export GNOSIS_RPC_URL="YOUR_RPC_URL" export MAINNET_RPC_URL="YOUR_RPC_URL" export OPTIMISM_RPC_URL="YOUR_RPC_URL" export POLYGON_RPC_URL="YOUR_RPC_URL" export SCROLL_RPC_URL="YOUR_RPC_URL" +export SEPOLIA_RPC_URL="YOUR_RPC_URL" # Etherscan API keys export ARBISCAN_API_KEY="YOUR_API_KEY" export BASESCAN_API_KEY="YOUR_API_KEY" export BSCSCAN_API_KEY="YOUR_API_KEY" -export ETHERSCAN_API_KEY="YOUR_API_KEY" export GNOSISSCAN_API_KEY="YOUR_API_KEY" +export ETHERSCAN_API_KEY="YOUR_API_KEY" export OPTIMISTIC_API_KEY="YOUR_API_KEY" export POLYGONSCAN_API_KEY="YOUR_API_KEY" export SCROLL_API_KEY="YOUR_API_KEY" @@ -36,4 +37,5 @@ export GNOSIS_ADMIN="YOUR_ADMIN_ADDRESS" export MAINNET_ADMIN="YOUR_ADMIN_ADDRESS" export OPTIMISM_ADMIN="YOUR_ADMIN_ADDRESS" export POLYGON_ADMIN="YOUR_ADMIN_ADDRESS" -export SCROLL_ADMIN="YOUR_ADMIN_ADDRESS" \ No newline at end of file +export SCROLL_ADMIN="YOUR_ADMIN_ADDRESS" +export SEPOLIA_ADMIN="YOUR_ADMIN_ADDRESS" diff --git a/shell/deploy-multi-chains.sh b/shell/deploy-multi-chains.sh index 379a73d8..fbf30db9 100755 --- a/shell/deploy-multi-chains.sh +++ b/shell/deploy-multi-chains.sh @@ -4,6 +4,8 @@ # Options: # --deterministic Deploy using the deterministic script. # --broadcast Broadcast the deployment and verify on Etherscan. +# --with-gas-price Specify gas price for transaction. +# --all Deploy on all chains. # Example: ./shell/deploy-multi-chains.sh # Default deploys only to Sepolia # Example: ./shell/deploy-multi-chains.sh --broadcast arbitrum_one mainnet # Example: ./shell/deploy-multi-chains.sh --deterministic --broadcast mainnet @@ -16,6 +18,16 @@ # Strict mode: https://gist.github.com/vncsna/64825d5609c146e80de8b1fd623011ca set -euo pipefail +# color codes +EC='\033[0;31m' # Error Color +SC='\033[0;32m' # Success Color +WC='\033[0;33m' # Warn Color +IC='\033[0;36m' # Info Color +NC='\033[0m' # No Color + +# Unicode characters for tick +TICK="\xE2\x9C\x94" + # Create deployments directory deployments=./deployments rm -rf $deployments @@ -26,7 +38,6 @@ ARBITRUM_CHAIN_ID="42161" AVALANCHE_CHAIN_ID="43114" BASE_CHAIN_ID="8453" BSC_CHAIN_ID="56" -GOERLI_CHAIN_ID="5" GNOSIS_CHAIN_ID="100" MAINNET_CHAIN_ID="1" OPTIMISM_CHAIN_ID="10" @@ -39,18 +50,26 @@ ARBITRUM_COMPTROLLER="0x17Ec73692F0aDf7E7C554822FBEAACB4BE781762" AVALANCHE_COMPTROLLER="0x66F5431B0765D984f82A4fc4551b2c9ccF7eAC9C" BASE_COMPTROLLER="0x7Faaedd40B1385C118cA7432952D9DC6b5CbC49e" BSC_COMPTROLLER="0x33511f69A784Fd958E6713aCaC7c9dCF1A5578E8" -MAINNET_COMPTROLLER="0xC3Be6BffAeab7B297c03383B4254aa3Af2b9a5BA" GNOSIS_COMPTROLLER="0x73962c44c0fB4cC5e4545FB91732a5c5e87F55C2" +MAINNET_COMPTROLLER="0xC3Be6BffAeab7B297c03383B4254aa3Af2b9a5BA" OPTIMISM_COMPTROLLER="0x1EECb6e6EaE6a1eD1CCB4323F3a146A7C5443A10" POLYGON_COMPTROLLER="0x9761692EDf10F5F2A69f0150e2fd50dcecf05F2E" SCROLL_COMPTROLLER="0x859708495E3B3c61Bbe19e6E3E1F41dE3A5C5C5b" SEPOLIA_COMPTROLLER="0x2006d43E65e66C5FF20254836E63947FA8bAaD68" +# Source the .env file to load the variables +if [ -f .env ]; then + source .env +else + echo -e "${EC}Error: .env file not found${NC}" + exit 1 +fi + # Define chain configurations declare -A chains chains["arbitrum_one"]="$ARBITRUM_RPC_URL $ARBISCAN_API_KEY $ARBITRUM_CHAIN_ID $ARBITRUM_ADMIN $ARBITRUM_COMPTROLLER" chains["avalanche"]="$AVALANCHE_RPC_URL $SNOWTRACE_API_KEY $AVALANCHE_CHAIN_ID $AVALANCHE_ADMIN $AVALANCHE_COMPTROLLER" -chains["base"]="$BASE_RPC_URL $BASESCAN_API_KEY $BASE_CHAIN_ID $BASE_ADMIN $BASE_ADMIN $BASE_COMPTROLLER" +chains["base"]="$BASE_RPC_URL $BASESCAN_API_KEY $BASE_CHAIN_ID $BASE_ADMIN $BASE_COMPTROLLER" chains["bnb_smart_chain"]="$BSC_RPC_URL $BSCSCAN_API_KEY $BSC_CHAIN_ID $BSC_ADMIN $BSC_COMPTROLLER" chains["gnosis"]="$GNOSIS_RPC_URL $GNOSISSCAN_API_KEY $GNOSIS_CHAIN_ID $GNOSIS_ADMIN $GNOSIS_COMPTROLLER" chains["mainnet"]="$MAINNET_RPC_URL $ETHERSCAN_API_KEY $MAINNET_CHAIN_ID $MAINNET_ADMIN $MAINNET_COMPTROLLER" @@ -69,6 +88,9 @@ DETERMINISTIC_DEPLOYMENT=false WITH_GAS_PRICE=false GAS_PRICE=0 +# Flag for all chains +ON_ALL_CHAINS=false + # Requested chains requested_chains=() @@ -84,7 +106,7 @@ for ((i=1; i<=$#; i++)); do # Check for '--broadcast' flag in the arguments if [[ $arg == "--deterministic" ]]; then DETERMINISTIC_DEPLOYMENT=true - fi + fi # Check for '--with-gas-price' flag in the arguments if [[ $arg == "--with-gas-price" ]]; then @@ -93,18 +115,19 @@ for ((i=1; i<=$#; i++)); do ((i++)) GAS_PRICE=${!i} if ! [[ $GAS_PRICE =~ ^[0-9]+$ ]]; then - echo "Error: Gas price must be a number." + echo -e "${EC}Error: Invalid value for --with-gas-price, must be number${NC}" exit 1 fi fi # Check for '--all' flag in the arguments if [[ $arg == "--all" ]]; then + ON_ALL_CHAINS=true requested_chains=("${!chains[@]}") fi # Check for passed chains - if [[ $arg != "--all" && $arg != "--deterministic" && $arg != "--broadcast" && $arg != "--with-gas-price" ]]; then + if [[ $arg != "--all" && $arg != "--deterministic" && $arg != "--broadcast" && $arg != "--with-gas-price" && $ON_ALL_CHAINS == false ]]; then requested_chains+=("$arg") fi done @@ -122,29 +145,29 @@ FOUNDRY_PROFILE=optimized forge build for chain in "${requested_chains[@]}"; do # Check if the requested chain is defined if [[ ! -v "chains[$chain]" ]]; then - echo "Chain configuration for '$chain' not found." + echo -e "\n${WC}Warning: Chain configuration for '$chain' not found.${NC}" continue fi # Split the configuration into RPC, API key and the Chain ID - IFS=' ' read -r rpc_url api_key chain_id admin comptroller<<< "${chains[$chain]}" + IFS=' ' read -r rpc_url api_key chain_id admin comptroller <<< "${chains[$chain]}" # Declare a deployment command deployment_command=""; # Choose the script based on the flag if [[ $DETERMINISTIC_DEPLOYMENT == true ]]; then - echo "Deploying deterministic contracts to $chain..." + echo -e "\n${IC}Deploying deterministic contracts to $chain...${NC}" # Construct the command deployment_command="forge script script/DeployDeterministicProtocol2.s.sol \ --rpc-url $rpc_url \ --sig run(string,address,address) \ - \"ChainID $chain_id, Version 1.1.0\" \ + \"ChainID_${chain_id}_Version_1.1.0\" \ $admin \ $comptroller \ -vvv" else - echo "Deploying contracts to $chain..." + echo -e "\n${IC}Deploying contracts to $chain...${NC}" # Construct the command deployment_command="forge script script/DeployProtocol2.s.sol \ --rpc-url $rpc_url \ @@ -155,17 +178,17 @@ for chain in "${requested_chains[@]}"; do fi # Append additional options if broadcast is enabled - if [[ $BROADCAST_DEPLOYMENT == true ]]; then - echo "This deployment is broadcasted on $chain" + if [[ $BROADCAST_DEPLOYMENT == true ]]; then + echo -e "${SC}+${NC} This deployment is broadcasted on $chain" deployment_command+=" --broadcast --verify --etherscan-api-key \"$api_key\"" else - echo "This deployment is simulated on $chain" + echo -e "${SC}+${NC} Simulated on $chain" fi # Append additional options if gas price is enabled if [[ $WITH_GAS_PRICE == true ]]; then gas_price_in_gwei=$(echo "scale=2; $GAS_PRICE / 1000000000" | bc) - echo "This deployment is using gas price of $gas_price_in_gwei gwei" + echo -e "${SC}+${NC} Using gas price of $gas_price_in_gwei gwei" deployment_command+=" --with-gas-price $GAS_PRICE" fi @@ -192,7 +215,7 @@ for chain in "${requested_chains[@]}"; do echo "SablierV2MerkleStreamerFactory = $merkleStreamerFactory_address" } >> "$chain_file" - echo "Deployment for $chain done. Addresses saved in $chain_file" + echo -e "${SC}$TICK Deployed on $chain. Addresses saved in $chain_file${NC}" done -echo "All deployments completed." \ No newline at end of file +echo -e "\nAll deployments completed." From 809597a75eba39a1df80716a1eb08603c6561356 Mon Sep 17 00:00:00 2001 From: smol-ninja Date: Wed, 13 Dec 2023 01:14:42 +0000 Subject: [PATCH 2/5] build: update script to deploy SablierV2Batch and SablierV2MerkleStreamerFactory only --- shell/deploy-multi-chains.sh | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/shell/deploy-multi-chains.sh b/shell/deploy-multi-chains.sh index fbf30db9..9e23b874 100755 --- a/shell/deploy-multi-chains.sh +++ b/shell/deploy-multi-chains.sh @@ -159,21 +159,17 @@ for chain in "${requested_chains[@]}"; do if [[ $DETERMINISTIC_DEPLOYMENT == true ]]; then echo -e "\n${IC}Deploying deterministic contracts to $chain...${NC}" # Construct the command - deployment_command="forge script script/DeployDeterministicProtocol2.s.sol \ + deployment_command="forge script script/DeployDeterministicPeriphery.s.sol \ --rpc-url $rpc_url \ - --sig run(string,address,address) \ + --sig run(string) \ \"ChainID_${chain_id}_Version_1.1.0\" \ - $admin \ - $comptroller \ -vvv" else echo -e "\n${IC}Deploying contracts to $chain...${NC}" # Construct the command - deployment_command="forge script script/DeployProtocol2.s.sol \ + deployment_command="forge script script/DeployPeriphery.s.sol \ --rpc-url $rpc_url \ - --sig run(address,address) \ - $admin \ - $comptroller \ + --sig run() \ -vvv" fi From d896991f6d3b3bcd385512a68bbde8b7f0e120eb Mon Sep 17 00:00:00 2001 From: andreivladbrg Date: Wed, 13 Dec 2023 15:54:00 +0200 Subject: [PATCH 3/5] build: remove admin and comptroller from deploy multi chain script build: remove admin from .env.example --- .env.example | 14 +------------- shell/deploy-multi-chains.sh | 34 +++++++++++----------------------- 2 files changed, 12 insertions(+), 36 deletions(-) diff --git a/.env.example b/.env.example index 48719e06..12423cd9 100644 --- a/.env.example +++ b/.env.example @@ -26,16 +26,4 @@ export ETHERSCAN_API_KEY="YOUR_API_KEY" export OPTIMISTIC_API_KEY="YOUR_API_KEY" export POLYGONSCAN_API_KEY="YOUR_API_KEY" export SCROLL_API_KEY="YOUR_API_KEY" -export SNOWTRACE_API_KEY="YOUR_API_KEY" - -# Script variables -export ARBITRUM_ADMIN="YOUR_ADMIN_ADDRESS" -export AVALANCHE_ADMIN="YOUR_ADMIN_ADDRESS" -export BASE_ADMIN="YOUR_ADMIN_ADDRESS" -export BSC_ADMIN="YOUR_ADMIN_ADDRESS" -export GNOSIS_ADMIN="YOUR_ADMIN_ADDRESS" -export MAINNET_ADMIN="YOUR_ADMIN_ADDRESS" -export OPTIMISM_ADMIN="YOUR_ADMIN_ADDRESS" -export POLYGON_ADMIN="YOUR_ADMIN_ADDRESS" -export SCROLL_ADMIN="YOUR_ADMIN_ADDRESS" -export SEPOLIA_ADMIN="YOUR_ADMIN_ADDRESS" +export SNOWTRACE_API_KEY="YOUR_API_KEY" \ No newline at end of file diff --git a/shell/deploy-multi-chains.sh b/shell/deploy-multi-chains.sh index 9e23b874..352359d1 100755 --- a/shell/deploy-multi-chains.sh +++ b/shell/deploy-multi-chains.sh @@ -45,18 +45,6 @@ POLYGON_CHAIN_ID="137" SCROLL_CHAIN_ID="534352" SEPOLIA_CHAIN_ID="11155111" -# from: https://docs.sablier.com/contracts/v2/deployments -ARBITRUM_COMPTROLLER="0x17Ec73692F0aDf7E7C554822FBEAACB4BE781762" -AVALANCHE_COMPTROLLER="0x66F5431B0765D984f82A4fc4551b2c9ccF7eAC9C" -BASE_COMPTROLLER="0x7Faaedd40B1385C118cA7432952D9DC6b5CbC49e" -BSC_COMPTROLLER="0x33511f69A784Fd958E6713aCaC7c9dCF1A5578E8" -GNOSIS_COMPTROLLER="0x73962c44c0fB4cC5e4545FB91732a5c5e87F55C2" -MAINNET_COMPTROLLER="0xC3Be6BffAeab7B297c03383B4254aa3Af2b9a5BA" -OPTIMISM_COMPTROLLER="0x1EECb6e6EaE6a1eD1CCB4323F3a146A7C5443A10" -POLYGON_COMPTROLLER="0x9761692EDf10F5F2A69f0150e2fd50dcecf05F2E" -SCROLL_COMPTROLLER="0x859708495E3B3c61Bbe19e6E3E1F41dE3A5C5C5b" -SEPOLIA_COMPTROLLER="0x2006d43E65e66C5FF20254836E63947FA8bAaD68" - # Source the .env file to load the variables if [ -f .env ]; then source .env @@ -67,16 +55,16 @@ fi # Define chain configurations declare -A chains -chains["arbitrum_one"]="$ARBITRUM_RPC_URL $ARBISCAN_API_KEY $ARBITRUM_CHAIN_ID $ARBITRUM_ADMIN $ARBITRUM_COMPTROLLER" -chains["avalanche"]="$AVALANCHE_RPC_URL $SNOWTRACE_API_KEY $AVALANCHE_CHAIN_ID $AVALANCHE_ADMIN $AVALANCHE_COMPTROLLER" -chains["base"]="$BASE_RPC_URL $BASESCAN_API_KEY $BASE_CHAIN_ID $BASE_ADMIN $BASE_COMPTROLLER" -chains["bnb_smart_chain"]="$BSC_RPC_URL $BSCSCAN_API_KEY $BSC_CHAIN_ID $BSC_ADMIN $BSC_COMPTROLLER" -chains["gnosis"]="$GNOSIS_RPC_URL $GNOSISSCAN_API_KEY $GNOSIS_CHAIN_ID $GNOSIS_ADMIN $GNOSIS_COMPTROLLER" -chains["mainnet"]="$MAINNET_RPC_URL $ETHERSCAN_API_KEY $MAINNET_CHAIN_ID $MAINNET_ADMIN $MAINNET_COMPTROLLER" -chains["optimism"]="$OPTIMISM_RPC_URL $OPTIMISTIC_API_KEY $OPTIMISM_CHAIN_ID $OPTIMISM_ADMIN $OPTIMISM_COMPTROLLER" -chains["polygon"]="$POLYGON_RPC_URL $POLYGONSCAN_API_KEY $POLYGON_CHAIN_ID $POLYGON_ADMIN $POLYGON_COMPTROLLER" -chains["scroll"]="$SCROLL_RPC_URL $SCROLL_API_KEY $SCROLL_CHAIN_ID $SCROLL_ADMIN $SCROLL_COMPTROLLER" -chains["sepolia"]="$SEPOLIA_RPC_URL $ETHERSCAN_API_KEY $SEPOLIA_CHAIN_ID $SEPOLIA_ADMIN $SEPOLIA_COMPTROLLER" +chains["arbitrum_one"]="$ARBITRUM_RPC_URL $ARBISCAN_API_KEY $ARBITRUM_CHAIN_ID" +chains["avalanche"]="$AVALANCHE_RPC_URL $SNOWTRACE_API_KEY $AVALANCHE_CHAIN_ID" +chains["base"]="$BASE_RPC_URL $BASESCAN_API_KEY $BASE_CHAIN_ID" +chains["bnb_smart_chain"]="$BSC_RPC_URL $BSCSCAN_API_KEY $BSC_CHAIN_ID" +chains["gnosis"]="$GNOSIS_RPC_URL $GNOSISSCAN_API_KEY $GNOSIS_CHAIN_ID$" +chains["mainnet"]="$MAINNET_RPC_URL $ETHERSCAN_API_KEY $MAINNET_CHAIN_ID" +chains["optimism"]="$OPTIMISM_RPC_URL $OPTIMISTIC_API_KEY $OPTIMISM_CHAIN_ID" +chains["polygon"]="$POLYGON_RPC_URL $POLYGONSCAN_API_KEY $POLYGON_CHAIN_ID" +chains["scroll"]="$SCROLL_RPC_URL $SCROLL_API_KEY $SCROLL_CHAIN_ID" +chains["sepolia"]="$SEPOLIA_RPC_URL $ETHERSCAN_API_KEY $SEPOLIA_CHAIN_ID" # Flag for broadcast deployment BROADCAST_DEPLOYMENT=false @@ -150,7 +138,7 @@ for chain in "${requested_chains[@]}"; do fi # Split the configuration into RPC, API key and the Chain ID - IFS=' ' read -r rpc_url api_key chain_id admin comptroller <<< "${chains[$chain]}" + IFS=' ' read -r rpc_url api_key chain_id <<< "${chains[$chain]}" # Declare a deployment command deployment_command=""; From 445f357b262da51ec1f7eebb2ef76cc0d634c709 Mon Sep 17 00:00:00 2001 From: andreivladbrg Date: Wed, 13 Dec 2023 16:00:10 +0200 Subject: [PATCH 4/5] feat: remove deploy protocol 2 script --- script/DeployDeterministicProtocol2.s.sol | 47 ----------------------- script/DeployProtocol2.s.sol | 40 ------------------- 2 files changed, 87 deletions(-) delete mode 100644 script/DeployDeterministicProtocol2.s.sol delete mode 100644 script/DeployProtocol2.s.sol diff --git a/script/DeployDeterministicProtocol2.s.sol b/script/DeployDeterministicProtocol2.s.sol deleted file mode 100644 index 845b852b..00000000 --- a/script/DeployDeterministicProtocol2.s.sol +++ /dev/null @@ -1,47 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -pragma solidity >=0.8.19 <0.9.0; - -import { SablierV2Comptroller } from "@sablier/v2-core/src/SablierV2Comptroller.sol"; -import { SablierV2LockupDynamic } from "@sablier/v2-core/src/SablierV2LockupDynamic.sol"; -import { SablierV2LockupLinear } from "@sablier/v2-core/src/SablierV2LockupLinear.sol"; -import { SablierV2NFTDescriptor } from "@sablier/v2-core/src/SablierV2NFTDescriptor.sol"; - -import { BaseScript } from "./Base.s.sol"; - -import { SablierV2Batch } from "../src/SablierV2Batch.sol"; -import { SablierV2MerkleStreamerFactory } from "../src/SablierV2MerkleStreamerFactory.sol"; - -/// @notice Deploys the Sablier V2 Protocol deterministically expect for comptroller. -contract DeployDeterministicPeriphery is BaseScript { - /// @dev The presence of the salt instructs Forge to deploy the contract via a deterministic CREATE2 factory. - /// https://github.com/Arachnid/deterministic-deployment-proxy - function run( - string memory create2Salt, - address initialAdmin, - SablierV2Comptroller comptroller - ) - public - virtual - broadcast - returns ( - SablierV2LockupDynamic lockupDynamic, - SablierV2LockupLinear lockupLinear, - SablierV2NFTDescriptor nftDescriptor, - SablierV2Batch batch, - SablierV2MerkleStreamerFactory merkleStreamerFactory - ) - { - bytes32 salt = bytes32(abi.encodePacked(create2Salt)); - - nftDescriptor = new SablierV2NFTDescriptor{ salt: salt }(); - lockupLinear = new SablierV2LockupLinear{ salt: salt }(initialAdmin, comptroller, nftDescriptor); - - uint256 maxSegmentCount = 300; - - lockupDynamic = - new SablierV2LockupDynamic{ salt: salt }(initialAdmin, comptroller, nftDescriptor, maxSegmentCount); - - batch = new SablierV2Batch{ salt: salt }(); - merkleStreamerFactory = new SablierV2MerkleStreamerFactory{ salt: salt }(); - } -} diff --git a/script/DeployProtocol2.s.sol b/script/DeployProtocol2.s.sol deleted file mode 100644 index 965399a6..00000000 --- a/script/DeployProtocol2.s.sol +++ /dev/null @@ -1,40 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -pragma solidity >=0.8.19 <0.9.0; - -import { SablierV2Comptroller } from "@sablier/v2-core/src/SablierV2Comptroller.sol"; -import { SablierV2LockupDynamic } from "@sablier/v2-core/src/SablierV2LockupDynamic.sol"; -import { SablierV2LockupLinear } from "@sablier/v2-core/src/SablierV2LockupLinear.sol"; -import { SablierV2NFTDescriptor } from "@sablier/v2-core/src/SablierV2NFTDescriptor.sol"; -import { BaseScript } from "./Base.s.sol"; - -import { SablierV2MerkleStreamerFactory } from "../src/SablierV2MerkleStreamerFactory.sol"; -import { SablierV2Batch } from "../src/SablierV2Batch.sol"; - -/// @notice Deploys the Sablier V2 Protocol expect for comptroller. -contract DeployProtocol is BaseScript { - function run( - address initialAdmin, - SablierV2Comptroller comptroller - ) - public - virtual - broadcast - returns ( - SablierV2LockupDynamic lockupDynamic, - SablierV2LockupLinear lockupLinear, - SablierV2NFTDescriptor nftDescriptor, - SablierV2Batch batch, - SablierV2MerkleStreamerFactory merkleStreamerFactory - ) - { - uint256 maxSegmentCount = 300; - - // Deploy V2 Core. - nftDescriptor = new SablierV2NFTDescriptor(); - lockupDynamic = new SablierV2LockupDynamic(initialAdmin, comptroller, nftDescriptor, maxSegmentCount); - lockupLinear = new SablierV2LockupLinear(initialAdmin, comptroller, nftDescriptor); - - batch = new SablierV2Batch(); - merkleStreamerFactory = new SablierV2MerkleStreamerFactory(); - } -} From be10e8b3d8d68cef347ca324370b3a0d1fa93d73 Mon Sep 17 00:00:00 2001 From: smol-ninja Date: Wed, 13 Dec 2023 14:16:51 +0000 Subject: [PATCH 5/5] build: update salt string --- shell/deploy-multi-chains.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shell/deploy-multi-chains.sh b/shell/deploy-multi-chains.sh index 352359d1..f78e667c 100755 --- a/shell/deploy-multi-chains.sh +++ b/shell/deploy-multi-chains.sh @@ -150,7 +150,7 @@ for chain in "${requested_chains[@]}"; do deployment_command="forge script script/DeployDeterministicPeriphery.s.sol \ --rpc-url $rpc_url \ --sig run(string) \ - \"ChainID_${chain_id}_Version_1.1.0\" \ + \'ChainID $chain_id, Version 1.1.0\' \ -vvv" else echo -e "\n${IC}Deploying contracts to $chain...${NC}"