DAO governance smart contracts for the AeThex ecosystem — planned
- JavaScript 100%
| contracts | ||
| scripts | ||
| test | ||
| .env.example | ||
| .gitignore | ||
| hardhat.config.cjs | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
AeThex DAO Governance Contracts
Smart contracts powering the AeThex Foundation's decentralized autonomous organization (DAO): on-chain proposal creation, token-weighted voting, treasury management, and membership NFTs.
Contract Overview
| Contract | Description |
|---|---|
AethexDAO |
Governor-style contract with proposals, voting, execution delay, and quorum enforcement |
AethexTreasury |
Multi-sig style treasury with proposal-gated ETH and ERC-20 withdrawals |
AethexMembership |
ERC-721 membership NFT with tiers and per-tier voting weight |
Deployed Addresses
Update this section after each deployment.
| Network | AethexDAO | AethexTreasury | AethexMembership |
|---|---|---|---|
| Sepolia | 0x0000...0000 |
0x0000...0000 |
0x0000...0000 |
| Polygon | 0x0000...0000 |
0x0000...0000 |
0x0000...0000 |
Requirements
- Node.js 18+
- npm or yarn
Setup
npm install
cp .env.example .env
# Fill in your private key and RPC URLs in .env
Compile
npm run compile
Test
npm test
Deploy
Local (Hardhat network)
npx hardhat run scripts/deploy.js --network hardhat
Sepolia testnet
npx hardhat run scripts/deploy.js --network sepolia
Polygon mainnet
npx hardhat run scripts/deploy.js --network polygon
Deployed addresses are written to deployments.json automatically.
Verify on Etherscan / Polygonscan
npx hardhat run scripts/verify.js --network sepolia
npx hardhat run scripts/verify.js --network polygon
Voting Guide
- Acquire membership — Obtain an AethexMembership NFT (Student, Builder, Core, or Guardian tier).
- Delegate votes — Call
delegate(yourAddress)on the membership contract to activate your voting weight. - Create a proposal — Call
propose(targets, values, calldatas, description)on AethexDAO (requires minimum voting weight). - Vote — During the voting period call
castVote(proposalId, support):0= Against1= For2= Abstain
- Queue & execute — Once the proposal passes quorum and the voting period ends, it enters the timelock. After the delay, call
execute(...).
Security
These contracts use OpenZeppelin's audited Governor, TimelockController, and ERC-721 implementations. However, always conduct a full audit before mainnet deployment.
License
See LICENSE.