-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
150 lines (118 loc) · 5.89 KB
/
Copy path.env.example
File metadata and controls
150 lines (118 loc) · 5.89 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
# =============================================================================
# Sage Discord Bot Configuration
# =============================================================================
# Copy this file to .env and update with your actual values
# Discord Bot Configuration
# Get your bot token from: https://discord.com/developers/applications/1456748309191590051/bot
DISCORD_BOT_TOKEN=your-bot-token-here
# Discord Application Credentials
DISCORD_APPLICATION_ID=1456748309191590051
DISCORD_PUBLIC_KEY=f9c5d1d3965c0fb4b5e0b63e1671c56c3f10118efe6442e675e3056e415fb9d6
DISCORD_CLIENT_ID=1456748309191590051
DISCORD_CLIENT_SECRET=your-client-secret-here
# Your Discord Server (Guild) ID
# Enable Developer Mode in Discord → Right-click server name → Copy Server ID
GUILD_ID=your-server-id-here
# BitSage Network Configuration
# URL to BitSage coordinator API
BITSAGE_API_URL=http://localhost:8080
# Alternative: https://api.bitsage.network (production)
# Starknet Configuration
STARKNET_NETWORK=sepolia
STARKNET_RPC_URL=https://rpc.starknet-testnet.lava.build
# Bot Behavior
# Set to "true" to register commands globally (takes up to 1 hour)
# Set to "false" to register commands only in GUILD_ID (instant)
GLOBAL_COMMANDS=false
# Logging
LOG_LEVEL=info
# Options: error, warn, info, debug
# Feature Flags
ENABLE_JOB_NOTIFICATIONS=true
ENABLE_NETWORK_STATS=true
ENABLE_WALLET_COMMANDS=true
# Job Notification Channel (optional)
# Channel ID where job completion notifications will be posted
JOB_NOTIFICATION_CHANNEL_ID=
# Network Stats Channel (optional)
# Channel ID for periodic network statistics updates
NETWORK_STATS_CHANNEL_ID=
# Update Intervals (in minutes)
NETWORK_STATS_UPDATE_INTERVAL=30
JOB_POLL_INTERVAL=5
# =============================================================================
# Database Configuration
# =============================================================================
DATABASE_URL=postgresql://user:password@localhost:5432/sage_discord
# Example: postgresql://bitsage:mypassword@localhost:5432/sage
# =============================================================================
# Token-Gating Configuration
# =============================================================================
# Web Wallet Verification
WALLET_SIGNING_PAGE_URL=https://verify.bitsage.network
# Local development: http://localhost:3000
# Feature Flags
TG_ENABLE_ZK_PROOFS=true
TG_ENABLE_STEALTH_ADDRESSES=true
TG_ENABLE_AUDITOR_SUPPORT=true
# Cache TTLs (seconds)
TG_CACHE_TTL_BALANCE=300 # 5 minutes
TG_CACHE_TTL_REPUTATION=600 # 10 minutes
TG_CACHE_TTL_STAKE=300 # 5 minutes
TG_CACHE_TTL_RULE=3600 # 1 hour
# Role Sync
TG_ROLE_SYNC_INTERVAL=3600 # 1 hour (in seconds)
TG_ENABLE_AUTO_ROLE_SYNC=true
# Starknet Contract Addresses (Sepolia Testnet)
# ✅ ALL DEPLOYED - December 31, 2025
# Deployer: 0x0759a4374389b0e3cfcc59d49310b6bc75bb12bbf8ce550eb5c2f026918bb344
# Core Token
TG_SAGE_TOKEN_ADDRESS=0x072349097c8a802e7f66dc96b95aca84e4d78ddad22014904076c76293a99850
# Staking
TG_STAKING_CONTRACT_ADDRESS=0x3287a0af5ab2d74fbf968204ce2291adde008d645d42bc363cb741ebfa941b
# Reputation
TG_REPUTATION_MANAGER_ADDRESS=0x4ef80990256fb016381f57c340a306e37376c1de70fa11147a4f1fc57a834de
# Privacy Layer (Obelysk)
TG_PRIVACY_ROUTER_ADDRESS=0x7d1a6c242a4f0573696e117790f431fd60518a000b85fe5ee507456049ffc53
TG_PRIVACY_POOLS_ADDRESS=0xd85ad03dcd91a075bef0f4226149cb7e43da795d2c1d33e3227c68bfbb78a7
TG_MIXING_ROUTER_ADDRESS=0x4a4e05233271f5203791321f2ba92b2de73ad051f788e7b605f204b5a43b8d1
TG_CONFIDENTIAL_SWAP_ADDRESS=0x29516b3abfbc56fdf0c1f136c971602325cbabf07ad8f984da582e2106ad2af
TG_WORKER_PRIVACY_ADDRESS=0x1ce38bdbf4b036a31f9313282783b1d1f19cc3942512029e17bb817a87953c
# Registries
TG_VALIDATOR_REGISTRY_ADDRESS=0x431a8b6afb9b6f3ffa2fa9e58519b64dbe9eb53c6ac8fb69d3dcb8b9b92f5d9
TG_PROVER_REGISTRY_ADDRESS=0x34a02ecafacfa81be6d23ad5b5e061e92c2b8884cfb388f95b57122a492b3e9
TG_ADDRESS_REGISTRY_ADDRESS=0x78f99c76731eb0d8d7a6102855772d8560bff91a1f71b59ff0571dfa7ee54c6
# Proof Verification
TG_PROOF_VERIFIER_ADDRESS=0x17ada59ab642b53e6620ef2026f21eb3f2d1a338d6e85cb61d5bcd8dfbebc8b
TG_STWO_VERIFIER_ADDRESS=0x52963fe2f1d2d2545cbe18b8230b739c8861ae726dc7b6f0202cc17a369bd7d
TG_BATCH_VERIFIER_ADDRESS=0x34a02ecafacfa81be6d23ad5b5e061e92c2b8884cfb388f95b57122a492b3e9
# Job Management
TG_JOB_MANAGER_ADDRESS=0x355b8c5e9dd3310a3c361559b53cfcfdc20b2bf7d5bd87a84a83389b8cbb8d3
TG_CDC_POOL_ADDRESS=0x1f978cad424f87a6cea8aa27cbcbba10b9a50d41e296ae07e1c635392a2339
# Session Configuration
TG_SESSION_EXPIRY_MINUTES=15
TG_MAX_ACTIVE_SESSIONS_PER_USER=3
# Security
TG_MAX_VERIFICATION_ATTEMPTS=5
TG_VERIFICATION_COOLDOWN_MINUTES=10
# Apibara Event Indexing (optional, for real-time balance updates)
APIBARA_URL=https://sepolia.starknet.a5a.ch
APIBARA_API_KEY=your-apibara-api-key-here
# =============================================================================
# PHASE 2: Reward System - NFT/POAP Minting
# =============================================================================
# Bot Starknet Account (for minting NFTs/POAPs)
# IMPORTANT: Bot needs minter role on NFT contracts
# This account will pay gas fees for all NFT/POAP mints
STARKNET_ACCOUNT_ADDRESS=0x... # Bot's Starknet wallet address
STARKNET_PRIVATE_KEY=0x... # KEEP SECRET! Bot's private key
# Achievement NFT Contract (for soulbound POAPs)
# Deploy contract: /Users/vaamx/bitsage-network/BitSage-Cairo-Smart-Contracts/src/contracts/achievement_nft.cairo
# Grant bot minter role: call set_gamification_contract(STARKNET_ACCOUNT_ADDRESS)
# Achievement types 100-199 reserved for Discord rewards
ACHIEVEMENT_NFT_ADDRESS=0x... # After deployment
# Notes for NFT/POAP Rewards:
# - Users must run /verify to connect their Starknet wallet
# - Bot pays gas fees for minting
# - POAPs are soulbound (non-transferable) via achievement_nft.cairo
# - External NFTs can use any ERC721 contract (admin must have minter role)