Contracts
Overview
The guild uses Splits contracts for vesting and distributing funds to members, based on Protocol Guild architecture.
Contract Name | Address (ENS) | Splits app | Splits docs | Purpose |
---|---|---|---|---|
Vesting Contract | donate.devtoolsguild.eth & vesting.devtoolsguild.eth | Vesting Contract | Vesting | Accepts ETH/ERC20 donations. Vests linearly over 365 days to the pass-through wallet. |
Pass-through Wallet | passthrough.devtoolsguild.eth | Pass-through Wallet | Pass-through Wallet | Passes tokens to the split contract. Guild multi-sig (owner) can pause or change recipient. |
Split Contract | split.devtoolsguild.eth | Split Contract | SplitV2 | Distributes ETH/ERC20 to guild members per pre-set percentages. Guild multi-sig can update members and shares. |
Multi-sig | devtoolsguild.eth | N/A | N/A | 4/6 multi-sig. Can pause or change recipient of pass-through wallet. Can update split members & shares. |
Vesting contract
Donations to the guild can be made to the Vesting contract at donate.devtoolsguild.eth.
Vesting streams have a 365 day vesting period. The sole beneficiary is the guild pass-through wallet.
The process involves:
-
Donations: ETH & ERC20 token donations are sent to the Vesting contract, where they are held until a vesting stream is initiated.
-
Starting a Vesting Stream: A vesting stream for a specific token is initiated via the
startStream
function, beginning the linear vesting process over the 365 day vesting period. Anyone can trigger this. Multiple streams can operate simultaneously. -
Releasing Vested Funds: At any time, anyone can release the vested portion of tokens to the pass through wallet via the
releaseStream
function. (Note: This must be done per vesting stream.)
Pass-through wallet
Pass-through wallet passes tokens on to the split contract.
The guild multi-sig owns the wallet and can pause the pass through of tokens or change the pass-through recipient.
Split contract
Split contract distributes ETH & ERC20 tokens to guild members according to pre-set percentages. Funds are held in the Split's balance until distribute
function is called.
Updating members and percentage share
The members and percentage share can be updated by the guild multi-sig at any time.
Prerequisites
Before updating members or percentage share, it is recommended to:
- Release any ongoing vesting streams using the
releaseVestingStream
function. - Distribute funds via the Splits app to the existing member list.
This ensures that the current members receive their rightful share of the funds. Once the distribution is completed, the member list can be safely updated.
Multi-sig
Multi-sig [Etherscan] is 4/6. The multi-sig is the owner of the pass-through wallet.
The multi-sig also owns the pass-through wallet and can pause the pass through of tokens or change the pass-through recipient.
ENS
devtoolsguild.eth [ENS] is owned by the guild multi-sig.