content: [profile.default]
  allow_paths = ["../l2-contracts/contracts"]
  src = "contracts"
  out = "out"
  libs = ["./lib"]
  cache_path = "cache-forge"
  test = "test/foundry"
  solc_version = "0.8.28"
  evm_version = "cancun"
  fs_permissions = [
      { access = "read", path = "../system-contracts/bootloader/build/artifacts" },
      { access = "read", path = "../system-contracts/artifacts-zk/" },
      { access = "read", path = "../system-contracts/contracts-preprocessed/precompiles/artifacts" },
      { access = "read", path = "../system-contracts/contracts-preprocessed/artifacts" },
      { access = "read", path = "../system-contracts/zkout" },
      { access = "read", path = "../l2-contracts/artifacts-zk/" },
      { access = "read", path = "../l2-contracts/zkout/" },
      { access = "read", path = "../l1-contracts/artifacts-zk/" },
      { access = "read", path = "../l1-contracts/script-out/" },
      { access = "read", path = "../da-contracts/" },
      { access = "read", path = "../system-contracts/zkout/" },
      { access = "read", path = "./script-config" },
      { access = "read-write", path = "./script-out" },
      { access = "read", path = "./upgrade-envs/" },
      { access = "read", path = "./out" },
      { access = "read-write", path = "./test/foundry/l1/integration/deploy-scripts/script-config/" },
      { access = "read-write", path = "./test/foundry/l1/integration/deploy-scripts/script-out/" },
      { access = "read-write", path = "./test/foundry/l1/integration/upgrade-envs/script-config/" },
      { access = "read-write", path = "./test/foundry/l1/integration/upgrade-envs/script-out/" },
      { access = "read", path = "zkout" },
      { access = "read", path = "./deploy-scripts/evm-predeploys/evm-predeploy-datas" },
  ]
  ignored_error_codes = ["missing-receive-ether", "code-size"]
  ignored_warnings_from = ["test", "contracts/dev-contracts"]
  suppressed_warnings = ["txorigin"]
  remappings = [
      "forge-std/=lib/forge-std/src/",
      "murky/=lib/murky/src/",
      "foundry-test/=test/foundry/",
      "l2-contracts/=../l2-contracts/contracts/",
      "@openzeppelin/contracts-v4/=lib/openzeppelin-contracts-v4/contracts/",
      "@openzeppelin/contracts-upgradeable-v4/=lib/openzeppelin-contracts-upgradeable-v4/contracts/",
  ]
  optimizer = true
  optimizer_runs = 9999999
  # TODO(X): the latest foundry disallows reverts that happen inside the internal calls and we should fix tests that rely
  # on such reverts
  allow_internal_expect_revert = true
  
  [profile.default.zksync] 
  enable_eravm_extensions = true
  zksolc = "1.5.11"
  
  [profile.invariant_tests_l1context]
  test = "test"
  ignored_error_codes = ["missing-receive-ether", "code-size", 2018, 5667, 2519, 6321, 3149, 3860]
  optimizer = false
  [profile.invariant_tests_l1context.zksync]
  suppressed_warnings = ["txorigin"]
  [profile.invariant_tests_l1context.invariant]
  runs = 10
  depth = 1000
  
  [profile.invariant_tests_l2context]
  test = "test"
  ignored_error_codes = ["missing-receive-ether", "code-size", 2018, 5667, 2519, 6321, 3149, 3860]
  optimizer = false
  [profile.invariant_tests_l2context.zksync]
  suppressed_warnings = ["txorigin"]
  [profile.invariant_tests_l2context.invariant]
  runs = 1
  depth = 100
  
  [profile.invariant_tests_l1context_ci]
  test = "test"
  ignored_error_codes = ["missing-receive-ether", "code-size", 2018, 5667, 2519, 6321, 3149, 3860]
  optimizer = false
  [profile.invariant_tests_l1context_ci.zksync]
  suppressed_warnings = ["txorigin"]
  [profile.invariant_tests_l1context_ci.invariant]
  runs = 10
  depth = 10000
  
  [profile.invariant_tests_l2context_ci]
  test = "test"
  ignored_error_codes = ["missing-receive-ether", "code-size", 2018, 5667, 2519, 6321, 3149, 3860]
  optimizer = false
  [profile.invariant_tests_l2context_ci.zksync]
  suppressed_warnings = ["txorigin"]
  [profile.invariant_tests_l2context_ci.invariant]
  runs = 2
  depth = 1000
  