-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathenv.example
More file actions
237 lines (191 loc) · 7.65 KB
/
env.example
File metadata and controls
237 lines (191 loc) · 7.65 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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
# aPaymaster Configuration Template
# Copy this file to .env and configure the values for your environment
# =============================================================================
# DEMO APPLICATION CONFIGURATION (Next.js App)
# =============================================================================
# Demo App Server Configuration
NEXT_PUBLIC_APP_PORT=3000
NEXT_PUBLIC_APP_HOST=localhost
# Demo App Paymaster Configuration
NEXT_PUBLIC_PAYMASTER_RPC_URL=https://api.pimlico.io/v2/sepolia/rpc?apikey=YOUR_PIMLICO_API_KEY
NEXT_PUBLIC_BUNDLER_RPC_URL=https://api.pimlico.io/v2/sepolia/rpc?apikey=YOUR_PIMLICO_API_KEY
NEXT_PUBLIC_PAYMASTER_CONTRACT_ADDRESS=0x0000000000000039cd5e8ae05257ce51c473ddd1
# Demo App Default Values
NEXT_PUBLIC_DEFAULT_RECIPIENT_ADDRESS=0xd8da6bf26964af9d7eed9e03e53415d37aa96045
NEXT_PUBLIC_DEFAULT_TRANSFER_AMOUNT=0.001
NEXT_PUBLIC_DEFAULT_PAYMENT_MODE=sponsorship
NEXT_PUBLIC_DEFAULT_SPONSORSHIP_POLICY_ID=free_test_policy
# =============================================================================
# RUST RELAY SERVER CONFIGURATION
# =============================================================================
# Server Configuration
PAYMASTER_SERVER_HOST=0.0.0.0
PAYMASTER_SERVER_PORT=3001
PAYMASTER_SERVER_WORKERS=4
PAYMASTER_SERVER_MAX_CONNECTIONS=1000
# Logging Configuration
RUST_LOG=info,aapaymaster_relay=debug
LOG_LEVEL=info
LOG_FILE_PATH=/var/log/aapaymaster/relay.log
LOG_MAX_SIZE=100MB
LOG_MAX_FILES=5
# Database Configuration
DATABASE_URL=postgresql://username:password@localhost:5432/apaymaster
DATABASE_MAX_CONNECTIONS=10
REDIS_URL=redis://localhost:6379
METRICS_RETENTION_DAYS=30
# =============================================================================
# PAYMASTER SERVICE CONFIGURATION
# =============================================================================
# Paymaster Contract Addresses
PAYMASTER_ENTRYPOINT_V06=0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789
PAYMASTER_ENTRYPOINT_V07=0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789
PAYMASTER_CONTRACT_V06=0x0000000000000039cd5e8ae05257ce51c473ddd1
PAYMASTER_CONTRACT_V07=0x0000000000000039cd5e8ae05257ce51c473ddd1
# Sponsorship Policies
SPONSORSHIP_POLICY_FREE_MAX_TX_PER_DAY=100
SPONSORSHIP_POLICY_FREE_MAX_ETH_PER_DAY=1.0
SPONSORSHIP_POLICY_PREMIUM_MAX_TX_PER_DAY=1000
SPONSORSHIP_POLICY_PREMIUM_MAX_ETH_PER_DAY=10.0
# ERC-20 Token Configurations
SUPPORTED_TOKENS=USDC:0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238,USDT:0xdAC17F958D2ee523a2206206994597C13D831ec7
TOKEN_EXCHANGE_RATE_UPDATE_INTERVAL=300
# Gas Configuration
MAX_VERIFICATION_GAS_LIMIT=200000
MAX_CALL_GAS_LIMIT=10000000
GAS_ESTIMATION_BUFFER_PERCENT=20
# =============================================================================
# BLOCKCHAIN CONFIGURATION
# =============================================================================
# Ethereum RPC Configuration
ETHEREUM_RPC_URL=https://rpc.ankr.com/eth
SEPOLIA_RPC_URL=https://rpc.ankr.com/eth_sepolia
MAINNET_RPC_URL=https://rpc.ankr.com/eth
# Chain Configuration
SUPPORTED_CHAIN_IDS=1,11155111
DEFAULT_CHAIN_ID=11155111
# Contract Addresses by Chain
ENTRYPOINT_V06_SEPOLIA=0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789
ENTRYPOINT_V07_SEPOLIA=0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789
ENTRYPOINT_V06_MAINNET=0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789
ENTRYPOINT_V07_MAINNET=0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789
# =============================================================================
# SECURITY FILTER CONFIGURATION
# =============================================================================
# Phishing Detector Configuration
PHISHING_DETECTOR_ENABLED=true
PHISHING_DETECTOR_DATABASE_PATH=/var/lib/apaymaster/phishing.db
PHISHING_DETECTOR_UPDATE_INTERVAL=3600
PHISHING_DETECTOR_RISK_THRESHOLD=0.7
PHISHING_DETECTOR_BLOCK_HIGH_RISK=true
# Amount Validator Configuration
AMOUNT_VALIDATOR_ENABLED=true
MAX_ETH_TRANSFER_PER_TX=100.0
MAX_TOKEN_TRANSFER_PER_TX=1000000
DAILY_ETH_SPENDING_LIMIT=10.0
DAILY_TOKEN_SPENDING_LIMIT=100000
WEEKLY_ETH_SPENDING_LIMIT=50.0
WEEKLY_TOKEN_SPENDING_LIMIT=500000
# Rate Limiter Configuration
RATE_LIMITER_ENABLED=true
RATE_LIMIT_REQUESTS_PER_MINUTE=60
RATE_LIMIT_REQUESTS_PER_HOUR=1000
RATE_LIMIT_BURST_SIZE=10
RATE_LIMIT_BLOCK_DURATION_MINUTES=15
# Custom Filters Configuration
CUSTOM_FILTERS_ENABLED=false
CUSTOM_FILTER_MODULE_PATH=/var/lib/apaymaster/filters/
# =============================================================================
# MONITORING AND ALERTS CONFIGURATION
# =============================================================================
# Health Check Configuration
HEALTH_CHECK_ENABLED=true
HEALTH_CHECK_INTERVAL=30
HEALTH_CHECK_TIMEOUT=10
# Metrics Configuration
METRICS_ENABLED=true
METRICS_PORT=9090
METRICS_PATH=/metrics
PROMETHEUS_PUSH_GATEWAY_URL=http://localhost:9091
# Alert Configuration
ALERTS_ENABLED=true
ALERT_WEBHOOK_URL=https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK
ALERT_LOW_BALANCE_THRESHOLD=0.1
ALERT_HIGH_ERROR_RATE_THRESHOLD=0.05
# =============================================================================
# WALLET AND SIGNING CONFIGURATION
# =============================================================================
# Paymaster Wallet Configuration
PAYMASTER_PRIVATE_KEY=YOUR_PAYMASTER_PRIVATE_KEY_HERE
PAYMASTER_WALLET_ENCRYPTION_KEY=YOUR_ENCRYPTION_KEY_HERE
# Multi-signature Configuration
MULTISIG_ENABLED=false
MULTISIG_REQUIRED_SIGNERS=2
MULTISIG_TOTAL_SIGNERS=3
MULTISIG_SIGNER_1_PRIVATE_KEY=
MULTISIG_SIGNER_2_PRIVATE_KEY=
MULTISIG_SIGNER_3_PRIVATE_KEY=
# =============================================================================
# EXTERNAL SERVICE CONFIGURATION
# =============================================================================
# Pimlico Configuration
PIMLICO_API_KEY=YOUR_PIMLICO_API_KEY
PIMLICO_BASE_URL=https://api.pimlico.io
# Infura Configuration
INFURA_PROJECT_ID=YOUR_INFURA_PROJECT_ID
INFURA_SECRET_KEY=YOUR_INFURA_SECRET_KEY
# Alchemy Configuration
ALCHEMY_API_KEY=YOUR_ALCHEMY_API_KEY
# Etherscan Configuration
ETHERSCAN_API_KEY=YOUR_ETHERSCAN_API_KEY
# =============================================================================
# DEVELOPMENT AND DEBUGGING CONFIGURATION
# =============================================================================
# Debug Mode
DEBUG_MODE=false
ENABLE_STACK_TRACES=true
LOG_REQUESTS=true
LOG_SIMULATIONS=true
# Test Configuration
TEST_MODE=false
TEST_PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478c3a526db38f64c0d7a1c2b526
TEST_RPC_URL=http://localhost:8545
# Development Overrides
DEV_DISABLE_RATE_LIMITING=true
DEV_SKIP_SIMULATION=false
DEV_MOCK_EXTERNAL_CALLS=false
# =============================================================================
# BACKUP AND RECOVERY CONFIGURATION
# =============================================================================
# Backup Configuration
BACKUP_ENABLED=true
BACKUP_INTERVAL_HOURS=24
BACKUP_RETENTION_DAYS=30
BACKUP_PATH=/var/backups/apaymaster/
BACKUP_ENCRYPTION_KEY=YOUR_BACKUP_ENCRYPTION_KEY
# Recovery Configuration
RECOVERY_ENABLED=true
RECOVERY_SNAPSHOT_INTERVAL=3600
RECOVERY_MAX_SNAPSHOTS=24
# =============================================================================
# PERFORMANCE TUNING CONFIGURATION
# =============================================================================
# Connection Pool Configuration
DB_CONNECTION_POOL_SIZE=10
RPC_CONNECTION_POOL_SIZE=20
REDIS_CONNECTION_POOL_SIZE=5
# Cache Configuration
CACHE_TTL_SECONDS=300
GAS_PRICE_CACHE_TTL=60
EXCHANGE_RATE_CACHE_TTL=300
FILTER_RESULT_CACHE_TTL=60
# Async Processing Configuration
MAX_CONCURRENT_REQUESTS=100
REQUEST_TIMEOUT_SECONDS=30
SIMULATION_TIMEOUT_SECONDS=60
FILTER_TIMEOUT_SECONDS=10
# Memory Configuration
MAX_MEMORY_USAGE_MB=1024
GC_INTERVAL_SECONDS=300
CACHE_MAX_SIZE_MB=256