Go to file
2026-02-18 08:45:07 -08:00
.gitea/workflows Add contracts CI workflow 2026-02-17 20:55:08 -08:00
abi Add contracts conformance vectors and artifact readmes 2026-02-17 14:39:49 -08:00
contracts Add membership contract, deployment scripts, and Base network config 2026-02-17 20:48:49 -08:00
deploy chore(deploy): record Base Sepolia membership deployment 2026-02-18 08:45:07 -08:00
docs Add contracts conformance vectors and artifact readmes 2026-02-17 14:39:49 -08:00
scripts Harden membership deploy script with env validation and output metadata 2026-02-18 07:11:08 -08:00
test Add membership contract, deployment scripts, and Base network config 2026-02-17 20:48:49 -08:00
.env.example Harden membership deploy script with env validation and output metadata 2026-02-18 07:11:08 -08:00
.gitignore Add membership contract, deployment scripts, and Base network config 2026-02-17 20:48:49 -08:00
.nvmrc Harden membership deploy script with env validation and output metadata 2026-02-18 07:11:08 -08:00
hardhat.config.cjs Add membership contract, deployment scripts, and Base network config 2026-02-17 20:48:49 -08:00
Makefile Add membership contract, deployment scripts, and Base network config 2026-02-17 20:48:49 -08:00
package-lock.json Add membership contract, deployment scripts, and Base network config 2026-02-17 20:48:49 -08:00
package.json Add membership contract, deployment scripts, and Base network config 2026-02-17 20:48:49 -08:00
README.md Harden membership deploy script with env validation and output metadata 2026-02-18 07:11:08 -08:00

EDUT Contracts

On-chain contracts and deployment artifacts for membership and entitlements.

Scope

  1. Human membership contract (soulbound governance identity).
  2. Offer registry contract interfaces.
  3. Entitlement contract interfaces.
  4. ABI and deployment artifact publication.

Current Contract

contracts/EdutHumanMembership.sol

Features:

  1. One-time soulbound human token mint.
  2. Sponsor mint support (mintMembership(recipient) can be paid by inviter/company wallet).
  3. Owner-configurable flat mint price (updateMintPrice), launch default can stay flat $5 equivalent.
  4. Membership status lifecycle (ACTIVE/SUSPENDED/REVOKED) for runtime gates.
  5. Treasury address control for settlement routing.

Local Commands

Use a Hardhat-supported Node runtime (20.x recommended).

  1. npm install
  2. npm run build
  3. npm run test
  4. npm run deploy:sepolia
  5. npm run deploy:mainnet

make check wraps build + tests.

Deployment Environment

Copy .env.example values into your shell/session before deploy:

  1. DEPLOYER_PRIVATE_KEY
  2. BASE_SEPOLIA_RPC_URL / BASE_MAINNET_RPC_URL
  3. TREASURY_WALLET
  4. MINT_CURRENCY_ADDRESS (0x000...000 for ETH)
  5. MINT_AMOUNT_ATOMIC
  6. DEPLOY_OUTPUT_PATH (optional)

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.