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

POC for porting Conviction voting to the new Buidler set up #40

Closed
wants to merge 3 commits into from

Conversation

theethernaut
Copy link

@theethernaut theethernaut commented Feb 25, 2020

Fix aragon/aragon-cli#1512

This PR represents ~30 mins of work for porting the existing Conviction Voting app to the new Buidler set up, still experimental, but mature enough for development of real world apps like this one.

Pls note that the PR doesn't yet modify any files in the app, but instead introduces a new directory "buidler-app" which contains all the proposed modifications.

To test:

  1. Checkout "buidlerized" branch.
  2. Cd into "buidler-app/".
  3. Run npm install.
  4. Run npm start.

@sembrestels
Copy link
Member

sembrestels commented Feb 25, 2020

It throws this error when doing npm start on a fresh npm installed app:

Compiled 71 contracts successfully
backend  | Contracts compiled.
backend  | Started a ganache testnet instance with id 1582665098012.
backend  | Deploying Aragon bases (ENS, DAOFactory, and APM)...
Error BDLR700: Artifact for contract "ENSFactory" not found.

For more info go to https://buidler.dev/BDLR700 or run Buidler with --show-stack-traces
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! test123@0.0.1 start: `buidler start`

EDIT:

When downloading the app directly from aragonone's repository and only installing dependencies inside buidler-app it says that there are unmet dependencies: @aragon/apps-vault, @aragon/apps-token-manager, openzeppelin-solidity... and openzeppelin doesn't work.

Any suggestion?

EDIT 2:

I solved the openzeppelin problem by pinning a specific version, as it is in the conviction voting app. See the following comment.

@sembrestels
Copy link
Member

The file buidler-app/package.json needs the following dependencies:

   "dependencies": {
+    "@aragon/apps-shared-minime": "^1.0.2",
+    "@aragon/apps-token-manager": "^2.1.0",
+    "@aragon/apps-vault": "^4.1.0",
     "@aragon/os": "^4.3.0",
-    "@aragon/apps-shared-minime": "^1.0.2"
+    "openzeppelin-solidity": "2.0.1"
   },

It still gives the "ENSFactory" not found problem. Any suggestion?

@theethernaut
Copy link
Author

@sembrestels sorry about that!

The Buidler plugin needs some aragonOS artifacts to be around. I've added TestImports.sol to contracts/ so that the artifacts may be generated. Should work out of the box now.

@willjgriff willjgriff closed this Oct 25, 2020
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

Successfully merging this pull request may close these issues.

Migrate 1Hive's Conviction Voting to Buidler
3 participants