[profile.default] src = 'contracts' script = 'script' out = 'out' libs = ["dependencies", "lib"] test = 'test' cache_path = 'forge-cache' solc_version = '0.8.33' evm_version= 'cancun' optimizer_runs = 10_000 fs_permissions = [ { access = "read", path = "./script/avs/" }, { access = "read", path = "../vectors" }, { access = "write", path = "./fixtures" }, ] ignored_warnings_from = ['lib', 'test', 'contracts/test'] [profile.ci] verbosity = 4 # disable metadata for bytecode comparison cbor_metadata = false bytecode_hash = "none" [profile.coverage] # Reduce optimizer runs for coverage to save memory (25k -> 200) optimizer_runs = 200 [profile.tron] # Tron uses 0x41 prefix for CREATE2 instead of 0xff # Override Create2.sol with patched version in overrides/tron/ out = 'out-tron' cache_path = 'forge-cache-tron' remappings = [ "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol=overrides/tron/SafeERC20.sol", "dependencies/@openzeppelin-contracts-4.9.3/contracts/token/ERC20/utils/SafeERC20.sol=overrides/tron/SafeERC20.sol", "@openzeppelin/contracts/utils/Create2.sol=overrides/tron/Create2.sol", "@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-4.9.3/contracts/", "@openzeppelin/contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-4.9.3/contracts/", "@arbitrum/nitro-contracts/src/=dependencies/@arbitrum-nitro-contracts-1.2.1/src/", "@chainlink/contracts-ccip/src/v0.8/=dependencies/@chainlink-contracts-ccip-1.5.0/contracts/src/v0.8/", "@eth-optimism/contracts/=dependencies/@eth-optimism-contracts-0.6.0/packages/contracts/contracts/", "forge-std/=dependencies/forge-std-1.9.2/src/", "ds-test/=dependencies/forge-std-1.9.2/lib/ds-test/src/", ] [rpc_endpoints] mainnet = "${RPC_URL_MAINNET}" optimism = "${RPC_URL_OPTIMISM}" polygon = "${RPC_URL_POLYGON}" arbitrum = "${RPC_URL_ARBITRUM}" base = "${RPC_URL_BASE}" [fuzz] runs = 50 dictionary_weight = 80 [lint] lint_on_build = false [dependencies] forge-std = "1.9.2" "@openzeppelin-contracts" = { version = "4.9.3", git = "https://github.com/OpenZeppelin/openzeppelin-contracts.git", tag = "v4.9.3" } "@openzeppelin-contracts-upgradeable" = { version = "4.9.3", git = "https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable.git", tag = "v4.9.3" } "@arbitrum-nitro-contracts" = { version = "1.2.1", git = "https://github.com/OffchainLabs/nitro-contracts.git", tag = "v1.2.1" } "@chainlink-contracts-ccip" = { version = "1.5.0", git = "https://github.com/smartcontractkit/ccip.git", tag = "contracts-ccip/v1.5.0" } "@eth-optimism-contracts" = { version = "0.6.0", git = "https://github.com/ethereum-optimism/optimism.git", tag = "@eth-optimism/contracts@0.6.0" } "@predicate-contracts" = { version = "2.2.2", git = "https://github.com/predicatelabs/predicate-contracts.git", tag = "v2.2.2" } permit2 = { version = "1.0.0", git = "https://github.com/Uniswap/permit2", branch = "main" } [soldeer] remappings_generate = false # We'll manage remappings manually to preserve import paths