Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Token Manager Install Catch-22 #295

Closed
kernelwhisperer opened this issue Dec 13, 2018 · 7 comments
Closed

Token Manager Install Catch-22 #295

kernelwhisperer opened this issue Dec 13, 2018 · 7 comments

Comments

@kernelwhisperer
Copy link
Contributor

from @lkngtn:

If you setup a local RPC instance and wish to deploy a new token manager into a DAO there is a catch-22. The token manager cannot be initialized unless there is a deployed minime contract with the token manager’s address set as its controller and you cannot deploy the token manager (and get its address) without initializing. 🤷‍♂️

Allowing the user to deploy applications and then initialize them with a separate command would resolve this issue.

@Quazia
Copy link
Contributor

Quazia commented Dec 14, 2018

An alternative to allowing users to deploy the application and initialize separately would be to provide a script option in the install command that would run some application-specific code inbetween the contract deploy and the application initialization.

@lkngtn
Copy link

lkngtn commented Dec 14, 2018

initialize separately would be to provide a script option in the install command that would run some application-specific code inbetween the contract deploy and the application initialization.

I'm wondering what the advantage here would be as opposed to scripting the cli itself?

@Quazia
Copy link
Contributor

Quazia commented Dec 14, 2018

Yeah, separating it out is a better idea. Daniel suggested we just modify the install command with an option that prevents initialization.

@Quazia Quazia mentioned this issue Jan 9, 2019
6 tasks
@kernelwhisperer
Copy link
Contributor Author

kernelwhisperer commented Jan 13, 2019

Allowing the user to deploy applications and then initialize them with a separate command would resolve this issue.

Looks like this is already possible with the --app-init none flag.

Installing a TokenManager on rinkeby:

  1. Create a minime token: dao token <name> <symbol> --environment aragon:rinkeby
  2. Install the app without initializing:
    dao install <dao> token-manager --app-init none --environment aragon:rinkeby
    If you have the Manage apps permission it will get installed immediately:
 ℹ Successfully executed: "Create a new upgradeable instance of 0x9fa3927f639745e587912d4b0fea7ef9013bf93fb907d29faeab57417ba6e1d4 app linked to the Kernel, setting its code to 0x8C06aEBF29F20A2e09b32F5d44cEa49Db3EC2eE0 ."

otherwise, if it goes to a vote first, you need to find the proxy address by doing dao apps <dao> --all (the all flag lists permisionless apps) after the vote passes.

  1. Change the token controller to the new app's proxy address with dao token change-controller.
  2. Set some permissions to the new app to show up, otherwise aragon.js will not find it:
✖ No artifact found for 0x8C06aEBF29F20A2e09b32F5d44cEa49Db3EC2eE0

Example:

dao acl create <dao> <proxy-address> MINT_ROLE <entity> <manager>  --environment aragon:rinkeby
  1. Initialize the app
dao exec <dao> <proxy-address> initialize <token-address> <transferable> <max-tokens-per-account>  --environment aragon:rinkeby

@sohkai
Copy link
Contributor

sohkai commented Jan 15, 2019

🎉 this is great to see!

you need to find the proxy address by going on etherscan to your app's Kernel and look for the NewAppProxy event

Could this be highlighted with dao apps somehow (looking through etherscan would be pretty tedious)?

@kernelwhisperer
Copy link
Contributor Author

Could this be highlighted with dao apps somehow (looking through etherscan would be pretty tedious)?

Exactly! I was thinking something like dao apps <dao> --no-permissions could do this 🤔 .

@kernelwhisperer
Copy link
Contributor Author

Opened #340 to allow checking apps without permissions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants