Files
defiQUG 76143a8fe3 feat(token-aggregation): reports, PMM quotes, config; Engine X flash vaults
- Expand token-aggregation API (report routes), canonical tokens, pools
- Add flash vault contracts + tests (indexed, DODO cwUSDC, XAUT borrow)
- PMM pools JSON, deploy/export scripts, metamask verified list

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-10 12:56:30 -07:00

138 lines
5.5 KiB
Plaintext

# Token-aggregation service — copy to .env and adjust.
# See docs/04-configuration/TOKEN_AGGREGATION_REPORT_API_RUNBOOK.md
PORT=3000
LOG_LEVEL=info
# Chain 138 RPC:
# - explorer / token-aggregation / Blockscout on the LAN should use the public RPC node directly:
# CHAIN_138_RPC_URL=http://192.168.11.221:8545
# - external/public clients should use the public FQDN:
# CHAIN_138_RPC_URL=https://rpc-http-pub.d-bis.org
# - do not point explorer/read services at the operator core RPC 192.168.11.211:8545
# GET /api/v1/quote on Chain 138 + DODO: optional on-chain PMM quote (querySellBase/Quote).
# Precedence: TOKEN_AGGREGATION_PMM_RPC_URL → TOKEN_AGGREGATION_CHAIN138_RPC_URL → RPC_URL_138.
# TOKEN_AGGREGATION_PMM_RPC_URL=http://192.168.11.211:8545
# TOKEN_AGGREGATION_PMM_QUERY_TRADER=0x4A666F96fC8764181194447A7dFdb7d471b301C8
# PMM pools: canonical integration is defaulted in dex-factories.ts if unset.
# CHAIN_138_DODO_PMM_INTEGRATION=0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d
# CHAIN_138_DODO_POOL_MANAGER=
# Minimum token report addresses (V1 = PMM / liquidity canonical on Chain 138)
CUSDT_ADDRESS_138=0x93E66202A11B1772E55407B32B44e5Cd8eda7f22
CUSDC_ADDRESS_138=0xf22258f57794CC8E06237084b353Ab30fFfa640b
# Compliant USD V2 (ERC-2612 / ERC-3009) — x402 / GRU transport.
# Reference: docs/04-configuration/CHAIN138_X402_TOKEN_SUPPORT.md
CUSDT_V2_ADDRESS_138=0x9FBfab33882Efe0038DAa608185718b772EE5660
CUSDC_V2_ADDRESS_138=0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d
# Live ALL Mainnet AUSDT compliant landing surface on Chain 138.
CAUSDT_ADDRESS_138=0x5fdDF65733e3d590463F68f93Cf16E8c04081271
# Planned ALL Mainnet gold corridor surfaces.
# These remain env-gated until the 651940 wrapped + unwrapped gold contracts are deployed.
# CAXAUC_ADDRESS_651940=0x...
# CAXAUT_ADDRESS_651940=0x...
# CWAXAUC_ADDRESS_651940=0x...
# CWAXAUT_ADDRESS_651940=0x...
# Repo-native D-WIN-aligned USDW PMM / transport surface.
CUSDW_ADDRESS_138=0xcA6BFa614935f1AB71c9aB106bAA6FBB6057095e
# Existing public cWAUSDT mirrors for the live AUSDT -> cWAUSDT -> cAUSDT path:
CWAUSDT_ADDRESS_56=0xe1a51Bc037a79AB36767561B147eb41780124934
CWAUSDT_ADDRESS_137=0xf12e262F85107df26741726b074606CaFa24AAe7
CWAUSDT_ADDRESS_43114=0xff3084410A732231472Ee9f93F5855dA89CC5254
CWAUSDT_ADDRESS_42220=0xC158b6cD3A3088C52F797D41f5Aa02825361629e
# Preferred canonical env names for wrapped cWUSDW edge visibility:
CWUSDW_ADDRESS_56=0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55
# CWUSDW_ADDRESS_137=0x... # Activate only after Polygon cWUSDW is deployed and approved.
CWUSDW_ADDRESS_43114=0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae
# Legacy aliases still understood by canonical-tokens.ts:
# CWUSDW_BSC=0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55
# CWUSDW_AVALANCHE=0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae
# PostgreSQL (required for persistent index / reports)
# DATABASE_URL=postgresql://user:pass@localhost:5432/token_aggregation
# Indexer tick (ms)
# INDEXING_INTERVAL=5000
# Set to false on public read-only deployments that should not run the
# background multi-chain indexer in-process.
# ENABLE_INDEXER=true
# Optional: override built-in bridge/routes JSON (fetched every 5m)
# BRIDGE_LIST_JSON_URL=https://example.com/bridge-list.json
# CCIP / Trustless overrides for /api/v1/bridge/routes defaults
# CCIPWETH9_BRIDGE_CHAIN138=
# CCIPWETH10_BRIDGE_CHAIN138=
# LOCKBOX_138=
# INBOX_ETH=
# GRU Monetary Transport Layer runtime refs
# Set these when exposing GRU transport readiness from token-aggregation.
# CHAIN138_L1_BRIDGE=0x152ed3e9912161b76bdfd368d0c84b7c31c10de7
# CW_BRIDGE_MAINNET=
# CW_BRIDGE_BSC=
# CW_BRIDGE_POLYGON=
# CW_BRIDGE_AVALANCHE=
# CW_BRIDGE_CELO=
# CW_BRIDGE_ARBITRUM=
# CW_BRIDGE_BASE=
# CW_BRIDGE_OPTIMISM=
# CW_BRIDGE_GNOSIS=
# CW_RESERVE_VERIFIER_CHAIN138=
# CW_STABLECOIN_RESERVE_VAULT=
# CW_RESERVE_SYSTEM=
# CW_MAX_OUTSTANDING_USDT_MAINNET=
# CW_MAX_OUTSTANDING_USDC_MAINNET=
# CW_MAX_OUTSTANDING_USDT_BSC=
# CW_MAX_OUTSTANDING_USDC_BSC=
# CW_MAX_OUTSTANDING_USDT_POLYGON=
# CW_MAX_OUTSTANDING_USDC_POLYGON=
# CW_MAX_OUTSTANDING_USDT_AVALANCHE=
# CW_MAX_OUTSTANDING_USDC_AVALANCHE=
# CW_MAX_OUTSTANDING_USDT_ARBITRUM=
# CW_MAX_OUTSTANDING_USDC_ARBITRUM=
# CW_MAX_OUTSTANDING_USDT_BASE=
# CW_MAX_OUTSTANDING_USDC_BASE=
# CW_MAX_OUTSTANDING_USDT_OPTIMISM=
# CW_MAX_OUTSTANDING_USDC_OPTIMISM=
# CW_MAX_OUTSTANDING_USDT_GNOSIS=
# CW_MAX_OUTSTANDING_USDC_GNOSIS=
# CW_MAX_OUTSTANDING_USDT_CELO=
# CW_MAX_OUTSTANDING_USDC_CELO=
# CW_MAX_OUTSTANDING_AUSDT_CELO=
# Gas-native rollout refs (Wave 1)
# Deployed but not active-by-default: generic gas verifier on Chain 138.
# Keep the active gas verifier envs below blank until the live L1 bridge is explicitly wired to it.
CW_ASSET_RESERVE_VERIFIER_DEPLOYED_CHAIN138=0xbf26a679586663f87f3bf3f52c79479b8aa8d854
# CW_BRIDGE_WEMIX=
# CW_GAS_STRICT_ESCROW_VERIFIER_CHAIN138=
# CW_GAS_HYBRID_CAP_VERIFIER_CHAIN138=
# CW_GAS_ESCROW_VAULT_CHAIN138=
# CW_GAS_TREASURY_SYSTEM=
# CW_MAX_OUTSTANDING_ETH_MAINNET_MAINNET=
# CW_GAS_OUTSTANDING_ETH_MAINNET_MAINNET=
# CW_GAS_ESCROWED_ETH_MAINNET_MAINNET=
# CW_GAS_TREASURY_BACKED_ETH_MAINNET_MAINNET=
# CW_GAS_TREASURY_CAP_ETH_MAINNET_MAINNET=
# CW_MAX_OUTSTANDING_ETH_L2_OPTIMISM=
# CW_GAS_OUTSTANDING_ETH_L2_OPTIMISM=
# CW_GAS_ESCROWED_ETH_L2_OPTIMISM=
# CW_GAS_TREASURY_BACKED_ETH_L2_OPTIMISM=
# CW_GAS_TREASURY_CAP_ETH_L2_OPTIMISM=
# CW_MAX_OUTSTANDING_ETH_L2_ARBITRUM=
# CW_MAX_OUTSTANDING_ETH_L2_BASE=
# CW_MAX_OUTSTANDING_BNB_BSC=
# CW_MAX_OUTSTANDING_POL_POLYGON=
# CW_MAX_OUTSTANDING_AVAX_AVALANCHE=
# CW_MAX_OUTSTANDING_CRO_CRONOS=
# CW_MAX_OUTSTANDING_XDAI_GNOSIS=
# CW_MAX_OUTSTANDING_CELO_CELO=
# CW_MAX_OUTSTANDING_WEMIX_WEMIX=