Skip to content

Commit 695e35d

Browse files
Merge branch 'main' into feat/sep10-stellar-auth
2 parents ff0d41a + 4f81261 commit 695e35d

105 files changed

Lines changed: 45685 additions & 1836 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,37 @@ CREATOR_AUTH_AUDIENCE=substream-creators
88
# Local database configuration
99
DATABASE_FILENAME=./data/substream-protocol.sqlite
1010

11+
# Soroban Event Indexer Configuration
12+
SOROBAN_RPC_URL=https://rpc.stellar.org
13+
SOROBAN_NETWORK_PASSPHRASE=Public Network
14+
SOROBAN_CONTRACT_ID=CAOUX2FZ65IDC4F2X7LJJ2SVF23A35CCTZB7KVVN475JCLKTTU4CEY6L
15+
SOROBAN_MAX_RETRIES=5
16+
SOROBAN_BASE_DELAY=1000
17+
SOROBAN_MAX_DELAY=30000
18+
SOROBAN_FAILURE_THRESHOLD=5
19+
SOROBAN_RESET_TIMEOUT=60000
20+
SOROBAN_REQUESTS_PER_SECOND=10
21+
22+
# Soroban Indexer Configuration
23+
SOROBAN_PROCESSING_INTERVAL=5000
24+
SOROBAN_EVENT_TYPES=SubscriptionBilled,TrialStarted,PaymentFailed
25+
LOG_LEVEL=info
26+
27+
# ActivityPub Federation Configuration
28+
ACTIVITYPUB_ENABLED=true
29+
ACTIVITYPUB_BASE_URL=https://your-domain.com
30+
ACTIVITYPUB_WORKER_INTERVAL=30000
31+
ACTIVITYPUB_MAX_RETRIES=3
32+
ACTIVITYPUB_SIGNING_SECRET=your-activitypub-signing-secret-key
33+
34+
# Engagement Leaderboard Configuration
35+
LEADERBOARD_ENABLED=true
36+
LEADERBOARD_CACHE_TTL=21600
37+
LEADERBOARD_WORKER_INTERVAL=21600000
38+
LEADERBOARD_BATCH_SIZE=10
39+
LEADERBOARD_SEASON_LENGTH=monthly
40+
LEADERBOARD_CACHE_PREFIX=leaderboard:cret
41+
1142
# CDN edge token configuration
1243
CDN_BASE_URL=https://cdn.example.com/private
1344
CDN_TOKEN_SECRET=replace-with-a-long-random-secret
@@ -44,6 +75,39 @@ WEB3STORAGE_API_KEY=your-web3-storage-api-key
4475
# Infura IPFS Configuration
4576
INFURA_API_KEY=your-infura-api-key
4677

78+
# Security Alert Configuration
79+
SECURITY_ALERT_EMAIL=security@yourdomain.com
80+
81+
# Behavioral Biometric Fraud Detection Configuration
82+
BEHAVIORAL_BIOMETRIC_ENABLED=false
83+
84+
# Behavioral Collection Settings
85+
BEHAVIORAL_COLLECTION_ENABLED=true
86+
BEHAVIORAL_SAMPLE_RATE=1.0
87+
BEHAVIORAL_MAX_EVENTS_PER_SESSION=1000
88+
BEHAVIORAL_SESSION_TIMEOUT=1800000
89+
BEHAVIORAL_ANONYMIZE_IP=true
90+
BEHAVIORAL_HASH_SALT=your-behavioral-hash-salt
91+
92+
# Behavioral Classifier Settings
93+
BEHAVIORAL_CLASSIFIER_ENABLED=true
94+
BEHAVIORAL_MODEL_TYPE=rule_based
95+
BEHAVIORAL_CONFIDENCE_THRESHOLD=0.7
96+
BEHAVIORAL_TRAINING_THRESHOLD=100
97+
BEHAVIORAL_RETRAIN_INTERVAL=604800000
98+
99+
# Behavioral Risk Thresholds (0-1 scale)
100+
BEHAVIORAL_BOT_SCORE_THRESHOLD=0.8
101+
BEHAVIORAL_THROTTLING_THRESHOLD=0.6
102+
BEHAVIORAL_WATCH_LIST_THRESHOLD=0.9
103+
BEHAVIORAL_ANOMALY_THRESHOLD=0.75
104+
105+
# Behavioral Privacy Settings
106+
BEHAVIORAL_DATA_RETENTION_DAYS=30
107+
BEHAVIORAL_HASH_PERSONAL_DATA=true
108+
BEHAVIORAL_EXCLUDE_PII=true
109+
BEHAVIORAL_GDPR_COMPLIANT=true
110+
47111
# Database Configuration (for production)
48112
# DATABASE_URL=postgresql://username:password@localhost:5432/substream
49113

