{"_id":"@aragon/templates-beta","_rev":"53-0b62d4f94641e2553faf46e9df7fa317","name":"@aragon/templates-beta","dist-tags":{"latest":"1.1.3"},"versions":{"1.0.0":{"name":"@aragon/templates-beta","version":"1.0.0","author":{"name":"Aragon Institution MTU","email":"contact@aragon.one"},"license":"GPL-3.0","_id":"@aragon/templates-beta@1.0.0","maintainers":[{"name":"bpierre","email":"bonjour@pierrebertet.net"},{"name":"izqui","email":"jorge@aragon.one"},{"name":"licuende","email":"luis@unpatent.co"},{"name":"luisivan","email":"me@luisivan.net"},{"name":"onbjerg","email":"nordbjerg.oliver@gmail.com"},{"name":"sohkai","email":"qisheng.brett.sun@gmail.com"}],"dist":{"shasum":"d5de88fd1a9506ddf187365643b3d4daa32fe1d4","tarball":"https://registry.npmjs.org/@aragon/templates-beta/-/templates-beta-1.0.0.tgz","fileCount":77,"integrity":"sha512-wiKpQLTSrzajRhiK58UoZHHynak12MD0RZHSmugcUax7azJS1MZtV0xCRoq0QL/6hUJSw8mHlrD9ZIZMOI4Nsw==","signatures":[{"sig":"MEQCIF0Bzsnhx3YfmiNSQDamhgi35BgoIYVrr0ShA1+x+nFYAiALlqQcpW+chdpjxy2dMIPvwPibl/1EfgyFsOoDnK3shQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12399266},"main":"index.js","scripts":{"deploy:rpc":"truffle migrate --network rpc --reset","deploy:rinkeby":"truffle migrate --network rinkeby --reset"},"_npmUser":{"name":"izqui","email":"jorge@aragon.one"},"deprecated":"Hey! templates-beta should not have been published nor be used as a dependency!","_npmVersion":"5.6.0","description":"Beta template for v0.5 Aragon orgs","directories":{},"_nodeVersion":"8.9.0","dependencies":{"@aragon/os":"^3.0.3","@aragon/apps-vault":"^1.0.0","@aragon/apps-voting":"^1.0.0","@aragon/apps-finance":"^1.0.0","@aragon/apps-token-manager":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"truffle":"^4.0.5","@aragon/id":"^1.2.0","eth-ens-namehash":"^2.0.8","truffle-hdwallet-provider":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/templates-beta_1.0.0_1519650415451_0.28522385525069316","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@aragon/templates-beta","version":"1.1.1","author":{"name":"Aragon Institution MTU","email":"contact@aragon.one"},"license":"GPL-3.0","_id":"@aragon/templates-beta@1.1.1","maintainers":[{"name":"bingen","email":"bingen@aragon.one"},{"name":"bpierre","email":"bonjour@pierrebertet.net"},{"name":"izqui","email":"jorge@aragon.one"},{"name":"licuende","email":"luis@unpatent.co"},{"name":"luisivan","email":"me@luisivan.net"},{"name":"onbjerg","email":"nordbjerg.oliver@gmail.com"},{"name":"sohkai","email":"qisheng.brett.sun@gmail.com"}],"dist":{"shasum":"065662799ab377dece53aec90bf00dc70f8b7116","tarball":"https://registry.npmjs.org/@aragon/templates-beta/-/templates-beta-1.1.1.tgz","fileCount":84,"integrity":"sha512-eAwhvQ25G0yICA6vD07QzbAGW/LdlkK/3AtUE4JY0kVor1mCodSllBfI7LvmIT9xnzy5rgle+uCBXe5UKpUK4g==","signatures":[{"sig":"MEQCIGAWG7VWNLts8msOWgk5PbURV2iHYpqNtehnJH2s6NCnAiBPmL11M7anR6DezR2wSsmfRvUQsfxVIcDSnFsm5JboCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12492533},"main":"index.js","scripts":{"deploy:rpc":"truffle migrate --network rpc --reset","docker:run":"docker-compose up deploy","prepublish":"truffle compile","docker:build":"docker build -t aragon/templates-beta -f Dockerfile ../..","deploy:devnet":"truffle migrate --network devnet --reset","deploy:rinkeby":"truffle migrate --network rinkeby --reset","docker:build:no":"docker build --no-cache -t aragon/templates-beta -f Dockerfile ../..","docker:wait-gas":"truffle exec scripts/sleep-until-gaslimit.js --network devnet 6900000"},"_npmUser":{"name":"izqui","email":"jorge@aragon.one"},"deprecated":"Hey! templates-beta should not have been published nor be used as a dependency!","_npmVersion":"5.6.0","description":"Beta template for v0.5 Aragon orgs","directories":{},"_nodeVersion":"8.9.0","dependencies":{"@aragon/os":"git+https://github.com/aragon/aragonOS.git#docker-deploy","@aragon/apps-vault":"^1.0.0","@aragon/apps-voting":"^1.0.0","@aragon/apps-finance":"^1.0.0","@aragon/apps-token-manager":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"truffle":"4.0.5","@aragon/id":"^1.2.0","eth-ens-namehash":"^2.0.8","truffle-hdwallet-provider":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/templates-beta_1.1.1_1520276336928_0.03892578895324905","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@aragon/templates-beta","version":"1.1.2","author":{"name":"Aragon Institution MTU","email":"contact@aragon.one"},"license":"GPL-3.0","_id":"@aragon/templates-beta@1.1.2","maintainers":[{"name":"bingen","email":"bingen@aragon.one"},{"name":"bpierre","email":"bonjour@pierrebertet.net"},{"name":"izqui","email":"jorge@aragon.one"},{"name":"licuende","email":"luis@unpatent.co"},{"name":"luisivan","email":"me@luisivan.net"},{"name":"onbjerg","email":"nordbjerg.oliver@gmail.com"},{"name":"sohkai","email":"qisheng.brett.sun@gmail.com"}],"dist":{"shasum":"690c777bc1474a9668030225ad9157ef9206947c","tarball":"https://registry.npmjs.org/@aragon/templates-beta/-/templates-beta-1.1.2.tgz","fileCount":87,"integrity":"sha512-Yh8QT/MoIFccqh+RAo+sa7jQPeWRHr8k1YDMqo08cHFUWZ3Dqpbev796mqWbLXEAuFLcv8HuO+B4DXiId4Uaew==","signatures":[{"sig":"MEQCICEfwuKfLEeG+7dWj9YOgQ3AFD1tfE54IdLg6qHaO4U+AiBsRgZnP7IuifxGrMA86E8Fox92rgJekxq4ik5OuKqFoQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12538522},"main":"index.js","scripts":{"deploy:rpc":"truffle migrate --network rpc --reset","docker:run":"docker-compose up deploy","prepublish":"truffle compile && node scripts/extract-abis.js","docker:build":"docker build -t aragon/templates-beta -f Dockerfile ../..","deploy:devnet":"truffle migrate --network devnet --reset","deploy:rinkeby":"truffle migrate --network rinkeby --reset","docker:build:no":"docker build --no-cache -t aragon/templates-beta -f Dockerfile ../..","docker:wait-gas":"truffle exec scripts/sleep-until-gaslimit.js --network devnet 6900000"},"_npmUser":{"name":"izqui","email":"jorge@aragon.one"},"deprecated":"Hey! templates-beta should not have been published nor be used as a dependency!","_npmVersion":"5.6.0","description":"Beta template for v0.5 Aragon orgs","directories":{},"_nodeVersion":"8.9.0","dependencies":{"@aragon/os":"^3.0.8","@aragon/apps-vault":"^1.0.0","@aragon/apps-voting":"^1.0.0","@aragon/apps-finance":"^1.0.0","@aragon/apps-token-manager":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"truffle":"4.0.5","@aragon/id":"^1.2.1","eth-ens-namehash":"^2.0.8","truffle-hdwallet-provider":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/templates-beta_1.1.2_1521029032918_0.9785811192004119","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"@aragon/templates-beta","version":"1.1.3","author":{"name":"Aragon Institution MTU","email":"contact@aragon.one"},"license":"GPL-3.0","_id":"@aragon/templates-beta@1.1.3","maintainers":[{"name":"bingen","email":"bingen@aragon.one"},{"name":"bpierre","email":"bonjour@pierrebertet.net"},{"name":"izqui","email":"jorge@aragon.one"},{"name":"licuende","email":"luis@unpatent.co"},{"name":"luisivan","email":"me@luisivan.net"},{"name":"onbjerg","email":"nordbjerg.oliver@gmail.com"},{"name":"sohkai","email":"qisheng.brett.sun@gmail.com"}],"dist":{"shasum":"50918bfb5827fd3a5bedd0c35d802d2832092ac3","tarball":"https://registry.npmjs.org/@aragon/templates-beta/-/templates-beta-1.1.3.tgz","fileCount":88,"integrity":"sha512-RBpvibf3pabIFKPARfu+dZNFesYDoH4R/6EuuBtqQGVrWiR3FbHKg8heyjn8o6s/Sw/DehbHFpA6xro3aKzb6g==","signatures":[{"sig":"MEQCIFgRdv1CSTMwo44Q2X2KxympEPNNNuc1vDM7EqqCQcxQAiBa26Cu4ppW/6oXmmvVtepEP+CyMbQo6qqyALQczDBhCg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12547877,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwy7oCRA9TVsSAnZWagAAeeMP/1OzcE6GKbIw93rTJqnB\nNmI3yXtrMC4IWD3c6ngotiUOLyiysoeEZ7RF27AZ3JMhot9z3JK6vYmmtXWH\nJOI0FWI1aqQC710BiM0qEh70mk/MGnDpvP2uGpAYQ4E98MpVn0MO4q5fLleU\nfOn0NqtrIs8IwvQl9MygD2NBHnUDxH+kmnlQEmSGTZna57N0KRhBuFvaif5H\nrNig6zTy27R/zoZjNvmsymvLh0vBKFz96f6EjevevAj7n6TuPMxGF+JvRsqy\nIF2gaV0bRvVzAowg5TnrqkGA20/mQjOZ4yyLFaqeDZ7G7nqzkYhnHaE+toMF\nzDU8wulW58ujwe2liHcKxGZw4gNpSFC5Q1416ZcQUZ25cu0xSLTF1HTEVAOg\nTPagNfl4/TmMFDmEZzNA1ZmkYDXPo02V8sCYNmZO5u8l8NAw20Pq+Pv3dLoy\nzZz0j7+XvKvyw47bg2ggRVeNVw3fUQ2e1NPUWd4M3YUhDsTB39btYZCj0idv\nFbhXXsiUf2RkIMcjgSyR1oDebmF/tKOmD0oXvjkJLry2JtxX9OiU/tnxzFoK\nJ4rvi4i6lS0vZc1KjvCabaZiXYgQMQPQOYhUcQ39sMndUV/bI8eQZolNjQRI\nmmppLi7HQ2QSkIMBjSsI04MFdALGAFUS1uW2nmaRuS42WqMuiqA8ETrP4JMC\npAPg\r\n=Suaw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"deploy:rpc":"truffle migrate --network rpc --reset","docker:run":"docker-compose up deploy","prepublish":"truffle compile && node scripts/extract-abis.js","docker:build":"docker build -t aragon/templates-beta -f Dockerfile ../..","deploy:devnet":"truffle migrate --network devnet --reset","deploy:rinkeby":"truffle migrate --network rinkeby --reset","docker:build:no":"docker build --no-cache -t aragon/templates-beta -f Dockerfile ../..","docker:wait-gas":"truffle exec scripts/sleep-until-gaslimit.js --network devnet 6900000"},"_npmUser":{"name":"izqui","email":"jorge@aragon.one"},"deprecated":"Hey! templates-beta should not have been published nor be used as a dependency!","_npmVersion":"5.6.0","description":"Beta template for v0.5 Aragon orgs","directories":{},"_nodeVersion":"8.9.0","dependencies":{"@aragon/os":"^3.0.8","@aragon/apps-vault":"^1.0.0","@aragon/apps-voting":"^1.0.0","@aragon/apps-finance":"^1.0.0","@aragon/apps-token-manager":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"truffle":"4.0.5","@aragon/id":"^1.2.1","eth-ens-namehash":"^2.0.8","truffle-hdwallet-provider":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/templates-beta_1.1.3_1521042461247_0.7986732070569418","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-02-26T13:06:55.392Z","modified":"2025-05-09T12:20:04.748Z","1.0.0":"2018-02-26T13:06:55.656Z","1.1.1":"2018-03-05T18:58:57.119Z","1.1.2":"2018-03-14T12:03:53.045Z","1.1.3":"2018-03-14T15:47:41.515Z"},"author":{"name":"Aragon Institution MTU","email":"contact@aragon.one"},"license":"GPL-3.0","description":"Beta template for v0.5 Aragon orgs","maintainers":[{"email":"devops-master@aragon.org","name":"devops-master"},{"email":"jjavieralvarezrodriguez@gmail.com","name":"jjavieralv"},{"email":"devops@aragon.org","name":"arabot-1"}],"readme":"# Aragon 0.5 beta templates\n\n## Description\n\nIn both templates, a Voting app is created that has power over all important\nfunctionality in the organization.\n\nThe difference between them is how the Voting app is configured and the token\ndistribution.\n\n## Install local environment\n\n- Install [Docker CE](https://docs.docker.com/install/)\n- `cd templates/beta && npm run docker:run`\n- Outputted ENS address has to be provided to the client\n- That's really it 🦅🚀\n\n## Usage\n\nBoth templates require 2 transactions to completely set up an organization.\nOne to create the token (which is cached in the template) and one to create the\norganization and finish the setup.\n\n- Both transactions have to be done by the same sender (cache reasons).\n- Thanks to account nonces, we can prompt the user to sign and broadcast both\ntransactions without requiring the user to wait for the first one to be mined,\nand we can be sure that they will be mined in order.\nMetamask will probably tell the user the second transaction will fail, but that's\nbecause they don't know better (they don't calculate the state as if the first\ntransaction was already mined).\n- Addresses for deployed templates can be found in `index.js`.\n\n### 1. Token creation\n\n- `demTemp.newToken(name, symbol)`\n- `msTemp.newToken(name)`\n\nOn success it will emit a `DeployToken(token, cacheOwner)` event.\n\n### 2. Organization creation\n\n- On success it will emit a `DeployInstance(dao, token)` event.\n- Requires `cacheOwner` to send this transaction too.\n\n#### Democracy Template\n\n```\ndemTemp.newInstance(name, holders, stakes, supportNeeded, minAcceptanceQuorum, voteDuration)\n```\n\n- `name`: Name for org, will assign `[name].aragonid.eth` (check capitalization).\n- `holders`: Array of token holder addresses.\n- `stakes`: Array of token stakes for holders (token has 18 decimals, multiply token amount `* 10^18`)\n- `supportNeeded, minAcceptanceQuorum, voteDuration`: Check [Voting app spec]\n(https://wiki.aragon.one/dev/apps/voting/).\n\n\n#### Multisig Template\n\n```\nmsTemp.newInstance(name, signers, neededSignatures)\n```\n\n- `name`: Name for org, will assign `[name].aragonid.eth` (check capitalization).\n- `signers`: Array of addresses that are the multisig signatoires\n(they will be issued 1 token).\n- `neededSignatures`: Number of signers that need to sign to execute an action\n(parametrized Voting app under the hood).\n\n## ENS, APM and aragonID\n\nOur fake ENS instance that we use across the entire system can also be found in\n`index.js`.\n\nUsing it as the ENS registry, we can find everything else by using ENS.\n\n- `APM` -> `ens.addr('aragonpm.eth')`\n- `AragonID` -> `ens.owner('aragonid.eth')` (notice it is owner and not addr)\n\n## aragonID\n\nAfter fetching AragonID's from the ENS, registering a name for an address can be done:\n\n```\naragonID.register(keccak256(name), addr)\n```\n\nNote that if the name already exists, the transaction will revert (see gotchas).\n\n## APM\n\nThe deployed APM Registry has a pretty tight governance mechanism which only allows\ncertain individuals (Aragon core team) to create new repos and different repos\nare managed by different team members.\n\nTemplates will deploy the last version of the apps according to their APM repos,\nthis will allow us to update the apps without the need to update templates.\n\nFor our Rinkeby deployment we are using a custom ENS deployment. This is fairly\ntrustful as an account we control is the ENS root.\n\n```\nENS: 0xaa0ccb537289d226941745c4dd7a819a750897d0\nAPM: 0x8da0fe11ece85f48723d45c3d6767db9bd4f0b29\n```\n\nRepos can be found by resolving the repo appId in ENS (e.g. `ens.resolve('voting.aragonpm.eth')`).\nNew versions have to be submitted directly to the repo address. If you don't\nhave permission to do so, please ask the permission manager (aka Jorge).\n\n## Gotchas\n\n- Because of aragonID registration, trying to create an organization with the\nname of an existing one will fail. For the client, an easy way to check is\nwhether `[name].aragonid.eth` owner's is `0x00...00`\n\n## Gas costs\n\nAs of Feb 14th (❤️) the costs of deploying a fully working organization are:\n\n- `template.newToken(...)`: ~2.4m gas\n- `template.newInstance(...)`: ~6.08m gas\n\nWhich total in 106% of a mainnet block worth of gas, making deploying an Aragon org\ncheaper than $100 at given current gas and ETH prices.\n\n## Deploying templates\n\nAfter deploying ENS, APM and AragonID. Change `index.js` ENS address for the\ndeployment network.\n\nThen just:\n\n```\nnpm run deploy:rinkeby\n```\n","readmeFilename":"readme.md"}