All Projects → ConsenSys → aragraph

ConsenSys / aragraph

Licence: MIT license
Visualize your Aragon DAO Templates

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to aragraph

developerdao.com
A community of builders who believe in collective ownership of the internet
Stars: ✭ 381 (+1213.79%)
Mutual labels:  dao
Prisma1
💾 Database Tools incl. ORM, Migrations and Admin UI (Postgres, MySQL & MongoDB)
Stars: ✭ 16,851 (+58006.9%)
Mutual labels:  dao
homebase-app
Homebase is a web application that enables users to create and manage/use DAOs on the Tezos blockchain.
Stars: ✭ 42 (+44.83%)
Mutual labels:  dao
seeds light wallet
www.joinseeds.earth/
Stars: ✭ 30 (+3.45%)
Mutual labels:  dao
slick-generic-dao-example
Generic DAO example implementation for Slick 3.2
Stars: ✭ 14 (-51.72%)
Mutual labels:  dao
dxvote
Governance Dapp of DXdao
Stars: ✭ 28 (-3.45%)
Mutual labels:  dao
DAOcreator
dApp for creating and interacting with DAOs
Stars: ✭ 34 (+17.24%)
Mutual labels:  dao
fastquery
FastQuery(Method of fast database query) 基于Java语言. 他的使命是:简化Java操作数据层.做为一个开发者,仅仅只需要设计编写DAO接口即可,在项目初始化阶段采用ASM生成好实现类. 因此,开发代码不得不简洁而优雅.从而,大幅度提升开发效率.
Stars: ✭ 63 (+117.24%)
Mutual labels:  dao
Access-examples
🅰️ Various examples of VBA, queries, macros, forms, reports and ribbon XML in an Microsoft Access database file
Stars: ✭ 51 (+75.86%)
Mutual labels:  dao
dao
Documentation for Liker Land and LikeCoin.
Stars: ✭ 20 (-31.03%)
Mutual labels:  dao
foundation
for the Great Civilization
Stars: ✭ 54 (+86.21%)
Mutual labels:  dao
mongo
Light-weight utilities and declarative schema (mutable mapping) to augment, not replace the Python MongoDB driver.
Stars: ✭ 18 (-37.93%)
Mutual labels:  dao
Smart-Net-Data-Accessor
2-way/outside SQL build-time data accessor generator library.
Stars: ✭ 22 (-24.14%)
Mutual labels:  dao
Community-Governance
The IOTA community creates a governance structure for the community treasury.
Stars: ✭ 36 (+24.14%)
Mutual labels:  dao
sprest
Sprest is a collection of libaries to make building REST services simpler using Spray.
Stars: ✭ 47 (+62.07%)
Mutual labels:  dao
DAO-IPCI
Decentralized autonomous organization «The Integral Platform for Climate Initiatives». DApp, smart contracts and blockchain technology-based ledger for carbon units and carbon units’ operations data.
Stars: ✭ 31 (+6.9%)
Mutual labels:  dao
Exposed
Kotlin SQL Framework
Stars: ✭ 5,753 (+19737.93%)
Mutual labels:  dao
defi-dapps-solidity-smart-contracts
This is a Web 3 Smart Contract learning and teaching repo which will be used to teach students all across Pakistan.
Stars: ✭ 241 (+731.03%)
Mutual labels:  dao
web3together
🗣 Public open-ended discussions about Blockchain, Web3, NFTs, DeFi, ...
Stars: ✭ 58 (+100%)
Mutual labels:  dao
voting-connectors
Connector apps for Aragon Voting
Stars: ✭ 14 (-51.72%)
Mutual labels:  aragon

get in touch with Consensys Diligence
[ 🌐 📩 🔥 ]

aragraph-logo

AraGraph

This blog post is a good introduction to AraGraph.

AraGraph is a tool to generate nice looking permission graphs for Aragon DAOs. It can take the following inputs:

  • The address and chain-ID of a live DAO.
  • A DAO template description file (yaml).
  • A specification in Markdown table format.

