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

Merge develop #28

Merged
merged 9 commits into from
Dec 12, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
71 changes: 47 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
<p align="center"><img src="https://i.imgur.com/q6UHTt1.png" width="280px"/></p>

<p align="center">Sablier is a decentralised app for continuous salaries on Ethereum. Read <a href="https://medium.com/sablier-app/introducing-sablier-continuous-payments-on-ethereum-c2bf04446d31" target="_blank">this article</a> to find out more about our mission. For a demo, see <a href="https://www.youtube.com/watch?v=2onYeCwAY3c" target="_blank">this video</a>.</p>
<p align="center">Sablier is the protocol for real-time finance on Ethereum. Read this <a href="https://medium.com/@PaulRBerg/the-protocol-for-real-time-finance-on-ethereum-5a5350db16ae" target="_blank">article</a> to find out more about what we're up to.</p>

<p align="center">
<a href="https://app.netlify.com/sites/infallible-visvesvaraya-6d594e/deploys" alt="Netlify">
<img src="https://api.netlify.com/api/v1/badges/7a05c307-d1c2-43c0-b914-691dc1fa3104/deploy-status">
</a>
<a href="https://circleci.com/gh/sablierhq/sablier" alt="CircleCI">
<img src="https://circleci.com/gh/sablierhq/sablier.svg?style=svg">
</a>
Expand All @@ -25,11 +22,6 @@

---

## Warning :rotating_light:

Please take note that this is experimental, beta software and is provided on an "as is" and "as available" basis. We do
not give any warranties and will not be liable for any loss, direct or indirect through continued use of this codebase.

## Packages :package:

Sablier is maintained as a monorepo with multiple sub packages. Please find a comprehensive list below.
Expand All @@ -38,38 +30,59 @@ Sablier is maintained as a monorepo with multiple sub packages. Please find a co

