-
Notifications
You must be signed in to change notification settings - Fork 3
/
foundry.toml
107 lines (80 loc) · 5.31 KB
/
foundry.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Full reference https://github.com/foundry-rs/foundry/tree/master/crates/config
[profile.default]
auto_detect_solc = false
block_timestamp = 1_680_220_800 # March 31, 2023 at 00:00 GMT
bytecode_hash = "none"
evm_version = "cancun" # See https://www.evmdiff.com/features?name=PUSH0&kind=opcode
gas_reports = ["*"]
optimizer = true
optimizer_runs = 800
out = "out"
script = "scripts"
solc = "0.8.27"
src = "contracts"
test = "test"
cache_path = "cache_forge"
libs = ["node_modules", "lib"]
gas_reports_ignore = ["LockTest"]
via_ir = true
fs_permissions = [{ access = "read", path = "scripts/bash-deploy/artifacts"}]
[fuzz]
runs = 1_000
max_test_rejects = 1_000_000
[profile.ci]
fuzz = { runs = 10_000 }
verbosity = 4
[fmt]
bracket_spacing = true
int_types = "long"
line_length = 120
multiline_func_header = "all"
number_underscore = "thousands"
quote_style = "double"
tab_width = 4
wrap_comments = true
[rpc_endpoints]
localhost = "http://localhost:8545"
mainnet = "${MAINNET_RPC_URL}"
sepolia = "${SEPOLIA_RPC_URL}"
base = "${BASE_RPC_URL}"
base-sepolia = "${BASE_SEPOLIA_RPC_URL}"
arbitrum = "${ARBITRUM_ONE_RPC_URL}"
arbitrum-sepolia = "${ARBITRUM_SEPOLIA_RPC_URL}"
polygon = "${POLYGON_MAINNET_RPC_URL}"
amoy = "${POLYGON_AMOY_RPC_URL}"
scroll = "${SCROLL_RPC_URL}"
scroll-sepolia = "${SCROLL_SEPOLIA_RPC_URL}"
gnosis = "${GNOSIS_MAINNET_RPC_URL}"
gnosis-chiado = "${GNOSIS_CHIADO_RPC_URL}"
bsc = "${BSC_RPC_URL}"
bsc-testnet = "${BSC_TESTNET_RPC_URL}"
avalanche = "${AVALANCHE_C_CHAIN_RPC_URL}"
fuji = "${AVALANCHE_FUJI_RPC_URL}"
optimism = "${OPTIMISM_MAINNET_RPC_URL}"
optimism-sepolia = "${OPTIMISM_SEPOLIA_RPC_URL}"
berachain-bartio = "${BERA_BARTIO_TESTNET_RPC_URL}"
sonic-mainnet = "${SONIC_MAINNET_RPC_URL}"
sonic-blaze-testnet = "${SONIC_TESTNET_RPC_URL}"
[etherscan]
mainnet = { key = "${ETHERSCAN_API_KEY}", url = "https://api.etherscan.io/api" }
sepolia = { key = "${ETHERSCAN_API_KEY}", url = "https://api-sepolia.etherscan.io/api" }
base = { key = "${BASESCAN_API_KEY}", url = "https://api.basescan.org/api" }
base-sepolia = { key = "${BASESCAN_API_KEY}", url = "https://api-sepolia.basescan.org/api" }
arbitrum = { key = "${ARBISCAN_API_KEY}", url = "https://api.arbiscan.io/api" }
arbitrum-sepolia = { key = "${ARBISCAN_API_KEY}", url = "https://api-sepolia.arbiscan.io/api" }
polygon = { key = "${POLYGONSCAN_API_KEY}", url = "https://api.polygonscan.com/api" }
amoy = { key = "${POLYGONSCAN_API_KEY}", url = "https://api-amoy.polygonscan.com/api" }
scroll = { key = "${SCROLLSCAN_API_KEY}", url = "https://api.scrollscan.com/api" }
scroll-sepolia = { key = "${SCROLLSCAN_API_KEY}", url = "https://api-sepolia.scrollscan.com/api" }
gnosis = { key = "${GNOSISSCAN_API_KEY}", url = "https://api.gnosisscan.io/api" }
# gnosis-chiado is via blockscan, not etherscan
bsc = { key = "${BSCSCAN_API_KEY}", url = "https://api.bscscan.com/api"}
bsc-testnet = { key = "${BSCSCAN_API_KEY}", url = "https://api-testnet.bscscan.com/api" }
avalanche = { key = "${SNOWTRACE_API_KEY}", url = "https://api.routescan.io/v2/network/mainnet/evm/43114/etherscan" }
fuji = { key = "${SNOWTRACE_API_KEY}", url = "https://api.routescan.io/v2/network/testnet/evm/43113/etherscan" }
optimism = { key = "${OPTIMISM_API_KEY}", url = "https://api-optimistic.etherscan.io/api" }
optimism-sepolia = { key = "${OPTIMISM_API_KEY}", url = "https://api-sepolia-optimistic.etherscan.io/api" }
berachain-bartio = { key = "${BERACHAIN_API_KEY}", url = "https://api.routescan.io/v2/network/testnet/evm/80084/etherscan" }
sonic-mainnet = { key = "${SONIC_API_KEY}", url = "https://api.sonicscan.org/api", chain="146"}
sonic-blaze-testnet = { key = "${SONIC_API_KEY}", url = "https://api-testnet.sonicscan.org/api", chain="57054"}
# [possible values: mainnet, morden, ropsten, rinkeby, goerli, kovan, holesky, sepolia, odyssey, optimism, optimism-kovan, optimism-goerli, optimism-sepolia, arbitrum, arbitrum-testnet, arbitrum-goerli, arbitrum-sepolia, arbitrum-nova, cronos, cronos-testnet, rsk, crab, darwinia, koi, bsc, bsc-testnet, poa, sokol, scroll, scroll-sepolia, metis, cfx-testnet, cfx, xdai, polygon, mumbai, amoy, polygon-zkevm, polygon-zkevm-testnet, fantom, fantom-testnet, moonbeam, moonbeam-dev, moonriver, moonbase, dev, anvil-hardhat, gravity-alpha-mainnet, gravity-alpha-testnet-sepolia, evmos, evmos-testnet, chiado, oasis, emerald, emerald-testnet, filecoin-mainnet, filecoin-calibration-testnet, avalanche, fuji, celo, celo-alfajores, celo-baklava, aurora, aurora-testnet, canto, canto-testnet, boba, base, base-goerli, base-sepolia, syndr, syndr-sepolia, shimmer, ink-sepolia, fraxtal, fraxtal-testnet, blast, blast-sepolia, linea, linea-goerli, linea-sepolia, zksync, zksync-testnet, mantle, mantle-testnet, mantle-sepolia, xai, xai-sepolia, viction, zora, zora-goerli, zora-sepolia, pgn, pgn-sepolia, mode, mode-sepolia, elastos, kakarot-sepolia, etherlink, etherlink-testnet, degen, opbnb-mainnet, opbnb-testnet, ronin, taiko, taiko-hekla, autonomys-nova-testnet, flare, flare-coston2, acala, acala-mandala-testnet, acala-testnet, karura, karura-testnet, pulsechain, pulsechain-testnet, immutable, immutable-testnet, soneium-minato-testnet, world, world-sepolia, iotex, core, merlin, bitlayer, unichain-sepolia, apechain, curtis, sonic-testnet]