@@ -94,6 +158,40 @@ RABBITMQ_NOTIFICATION_QUEUE=substream_notifications_queue
94158
RABBITMQ_EMAIL_QUEUE=substream_emails_queue
95159
RABBITMQ_LEADERBOARD_QUEUE=substream_leaderboard_queue
96160

161+
# Social Token Gating Configuration
162+
SOCIAL_TOKEN_ENABLED=true
163+
SOCIAL_TOKEN_CACHE_TTL=300
164+
SOCIAL_TOKEN_REVERIFICATION_INTERVAL=60000
165+
SOCIAL_TOKEN_CACHE_PREFIX=social_token:
166+
STELLAR_MAX_RETRIES=3
167+
STELLAR_RETRY_DELAY=1000
168+
169+
# Creator Collaboration Revenue Attribution Configuration
170+
COLLABORATION_ENABLED=true
171+
COLLABORATION_DEFAULT_SPLIT_RATIO=0.5
172+
COLLABORATION_MIN_WATCH_TIME_SECONDS=30
173+
COLLABORATION_CACHE_TTL=3600
174+
COLLABORATION_CACHE_PREFIX=collaboration:
175+
97176
# Global Stats Caching Configuration
98177
GLOBAL_STATS_REFRESH_INTERVAL=60000
99178
GLOBAL_STATS_INITIAL_DELAY=5000
179+
180+
# Predictive Churn Analysis Configuration
181+
CHURN_ANALYSIS_INTERVAL=3600000
182+
183+
# Global Engagement Leaderboard Configuration
184+
LEADERBOARD_ENABLED=true
185+
LEADERBOARD_CACHE_TTL=21600
186+
LEADERBOARD_WORKER_INTERVAL=21600000
187+
LEADERBOARD_BATCH_SIZE=10
188+
LEADERBOARD_SEASON_LENGTH=monthly
189+
LEADERBOARD_CACHE_PREFIX=leaderboard:
190+
191+
# Social Token Gating Configuration
192+
SOCIAL_TOKEN_ENABLED=true
193+
SOCIAL_TOKEN_CACHE_TTL=300
194+
SOCIAL_TOKEN_REVERIFICATION_INTERVAL=60000
195+
SOCIAL_TOKEN_CACHE_PREFIX=social_token:
196+
STELLAR_MAX_RETRIES=3
197+
STELLAR_RETRY_DELAY=1000

.github/dependabot.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "npm"
4+
directory: "/"
5+
schedule:
6+
interval: "daily"
7+
open-pull-requests-limit: 10
8+
groups:
9+
dependencies:
10+
patterns:
11+
- "*"
12+
- package-ecosystem: "github-actions"
13+
directory: "/"
14+
schedule:
15+
interval: "daily"

.github/workflows/test.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,16 @@ jobs:
1010
test:
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@v4
13+
- uses: actions/checkout@v6
1414
- name: Use Node.js
15-
uses: actions/setup-node@v4
15+
uses: actions/setup-node@v6
1616
with:
1717
node-version: '20.11.0'
1818
- name: Install FFmpeg
1919
run: |
2020
sudo apt-get update
2121
sudo apt-get install -y ffmpeg
2222
- run: npm ci
23+
- name: Security Audit
24+
run: npm audit --audit-level=high
2325
- run: npm test

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ node_modules
44
dist
55
.DS_Store
66
data
7+
logs/
8+
swagger_output.json
9+
swagger_output.yaml
10+
*.log

0 commit comments

Comments
 (0)