Migrate Contributor Streams to Sablier
01Summary
This proposal migrates three contributors' indefinite Comp payment streams to Sablier with one-year linear vesting terms. The old payment mechanism is disabled, approximately 25,183 Comp is transferred to Sablier for streaming to three recipient addresses, and Arr00 receives 20 Comp as compensation for executing the migration.
- Type
- protocol addition
Key changes
- Disable contributor Comp speed for three addresses (0x9B68c14e936104e9a7a24c712BEecdc220002984, 0xD20c9667bf0047F313228F9fE11F8b9F8Dc29bBa, 0x57C970568668087c05352456a3F59B58B0330066) via _setContributorCompSpeed to zero(high)
- Approve Sablier contract to receive approximately 25,183 Comp tokens(high)
- Create three Sablier streams with one-year linear vesting: recipient 0x9B68c14e receiving ~249,075 Comp, recipient 0xD20c9667bf0047F receiving ~10,696,624 Comp, and recipient 0x57C970568668087c05352456a3F59B58B0330066 receiving ~14,237,959 Comp(high)
- Transfer 20 Comp to Arr00 (0x2B384212EDc04Ae8bB41738D05BA20E33277bf33) as compensation for proposal execution(low)
Notable concerns
- Migration converts indefinite payment streams to fixed one-year terms, which may represent a material change to contributor compensation expectations
- Stream start date of January 10, 2022 with varying end dates suggests different vesting periods across recipients
Generated by Kvorum
02Description
Migrate Contributor Streams to Sablier
This proposal transfers all existing contributor streaming payments, which are currently indefinite, over to Sablier for one year terms from the start date. The payments remain the same and are calculated assuming there are 6350 blocks per day.
On proposal execution, the full amount of Comp required to complete these payments will be transferred to the Sablier contract from Timelock and be linearly streamed to each recipient. If any of the payments are canceled, by the recipient or governance, the remaining Comp will be transferred back to Timelock.
The final interaction pays Arr00 20 Comp for carrying out this proposal.
03Mismatch analysis
The description says existing indefinite contributor streams are being halted and replaced with one-year Sablier streams for the same three recipients, funded from Timelock, plus a 20 COMP payment to Arr00. The calldata matches this exactly: three _setContributorCompSpeed calls zero out the old streams for the same three addresses that receive the new createStream calls; the approve() amount (25,183.66 COMP) equals the exact sum of the three createStream amounts, confirming the funding math; and the final transfer() sends exactly 20 COMP to the Arr00 address. The three streams have differing absolute end dates despite a common start timestamp, which is consistent with the description's intent of 'one year from the start date' where each contributor's original stream start date differs, producing different funding windows counted from proposal execution. No numeric, target, or recipient mismatches were found, and no undisclosed significant actions (e.g., no unexpected transfers, role changes, or extra recipients) appear in the calldata. The 6350 blocks/day assumption and the cancellation-refund behavior are explanatory/methodological statements about Sablier's standard behavior and off-chain calculation, not separate on-chain actions, so their absence from calldata is expected and not a discrepancy. Overall the prose is an accurate, if summarized, description of the calldata.
Generated by Kvorum
04Actions
- Target
- 0x3d98…cd3b
- Value
- 0 wei
- Function
- _setContributorCompSpeed(address,uint256)
- Arguments
{ "0": "0x9B68c14e936104e9a7a24c712BEecdc220002984", "1": "0" }- Calldata
- Target
- 0x3d98…cd3b
- Value
- 0 wei
- Function
- _setContributorCompSpeed(address,uint256)
- Arguments
{ "0": "0xD20c9667bf0047F313228F9fE11F8b9F8Dc29bBa", "1": "0" }- Calldata
- Target
- 0x3d98…cd3b
- Value
- 0 wei
- Function
- _setContributorCompSpeed(address,uint256)
- Arguments
{ "0": "0x57C970568668087c05352456a3F59B58B0330066", "1": "0" }- Calldata
- Target
- 0xc00e…6888
- Value
- 0 wei
- Function
- approve(address,uint256)
- Arguments
{ "0": "0xCD18eAa163733Da39c232722cBC4E8940b1D8888", "1": "25183659733551205192800" }- Calldata
- Target
- 0xcd18…8888
- Value
- 0 wei
- Function
- createStream(address,uint256,address,uint256,uint256)
- Arguments
{ "0": "0x9B68c14e936104e9a7a24c712BEecdc220002984", "1": "249075045833329227600", "2": "0xc00e94Cb662C3520282E6f5717214004A7f26888", "3": "1641920400", "4": "1657756800" }- Calldata
- Target
- 0xcd18…8888
- Value
- 0 wei
- Function
- createStream(address,uint256,address,uint256,uint256)
- Arguments
{ "0": "0xD20c9667bf0047F313228F9fE11F8b9F8Dc29bBa", "1": "10696624835912820075600", "2": "0xc00e94Cb662C3520282E6f5717214004A7f26888", "3": "1641920400", "4": "1664323200" }- Calldata
- Target
- 0xcd18…8888
- Value
- 0 wei
- Function
- createStream(address,uint256,address,uint256,uint256)
- Arguments
{ "0": "0x57C970568668087c05352456a3F59B58B0330066", "1": "14237959851805055889600", "2": "0xc00e94Cb662C3520282E6f5717214004A7f26888", "3": "1641920400", "4": "1671667200" }- Calldata
- Target
- 0xc00e…6888
- Value
- 0 wei
- Function
- transfer(address,uint256)
- Arguments
{ "0": "0x2B384212EDc04Ae8bB41738D05BA20E33277bf33", "1": "20000000000000000000" }- Calldata
05Tally
Summed from votes
06Voters
| Voter | Choice | % of total | Rationale | ||
|---|---|---|---|---|---|
| EA0xea6c…3bf7 | For | 306K | 70.57% | — | 5y ago |
| 8D0x8d07…a265 | For | 70K | 16.15% | — | 5y ago |
| 450x458c…730e | For | 50K | 11.53% | — | 5y ago |
| 2B0x2b38…bf33 | For | 7.6K | 1.74% | — | 5y ago |
| 660x66cd…65f9 | For | 13.4 | 0.00% | — | 5y ago |
| B70xb7d4…1cd5 | For | 0.8 | 0.00% | — | 5y ago |
| FE0xfe97…8318 | For | 0 | 0.00% | — | 5y ago |
07Forum
- Migrate GFX Labs and Gauntlet COMP streams over to Sablier ↗discourse · high confidence
Arguments for
- Sablier is an established DeFi protocol that enables time-based (timestamp) rather than block-number-based streams, which is more reliable for long-term compensation.— maxdesalle, TragedyStruck, paulrberg
- Sablier streams are cancelable and repriceble by governance or recipients, providing more flexibility than current endless COMP streams that require governance proposals to end.— maxdesalle, arr00
- Migrating to Sablier has no protocol fees, only gas costs, making it cost-effective compared to current streaming arrangements.— josuegomez
- Using Sablier reflects Compound's engagement with contributors more accurately through defined term-based payments rather than perpetual streams.— pauljlei, getty
Arguments against
None surfaced.
Unresolved concerns
- Uncertainty about how urgent the migration is given that Gauntlet's engagement only began approximately three months before the proposal.— pauljlei
- Question of whether OpenZeppelin's pending work for Compound should be coordinated with this migration to avoid duplicative efforts.— TragedyStruck, arr00
Notable participants
- maxdesalleProposal author who introduced the Sablier migration concept and TL;DR.
- arr00Core implementer who generated the technical figures for stream creation, coordinated the proposal timeline, and moved it to voting.
- paulrbergSablier representative who clarified the technical mechanism of timestamp-based streams.
- gettyIndividual recipient of current streaming grant who clarified his personal compensation status and expressed support for exploring Sablier.
- pauljleiGauntlet representative who acknowledged the proposal and signaled openness to migration.
- TragedyStruckCommunity member who asked clarifying questions about Sablier's timestamp mechanism and OpenZeppelin coordination.
Generated by Kvorum
08Similar proposals
- compoundcanceledOpenZeppelin Security Partnership - 2022 Q2 Adjustment V375%
- compoundcanceledOpenZeppelin Security Partnership - 2022 Q2 Adjustment V275%
- compoundcanceledOpenZeppelin Security Partnership - 2022 Q2 Adjustment72%
- compoundexecutedOpenZeppelin Security Partnership - 2022 Q2 Adjustment V466%
- compoundexecutedCompound <> Gauntlet Year 5 Partnership66%
- compoundexecutedService Providers Stream Revision64%
- compoundcanceledOpenZeppelin Security Partnership - Annual Renewal 202564%
- compoundexecutedOpenZeppelin Security Partnership - Annual Renewal 202564%
- compoundexecutedOpenZeppelin Security Partnership - Annual Renewal 202463%
- compoundexecutedGauntlet <> Compound Incentive Optimization62%