The tool generates an UML description for the DAO. Use Plantuml to render it.

aragraph

install

$ npm install -g aragraph

CLI

generate for a live DAO on mainnet

$ aragraph 0x2dE83b50Af29678774D5AbC4a7Cb2a588762f28C --chain-id 1 > dao.plantuml

generate from yaml description

$ aragraph ./examples/company.yaml > dao.plantuml

generate from markdown

$ aragraph ./examples/aragon_company_README.md > dao.plantuml

Render

$ java -jar plantuml.jar dao.plantuml

or open with vscode-PlantUML

Config / Templating

AraGraph allows you to template certain apps to enrich them with even more context like available Roles, Methods, static security information. See templates/config.json for details.

You can either provide you own config.json:

$ aragraph 0x2dE83b50Af29678774D5AbC4a7Cb2a588762f28C --config config.json

Or use the config.json provided with this package:

$ aragraph 0x2dE83b50Af29678774D5AbC4a7Cb2a588762f28C --default-config

Library

for a live DAO on mainnet

Example: DAO-Kernel on mainnet

fromDAO

new AragonPermissions().fromDAO(address, chainId).then((aragaph) => {
        console.log(aragaph.uml())
        process.exit(0)
})

from DAO description files (yaml)

Specification: DAO-Templates/Descriptor

Example: Company.yaml

fromYaml

const AragonPermissions = require("./AragonPermissions.js");
console.log(new AragonPermissions().fromYaml('./examples/company.yaml').uml())

from markdown table

Example: Readme.md

image

const AragonPermissions = require("./AragonPermissions.js");
const input = `

| App               | Permission            | Grantee       | Manager |
|-------------------|-----------------------|---------------|---------|
| Kernel            | APP_MANAGER           | Voting        | Voting  |
| ACL               | CREATE_PERMISSIONS    | Voting        | Voting  |
| EVMScriptRegistry | REGISTRY_MANAGER      | Voting        | Voting  |
| EVMScriptRegistry | REGISTRY_ADD_EXECUTOR | Voting        | Voting  |
| Voting            | CREATE_VOTES          | Token Manager | Voting  |
| Voting            | MODIFY_QUORUM         | Voting        | Voting  |
| Voting            | MODIFY_SUPPORT        | Voting        | Voting  |
| Agent or Vault    | TRANSFER              | Finance       | Voting  |
| Finance           | CREATE_PAYMENTS       | Voting        | Voting  |
| Finance           | EXECUTE_PAYMENTS      | Voting        | Voting  |
| Finance           | MANAGE_PAYMENTS       | Voting        | Voting  |
| Token Manager     | MINT                  | Voting        | Voting  |
| Token Manager     | BURN                  | Voting        | Voting  |
| Agent             | RUN_SCRIPT            | Voting        | Voting  |
| Agent             | EXECUTE               | Voting        | Voting  |
| Finance             | CREATE_PAYMENTS            | Payroll             | Voting        |
| Payroll             | ADD_BONUS_ROLE             | EOA or Voting       | Voting        |
| Payroll             | ADD_EMPLOYEE_ROLE          | EOA or Voting       | Voting        |
| Payroll             | ADD_REIMBURSEMENT_ROLE     | EOA or Voting       | Voting        |
| Payroll             | TERMINATE_EMPLOYEE_ROLE    | EOA or Voting       | Voting        |
| Payroll             | SET_EMPLOYEE_SALARY_ROLE   | EOA or voting       | Voting        |
| Payroll             | MODIFY_PRICE_FEED_ROLE     | Voting              | Voting        |
| Payroll             | MODIFY_RATE_EXPIRY_ROLE    | Voting              | Voting        |
| Payroll             | MANAGE_ALLOWED_TOKENS_ROLE | Voting              | Voting        |
`;

console.log(new AragonPermissions().fromMarkdownTable(input).uml())

Contributors 🤗

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].