[server] host = "127.0.0.1" 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-build" # Interval to restart wasm instance periodically wasmRestartBlocksInterval = 20 # Interval in number of blocks at which to clear entities cache. clearEntitiesCacheInterval = 1000 # Flag to specify whether RPC endpoint supports block hash as block tag parameter rpcSupportsBlockHashParam = true # Server GQL config [server.gql] path = "/graphql" # Max block range for which to return events in eventsInRange GQL query. # Use -1 for skipping check on block range. maxEventsBlockRange = 1000 # Log directory for GQL requests logDir = "./gql-logs" # GQL cache settings [server.gql.cache] 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 = "127.0.0.1" port = 9000 [metrics.gql] port = 9001 [database] type = "postgres" host = "localhost" port = 5432 database = "v2-watcher" username = "postgres" password = "postgres" synchronize = true logging = false [upstream] [upstream.ethServer] rpcProviderEndpoints = [ "http://127.0.0.1:8081" ] # Boolean flag to specify if rpc-eth-client should be used for RPC endpoint instead of ipld-eth-client (ipld-eth-server GQL client) rpcClient = true # Boolean flag to specify if rpcProviderEndpoint is an FEVM RPC endpoint isFEVM = true # Boolean flag to filter event logs by contracts filterLogsByAddresses = true # Boolean flag to filter event logs by topics filterLogsByTopics = true [upstream.cache] name = "requests" enabled = false deleteOnStart = false [jobQueue] dbConnectionString = "postgres://postgres:postgres@localhost/v2-watcher-job-queue" maxCompletionLagInSecs = 300 jobDelayInMilliSecs = 100 eventsInBatch = 50 subgraphEventsOrder = true blockDelayInMilliSecs = 2000 # Number of blocks by which block processing lags behind head blockProcessingOffset = 0 # Boolean to switch between modes of processing events when starting the server. # Setting to true will fetch filtered events and required blocks in a range of blocks and then process them. # Setting to false will fetch blocks consecutively with its events and then process them (Behaviour is followed in realtime processing near head). useBlockRanges = true # Block range in which logs are fetched during historical blocks processing historicalLogsBlockRange = 2000 # Max block range of historical processing after which it waits for completion of events processing # If set to -1 historical processing does not wait for events processing and completes till latest canonical block historicalMaxFetchAhead = 10000 # Max number of retries to fetch new block after which watcher will failover to other RPC endpoints maxNewBlockRetries = 3