| Package | Version | Description |
| --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| [`@sablier/dev-utils`](/packages/dev-utils) | [![npm](https://img.shields.io/npm/v/@sablier/dev-utils.svg)](https://www.npmjs.com/package/@sablier/dev-utils) | Dev utils to be shared across Sablier projects and packages |
| [`@sablier/payroll`](/packages/payroll) | [![npm](https://img.shields.io/npm/v/@sablier/payroll.svg)](https://www.npmjs.com/package/@sablier/payroll) | Payroll proxy |
| [`@sablier/protocol`](/packages/protocol) | [![npm](https://img.shields.io/npm/v/@sablier/protocol.svg)](https://www.npmjs.com/package/@sablier/protocol) | Money streaming protocol |
| [`@sablier/shared-contracts`](/packages/shared-contracts) | [![npm](https://img.shields.io/npm/v/@sablier/shared-contracts.svg)](https://www.npmjs.com/package/@sablier/shared-contracts) | Smart contracts to be shared across Sablier projects and packages |

### Private Packages

| Package | Description |
| --------------------------------------------------- | ------------- |
| [`@sablier/eslint-config`](/packages/eslint-config) | Eslint config |
| [`@sablier/landing`](/packages/landing) | Landing page |
| Package | Description |
| ------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| [`@sablier/dev-utils`](/packages/dev-utils) | [![npm](https://img.shields.io/npm/v/@sablier/dev-utils.svg)](https://www.npmjs.com/package/@sablier/dev-utils) | Dev utils to be shared across Sablier projects and packages |

## Contracts :memo:

Find the addresses for our smart contracts below. They have been audited by [Quantstamp](https://github.com/sablierhq/sablier/tree/audit-v2) and [ConsenSys
Diligence](https://github.com/sablierhq/sablier/tree/audit-v1).

### Ethereum Mainnet

| Name | Address |
| ------------- | --------------------------------------------------------------------------------------------------------------------- |
| CTokenManager | [0x342A6596F50b4Db7c3246C0F4eFb1f06843d7405](https://etherscan.io/address/0x342A6596F50b4Db7c3246C0F4eFb1f06843d7405) |
| Payroll | [0xbd6a40Bb904aEa5a49c59050B5395f7484A4203d](https://etherscan.io/address/0xbd6a40Bb904aEa5a49c59050B5395f7484A4203d) |
| Sablier | [0xA4fc358455Febe425536fd1878bE67FfDBDEC59a](https://etherscan.io/address/0xA4fc358455Febe425536fd1878bE67FfDBDEC59a) |

### Ethereum Testnets

These are Goerli, Kovan, Rinkeby and Ropsten. Each contract has the same address on all testnets.

| Name | Address |
| ------------- | --------------------------------------------------------------------------------------------------------------------- |
| CTokenManager | [0xEE5dfDf2e98FdC572786b9E5649cB8Cc93D47a19](https://etherscan.io/address/0x342A6596F50b4Db7c3246C0F4eFb1f06843d7405) |
| Payroll | [0x7ee114C3628Ca90119fC699f03665bF9dB8f5faF](https://etherscan.io/address/0xbd6a40Bb904aEa5a49c59050B5395f7484A4203d) |
| Sablier | [0xc04Ad234E01327b24a831e3718DBFcbE245904CC](https://etherscan.io/address/0xA4fc358455Febe425536fd1878bE67FfDBDEC59a) |

## Usage :hammer_and_pick:

If you want to use the dapp, head to [beta.sablier.app](https://beta.sablier.app). You'll need
[RinkebyDAI](https://rinkeby.etherscan.io/token/0x8ad3aa5d5ff084307d28c8f514d7a193b2bfe725) for this, which you can get
by calling the `mint` function on Etherscan. The token has 18 decimals, so 1,000 DAI is represented as
`1000000000000000000000`. [Reach out on Telegram](https://t.me/sablier) if you need further help.
If you just want to use the dapps, head to [pay.sablier.finance](https://pay.sablier.finance) to create streams and to
[app.sablier.finance] to withdraw from streams. You'll need an Ethereum wallet and some ERC20 tokens to interact
with the dapps.

If you want to check out and compile the smart contracts for yourself, head to each individual package as presented
above. For example, here are the instructions for `@sablier/protocol`:
To check out and compile the smart contracts, bootstrap the monorepo and head to each individual package as presented
above. For example, these are the instructions for `@sablier/protocol`:

```bash
cd packages/protocol
truffle compile --all
truffle migrate --reset --network development
$ yarn run bootstrap
$ cd packages/protocol
$ truffle compile --all
$ truffle migrate --reset --network development
```

## Contributing :raising_hand_woman:

We highly encourage participation from the community to help shape the development of Sablier. If you are interested in
contributing or have any questions, please ping us on [Twitter](https://twitter.com/SablierHQ).
contributing or have any questions, ping us on [Twitter](https://twitter.com/sablierhq) or [Telegram](https://t.me/sablier);

We use [Yarn](https://yarnpkg.com/) as a dependency manager and [Truffle](https://github.com/trufflesuite/truffle)
as a development environment for compiling, testing, and deploying our contracts. The contracts were written in [Solidity](https://github.com/ethereum/solidity).
Expand Down Expand Up @@ -130,6 +143,16 @@ To lint a specific package:
$ PKG=@sablier/protocol yarn lint
```

### Prettier

To run prettier on all packages:

```bash
$ yarn prettier
```

Prettier cannot be run on individual packages.

### Test

To run all tests:
Expand Down
4 changes: 1 addition & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
"commitizen": "^3.1.2",
"coveralls": "^3.0.6",
"cz-conventional-changelog": "^2.1.0",
"fixpack": "^2.3.1",
"husky": "^1.3.1",
"lcov-result-merger": "^3.1.0",
"lerna": "^3.13.1",
Expand All @@ -18,13 +17,12 @@
"license": "LGPL-3.0",
"private": true,
"scripts": {
"bootstrap": "yarn install && yarn build",
"build": "lerna link && yarn wsrun --package $PKG --recursive --stages -c build",
"build:ui": "yarn wsrun --package $PKG --parallel -c build:ui",
"clean": "yarn wsrun --package $PKG --parallel -c clean",
"clean:node_modules": "lerna clean --yes; shx rm -rf node_modules",
"commit": "git-cz",
"coverage": "yarn wsrun --package $PKG --serial -c coverage",
"fixpack": "lerna exec --parallel -- yarn fixpack; fixpack",
"lerna": "lerna",
"lint": "yarn wsrun --package $PKG --parallel -c lint && yarn prettier:ci",
"prettier": "prettier --config .prettierrc --write '**/*.{js,json,jsx,md,sol,ts,tsx}'",
Expand Down
2 changes: 1 addition & 1 deletion packages/dev-utils/.eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"env": {
"node": true
},
"extends": ["airbnb-base", "@sablier/eslint-config"]
"extends": ["airbnb-base", "@paulrberg/eslint-config"]
}
2 changes: 1 addition & 1 deletion packages/dev-utils/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const sablierDevUtils = require("@sablier/dev-utils");
## Contributing

We highly encourage participation from the community to help shape the development of Sablier. If you are interested in
contributing or have any questions, please ping us on [Twitter](https://twitter.com/SablierHQ).
contributing or have any questions, please ping us on [Twitter](https://twitter.com/sablierhq).

### Install Modules

Expand Down
12 changes: 7 additions & 5 deletions packages/dev-utils/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"version": "1.0.0",
"author": {
"name": "Sablier",
"email": "paul@sablier.app",
"url": "https://sablier.app"
"email": "hello@sablier.finance",
"url": "https://sablier.finance"
},
"bugs": {
"url": "https://github.com/sablierhq/sablier/issues"
Expand All @@ -19,11 +19,12 @@
"@babel/plugin-proposal-object-rest-spread": "^7.4.0",
"@babel/plugin-transform-runtime": "^7.6.0",
"@babel/preset-env": "^7.5.5",
"@sablier/eslint-config": "1.0.0",
"@babel/runtime": "^7.7.6",
"@paulrberg/eslint-config": "^1.0.0",
"eslint": "^6.1.0",
"eslint-config-airbnb-base": "^14.0.0",
"eslint-config-prettier": "^6.7.0",
"eslint-plugin-import": "^2.18.2",
"fixpack": "^2.3.1",
"mocha": "^6.2.0",
"shx": "^0.3.2"
},
Expand All @@ -38,7 +39,8 @@
},
"repository": {
"type": "git",
"url": "git+https://github.com/sablierhq/sablier.git"
"url": "https://github.com/sablierhq/sablier.git",
"directory": "packages/dev-utils"
},
"scripts": {
"build": "yarn clean && babel --copy-files --out-dir ./lib --root-mode upward ./src",
Expand Down
30 changes: 0 additions & 30 deletions packages/eslint-config/README.md

This file was deleted.

34 changes: 0 additions & 34 deletions packages/eslint-config/package.json

This file was deleted.

53 changes: 0 additions & 53 deletions packages/eslint-config/src/index.js

This file was deleted.

11 changes: 0 additions & 11 deletions packages/landing/.eslintrc

This file was deleted.

23 changes: 0 additions & 23 deletions packages/landing/.gitignore

This file was deleted.