-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
104 lines (95 loc) · 3.65 KB
/
Makefile
File metadata and controls
104 lines (95 loc) · 3.65 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
.PHONY: lint lint-fix format format-check test cichecks tvl avgtvl help
help:
@echo "Available commands:"
@echo " make lint - Check code style with ruff"
@echo " make lint-fix - Auto-fix linting issues"
@echo " make format - Format code with ruff"
@echo " make format-check - Check formatting without changing files"
@echo " make test - Run tests"
@echo " make cichecks - Run all CI checks (test, lint, format-check)"
@echo " make tvl - Get TVL data (use: make tvl PROTOCOL=euler START=2025-01-01 END=2025-01-15)"
@echo " make avgtvl - Get average TVL (use: make avgtvl PROTOCOL=euler START=2025-01-01 END=2025-01-15)"
@echo ""
@echo "TVL Examples:"
@echo " make tvl PROTOCOL=euler START=2025-01-01 END=2025-01-15"
@echo " make tvl PROTOCOL=aave START=2025-01-01 END=2025-01-31"
@echo " make tvl PROTOCOL=uniswap START=2024-12-01 END=2024-12-31 OPTS='--extrapolate'"
@echo " make tvl PROTOCOL=euler START=2025-01-01 END=2025-01-15 OPTS='--mean'"
@echo " make tvl PROTOCOL=aave START=2025-01-01 END=2025-01-15 OPTS='--no-by-chain'"
@echo ""
@echo "Average TVL Examples:"
@echo " make avgtvl PROTOCOL=euler START=2025-01-01 END=2025-01-15"
@echo " make avgtvl PROTOCOL=aave START=2025-01-01 END=2025-01-31"
@echo " make avgtvl PROTOCOL=compound START=2024-01-01 END=2024-12-31"
lint:
uv run ruff check .
lint-fix:
uv run ruff check --fix .
format:
uv run ruff format .
format-check:
uv run ruff format --check .
test:
uv run python -m unittest discover -s . -p 'test_*.py'
cichecks:
@echo "=== CI CHECKS START ==="; \
echo ""; \
echo "--- SECTION: Tests ---"; \
uv run python -m unittest discover -s . -p 'test_*.py' 2>&1; \
TEST_EXIT=$$?; \
if [ $$TEST_EXIT -eq 0 ]; then \
echo "STATUS: TESTS_PASSED"; \
else \
echo "STATUS: TESTS_FAILED"; \
fi; \
echo ""; \
echo "--- SECTION: Linting ---"; \
uv run ruff check . 2>&1; \
LINT_EXIT=$$?; \
if [ $$LINT_EXIT -eq 0 ]; then \
echo "STATUS: LINT_PASSED"; \
else \
echo "STATUS: LINT_FAILED"; \
fi; \
echo ""; \
echo "--- SECTION: Format Check ---"; \
uv run ruff format --check . 2>&1; \
FORMAT_EXIT=$$?; \
if [ $$FORMAT_EXIT -eq 0 ]; then \
echo "STATUS: FORMAT_PASSED"; \
else \
echo "STATUS: FORMAT_FAILED"; \
fi; \
echo ""; \
echo "=== CI CHECKS SUMMARY ==="; \
if [ $$TEST_EXIT -eq 0 ] && [ $$LINT_EXIT -eq 0 ] && [ $$FORMAT_EXIT -eq 0 ]; then \
echo "RESULT: PASSED"; \
exit 0; \
else \
echo "RESULT: FAILED"; \
exit 1; \
fi
# Get TVL data for a protocol
# Usage: make tvl PROTOCOL=euler START=2025-01-01 END=2025-01-15
# Optional: OPTS='--extrapolate' or OPTS='--mean'
tvl:
@if [ -z "$(PROTOCOL)" ] || [ -z "$(START)" ] || [ -z "$(END)" ]; then \
echo "Error: Missing required parameters"; \
echo "Usage: make tvl PROTOCOL=<protocol> START=<start-date> END=<end-date>"; \
echo "Example: make tvl PROTOCOL=euler START=2025-01-01 END=2025-01-15"; \
echo "Optional: Add OPTS='--mean' or OPTS='--extrapolate'"; \
exit 1; \
fi
@uv run python avg_tvls.py $(PROTOCOL) $(START) $(END) $(OPTS)
# Get average TVL for a protocol (with interpolation)
# Usage: make avgtvl PROTOCOL=euler START=2025-01-01 END=2025-01-15
# Optional: OPTS='--extrapolate' to enable extrapolation at edges
avgtvl:
@if [ -z "$(PROTOCOL)" ] || [ -z "$(START)" ] || [ -z "$(END)" ]; then \
echo "Error: Missing required parameters"; \
echo "Usage: make avgtvl PROTOCOL=<protocol> START=<start-date> END=<end-date>"; \
echo "Example: make avgtvl PROTOCOL=euler START=2025-01-01 END=2025-01-15"; \
echo "Optional: Add OPTS='--extrapolate' to enable extrapolation"; \
exit 1; \
fi
@uv run python avg_tvls.py $(PROTOCOL) $(START) $(END) --mean $(OPTS)