content: [profile.default]
  src = "src"
  out = "out"
  script = "script"
  extra_output_files = ['abi']
  libs = ["lib", "dependencies", "node_modules"]
  solc = "0.8.28" # to have cancun support
  evm_version = 'cancun' # by default
  optimizer = true
  optimizer_runs = 99999
  remappings = [
      "@elliptic-curve-solidity=dependencies/@elliptic-curve-solidity-0.2.5/",
      "@hpl=node_modules/@hyperlane-xyz/core/contracts",
      "@murky=dependencies/@murky-0.0.1/src",
      "@murky-0.0.1/=dependencies/@murky-0.0.1/",
      "@oz=dependencies/@openzeppelin-contracts-5.1.0",
      "@ozu=dependencies/@openzeppelin-contracts-upgradeable-5.1.0",
      "@openzeppelin/contracts=dependencies/@openzeppelin-contracts-5.1.0",
      "@openzeppelin/contracts-upgradeable=dependencies/@openzeppelin-contracts-upgradeable-5.1.0",
      "@solady=dependencies/solady-0.1.12/src",
      "@std=dependencies/forge-std-1.9.6/src",
      "@solmate=dependencies/solmate-6.8.0/src",
      "forge-std-1.9.6/=dependencies/forge-std-1.9.6/",
      "solady-0.1.12/=dependencies/solady-0.1.12/",
      # context aware remappings
      "node_modules/@hyperlane-xyz/core:@openzeppelin=node_modules/@openzeppelin",
      "dependencies/@openzeppelin-contracts-upgradeable-5.1.0:@openzeppelin/contracts=dependencies/@openzeppelin-contracts-5.1.0",
  ]
  fs_permissions = [
      { access = "read-write", path = "./TemporaryLeafs.json" },
      { access = "read-write", path = "./test/testdata/" },
  ]
  
  [doc]
  ignore = [
      "./src/branch/**/*",
      "./src/external/**/*",
      "./src/governance/**/*",
      "./src/hub/**/*",
      "./src/twab/**/*",
      "./src/lib/**/*",
      "./src/message/**/*",
  ]
  
  [fmt]
  line_length = 120
  tab_width = 2
  bracket_spacing = true
  quote_style = "single"
  ignore = ['./src/external/**/*']
  
  [soldeer]
  remappings_generate = false
  remappings_regenerate = false
  remappings_location = "config"
  
  # See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options
  
  [dependencies]
  solady = "0.1.12"
  forge-std = "1.9.6"
  "@openzeppelin-contracts" = "5.1.0"
  "@openzeppelin-contracts-upgradeable" = "5.1.0"
  solmate = "6.8.0"
  "@murky" = { version = "0.0.1", url = "https://github.com/mitosis-org/murky/archive/refs/tags/v0.0.1.zip" }
  "@elliptic-curve-solidity" = { version = "0.2.5", url = "https://github.com/witnet/elliptic-curve-solidity/archive/c845495d1b6a58bccfbe0041128b910766e2a609.zip" }
  