Tribute Review

GitHub – openlawteam/tribute-contracts: A new modular DAO framework inspired by the Moloch smart contracts

Tribute is released under the MIT License.

$GEN token is used in DAOstack’s proposal boosting process (f.e., $ANT is used for the governance of the Aragon platform).

Tribute features

  • Tribute – gift that is intended to show gratitude for the great work previous contributors have done.
  • Grace period – a time slot reserved to exit the DAO after the voting period ended. This is important to give the members the opportunity to exit (ragequit) the DAO. Even if they didn’t vote on that proposal. It basically grants them the time to quit before the proposal is processed. This comes from Moloch contracts. But the main difference is that with Tribute user can exit even if he voted ‘Yes’ on a proposal; there is no ragequit for NFTs.
  • TributeNFT adapter – submit the NFTs to the DAO.
  • Adapters – a key concept here is to ensure the information always flows from the External World to the Core Contracts, never the other way around. If a Core Contract needs external info, it must be provided by an Adapter and/or an Extension instead of calling External World directly. Only Adapters and/or Extensions that have access rights can push/pull information to/from the DAO Registry Contract.

Tribute Extensions

  • Bank: banking capabilities to the DAO and keeps track of the DAO accounts and internal token balances.
  • NFT: managing and curating a collection of standard NFTs.
  • ERC20: managing and transferring internal tokens between members and/or external accounts.
  • Executor: executing delegated calls to other contracts, including contracts not part of the DAO, using the EVM instruction delegatecall.
  • ERC1271: collectively sign messages and type data through signatures.
  • ERC1155: managing and curating tokens in ERC-1155 Multi Token Standard.

Adapters

Adapters are added to a DAO narrowly defined, tested, and extensible smart contracts created for specific purposes. Adapters and extensions make DAOs more modular and upgradeable. They can be added to a TributeDAO via a DAO vote process or during the DAO deployment phase.

Adapters execute smart contract logic that changes the state of the DAO by calling the DAORegistry Core Contract. They can also compose complex calls that interact with External World, other Adapters, or Extensions.

  • Configuration: manages to store and retrieve per-DAO settings required by shared adapters.
  • Managing: enhances the DAO capabilities by adding/updating the DAO Adapters through a voting process.
  • Distribute: allows the members to distribute funds to one or all members of the DAO.
  • GuildKick gives the members the freedom to choose which individuals or organizations should really be part of the DAO.
  • Ragequit: gives the members the freedom to choose when the best time to exit the DAO for any given reason.
  • Financing: allows individuals and/or organizations to request funds to finance their projects, and the members of the DAO have the power to vote and decide which projects should be funded.
  • ETH/ERC20 Onboarding: triggers the process of minting internal tokens in exchange for a specific token at a fixed price.
  • Coupon Onboarding: triggers the process of minting internal tokens in exchange for a specific token at a fixed price.
  • Tribute: allows potential and existing DAO members to contribute any amount of ERC-20 tokens to the DAO in exchange for any amount of DAO internal tokens.
  • TributeNFT: allows potential DAO members to contribute a registered ERC-721 asset to the DAO in exchange for any amount of DAO units.
  • Basic Voting: adds the no quorum, simple majority on-chain voting governance process to the DAO.
  • Offchain Voting: adds the off-chain voting governance process to the DAO to support gasless voting.
  • Bank: allows the members to withdraw their funds from the DAO bank, and update the token balances.
  • NFT: allows the individuals to send their NFTs to the DAO NFT Extension.
  • DAO Registry: allows the members to update their delegated keys in the DAO Registry contract.

TributeDAO Framework enables low-cost deployments due to its design and architecture based on the Clone Factory pattern.

That means if the contract deployed is the same every time, there is no need to redeploy the bytecode of the contract, which will cost handling fees. Based on this idea, Ethereum proposed EIP1167, the minimum proxy contract, and the bottom layer based on delegatecall. All the cloned contract calls are delegated to a known fixed contract address.

https://tributedao.com/docs/intro/comparison/moloc

Major DAOs implemented

Tribute pricing

TributeDAO Framework is a contribution from TributeLabs/OpenLaw team to the community. It is completely free and licensed under MIT https://github.com/openlawteam/tribute-contracts/blob/master/LICENSE.