Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sablier-labs/v1-protocol
Core smart contracts of the Sablier V1 protocol
https://github.com/sablier-labs/v1-protocol
blockchain cryptoasset-streaming decentralized-finance defi ethereum real-time-finance sablier smart-contracts solidity token-streaming
Last synced: 22 days ago
JSON representation
Core smart contracts of the Sablier V1 protocol
- Host: GitHub
- URL: https://github.com/sablier-labs/v1-protocol
- Owner: sablier-labs
- License: gpl-3.0
- Created: 2018-08-19T16:01:38.000Z (over 6 years ago)
- Default Branch: develop
- Last Pushed: 2024-01-01T16:41:03.000Z (12 months ago)
- Last Synced: 2024-11-03T22:49:24.095Z (about 2 months ago)
- Topics: blockchain, cryptoasset-streaming, decentralized-finance, defi, ethereum, real-time-finance, sablier, smart-contracts, solidity, token-streaming
- Language: JavaScript
- Homepage: https://sablier.finance
- Size: 2.91 MB
- Stars: 261
- Watchers: 20
- Forks: 77
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Sablier V1 [![CircleCI](https://circleci.com/gh/sablier-labs/v1-protocol.svg?style=svg)](https://circleci.com/gh/sablier-labs/v1-protocol) [![Coverage Status](https://coveralls.io/repos/github/sablier-labs/v1-protocol/badge.svg?branch=develop)](https://coveralls.io/github/sablier-labs/v1-protocol?branch=develop) [![Styled with Prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://prettier.io) [![Commitizen Friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) [![License: LGPL3.0](https://img.shields.io/badge/License-LGPL%20v3-008033.svg)](https://opensource.org/licenses/lgpl-3.0)
This is the source code of the Sablier V1 token streaming protocol, which is a legacy release. The most recent release is V2 and can be found [here](https://github.com/sablier-labs/v2-core). For more details about how Sablier works, check out our docs at [docs.sablier.com](https://docs.sablier.com)/.
This repo is structured as a monorepo:
| Package | Description |
| --------------------------------------------------------- | ----------------------------------------------------------------- |
| [`@sablier/dev-utils`](/packages/dev-utils) | Dev utils to be shared across Sablier projects and packages |
| [`@sablier/protocol`](/packages/protocol) | The core token streaming protocol |
| [`@sablier/shared-contracts`](/packages/shared-contracts) | Smart contracts to be shared across Sablier projects and packages |## Usage :hammer_and_pick:
To compile the smart contracts, bootstrap the monorepo and open the package you'd like to work on. For example, here are the instructions for `@sablier/protocol`:
```bash
$ yarn run bootstrap
$ cd packages/protocol
$ truffle compile --all
$ truffle migrate --reset --network development
```Alternatively, if you simply want to use the UI, head to [v1-pay.sablier.com](https://v1-pay.sablier.com) to create streams and
[v1-app.sablier.com](https://v1-app.sablier.com) to withdraw from streams. You'll need an Ethereum wallet and some ERC20 tokens.## Contributing :raising_hand_woman:
Participation from the community is crucial for shaping the future development of Sablier. If you are interested in
contributing or have any questions, ping us on [Discord](https://discord.gg/KXajCXC).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).### Requirements
- yarn >=1.17.3
- truffle >= 5.0.35
- solidity 0.5.17### Pre Requisites
Make sure you are using Yarn >=1.17.3.
```bash
$ npm install --global yarn
```Then, install dependencies:
```bash
$ yarn install
```### Watch
To re-build all packages on change:
```bash
$ yarn watch
```### Clean
To clean all packages:
```bash
$ yarn clean
```To clean a specific package:
```bash
$ PKG=@sablier/protocol yarn clean
```### Lint
To lint all packages:
```bash
$ yarn lint
```To lint a specific package:
```bash
$ 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:
```bash
$ yarn test
```To run tests in a specific package:
```bash
$ PKG=@sablier/protocol yarn test
```