Skip to content

Commit c1131c8

Browse files
added makefile
1 parent ac5884e commit c1131c8

File tree

1 file changed

+64
-1
lines changed

1 file changed

+64
-1
lines changed

Makefile

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,64 @@
1-
-include .env
1+
-include .env
2+
3+
.PHONY: all test clean deploy fund help install snapshot format anvil zktest
4+
5+
DEFAULT_ANVIL_KEY := 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
6+
DEFAULT_ZKSYNC_LOCAL_KEY := 0x7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110
7+
8+
all: clean remove install update build
9+
10+
# Clean the repo
11+
clean :; forge clean
12+
13+
# Remove modules
14+
remove :; rm -rf .gitmodules && rm -rf .git/modules/* && rm -rf lib && touch .gitmodules && git add . && git commit -m "modules"
15+
16+
install :; forge install cyfrin/foundry-devops@0.2.2 && forge install smartcontractkit/chainlink-brownie-contracts@1.1.1 && forge install foundry-rs/forge-std@v1.8.2
17+
18+
# Update Dependencies
19+
update:; forge update
20+
21+
build:; forge build
22+
23+
zkbuild :; forge build --zksync
24+
25+
test :; forge test
26+
27+
zktest :; foundryup-zksync && forge test --zksync && foundryup
28+
29+
snapshot :; forge snapshot
30+
31+
format :; forge fmt
32+
33+
anvil :; anvil -m 'test test test test test test test test test test test junk' --steps-tracing --block-time 1
34+
35+
zk-anvil :; npx zksync-cli dev start
36+
37+
deploy:
38+
@forge script script/DeployFundMe.s.sol:DeployFundMe $(NETWORK_ARGS)
39+
40+
NETWORK_ARGS := --rpc-url http://localhost:8545 --private-key $(DEFAULT_ANVIL_KEY) --broadcast
41+
42+
ifeq ($(findstring --network sepolia,$(ARGS)),--network sepolia)
43+
NETWORK_ARGS := --rpc-url $(SEPOLIA_RPC_URL) --account $(ACCOUNT) --broadcast --verify --etherscan-api-key $(ETHERSCAN_API_KEY) -vvvv
44+
endif
45+
46+
deploy-sepolia:
47+
@forge script script/DeployFundMe.s.sol:DeployFundMe $(NETWORK_ARGS)
48+
49+
# As of writing, the Alchemy zkSync RPC URL is not working correctly
50+
deploy-zk:
51+
forge create src/FundMe.sol:FundMe --rpc-url http://127.0.0.1:8011 --private-key $(DEFAULT_ZKSYNC_LOCAL_KEY) --constructor-args $(shell forge create test/mock/MockV3Aggregator.sol:MockV3Aggregator --rpc-url http://127.0.0.1:8011 --private-key $(DEFAULT_ZKSYNC_LOCAL_KEY) --constructor-args 8 200000000000 --legacy --zksync | grep "Deployed to:" | awk '{print $$3}') --legacy --zksync
52+
53+
deploy-zk-sepolia:
54+
forge create src/FundMe.sol:FundMe --rpc-url ${ZKSYNC_SEPOLIA_RPC_URL} --account default --constructor-args 0xfEefF7c3fB57d18C5C6Cdd71e45D2D0b4F9377bF --legacy --zksync
55+
56+
57+
# For deploying Interactions.s.sol:FundFundMe as well as for Interactions.s.sol:WithdrawFundMe we have to include a sender's address `--sender <ADDRESS>`
58+
SENDER_ADDRESS := <sender's address>
59+
60+
fund:
61+
@forge script script/Interactions.s.sol:FundFundMe --sender $(SENDER_ADDRESS) $(NETWORK_ARGS)
62+
63+
withdraw:
64+
@forge script script/Interactions.s.sol:WithdrawFundMe --sender $(SENDER_ADDRESS) $(NETWORK_ARGS)

0 commit comments

Comments
 (0)