-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
150 lines (130 loc) Β· 6.25 KB
/
.env.example
File metadata and controls
150 lines (130 loc) Β· 6.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# Shift DeSoc Environment Configuration
# Copy this file to .env and fill in your actual values
# For Next.js web app local dev, also create apps/web/.env.local (see notes below)
#
# NOTE: After deployment, contract addresses are automatically saved to:
# - deployments/{network}.json (network-specific)
# - deployments/latest.json (most recent deployment)
# Management scripts auto-load from these files - no manual configuration needed!
# ========================================
# π REQUIRED: WALLET CONFIGURATION
# ========================================
# Deployer private key (needs ETH for gas on target network)
# SECURITY: Never commit your actual private key to git!
PRIVATE_KEY="0xYOUR_PRIVATE_KEY_64_HEX_CHARS"
# ========================================
# π NETWORK RPC ENDPOINTS (Optional)
# ========================================
# These have sensible defaults, only override if using custom RPC
# RPC_SEPOLIA="https://rpc.sepolia.org"
# RPC_BASE_SEPOLIA="https://sepolia.base.org"
# RPC_BASE="https://mainnet.base.org"
# HARDHAT_NETWORK=base_sepolia
# ========================================
# π§ INDEXER + API CONFIG
# ========================================
# Network to index (base | base_sepolia)
PONDER_NETWORK="base_sepolia"
# REQUIRED (indexer discovery root): on-chain CommunityRegistry address
COMMUNITY_REGISTRY_ADDRESS="0x0000000000000000000000000000000000000000"
# REQUIRED (indexer replay boundary): block where CommunityRegistry lifecycle starts
COMMUNITY_REGISTRY_START_BLOCK="0"
# Optional legacy start block knob (some scripts still reference this name)
PONDER_START_BLOCK="0"
# Postgres connection for Ponder
DATABASE_URL="postgres://postgres:postgres@localhost:5432/shift"
# Indexer REST base URL (server-side)
INDEXER_API_URL="http://localhost:42069"
# Web app: indexer REST base URL (client-side)
NEXT_PUBLIC_INDEXER_API_URL="http://localhost:42069"
# Web app: GraphQL endpoint (Ponder) server-side
GRAPHQL_URL="http://localhost:42069/graphql"
# Web app: GraphQL endpoint (Ponder) client-side
NEXT_PUBLIC_GRAPHQL_URL="http://localhost:42069/graphql"
# Frontend chain allowlist (comma-separated chain IDs, e.g. "8453,84532")
NEXT_PUBLIC_CHAIN_IDS="84532"
# IPFS upload (Pinata JSON JWT)
PINATA_JWT="YOUR_PINATA_JWT"
# Optional: public IPFS gateway for read-only content
NEXT_PUBLIC_IPFS_GATEWAY="https://gateway.pinata.cloud/ipfs"
# WalletConnect project IDs
WALLETCONNECT_PROJECT_ID="YOUR_WALLETCONNECT_PROJECT_ID"
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID="YOUR_WALLETCONNECT_PROJECT_ID"
# ========================================
# π WEB APP SHARED INFRA ADDRESSES (REQUIRED FOR apps/web)
# ========================================
# These are required by apps/web/lib/contracts.ts for env-backed shared infra lookups.
# Use deployed addresses from deployments/{network}.json.
NEXT_PUBLIC_COMMUNITY_REGISTRY="0x0000000000000000000000000000000000000000"
NEXT_PUBLIC_PARAM_CONTROLLER="0x0000000000000000000000000000000000000000"
NEXT_PUBLIC_BOOTSTRAP_COORDINATOR="0x0000000000000000000000000000000000000000"
NEXT_PUBLIC_GOVERNANCE_LAYER_FACTORY="0x0000000000000000000000000000000000000000"
NEXT_PUBLIC_VERIFICATION_LAYER_FACTORY="0x0000000000000000000000000000000000000000"
NEXT_PUBLIC_ECONOMIC_LAYER_FACTORY="0x0000000000000000000000000000000000000000"
NEXT_PUBLIC_COMMERCE_LAYER_FACTORY="0x0000000000000000000000000000000000000000"
NEXT_PUBLIC_COORDINATION_LAYER_FACTORY="0x0000000000000000000000000000000000000000"
# ========================================
# π CONTRACT VERIFICATION (Optional)
# ========================================
# API keys for verifying contracts on block explorers
# Get keys from: https://basescan.org/apis and https://etherscan.io/apis
# BASESCAN_API_KEY="YOUR_BASESCAN_API_KEY"
# ETHERSCAN_API_KEY="YOUR_ETHERSCAN_API_KEY"
# ========================================
# βοΈ DEPLOYMENT CUSTOMIZATION (Optional)
# ========================================
# Override default community settings for deployment
# DEV_MODE=true (skip timelock ownership transfer and governance setup)
# REDEPLOY=true
# COMMUNITY_NAME="My Custom Community"
# TREASURY_VAULT=<safe_address> (community treasury Safe)
# TREASURY_STABLE_TOKEN=<erc20_address> (primary stablecoin allowed/supported)
# COMMUNITY_ID_DEFAULT=<uint256> (community to initialize policy for; e.g., 1)
# ParamController revenue defaults:
# MIN_TREASURY_BPS=<uint16> (e.g., 1000)
# MIN_POSITIONS_BPS=<uint16> (e.g., 1000)
# SPILLOVER_TARGET=<0|1|2> (positions/treasury/split; e.g., 2)
# SPILLOVER_SPLIT_BPS_TREASURY=<uint16> (only if split; e.g., 5000)
# Optional wiring:
# SUPPORTED_TOKENS=<comma-separated addresses> (for RevenueRouter allowlist)
# COUNTING_MULTI_CHOICE_IMPL=<address> (if reusing an existing deployment)
# FOUNDER_ADDRESS="0x..." # Defaults to deployer address if not set
# ========================================
# π§ͺ WEB APP LOCAL ENV NOTE
# ========================================
# Next.js reads env from apps/web/.env.local for local web development.
# Suggested workflow:
# 1) keep this root .env for scripts/indexer/hardhat;
# 2) create apps/web/.env.local with the web-needed vars above (no real secrets in git).
# ========================================
# π CONTRACT ADDRESSES (Deprecated - Auto-Loaded!)
# ========================================
# β οΈ These are now AUTO-LOADED from deployments/{network}.json
# No need to manually configure addresses anymore!
#
# If you need to override, you can set these, but the deployment files
# are the source of truth and will be used by default.
#
# Legacy environment variables (still supported as fallback):
# COMMUNITY_REGISTRY_ADDRESS="0x..."
# PARAM_CONTROLLER_ADDRESS="0x..."
# MEMBERSHIP_TOKEN_ADDRESS="0x..."
# TIMELOCK_ADDRESS="0x..."
# GOVERNOR_ADDRESS="0x..."
# COUNTING_MULTI_CHOICE_ADDRESS="0x..."
# VERIFIER_POWER_TOKEN_ADDRESS="0x..."
# VERIFIER_ELECTION_ADDRESS="0x..."
# VERIFIER_MANAGER_ADDRESS="0x..."
# VALUABLE_ACTION_REGISTRY_ADDRESS="0x..."
# CLAIMS_ADDRESS="0x..."
# VALUABLE_ACTION_SBT_ADDRESS="0x..."
# COMMUNITY_TOKEN_ADDRESS="0x..."
# COHORT_REGISTRY_ADDRESS="0x..."
# REVENUE_ROUTER_ADDRESS="0x..."
# TREASURY_ADAPTER_ADDRESS="0x..."
# REQUEST_HUB_ADDRESS="0x..."
# DRAFTS_MANAGER_ADDRESS="0x..."
# COMMERCE_DISPUTES_ADDRESS="0x..."
# MARKETPLACE_ADDRESS="0x..."
# HOUSING_MANAGER_ADDRESS="0x..."
# PROJECT_FACTORY_ADDRESS="0x..."