Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
128 lines (93 loc) · 5.09 KB
/
Copy pathMakefile
File metadata and controls
128 lines (93 loc) · 5.09 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
.PHONY: install build test lint typecheck dev clean \
contracts-build contracts-test contracts-generate \
db-migrate db-generate db-studio \
localnet-start localnet-stop localnet-reset \
docker-up docker-down docker-logs \
proof-card-test
# ─── Setup ───────────────────────────────────────────────────────────────────
install:
pnpm install
# ─── Build ───────────────────────────────────────────────────────────────────
build:
pnpm turbo run build
# ─── Development ─────────────────────────────────────────────────────────────
dev:
pnpm turbo run dev --parallel
# ─── Testing ─────────────────────────────────────────────────────────────────
test:
pnpm turbo run test
test-watch:
pnpm turbo run test -- --watch
# ─── Linting ─────────────────────────────────────────────────────────────────
lint:
pnpm turbo run lint
lint-check:
pnpm turbo run lint:check
typecheck:
pnpm turbo run typecheck
format:
pnpm prettier --write "**/*.{ts,tsx,js,json,md}" --ignore-path .gitignore
format-check:
pnpm prettier --check "**/*.{ts,tsx,js,json,md}" --ignore-path .gitignore
# ─── Contracts (AlgoKit / Puya) ──────────────────────────────────────────────
contracts-build:
cd packages/contracts && algokit project run build
# Run after contracts-build. Outputs ARC-56 JSON to packages/contracts/artifacts/.
contracts-test:
cd packages/contracts && algokit project run test
# Regenerate typed TS clients in packages/sdk/src/clients/ from ARC-56 artifacts.
# Run after any contract ABI change. Never edit generated clients by hand.
# algokit-client-generator@6.0.1 wants one arc56.json -> one output file per contract.
# Artifacts live in per-contract subdirs after `algokit compile python smart_contracts/`.
contracts-generate:
algokit generate client \
--language typescript \
--output packages/sdk/src/clients/CoinflipClient.ts \
packages/contracts/smart_contracts/coinflip/artifacts/CoinflipContract.arc56.json
algokit generate client \
--language typescript \
--output packages/sdk/src/clients/HouseTreasuryClient.ts \
packages/contracts/smart_contracts/house_treasury/artifacts/HouseTreasury.arc56.json
algokit generate client \
--language typescript \
--output packages/sdk/src/clients/LeaderboardClient.ts \
packages/contracts/smart_contracts/leaderboard/artifacts/LeaderboardContract.arc56.json
algokit generate client \
--language typescript \
--output packages/sdk/src/clients/FairJackpotClient.ts \
packages/contracts/smart_contracts/fairjackpot/artifacts/FairJackpot.arc56.json
# ─── Database ────────────────────────────────────────────────────────────────
db-migrate:
pnpm --filter @fairground/db run db:migrate
db-generate:
pnpm --filter @fairground/db run db:generate
db-studio:
pnpm --filter @fairground/db run db:studio
# ─── AlgoKit LocalNet ────────────────────────────────────────────────────────
localnet-start:
algokit localnet start
localnet-stop:
algokit localnet stop
localnet-reset:
algokit localnet reset
# ─── Docker Compose ──────────────────────────────────────────────────────────
docker-up:
docker compose up -d
docker-down:
docker compose down
docker-logs:
docker compose logs -f
# ─── Proof Card ──────────────────────────────────────────────────────────────
# Quick smoke test for the proof card generator.
# Writes a test PNG to /tmp/fairground-proof-test.png.
proof-card-test:
pnpm --filter @fairground/proof-card run cli -- \
--txn-id TEST000000000000 \
--outcome heads \
--wallet AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA \
--vrf-round 100 \
--output /tmp/fairground-proof-test.png
# ─── Clean ───────────────────────────────────────────────────────────────────
clean:
pnpm turbo run clean
rm -rf node_modules