Cryptocurrency trading platform with Blockly-based strategy builder
Go to file
rob ee16023b6b Add public strategy subscription system
Implement a subscription system for public strategies:

Security & Auth:
- Bind WebSocket user identity at connect time (prevents spoofing)
- Add server-side ownership verification for all destructive operations
- Invalidate socket connections on logout
- Add XSS protection with HTML/JS escaping in frontend

Database:
- Add strategy_subscriptions table with proper indexes
- Fix get_all_rows_from_datacache to fall back to DB when cache empty

Backend:
- Add subscribe/unsubscribe endpoints with authorization checks
- Add get_user_strategies (owned + subscribed) and get_public_strategies_catalog
- Propagate indicator_owner_id through strategy instances for subscribed strategies
- Redact strategy internals (code, workspace) for non-owners

Frontend:
- Add "Add Public" button to browse and subscribe to public strategies
- Show subscribed strategies with creator badge and unsubscribe button
- Prevent editing of subscribed strategies (show info modal instead)
- Add public strategy browser modal

Tests:
- Update authorization tests for new subscription-required model

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-08 16:59:52 -03:00
.github/workflows Implement execution loop, paper persistence, and CI pipeline 2026-02-28 19:48:50 -04:00
UML Updated project structure and staged modified files 2024-07-25 08:21:15 -03:00
__pycache__ Updated project structure and staged modified files 2024-07-25 08:21:15 -03:00
archived_code The test are running but not without errors. 2024-11-11 17:22:06 -04:00
config Moved .db and .yml files to appropriate directories 2024-07-25 08:46:12 -03:00
markdown The test seem to run without errors but are still process blocking. 2024-11-15 18:08:32 -04:00
src Add public strategy subscription system 2026-03-08 16:59:52 -03:00
tests Add public strategy subscription system 2026-03-08 16:59:52 -03:00
.claudeignore Fix chart loading and stabilize local runtime 2026-02-28 15:15:56 -04:00
.gitignore Fix int64 JSON serialization error in SocketIO responses 2026-03-01 17:58:24 -04:00
CLAUDE.md Fix backtest data source and chart view detection bugs 2026-03-06 00:05:31 -04:00
pytest.ini Fix backtest data source and chart view detection bugs 2026-03-06 00:05:31 -04:00
requirements.txt Integrate EDM for candle data and improve UI dialogs 2026-03-04 11:42:06 -04:00
test_live_manual.py Live trading infrastructure functional on testnet 2026-03-01 15:23:34 -04:00