A Juicebox treasury extension which, when added to a projects funding cycle payout splits, receives ETH and optionally swaps into a target token defined by deployer. Sablier v2 Token streams can be created, cancelled, and otherwise managed by the respective Juicebox Project operators via JBSips.
Mitigate the trust issues of onboarding new contributors by paying via cancellable Sablier V2 Token Streams.
Also we kinda built this to jam with cool people at Sablier: Juicebox Proposal #412
- Deploy JBSips and attach it to a projects funding cycle splits
- Payout your Juicebox Project which sends ETH ->
JBSips.allocate()
- Project operator calls
JBSips.deployStreams()
with their Sablier stream configs - A PRB Proxy and Plugin are deployed which allows the JBSips contract to act as a stream management hub
- Streams are then deployed and stored by funding cycle in state variable
JBSips.streamsByCycleAndAddress
- Project operator calls
JBSips.batchCancelStreams()
- Funds are returned to JBSips
- User can withdraw amounts streamed before cancellation
- Project operators can use
JBSips.withdrawETH()
,JBSips.withdrawTokenDust()
,JBSips.withdrawAllTokenDust()
to withdraw any leftover balances.
- Project Operators with JBOperatable permissions in this case
"SET_SPLITS"