Smart contracts for Sablier onchain token distribution protocol.
- Language: Solidity 0.8.29
- Framework: Foundry
- Package Manager: Bun
- Task Runner: Just
- Testing: Foundry with Bulloak (BTT)
- Linting: Solhint, Prettier, mdformat
├── airdrops/ # Merkle-based token distribution
├── bob/ # Price-target vaults with yield adapters + OTC escrow
├── flow/ # Open-ended token streaming
├── lockup/ # Fixed-term vesting and airdrops
└── utils/ # Shared utilities and comptroller
Each package has its own CLAUDE.md with protocol-specific context.
- Line length: 120 characters
- Use NatSpec for all public/external functions
- Follow existing patterns in each package
- Tests use Branching Tree Technique (BTT) with
.treefiles
- Base branch for PRs:
staging - Run
just <package>::full-checkbefore committing - Generate BTT tests:
bulloak scaffold -wf path/to/file.tree
All protocols are audited. See SECURITY.md for bug bounty details.
@justfile @package.json @CONTRIBUTING.md