Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
107 lines (95 loc) · 5.56 KB
/
Copy path.env.example
File metadata and controls
107 lines (95 loc) · 5.56 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
# Accord Protocol Environment Variables
# Copy this file to .env (root) and frontend/.env.local
# ── Contract ─────────────────────────────────────────────────────────────────
# The deployed Soroban contract ID (fill in after running scripts/deploy.sh)
VITE_CONTRACT_ADDRESS=
VITE_XLM_TOKEN_ADDRESS=
VITE_USDC_TOKEN_ADDRESS=
# ── Network ──────────────────────────────────────────────────────────────────
# Testnet RPC endpoint
VITE_SOROBAN_RPC_URL=https://soroban-testnet.stellar.org
# Testnet passphrase (do not change for testnet)
VITE_NETWORK_PASSPHRASE=Test SDF Network ; September 2015
# ── Off-chain Indexer ────────────────────────────────────────────────────────
# The indexer also accepts the VITE_* values above for frontend compatibility.
SOROBAN_RPC_URL=https://soroban-testnet.stellar.org
NETWORK_PASSPHRASE=Test SDF Network ; September 2015
START_LEDGER=
STORE_PATH=./data/indexer-store.json
POLL_INTERVAL_MS=5000
SNAPSHOT_INTERVAL_LEDGERS=1
# ── Analytics API ────────────────────────────────────────────────────────────
LISTEN_HOST=127.0.0.1
LISTEN_PORT=8080
DATABASE_URL=postgres://accord:accord@localhost:5432/accord_analytics
# One contract, or CONTRACT_IDS for several (comma-separated). One is required.
CONTRACT_ID=
# CONTRACT_IDS=
# Network names the API serves. NETWORKS takes a comma-separated list.
NETWORK=testnet
# NETWORKS=testnet,pubnet
# ── Scheduled Reports (analytics API) ────────────────────────────────────────
# Cron: seconds minutes hours day-of-month month day-of-week.
# "0 0 6 1 * *" is 06:00 UTC on the first of each month. Unset disables them.
REPORT_SCHEDULE=
REPORT_FORMATS=csv,pdf
REPORT_RECIPIENTS=
REPORT_PERIOD_DAYS=30
REPORT_OUTPUT_DIR=
REPORT_FROM=accord-analytics@localhost
# SMTP delivery, for example smtps://user:password@smtp.example.com:465.
# With no SMTP_URL, reports are dropped in REPORT_OUTPUT_DIR/delivered instead.
SMTP_URL=
REPORT_MAX_ATTEMPTS=3
REPORT_RETRY_BACKOFF_MS=2000
# ── Local Dev (optional) ─────────────────────────────────────────────────────
# Set these when running docker compose up for a local Soroban node
# VITE_SOROBAN_RPC_URL=http://localhost:8000
# VITE_NETWORK_PASSPHRASE=Standalone Network ; February 2017
# ── Treasury Indexer (run from the indexer directory) ─────────────────────────
# Use an archival RPC endpoint and set the ledger where this contract was deployed.
# These values describe one (network, contract) target and also supply the
# defaults every INDEXER_TARGETS entry inherits.
SOROBAN_RPC_URL=https://soroban-testnet.stellar.org
NETWORK_PASSPHRASE=Test SDF Network ; September 2015
ACCORD_CONTRACT_ID=
XLM_TOKEN_ADDRESS=
USDC_TOKEN_ADDRESS=
SIM_SOURCE=
INDEXER_START_LEDGER=
DATABASE_PATH=./data/treasury.sqlite
INDEX_INTERVAL_MS=5000
RECONCILE_INTERVAL_MS=60000
# To index several contracts or networks from one process, list them as JSON
# here (or point INDEXER_TARGETS_FILE at a file holding the same array). Any
# field a target omits falls back to the values above.
# INDEXER_TARGETS=[{"id":"testnet-ops","contractId":"CA...A","startLedger":1200000},{"id":"pubnet-main","contractId":"CA...B","networkPassphrase":"Public Global Stellar Network ; September 2015","rpcUrl":"https://soroban-mainnet.example.org","startLedger":54000000}]
# INDEXER_TARGETS_FILE=./indexer-targets.json
# ── Drift Alerting (indexer) ─────────────────────────────────────────────────
# POST target for reconciliation drift. Retried three times with linear backoff.
ALERT_WEBHOOK_URL=
# ── Multi-channel Notifications (indexer) ───────────────────────────────────
# Destinations themselves (email/webhook/Slack/Discord) are stored in the
# database and managed from the Settings UI or the HTTP API — see
# /notifications/destinations. These env vars only configure the shared email
# transport and tune the delivery worker's retry queue.
# Any transactional email provider that accepts a JSON POST of
# {from, to, subject, text} can sit behind EMAIL_API_URL.
EMAIL_API_URL=
EMAIL_API_KEY=
EMAIL_FROM=
NOTIFICATION_POLL_INTERVAL_MS=2000
NOTIFICATION_MAX_ATTEMPTS=8
NOTIFICATION_BACKOFF_BASE_MS=5000
NOTIFICATION_BACKOFF_MAX_MS=3600000
NOTIFICATION_TIMEOUT_MS=10000
# ── Data Retention (indexer) ─────────────────────────────────────────────────
# Each window is a number of days; 0 keeps data forever. Raw rows are rolled
# into daily aggregates before they are removed, so the aggregate window must
# be at least as long as the raw window.
RETENTION_RAW_EVENT_DAYS=0
RETENTION_AGGREGATE_DAYS=0
RETENTION_RECONCILIATION_DAYS=0
# Archive rows as JSON Lines here before removing them; unset prunes outright.
RETENTION_ARCHIVE_DIR=
RETENTION_INTERVAL_MS=86400000