content: [profile.default]
  ffi = true
  ast = true
  legacy_assertions = true
  assertions_revert = false
  fs_permissions = [
      { access = "write", path = "./src/test/sim/out/" },
      { access = "read-write", path = "./deployments/" },
      { access = "read", path = "./src/scripts/" },
      { access = "read", path = "./src/proposals/addresses.json" },
      { access = "read-write", path = "./src/scripts/env.json" },
  ]
  
  # The solc version was previously explicitly set, but has now been moved to `compilation_restrictions` in order to compile some contracts with 0.8.24
  # solc_version = "0.8.15"
  
  optimizer = true
  optimizer_runs = 10000
  verbosity = 3
  
  # Operator is too large - it needs to only use 10 optimizer runs
  # The "size" script in package.json replicates these overrides, as "forge build --sizes" does not use the profiles defined here
  additional_compiler_profiles = [
      { name = "ten-runs", optimizer_runs = 10 },
      { name = "five-thousand-runs", optimizer_runs = 5000 },
  ]
  compilation_restrictions = [
      { paths = "src/policies/Operator.sol", profile = "ten-runs" },
      { paths = "src/policies/cooler/MonoCooler.sol", profile = "five-thousand-runs" },
      { paths = "src/policies/bridge/CCIPBurnMintTokenPool.sol", version = "0.8.24" },
      { paths = "**", version = "0.8.15" },
  ]
  libs = ["dependencies"]
  
  [profile.deploy]
  script_execution_protection = false
  
  [fuzz]
  runs = 256
  
  [rpc_endpoints]
  # Place ALCHEMY_API_KEY in the environment or .env file
  mainnet = { endpoint = "https://eth-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}", retries = 3, retry_backoff = 10000, compute_units_per_second = 500 }
  sepolia = { endpoint = "https://eth-sepolia.g.alchemy.com/v2/${ALCHEMY_API_KEY}", retries = 3, retry_backoff = 10000, compute_units_per_second = 500 }
  base = { endpoint = "https://base-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}", retries = 3, retry_backoff = 10000, compute_units_per_second = 500 }
  base-sepolia = { endpoint = "https://base-sepolia.g.alchemy.com/v2/${ALCHEMY_API_KEY}", retries = 3, retry_backoff = 10000, compute_units_per_second = 500 }
  arbitrum = { endpoint = "https://arb-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}", retries = 3, retry_backoff = 10000, compute_units_per_second = 500 }
  arbitrum-sepolia = { endpoint = "https://arb-sepolia.g.alchemy.com/v2/${ALCHEMY_API_KEY}", retries = 3, retry_backoff = 10000, compute_units_per_second = 500 }
  optimism = { endpoint = "https://opt-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}", retries = 3, retry_backoff = 10000, compute_units_per_second = 500 }
  optimism-sepolia = { endpoint = "https://opt-sepolia.g.alchemy.com/v2/${ALCHEMY_API_KEY}", retries = 3, retry_backoff = 10000, compute_units_per_second = 500 }
  polygon = { endpoint = "https://polygon-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}", retries = 3, retry_backoff = 10000, compute_units_per_second = 500 }
  polygon-amoy = { endpoint = "https://polygon-amoy.g.alchemy.com/v2/${ALCHEMY_API_KEY}", retries = 3, retry_backoff = 10000, compute_units_per_second = 500 }
  berachain = { endpoint = "https://berachain-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}", retries = 3, retry_backoff = 10000, compute_units_per_second = 500 }
  berachain-bepolia = { endpoint = "https://berachain-bepolia.g.alchemy.com/v2/${ALCHEMY_API_KEY}", retries = 3, retry_backoff = 10000, compute_units_per_second = 500 }
  
  [soldeer]
  remappings_generate = false
  
  [dependencies]
  surl = { version = "1.0.0", git = "https://github.com/memester-xyz/surl.git", rev = "034c912ae9b5e707a5afd21f145b452ad8e800df" }
  chainlink-ccip = { version = "1.6.0", git = "https://github.com/smartcontractkit/chainlink.git", rev = "5dd09706665ee0073f8db7d5ec6e5c97eb44fb69" }
  chainlink-local = { version = "0.2.5", git = "https://github.com/smartcontractkit/chainlink-local.git", rev = "b429481536095867f9cd2c6480066c472b9594de" }
  forge-std = "1.9.6"
  safe-utils = { version = "0.0.13", git = "https://github.com/Recon-Fuzz/safe-utils.git", rev = "bec514258acb85045a4b8590c5d695f3cc9599be" }
  base58-solidity = { version = "1.0.3", git = "https://github.com/storyicon/base58-solidity.git", rev = "2b56a9a42456ba18e79e4a8a0b541c0d7fb61b6f" }
  clones-with-immutable-args = { version = "1.0.0", git = "https://github.com/wighawag/clones-with-immutable-args.git", rev = "5950723ffcfa047f13262e5dbd7218b54360c42e" }
  layer-zero-endpoint-v1 = { version = "0.0.6", git = "https://github.com/LayerZero-Labs/endpoint-v1-solidity-examples.git", rev = "a4954e5747baca5e7fd2b62c639e7600ad388a5f" }
  solmate = { version = "6.2.0", git = "https://github.com/transmissions11/solmate.git", rev = "fadb2e2778adbf01c80275bfb99e5c14969d964b" }
  "@openzeppelin-contracts" = "4.8.0"
  forge-proposal-simulator = { version = "1.0.0", git = "https://github.com/OlympusDAO/forge-proposal-simulator.git", rev = "864b357b650f9dc7b2fb1ae23562454815d51def" }
  