-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
57 lines (43 loc) · 2.64 KB
/
Copy path.env.example
File metadata and controls
57 lines (43 loc) · 2.64 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
SOLVER_PORT=9000
SOLVER_TIER=1
ARB_SEPOLIA_CHAIN_ID=421614
BOOTSTRAP_PEERS=/ip4/127.0.0.1/tcp/9100/ws/p2p/QmBootstrapPeerId
# Keyed RPC (Alchemy is the team default) — public Arbitrum RPCs return 429 under solver load
ARB_SEPOLIA_RPC=https://arb-sepolia.g.alchemy.com/v2/KEY
ARB_MAINNET_RPC=https://arb-mainnet.g.alchemy.com/v2/KEY
REGISTRY_CONTRACT_ADDRESS=0x57B68C7595B8de5376D7B3c6CDAFCc415cB597d4
SETTLEMENT_CONTRACT_ADDRESS=0x438B7889a1428F63f6450D3c1C2BAb39f80EDAca
MOCK_ERC20_CONTRACT_ADDRESS=0x469e747e4bEe661989DC7b1C988E0fBC87d5826d
# Solver: call IntentSettlement after auction (default on if SETTLEMENT_CONTRACT_ADDRESS is set)
AUTO_SETTLE=true
# Solver: after auction win, write full `{ intent, bid }` snapshot (real sigs) for settle-debug / emit-settle-calldata / jq → settle.js
# DUMP_SETTLEMENT_JSON=./settlement-pair.json
# User: after signing intent, write `{ intent }` only — you still need DUMP_SETTLEMENT_JSON for the bid half
# DUMP_INTENT_JSON=./intent-only.json
# Optional: omit layered settle preflight in submitSettlement (faster RPC; worse errors locally)
# SETTLE_SKIP_PREFLIGHT=true
# Optional: ethers polling + fewer batches (see node/rpc-provider.js)
RPC_POLLING_INTERVAL_MS=15000
# Optional: extra backoff (ms) appended when RPC returns HTTP 429 (public Arbitrum often ~60s window)
# RPC_429_EXTRA_MS=63000
# Optional: skip estimateGas after staticCall settles (fewer RPCs on free tiers); must be generous enough not to OutOfGas
# SETTLE_GAS_LIMIT=800000
# Solver: call QuoterV2 before signing the bid for an honest output estimate.
# One extra RPC staticcall per intent. Enable once benchmark confirms p95 ≤ 25ms on target RPC.
# USE_QUOTER=1
# Solver: shade the bid output by N basis points (e.g. 10 = 0.10%) for bid heterogeneity.
# Applied after QuoterV2 (or estimateOutput) so each solver can shade asymmetrically.
# SOLVER_MARGIN_BPS=10
# Optional preflight: run QuoterV2 check before settlement staticCall.
# Surfaces "would revert at router" early — does not guarantee block-level success.
# SETTLE_QUOTER_CHECK=1
# RFQ dial timeout (Phase F) — milliseconds, NOT seconds.
# WS default: 60ms (cold dial ~50ms; leaves 20ms coordinator window).
# QUIC default: ~40ms once Phase 6.2 (QUIC transport) lands.
# RFQ_DIAL_TIMEOUT_MS=60
# Mesh resilience (Phase E)
# MESH_DLO=2 — alert when per-topic mesh < this value
# MESH_DLO_ALERT_SEC=10 — seconds below Dlo before alert fires
# MESH_RETRY_MAX=3 — max publish retries on empty mesh
# MESH_RETRY_JITTER_MS=400 — base jitter for retry backoff
# BACKUP_TOPIC_ENABLED=1 — also publish to <topic>/fallback when primary is empty