/v2-periphery

🎛 Peripheral smart contracts for interacting with Sablier V2

Primary LanguageSolidityGNU General Public License v3.0GPL-3.0

Sablier V2 Periphery Github Actions Coverage Foundry Discord

This repository contains the peripheral smart contracts of the Sablier V2 Protocol. For lower-level logic, see the sablier-labs/v2-core repository.

In-depth documentation is available at docs.sablier.com.

Install

Node.js

This is the recommended approach.

Install Sablier V2 Periphery using your favorite package manager, e.g., with Bun:

bun add @sablier/v2-periphery

Then, if you are using Foundry, add these to your remappings.txt file:

@sablier/v2-core/=node_modules/@sablier/v2-core/
@sablier/v2-periphery/=node_modules/@sablier/v2-periphery/
@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/

Git Submodules

This installation method is not recommended, but it is available for those who prefer it.

First, install the submodule using Forge:

forge install sablier-labs/v2-periphery

Second, you need to install the project's dependencies:

forge install --no-commit sablier-labs/v2-core@release OpenZeppelin/openzeppelin-contracts@v4.9.2

Finally, add these to your remappings.txt file:

@sablier/v2-core/=lib/v2-core/
@sablier/v2-periphery/=lib/v2-periphery/
@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/

Security

The codebase has undergone rigorous audits by leading security experts from Cantina, as well as independent auditors. For a comprehensive list of all audits conducted, please click here.

For any security-related concerns, please refer to the SECURITY policy. This repository is subject to a bug bounty program per the terms outlined in the aforementioned policy.

Contributing

Feel free to dive in! Open an issue, start a discussion or submit a PR. For any informal concerns or feedback, please join our Discord server.

For guidance on how to create PRs, see the CONTRIBUTING guide.

License

Sablier V2 Periphery is licensed under GPL v3 or later, except for most of the files in test/, which remain unlicensed (as indicated in their SPDX headers).