[server]
  host = "0.0.0.0"
  port = 3001
  kind = "lazy"

  # Checkpointing state.
  checkpointing = true

  # Checkpoint interval in number of blocks.
  checkpointInterval = 2000

  # Enable state creation
  enableState = true

  # 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 = -1

  [server.p2p]
    enableRelay = true
    enablePeer = true

    [server.p2p.relay]
      host = "0.0.0.0"
      port = 9090
      relayPeers = []
      peerIdFile = './relay-id.json'
      enableDebugInfo = true

    [server.p2p.peer]
      relayMultiaddr = '/dns4/mobymask-watcher-server/tcp/9090/ws/p2p/12D3KooWSPCsVkHVyLQoCqhu2YRPvvM7o6r6NRYyLM5zeA6Uig5t'
      pubSubTopic = 'mobymask'
      peerIdFile = './peer-id.json'
      enableDebugInfo = true
      enableL2Txs = REPLACE_WITH_ENABLE_PEER_L2_TXS

      [server.p2p.peer.l2TxsConfig]
        privateKey = 'REPLACE_WITH_PRIVATE_KEY_PEER'
        contractAddress = 'REPLACE_WITH_CONTRACT_ADDRESS'

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

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

[upstream]
  [upstream.ethServer]
    gqlApiEndpoint = "http://ipld-eth-server:8083/graphql"
    rpcProviderEndpoint = "REPLACE_WITH_L2_GETH_RPC_ENDPOINT"
    blockDelayInMilliSecs = 60000

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

[jobQueue]
  dbConnectionString = "postgres://vdbm:password@mobymask-watcher-db/mobymask-watcher-job-queue"
  maxCompletionLagInSecs = 300
  jobDelayInMilliSecs = 100
  eventsInBatch = 50
