| abi | ||
| contracts | ||
| deploy | ||
| docs | ||
| scripts | ||
| test | ||
| .env.example | ||
| .gitignore | ||
| hardhat.config.cjs | ||
| Makefile | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
EDUT Contracts
On-chain contracts and deployment artifacts for membership and entitlements.
Scope
- Human membership contract (soulbound governance identity).
- Offer registry contract interfaces.
- Entitlement contract interfaces.
- ABI and deployment artifact publication.
Current Contract
contracts/EdutHumanMembership.sol
Features:
- One-time soulbound human token mint.
- Sponsor mint support (
mintMembership(recipient)can be paid by inviter/company wallet). - Owner-configurable flat mint price (
updateMintPrice), launch default can stay flat$5equivalent. - Membership status lifecycle (
ACTIVE/SUSPENDED/REVOKED) for runtime gates. - Treasury address control for settlement routing.
Local Commands
npm installnpm run buildnpm run testnpm run deploy:sepolianpm run deploy:mainnet
make check wraps build + tests.
Deployment Environment
Copy .env.example values into your shell/session before deploy:
DEPLOYER_PRIVATE_KEYBASE_SEPOLIA_RPC_URL/BASE_MAINNET_RPC_URLTREASURY_WALLETMINT_CURRENCY_ADDRESS(0x000...000for ETH)MINT_AMOUNT_ATOMIC
Example (Sepolia):
cd /Users/vsg/Documents/VSG\ Codex/contracts
export $(grep -v '^#' .env | xargs)
npm run deploy:sepolia
Boundary
Contracts are settlement primitives. Runtime execution remains off-chain and fail-closed by entitlement state.