From db312dafbfe8b955af64ba86df19139ee25c35ba Mon Sep 17 00:00:00 2001 From: Michael Bumann Date: Thu, 4 Apr 2019 19:27:57 +0200 Subject: [PATCH 1/2] Add some helpers to reset a fresh DAO --- README.md | 7 +++++++ package.json | 9 +++++---- scripts/deploy-apps.sh | 10 ++-------- scripts/every-app.sh | 14 ++++++++++++++ 4 files changed, 28 insertions(+), 12 deletions(-) create mode 100755 scripts/every-app.sh diff --git a/README.md b/README.md index bdf4ac4..cbad40f 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,11 @@ Ethereum RPC port. **Step 2-4 is also summarized in `npm run bootstrap`** +If you want to reset your local setup: + + $ npm run reset // deploys a new kit and a new DAO + $ npm run reset:hard // deploys all apps and does reset + ## Contract architecture Contracts are organized in independent apps (see `/apps`) and are developed @@ -87,6 +92,8 @@ CLI. _At some point these should be moved into a real nice CLI._ To run these scripts use `truffle exec`. For example: `truffle exec scripts/add-proposal.js`. +Some scripts are also defined as npm script, see package.json. + ### cli.js Call any function on any contract: diff --git a/package.json b/package.json index 45ceb65..67052d8 100644 --- a/package.json +++ b/package.json @@ -11,11 +11,12 @@ "repl": "truffle exec scripts/repl.js", "seeds": "truffle exec scripts/seeds.js", "compile-contracts": "aragon contracts compile --all", - "bootstrap": "npm run reset && truffle exec scripts/seeds.js", - "reset": "npm run deploy:apps && npm run deploy:kit && npm run deploy:dao", - "deploy:kit": "npm run compile-contracts && ENS=0x5f6f7e8cc7346a11ca2def8f827b7a0b612c56a1 aragon contracts exec scripts/deploy-kit.js", + "bootstrap": "./scripts/every-app \"npm install \" && npm run reset:hard && npm run seeds", + "reset": "npm run deploy:kit && npm run deploy:dao", + "reset:hard": "npm run deploy:apps && npm run reset", + "deploy:kit": "npm run compile-contracts && aragon contracts exec scripts/deploy-kit.js", "deploy:dao": "aragon contracts exec scripts/new-dao.js", - "deploy:apps": "./scripts/deploy-apps.sh", + "deploy:apps": "./scripts/every-app.sh \"aragon apm publish major\"", "devchain": "aragon devchain --port 7545", "dao:address": "truffle exec scripts/current-address.js", "test": "echo \"Error: no test specified\" && exit 1" diff --git a/scripts/deploy-apps.sh b/scripts/deploy-apps.sh index 4c9614c..3b48da0 100755 --- a/scripts/deploy-apps.sh +++ b/scripts/deploy-apps.sh @@ -10,13 +10,7 @@ echo "Setting up each aragon app in ./apps" echo "a new app version will be deployed" echo "----" -for dir in ./apps/*/; do - set -x - cd $dir - npm install - aragon apm publish major - cd $rootDir - set +x -done +./scripts/every-app.sh "npm install" +./scripts/every-app.sh "aragon apm publish major" echo "Done, new versions of all apps deployed" diff --git a/scripts/every-app.sh b/scripts/every-app.sh new file mode 100755 index 0000000..e111968 --- /dev/null +++ b/scripts/every-app.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +set -e + +rootDir=`pwd` + +for dir in ./apps/*/; do + set -x + cd $dir + eval $1 + cd $rootDir + set +x +done + -- 2.25.1 From afbd114a3617205586373a8fdde1ea751c97623d Mon Sep 17 00:00:00 2001 From: Michael Bumann Date: Thu, 4 Apr 2019 19:51:38 +0200 Subject: [PATCH 2/2] Add app upgrade helper script This script deploys a new app version, upgrades the given DAO to the latest version of that app and builds the ABI files for the wrapper. usage: scripts/upgrade.sh e.g. scripts/upgrade.sh token 0xfoobar The DAO address can also be set as environment variable $KREDITS_DAO_ADDRESS --- scripts/upgrade.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 scripts/upgrade.sh diff --git a/scripts/upgrade.sh b/scripts/upgrade.sh new file mode 100755 index 0000000..6067dfc --- /dev/null +++ b/scripts/upgrade.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -e + +rootDir=`pwd` + +app=$1 +daoAddress=$2 +if [ -z "$VAR" ]; then + daoAddress=$KREDITS_DAO_ADDRESS +fi + +echo "## Deploying $app for $daoAddress" + +set -x +cd "apps/$app" +aragon apm publish major +cd $rootDir +aragon dao upgrade $daoAddress kredits-$app +npm run build-json +set +x + +echo "Done" -- 2.25.1