[server]
  host = "0.0.0.0"
  port = 3008
  kind = "active"

  # Checkpointing state.
  checkpointing = true

  # Checkpoint interval in number of blocks.
  checkpointInterval = 2000

  # Enable state creation
  # CAUTION: Disable only if state creation is not desired or can be filled subsequently
  enableState = true

  subgraphPath = "./subgraph"

  # Interval to restart wasm instance periodically
  wasmRestartBlocksInterval = 20

  # Interval in number of blocks at which to clear entities cache.
  clearEntitiesCacheInterval = 1000

  # Boolean to filter logs by contract.
  filterLogs = true

  # Max block range for which to return events in eventsInRange GQL query.
  # Use -1 for skipping check on block range.
  maxEventsBlockRange = 1000

  # GQL cache settings
  [server.gqlCache]
    enabled = true

    # Max in-memory cache size (in bytes) (default 8 MB)
    # maxCacheSize

    # GQL cache-control max-age settings (in seconds)
    maxAge = 15
    timeTravelMaxAge = 86400 # 1 day

[metrics]
  host = "0.0.0.0"
  port = 9000
  [metrics.gql]
    port = 9001

[database]
  type = "postgres"
  host = "gelato-watcher-db"
  port = 5432
  database = "gelato-watcher"
  username = "vdbm"
  password = "password"
  synchronize = true
  logging = false

[upstream]
  [upstream.ethServer]
    gqlApiEndpoint = "REPLACE_WITH_CERC_IPLD_ETH_GQL"
    rpcProviderEndpoint = "REPLACE_WITH_CERC_IPLD_ETH_RPC"

  [upstream.cache]
    name = "requests"
    enabled = false
    deleteOnStart = false

[jobQueue]
  dbConnectionString = "postgres://vdbm:password@gelato-watcher-db/gelato-watcher-job-queue"
  maxCompletionLagInSecs = 300
  jobDelayInMilliSecs = 100
  eventsInBatch = 50
  blockDelayInMilliSecs = 2000
  prefetchBlocksInMem = true
  prefetchBlockCount = 10
