chains:
  lightlink_pegasus:
    geth_rpc_addr: https://replicator.pegasus.lightlink.io/rpc/v1
    contract_addr: 0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a

    # Multiplier for the priority fee estimate, as a percentage (i.e., 100 = no change).
    # Defaults to 100 if the field is omitted.
    priority_fee_multiplier_pct: 100

    escalation_policy:
      # Pad the first callback transaction's gas estimate by 25%,
      # then multiply each successive callback transaction's gas estimate by 10% until the cap is reached.
      # All numbers are expressed as percentages where 100 = no change.
      initial_gas_multiplier_pct: 125
      gas_multiplier_pct: 110
      gas_multiplier_cap_pct: 600

      # Multiply successive callback transaction's fees by 10% until the cap is reached.
      # All numbers are expressed as percentages where 100 = no change.
      # (See also priority_fee_multiplier_pct above to generically adjust the priority fee estimates for the chain --
      # adjusting that parameter will influence the fee of the first transaction, in addition to other things)
      fee_multiplier_pct: 110
      fee_multiplier_cap_pct: 200

keeper:
  # An ethereum wallet address and private key for running the keeper service.
  # This does not have to be the same key as the provider's key above.
  # Generate with `cast wallet new`.
  # The keeper private key can be omitted to run the webservice without the keeper.
  private_key:
    # For local development, you can hardcode the private key here
    value: 0xabcd
    # For production, you can store the private key in a file.
    # file: keeper-key.txt

  # Service polling intervals (e.g. 1m, 1min, 1m30s, 1min 30sec). See format here: https://docs.rs/humantime/latest/humantime/
  # These control how frequently different services poll for updates
  subscription_poll_interval: 1m    # How often to check for new subscriptions
  chain_price_poll_interval: 10s    # How often to check chain prices
  pyth_price_poll_interval: 10s     # How often to check Pyth prices
  controller_update_interval: 10s   # How often to update the controller

  # Backoff policy configuration for retrying failed operations
  backoff_initial_interval: 1s     # Initial wait time between retries
  backoff_max_interval: 60s        # Maximum wait time between retries
  backoff_multiplier: 2.0         # Multiply wait time by this factor on each retry
  backoff_max_elapsed_time: 300s   # Maximum total time to keep retrying
