[profile.default]
src = "src"
out = "out"
libs = ["lib"]
solc = "0.8.28"
fs_permissions = [
    { access = "read", path = "./" },
    { access = "readwrite", path = "./config" },
]
evm_version = "cancun"
# evm_version = "prague"

optimizer = true
optimizer_runs = 200
# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options

# fallback_oz = true
# is_system = false # Note: NonceHolder and the ContractDeployer system contracts can only be called with a special isSystem flag as true
# mode = "3"

[fmt]
line_length = 120
tab_width = 2
bracket_spacing = true

[rpc_endpoints]
mainnet = "${MAINNET_RPC_URL}"
sepolia = "${SEPOLIA_RPC_URL}"

arbitrum = "${ARBITRUM_RPC_URL}"
arbitrum_sepolia = "${ARBITRUM_SEPOLIA_RPC_URL}"

base = "${BASE_RPC_URL}"
base_sepolia = "${BASE_SEPOLIA_RPC_URL}"

blast_sepolia = "${BLAST_SEPOLIA_RPC_URL}"

zora = "${ZORA_RPC_URL}"
zora_sepolia = "${ZORA_SEPOLIA_RPC_URL}"

plume_testnet = "${PLUME_TESTNET_RPC_URL}"

abstract_testnet = "${ABSTRACT_TESTNET_URL}"

monad_testnet = "${MONAD_TESTNET_RPC_URL}"

cultura_testnet = "${CULTURA_TESTNET_RPC_URL}"

[etherscan]
arbitrum = { key = "${ARBITRUM_ETHERSCAN_KEY}", url = "https://api.arbiscan.io/api" }
arbitrum_sepolia = { key = "${ARBITRUM_ETHERSCAN_KEY}", url = "https://api-sepolia.arbiscan.io/api" }

mainnet = { key = "${MAINNET_ETHERSCAN_KEY}", url = "https://api.etherscan.io/api" }
sepolia = { key = "${MAINNET_ETHERSCAN_KEY}", url = "https://api-sepolia.etherscan.io/api" }

base = { key = "${BASE_ETHERSCAN_KEY}", url = "https://api.basescan.org/api" }
base_sepolia = { key = "${BASE_ETHERSCAN_KEY}", url = "https://api-sepolia.basescan.org/api" }

blast_sepolia = { key = "${BLAST_SEPOLIA_ETHERSCAN_KEY}", url = "https://api.routescan.io/v2/network/testnet/evm/168587773/etherscan" }

zora_sepolia = { key = "verifyContract", url = "https://api.routescan.io/v2/network/testnet/evm/999999999/etherscan" }
zora = { key = "verifyContract", url = "https://api.routescan.io/v2/network/mainnet/evm/7777777/etherscan" }

plume_testnet = { key = "verifyContract", url = "https://testnet-explorer.plumenetwork.xyz/api" }

abstract_testnet = { key = "verifyContract", url = "https://api-explorer-verify.testnet.abs.xyz/contract_verification" }

monad_testnet = { key = "DUMMY_VALUE", url = "https://testnet.monadexplorer.com", chain = 10143 }

cultura_testnet = { key = "verifyContract", url = "https://explorer-cultura-testnet-7v5ruhfl8s.t.conduit.xyz/api", chain = 61892 }
