-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
57 lines (48 loc) · 1.7 KB
/
Copy pathMakefile
File metadata and controls
57 lines (48 loc) · 1.7 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
.PHONY: all contracts circuits sdk-rust sdk-ts test clean help deploy-local
# Default target
all: contracts circuits sdk-rust sdk-ts
help:
@echo "VeriVault Build System"
@echo "-----------------------"
@echo "make all - Build everything (contracts, circuits, SDKs)"
@echo "make contracts - Build Soroban contracts to WASM"
@echo "make circuits - Compile and check Noir ZK circuits"
@echo "make sdk-rust - Build the Rust SDK"
@echo "make sdk-ts - Build the TypeScript SDK"
@echo "make test - Run all tests (Cargo, Nargo)"
@echo "make clean - Remove build artifacts"
@echo "make deploy-local - Run local deployment script (requires Stellar CLI/Docker)"
# --- Contracts ---
contracts:
@echo "Building Soroban contracts..."
cargo build --package verivault_pool --target wasm32-unknown-unknown --release
# --- ZK Circuits ---
circuits:
@echo "Checking ZK circuits..."
@export PATH="$$HOME/.nargo/bin:$$PATH" && nargo check --workspace
# --- SDKs ---
sdk-rust:
@echo "Building Rust SDK..."
cargo build --package rust_sdk
sdk-ts:
@echo "Building TypeScript SDK..."
cd sdk/ts && npm install && npm run build
# --- Testing ---
test:
@echo "Running Cargo tests..."
cargo test --workspace
@echo "Running Nargo tests..."
@export PATH="$$HOME/.nargo/bin:$$PATH" && nargo test --workspace
# --- Deployment ---
deploy-local:
@echo "Running local deployment..."
./scripts/deploy_local.sh
# --- Cleanup ---
clean:
@echo "Cleaning Cargo..."
cargo clean
@echo "Cleaning Noir artifacts..."
find circuits -name "target" -type d -exec rm -rf {} +
find circuits -name "proofs" -type d -exec rm -rf {} +
@echo "Cleaning TypeScript SDK..."
rm -rf sdk/ts/dist sdk/ts/node_modules