github.com/ethereum-optimism/optimism@v1.7.2/packages/contracts-bedrock/foundry.toml (about)

     1  ################################################################
     2  #                   PROFILE: DEFAULT (Local)                   #
     3  ################################################################
     4  
     5  [profile.default]
     6  
     7  # Compilation settings
     8  src = 'src'
     9  out = 'forge-artifacts'
    10  script = 'scripts'
    11  optimizer = true
    12  optimizer_runs = 999999
    13  remappings = [
    14    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',
    15    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',
    16    '@rari-capital/solmate/=lib/solmate',
    17    '@cwia/=lib/clones-with-immutable-args/src',
    18    '@lib-keccak/=lib/lib-keccak/contracts/lib',
    19    'forge-std/=lib/forge-std/src',
    20    'ds-test/=lib/forge-std/lib/ds-test/src',
    21    'safe-contracts/=lib/safe-contracts/contracts',
    22    'kontrol-cheatcodes/=lib/kontrol-cheatcodes/src',
    23    'solady/=lib/solady/src',
    24  ]
    25  extra_output = ['devdoc', 'userdoc', 'metadata', 'storageLayout']
    26  bytecode_hash = 'none'
    27  build_info_path = 'artifacts/build-info'
    28  
    29  # Test / Script Runner Settings
    30  ffi = true
    31  fs_permissions = [
    32    { access='read-write', path='./.resource-metering.csv' },
    33    { access='read-write', path='./snapshots/' },
    34    { access='read-write', path='./deployments/' },
    35    { access='read', path='./deploy-config/' },
    36    { access='read', path='./periphery-deploy-config/' },
    37    { access='read', path='./broadcast/' },
    38    { access='read', path = './forge-artifacts/' },
    39    { access='write', path='./semver-lock.json' },
    40    { access='read-write', path='./.testdata/' },
    41    { access='read', path='./kout-deployment' }
    42  ]
    43  libs = ["node_modules", "lib"]
    44  
    45  [fuzz]
    46  runs = 64
    47  
    48  [fmt]
    49  line_length=120
    50  multiline_func_header='all'
    51  bracket_spacing=true
    52  wrap_comments=true
    53  ignore = ['src/vendor/WETH9.sol']
    54  
    55  ################################################################
    56  #                         PROFILE: CI                          #
    57  ################################################################
    58  
    59  [profile.ci]
    60  deny_warnings = true
    61  fuzz = { runs = 512 }
    62  
    63  [profile.ci.invariant]
    64  runs = 256
    65  depth = 32
    66  
    67  ################################################################
    68  #                         PROFILE: LITE                        #
    69  ################################################################
    70  
    71  [profile.lite]
    72  optimizer = false
    73  
    74  ################################################################
    75  #                         PROFILE: KONTROL                     #
    76  ################################################################
    77  # See test/kontrol/README.md for an explanation of how the profiles are configured
    78  
    79  [profile.kdeploy]
    80  src = 'src/L1'
    81  out = 'kout-deployment'
    82  test = 'test/kontrol'
    83  script = 'scripts-kontrol'
    84  
    85  [profile.kprove]
    86  src = 'test/kontrol/proofs'
    87  out = 'kout-proofs'
    88  test = 'test/kontrol/proofs'
    89  script = 'test/kontrol/proofs'
    90  ast = true