0. Setup the aragonCLI
there is a guide to setting up the cli using Linux here. Alternatively you can use the prebuilt docker image, instructions for setting it up are here
1. Spin up a company DAO
- create a company DAO in the client on rinkeby
- once we have the DAO setup, we are going to set some admin permissions so we dont have to vote all the changes through
- under the permissions tab, give your deploying account
- the
manage apps
role on the kernel - the
create permissions
role on the acl
2. Create environment variables
cli commands can be quite verbose, to make them more intelligible and to avoid errors we will set some addresses as environment variables. You can find these under the organisation tab
f="--env aragon:rinkeby"
ANY_ADDRESS=0xffffffffffffffffffffffffffffffffffffffff
dao=
vault=
tokens=
voting=
3. Redemptions
Three permissions need to be created for the Redemptions app to function properly:
REDEEM_ROLE
ADD_TOKEN_ROLE
REMOVE_TOKEN_ROLE
The Redemptions app must also have the TRANSFER_ROLE
permission on Vault and the BURN_ROLE
permission on the Token Manager.
NOTE if
TRANSFER_ROLE
andBURN_ROLE
are not already set you must useacl create
.
4. Install Redemptions
If you didnt set the admin permissions in step 1, these commands will trigger votes that the DAO needs to approve
The redeemable token address needs to be a valid token contract on the network that the DAO is on (Rinkeby or mainnet).
aragon dao install $dao redemptions.aragonpm.eth --app-init-args $vault $tokens ["'0x0000000000000000000000000000000000000000'"] $f
0x0000000000000000000000000000000000000000
is the address for ETH.
Get the redemptions address and add it to the environment variables.
redemptions="NEW_REDEMPTIONS_ADDRESS"
Install app permissions.
dao acl create $dao $redemptions REDEEM_ROLE $ANY_ADDRESS $voting $f
dao acl create $dao $redemptions ADD_TOKEN_ROLE $voting $voting $f
dao acl create $dao $redemptions REMOVE_TOKEN_ROLE $voting $voting $f
dao acl grant $dao $vault TRANSFER_ROLE $redemptions $f
dao acl grant $dao $tokens BURN_ROLE $redemptions $f
More info
More info on the Redemptions app can be found in the 1Hive Redemptions GitHub repo.