Module Integration Demo
Welcome to the GDK core module guide! This repository contains key modules essential for GDK, and a step-by-step guide on how to integrate them into your DAO. For a deeper dive into GDK, please refer to the GDK documentation.
Overview
This repository comprises the following modules:
- AirDrop Modules: A tiered system designed to introduce users to the process of integrating external modules into a DAO set up with GDK.
- BasicTreasury: A module that empowers the DAO to accumulate funds and dispatch them to a designated address through DAO voting.
- VetoModule: Allows specific members, such as root nodes, to veto DAO decisions under certain conditions.
- Connectors: Tools that bridge the gap between the DAO and external parties. Examples include "Execution by Roots" and "Root Nodes Connector."
-
NFT Minting Module: An extension for minting NFTs, supporting batch minting, and integration with an Ownable
aspect of the NFT contract. Also facilitates interaction with existing NFT contract functions via the
arbitraryNFTExecute
function.
All contracts in this repository undergo rigorous testing to ensure robustness and security. We invite you to explore them to get a sense of their functionality.
Deployment Guide
For detailed deployment instructions, please see the Deployment process.
AirDrop — Introduction
This module's primary function is to evenly distribute specific tokens amongst users handpicked by the DAO owner. As you delve deeper into the module, you'll find each level is represented by a distinct contract. These contracts increase in complexity, offering a comprehensive learning curve.
BasicTreasury module
A straightforward module that facilitates the collection of funds (ETH and ERC20 tokens) by the DAO. Funds can subsequently be dispatched to a chosen address via DAO voting.
VetoModule
This module integrates with the DAO and the Root Nodes Connector. It permits Root Nodes to veto DAO proposals. Refer to the VetoModule contract in the repository for more nuanced details.
Connectors
Connectors serve as bridges, linking the DAO with various groups like the DeFi Expert Panel. The "Execution by Roots" connector, for instance, allows root nodes to carry out specific decisions, especially those that have faced a veto. The "Root Nodes Connector" ensures synchronization between the primary Root Nodes list and its local counterpart in the DAO. Regular updates to this list are necessary for accurate reflection and can be done using the "updateMembers" function.