.PHONY: setup bootstrap start stop metrics logs test-contract test-load simulate lint

setup:
	@echo "== Installing Foundry (if available) =="
	@which forge > /dev/null 2>&1 || cargo install --git https://github.com/foundry-rs/foundry
	@echo "== Installing Python deps =="
	pip install aiohttp

bootstrap:
	./scripts/bootstrap-keys.sh

start:
	docker compose up -d

stop:
	docker compose down -v

metrics:
	@cat monitoring/prometheus/metrics/besu.prom 2>/dev/null || echo "No metrics yet"

logs:
	@docker compose logs -f besu-validator-1 besu-validator-2 besu-validator-3 besu-validator-4

test-contract:
	cd contracts && forge test -vvv

test-load:
	python3 load-test/load_test.py --target http://localhost:8545 --tps 500 --duration 60

simulate:
	python3 scripts/devnet_simulator.py --validators 4 --block-time 3 --duration 60

lint:
	cd contracts && forge fmt --check
