This removes the isCore flag and allows us to dynamically calculate the
core flag for contributors.
For now this is just us (the first 6 contirbutors)
Also we do not need the default contributor anymore because the deploy
user has the role to manage contributors and can create the first real
contributors.
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 <app name> <dao address>
e.g.
scripts/upgrade.sh token 0xfoobar
The DAO address can also be set as environment variable
$KREDITS_DAO_ADDRESS
different networks might require different apm domains. We set those in
the arapp.json file which we can reuise to init the kredits instance in
the helper scripts.
this mainly allows us to check if an account has a certain role and thus
if the account can call specific contract functions.
At some point we might want to extend that to support the check if an
account can call the function. For that we would need to have a mapping
between function names and roles, which we have not right now.
AppIds are used to lookup the actual contract addresses of each app.
Because of different registry names (open.aragonpm.eth vs. aragonpm.eth)
we have to use different ids in the local dev chain and in the
testnet/mainnet. To allow this we need to set the appids dynamically.
There is an open aragon issue to solve this and also allow to use
open.aragonpm.eth in the devchain by default.
https://github.com/aragon/aragen/issues/10
This reuses the kredits library functions in the helper scripts and
seeds. We no longer need to add IPFS hashes manually but simply can
provider contributor/proposal data.
This makes it easier to handle truffle arguments which we for example
need to specify the network.
So we ask the user for input instead on using the argv array which might
change.
So far we only allowed calls to the Contributors contract from the
Operator. With the new registry concept we can call functions again
directly on the Contributors contract (without the need to call it through
the operator).
This changes the authentication for the contributor management functions
to allow either core contributors or the operator to call them.
In the future I envision a bit more flexible and configurable
authentication concept that can more easily evolve over time.