-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
executable file
·60 lines (40 loc) · 1.82 KB
/
Makefile
File metadata and controls
executable file
·60 lines (40 loc) · 1.82 KB
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
# MicroDAO Implementation Makefile
.PHONY: help install build test test-verbose test-gas clean deploy-local deploy-sepolia deploy-mainnet
help: ## Show this help message
@echo "MicroDAO Implementation Commands:"
@echo ""
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
install: ## Install dependencies
forge install
build: ## Build the contracts
forge build
test: ## Run tests
forge test
test-verbose: ## Run tests with verbose output
forge test -vv
test-gas: ## Run tests with gas reporting
forge test --gas-report
clean: ## Clean build artifacts
forge clean
deploy-local: ## Deploy to local network (requires anvil)
forge script script/Deploy.s.sol --rpc-url http://localhost:8545 --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --broadcast
deploy-sepolia: ## Deploy to Sepolia testnet
forge script script/Deploy.s.sol --rpc-url sepolia --private-key $(PRIVATE_KEY) --broadcast --verify
deploy-mainnet: ## Deploy to Ethereum mainnet
forge script script/Deploy.s.sol --rpc-url mainnet --private-key $(PRIVATE_KEY) --broadcast --verify
create-dao-local: ## Create a test DAO on local network
forge script script/CreateDAO.s.sol --rpc-url http://localhost:8545 --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --broadcast
anvil: ## Start local Anvil node
anvil
format: ## Format code
forge fmt
lint: ## Lint code
forge fmt --check
coverage: ## Generate test coverage report
forge coverage
doc: ## Generate documentation
forge doc
verify-sepolia: ## Verify contracts on Sepolia
forge verify-contract --chain sepolia --etherscan-api-key $(ETHERSCAN_API_KEY) $(CONTRACT_ADDRESS) src/MicroDAOFactory.sol:MicroDAOFactory
size: ## Check contract sizes
forge build --sizes