diff --git a/deployContracts.sh b/deployContracts.sh index fc72fed..1c85b74 100755 --- a/deployContracts.sh +++ b/deployContracts.sh @@ -25,8 +25,15 @@ else load_env "$1" fi -cd packages/circles-contracts -npm i +# Remove the v1 package from the workspaces +jq 'del(.workspaces[0])' package.json > temp.package.json +mv temp.package.json package.json + +cd ./packages/circles-contracts +npm install @openzeppelin/contracts@^3.4.0-solc-0.7 +npm install @gnosis.pm/safe-contracts@^1.3.0 +npm install @circles/safe-contracts@=1.0.14 +forge build echo "Deploying V1 Hub ..." @@ -48,10 +55,33 @@ V1_HUB_DEPLOYMENT=$(forge create Hub \ V1_HUB_ADDRESS=$(echo "$V1_HUB_DEPLOYMENT" | grep "Deployed to:" | awk '{print $3}') echo "V1 Hub deployed at ${V1_HUB_ADDRESS}" +# Insert the v1 package back into the workspaces +cd ../../.. +jq '.workspaces |= if index("packages/circles-contracts") then . else ["packages/circles-contracts"] + . end' package.json > temp.package.json +mv temp.package.json package.json + +cd packages/circles-contracts-v2/src +echo "Deploying Migration contract ..." +cd migration +MIGRATION_V1_HUB=${V1_HUB_ADDRESS} + +MIGRATION_DEPLOYMENT=$(forge create Migration \ + --rpc-url ${RPC_URL} \ + --private-key ${PRIVATE_KEY} \ + --constructor-args ${MIGRATION_V1_HUB}) +MIGRATION_ADDRESS=$(echo "$MIGRATION_DEPLOYMENT" | grep "Deployed to:" | awk '{print $3}') +if [ -z "$MIGRATION_ADDRESS" ]; then + echo "Error: Migration contract was not deployed." + exit 1 +fi +echo "Migration deployed at ${MIGRATION_ADDRESS}" + + # Deploy the v2 contracts using `forge create` echo "Deploying V2 Hub ..." -cd ../../circles-contracts-v2/src/hub +cd ../hub V2_HUB_V1_HUB=${V1_HUB_ADDRESS} +V2_HUB_MIGRATION=${MIGRATION_ADDRESS} V2_DEMURRAGE_ZERO_DAY="${V2_DEMURRAGE_ZERO_DAY}" V2_HUB_STANDARD_TREASURY="${V2_HUB_STANDARD_TREASURY}" V2_HUB_BOOTSTRAP_TIME="${V2_HUB_BOOTSTRAP_TIME}" # 180 days @@ -60,7 +90,7 @@ V2_HUB_FALLBACK_URL="${V2_HUB_FALLBACK_URL}" V2_HUB_DEPLOYMENT=$(forge create Hub \ --rpc-url ${RPC_URL} \ --private-key ${PRIVATE_KEY} \ - --constructor-args ${V2_HUB_V1_HUB} ${V2_DEMURRAGE_ZERO_DAY} ${V2_HUB_STANDARD_TREASURY} ${V2_HUB_BOOTSTRAP_TIME} ${V2_HUB_FALLBACK_URL}) + --constructor-args ${V2_HUB_V1_HUB} ${V2_HUB_MIGRATION} ${V2_DEMURRAGE_ZERO_DAY} ${V2_HUB_STANDARD_TREASURY} ${V2_HUB_BOOTSTRAP_TIME} ${V2_HUB_FALLBACK_URL}) V2_HUB_ADDRESS=$(echo "$V2_HUB_DEPLOYMENT" | grep "Deployed to:" | awk '{print $3}') echo "V2 Hub deployed at ${V2_HUB_ADDRESS}" @@ -68,5 +98,6 @@ echo "" echo "Summary:" echo "========" echo "V1 Hub: $V1_HUB_ADDRESS" +echo "Migration: $MIGRATION_ADDRESS" echo "V2 Hub: $V2_HUB_ADDRESS" echo ""