# Genex Chain — 应用层配置
# 定义 EVM 模块、API、gRPC 等应用层参数

# ========================
# 基本配置
# ========================
minimum-gas-prices = "0agnx"  # 平台全额补贴，用户零 Gas（agnx = atto GNX, 18位精度）
pruning = "default"
pruning-keep-recent = "100"
pruning-keep-every = "0"
pruning-interval = "10"
halt-height = 0
halt-time = 0
min-retain-blocks = 0

# ========================
# EVM 模块配置
# ========================
[evm]
  # EVM 链 ID（MetaMask 等工具使用）
  chain-id = 8888

  # 最低 Gas 价格（0 = 平台补贴）
  min-gas-price = "0"

  # EVM 交易跟踪（调试用）
  tracer = ""

  # 最大交易 Gas 限制
  max-tx-gas-wanted = 0

# ========================
# EVM Fee Market (EIP-1559)
# ========================
[feemarket]
  # 是否启用 EIP-1559 动态费用
  # 当前关闭，使用固定 0 Gas 价格
  no-base-fee = true

  # 基础费变化分母
  base-fee-change-denominator = 8

  # 弹性乘数
  elasticity-multiplier = 2

  # 初始基础费
  initial-base-fee = 0

  # 最低 Gas 价格
  min-gas-price = "0"

# ========================
# JSON-RPC API（EVM 兼容）
# ========================
[json-rpc]
  # 是否启用 JSON-RPC（MetaMask, Hardhat, ethers.js 等工具需要）
  enable = true

  # 监听地址
  address = "0.0.0.0:8545"

  # WebSocket 地址
  ws-address = "0.0.0.0:8546"

  # 启用的 API 命名空间
  api = "eth,txpool,personal,net,debug,web3"

  # Gas 上限（eth_call）
  gas-cap = 25000000

  # EVM 超时
  evm-timeout = "5s"

  # 交易费上限
  txfee-cap = 1

  # 过滤器超时
  filter-cap = 200

  # Fee History 上限
  feehistory-cap = 100

  # 日志上限
  logs-cap = 10000
  block-range-cap = 10000

  # HTTP 超时
  http-timeout = "30s"
  http-idle-timeout = "120s"

  # 最大打开连接数
  max-open-connections = 0

  # TLS
  enable-indexer = false

# ========================
# Cosmos SDK REST API
# ========================
[api]
  enable = true
  swagger = true
  address = "tcp://0.0.0.0:1317"
  max-open-connections = 1000
  rpc-read-timeout = 10
  rpc-write-timeout = 0
  rpc-max-body-bytes = 1000000
  enabled-unsafe-cors = false

# ========================
# gRPC
# ========================
[grpc]
  enable = true
  address = "0.0.0.0:9090"
  max-recv-msg-size = "10485760"
  max-send-msg-size = "2147483647"

# ========================
# gRPC Web
# ========================
[grpc-web]
  enable = true
  address = "0.0.0.0:9091"
  enable-unsafe-cors = false

# ========================
# 状态流
# ========================
[state-streaming]
  [state-streaming.file]
    keys = ["*"]
    write_dir = ""
    prefix = ""
    output-metadata = true
    stop-node-on-error = true
    fsync = false

# ========================
# 遥测
# ========================
[telemetry]
  enabled = true
  service-name = "genex-chain"
  enable-hostname = false
  enable-hostname-label = false
  enable-service-label = false
  prometheus-retention-time = 0
  global-labels = []

# ========================
# 合规模块配置
# ========================
[compliance]
  # 是否启用链级合规检查
  enabled = true

  # OFAC SDN 列表路径
  ofac-list-path = "data/ofac_sdn.json"

  # OFAC 列表自动更新间隔
  ofac-update-interval = "1h"

  # Travel Rule 阈值（USDC 精度 6 位小数）
  travel-rule-threshold = 3000000000

  # Structuring 检测窗口
  structuring-window = "24h"

  # 可疑交易上报端点
  suspicious-tx-report-url = ""

  # 监管 API
  [compliance.regulatory-api]
    enabled = false
    address = "0.0.0.0:9200"
    # API 密钥由监管机构单独分发
    require-auth = true
