Sablier Legacy [](https://circleci.com/gh/sablier-labs/legacy-contracts) [](https://coveralls.io/github/sablier-labs/legacy-contracts?branch=develop) [](https://prettier.io) [](http://commitizen.github.io/cz-cli/) [](https://opensource.org/licenses/lgpl-3.0)

December 21, 2024 ยท View on GitHub

This is the source code of the Sablier Legacy protocol, which has been superseded by Sablier Lockup. For more details about how Sablier works, check out our docs at docs.sablier.com.

This repo is structured as a monorepo:

PackageDescription
@sablier/dev-utilsDev utils to be shared across Sablier projects and packages
@sablier/protocolThe core token streaming protocol
@sablier/shared-contractsSmart 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:

$ 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 legacy-recipient.sablier.com to withdraw from streams.

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.

We use Yarn as a dependency manager and Truffle as a development environment for compiling, testing, and deploying our contracts. The contracts were written in 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.

$ npm install --global yarn

Then, install dependencies:

$ yarn install

Watch

To re-build all packages on change:

$ yarn watch

Clean

To clean all packages:

$ yarn clean

To clean a specific package:

$ PKG=@sablier/protocol yarn clean

Lint

To lint all packages:

$ yarn lint

To lint a specific package:

$ PKG=@sablier/protocol yarn lint

Prettier

To run prettier on all packages:

$ yarn prettier

Prettier cannot be run on individual packages.

Test

To run all tests:

$ yarn test

To run tests in a specific package:

$ PKG=@sablier/protocol yarn test