@@ -57,18 +57,60 @@ setup-dev-env:
5757 make transfer-eth-to-pool-owner
5858
5959
60+ # Start development environment
61+ .PHONY : up
6062up :
61- tmuxinator start prime-dev
63+ @echo " Starting Prime development environment..."
64+ @# Start Docker services
65+ @docker compose up -d reth redis --wait --wait-timeout 180
66+ @# Deploy contracts
67+ @cd smart-contracts && sh deploy.sh && sh deploy_work_validation.sh && cd ..
68+ @# Run setup
69+ @$(MAKE ) setup
70+ @# Kill any existing session
71+ @tmux kill-session -t prime-dev 2> /dev/null || true
72+ @# Create new tmux session
73+ @tmux new-session -d -s prime-dev -n services
74+ @# Enable pane titles and borders
75+ @tmux set -t prime-dev pane-border-status top
76+ @tmux set -t prime-dev pane-border-format " #{pane_title} "
77+ @# Start Worker pane first (pane 0)
78+ @tmux select-pane -t prime-dev:services.0 -T " Worker"
79+ @# Discovery pane (pane 1)
80+ @tmux split-window -h -t prime-dev:services
81+ @tmux select-pane -t prime-dev:services.1 -T " Discovery"
82+ @tmux send-keys -t prime-dev:services.1 ' make watch-discovery' C-m
83+ @# Validator pane (pane 2)
84+ @tmux split-window -h -t prime-dev:services.1
85+ @tmux select-pane -t prime-dev:services.2 -T " Validator"
86+ @tmux send-keys -t prime-dev:services.2 ' make watch-validator' C-m
87+ @# Orchestrator pane (pane 3)
88+ @tmux split-window -h -t prime-dev:services.2
89+ @tmux select-pane -t prime-dev:services.3 -T " Orchestrator"
90+ @tmux send-keys -t prime-dev:services.3 ' make watch-orchestrator' C-m
91+ @tmux select-layout -t prime-dev:services even-horizontal
92+ @# Create background window for docker logs
93+ @tmux new-window -t prime-dev -n background
94+ @tmux send-keys -t prime-dev:background ' docker compose logs -f reth redis' C-m
95+ @# Switch back to first window before attaching
96+ @tmux select-window -t prime-dev:services
97+ @# Attach to session
98+ @tmux attach-session -t prime-dev
99+
100+ # Stop development environment
101+ .PHONY : down
62102down :
63- docker compose down
64- tmuxinator stop prime-dev
65- pkill -f " target/debug/worker" 2> /dev/null || true
66- pkill -f " target/debug/orchestrator" 2> /dev/null || true
67- pkill -f " target/debug/validator" 2> /dev/null || true
68- pkill -f " target/debug/discovery" 2> /dev/null || true
69- pkill -9 -f " cargo run --bin discovery" 2> /dev/null || true
70- pkill -9 -f " cargo watch" 2> /dev/null || true
71-
103+ @docker compose down
104+ @tmux kill-session -t prime-dev 2> /dev/null || true
105+ @pkill -f " target/debug/worker" 2> /dev/null || true
106+ @pkill -f " target/debug/orchestrator" 2> /dev/null || true
107+ @pkill -f " target/debug/validator" 2> /dev/null || true
108+ @pkill -f " target/debug/discovery" 2> /dev/null || true
109+ @pkill -9 -f " cargo run --bin discovery" 2> /dev/null || true
110+ @pkill -9 -f " cargo watch" 2> /dev/null || true
111+
112+ # Whitelist provider
113+ .PHONY : whitelist-provider
72114whitelist-provider :
73115 set -a; source ${ENV_FILE} ; set +a; \
74116 cargo run -p dev-utils --example whitelist_provider -- --provider-address $$ {PROVIDER_ADDRESS} --key $$ {PRIVATE_KEY_VALIDATOR} --rpc-url $$ {RPC_URL}
0 commit comments