Skip to content

DeborahOlaboye/DAOContract

Repository files navigation

EIP-7432 Role-Based DAO

A decentralized autonomous organization (DAO) implementation using the EIP-7432 standard for NFT-based role management with time-limited permissions.

Overview

This project implements a role-based governance system where DAO participation is controlled through NFT ownership and assignable roles. The system uses the EIP-7432 standard to manage roles that can be granted, revoked, and automatically expire.

Key Features

  • NFT-Based Membership: DAO access is tied to NFT ownership
  • Role-Based Permissions: Three levels of access control
  • Time-Limited Roles: All roles have expiration dates for enhanced security
  • EIP-7432 Compliance: Implements the standard for NFT role management

Permission Levels

  • VOTING_RIGHTS: Can vote on existing proposals
  • PROPOSAL_RIGHTS: Can create new proposals
  • DAO_RIGHTS: Full access (can both propose and vote)

Smart Contracts

RoleNFT.sol

Simple ERC721 contract that mints membership NFTs for DAO participants.

Roles.sol

Core implementation of the EIP-7432 interface, managing role assignments, revocations, and expiration tracking.

Token-Gated.sol (RoleGatedDAO)

Main DAO governance contract that enforces role-based access control for proposal creation and voting.

Usage

  1. Mint NFT: Get a DAO membership NFT
  2. Grant Roles: NFT owners can grant specific roles to addresses with expiration dates
  3. Participate: Use granted roles to propose or vote on DAO proposals
  4. Role Management: Roles automatically expire or can be manually revoked

Deployment

The contracts are deployed on Lisk Sepolia testnet:

  • RoleNFT: 0x10b981302cbFFBcA0B53903B00D8936Fb8cDEd0E
  • Roles: 0x883688760dc0783350b12A970CFA568cBcf1c908
  • RoleGatedDAO: 0xEf90951A440D1AA8Ac4d08EA4FCA4Cf1342Ff254

Verification

View RoleNFT on Etherscan

View Roles on Etherscan

View RoleGatedDAO on Etherscan

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published