1Hive / transactions-app

Atomic transactions for minting or transferring tokens

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Transactions

1Hive's Transactions app allows users to create a vote with multiple token mintings or token transfers.

🐲 Project Stage: Mainnet and xDAI

The Transactions app has been published to open.aragonpm.eth on Mainnet, Rinkeby, and xDAI networks. If you are interested in contributing please see our open issues.

🚨 Security Review Status: pre-audit

The code in this repository has not been audited.

Initialization

The transactions app does not need any parameter to be initialized.

How to run Transactions app locally

First make sure that you have node and yarn installed and working. You'll also need to have Metamask or some kind of web wallet enabled to sign transactions in the browser.

Git clone this repo.

git clone https://github.com/1Hive/transactions-app.git

Navigate into the transactions-app directory.

cd transactions-app

Install npm dependencies.

yarn

Deploy a dao with Token Manager, Voting, and Finance apps installed on your local environment.

yarn start

How to deploy to an organization

Transactions app are published to APM on Mainnet, Rinkeby, and xDAI at transactions.open.aragonpm.eth. You can use the 1Hive installer to install it on a DAO.

Alternatively, to install the app on an Aragon DAO you can use the Aragon Client embedded console. You can enable it in Global Preferences > Help and feedback.

In the console, you can install the application with the following command:

install/transactions.open/()/DUMMY_ROLE:0x0000000000000000000000000000000000000001:0x0000000000000000000000000000000000000001

Yet, if you are nostalgic, you can install the app using the Aragon CLI following these steps.

# setup your environment
env="--environment aragon:mainnet --ipfs-rpc https://ipfs.eth.aragon.network/ipfs/"

# set a variable for your DAO
dao=<your_dao_address>

# set a variable for the voting app
voting=<your-voting-app-address>

# install the app to the DAO
aragon dao install $dao transactions.open.aragonpm.eth $env

# go to https://mainnet.aragon.org/#/<your-dao-address>/<your-voting-app-address>
# and vote on the installation 

# check the DAO to get the proxy address of the new app
dao apps $dao --all $env

# set a variable for the address of the proxy of the new app
app=<transactions_app_proxy_address_goes_here>

# we need to set up any permission for the app to wire it into the DAO
# (this makes it show up in the UI).
# Note: We assign to $voting the app's DUMMY_ROLE and set up

aragon dao acl create $dao $app DUMMY_ROLE $voting $voting $env

# go back again to https://mainnet.aragon.org/#/<your-dao-address>/<your-voting-app-address>
# and vote on the permission assignation. When it's done, you will see the Transactions
# app appear in the apps' sidebar.


Contributing

We welcome community contributions!

Please check out our open Issues to get started.

If you discover something that could potentially impact security, please notify us immediately. The quickest way to reach us is via the #dev channel in our Discord chat. Just say hi and that you discovered a potential security vulnerability and we'll DM you to discuss details.


About

Atomic transactions for minting or transferring tokens


Languages

Language:JavaScript 99.5%Language:Solidity 0.4%Language:HTML 0.1%