generated from 0xBcamp/project-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfoundry.toml
73 lines (63 loc) · 2.4 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
[profile.default]
src = "src"
out = "out"
libs = ["lib"]
solc = "0.8.24"
remappings = [
'@openzeppelin/contracts=lib/openzeppelin-contracts/contracts',
'gelatodigital/vrf-contracts/=lib/vrf-contracts/',
]
# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options
# fs_permissions = [
# { access = "read", path = "./broadcast" },
# { access = "read", path = "./reports" },
# ]
# When working with private keys avoid .env file and use the following code in the terminal
# cast wallet import NAME_OF_FILE --interactive
# Then paste in the private key
# create a password for the wallet you called "NAME_OF_FILE"
#
# To check what acount you have type the following in the terminal `cast wallet list`
#
# So when running the deployment script on localhost or testnet it would look something like this,
# forge script script/ContractScriptName.s.sol:ContractScriptName --rpc-url $(SEPOLIA_RPC_URL) --sender PUBLIC_ADDRESS_OF_ACCOUNT_YOU_IMPORTED --account NAME_OF_FILE --etherscan-api-key $(ETHERSCAN_API_KEY) --verify --broadcast
# jq '.abi' out/ContractName.sol/ContractName.json > ContractNameABI.json
# jq '.abi' out/TreasureTiles.sol/TreasureTiles.json > TreasureTilesABI.json
[fuzz]
runs = 1000
max_test_rejects = 65536
seed = '0x1'
dictionary_weight = 40
include_storage = true
include_push_bytes = true
extra_output = ["storageLayout", "metadata"]
[invariant]
runs = 256
depth = 32
fail_on_revert = true
[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
[etherscan]
# zksync = no keey needed for zksync
arbitrum = { key = "${API_KEY_ARBISCAN}" }
avalanche = { key = "${API_KEY_SNOWTRACE}" }
bnb_smart_chain = { key = "${API_KEY_BSCSCAN}" }
gnosis_chain = { key = "${API_KEY_GNOSISSCAN}" }
goerli = { key = "${API_KEY_ETHERSCAN}" }
mainnet = { key = "${API_KEY_ETHERSCAN}" }
optimism = { key = "${API_KEY_OPTIMISTIC_ETHERSCAN}" }
polygon = { key = "${API_KEY_POLYGONSCAN}" }
sepolia = { key = "{6DGM59A47Z9UZNCSSR44ASZ5NW6ZDDWMK4}" }
mode = { key = "${API_KEY_MODESCAN}" }
[rpc_endpoints]
# example:
# zksync = "https://mainnet.era.zksync.io"
sepolia = "https://eth-sepolia.g.alchemy.com/v2/N-xInl4-MvlVwtClZjoMxNqFyiAP4PcZ"
# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options