Skip to content

OSX-Commons: A collection of shared resources and utilities for the Aragon OSX DAO Framework, including subgraph, contract, and SDK functionalities.

License

Notifications You must be signed in to change notification settings

ringecosystem/osx-commons

 
 

Repository files navigation

Aragon OSx Commons

A collection of shared resources and utilities for the Aragon OSx DAO Framework and plugin developers

Project

The root folder of the repo includes four subfolders:

.
├── configs
├── contracts
├── sdk
├── subgraph
├── ...
└── package.json
  • The configs folder contains general configurations such as the contract addresses for each network that Aragon OSx has been officially deployed to, which are importable in JS/TS code.
  • The contracts folder contains Solidity smart contracts being used by the OSx framework and for plugin development.
  • The sdk folder contains various JS/TS helper functions that can be used in the OSx repo and plugin repos for for testing and deployment.
  • The subgraph contains various JS/TS helper functions that can be used in the OSx repo and plugin repos for subgraph development.

The root-level package.json file contains global dev-dependencies for formatting and linting. After installing the dependencies with

yarn install

you can run the associated formatting and linting commands.

Formatting

yarn prettier:check

all .sol, .js, .ts, .json, and .yml files will be format-checked according to the specifications in .prettierrc file. With

yarn prettier:write

the formatting is applied.

Linting

With

yarn lint

.sol, .js, and .ts files in the subfolders are analyzed with solhint and eslint, respectively.

Setting Environment Variables

To be able to work on the contracts, make sure that you have created an .env file from the .env.example file and put in the API keys for

  • Alchemy that we use as the web3 provider
  • Alchemy Subgraphs that we use as the subgraph provider
  • the block explorer that you want to use depending on the networks that you want to deploy to

You can also change the default hardhat private key (PRIVATE_KEY="0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"). Note however, that the contracts in this repo are not meant to be deployed directly.

Audits

Our smart contracts undergo regular audits.

v1.0.0

Version 1.0.0 of osx-commons-contracts has been audit when it was part of the aragon/osx repo.

Halborn: link 1, link 2

v1.3.0

Version 1.3.0 of osx-commons-contracts has been audit when it was part of the aragon/osx repo.

Code4rena: link 1, link 2

Halborn: link 1, link 2

Contributing

If you like what we're doing and would love to support, please review our CONTRIBUTING_GUIDE.md here. We'd love to build with you.

Security

If you believe you've found a security issue, we encourage you to notify us. We welcome working with you to resolve the issue promptly.

Security Contact Email: sirt@aragon.org

Please do not use the issue tracker for security issues.

About

OSX-Commons: A collection of shared resources and utilities for the Aragon OSX DAO Framework, including subgraph, contract, and SDK functionalities.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 65.0%
  • Solidity 34.9%
  • JavaScript 0.1%