Skip to content

Commit efd65f4

Browse files
authored
Merge branch 'main' into feature/vault-state-reconciliation
2 parents 4f95a5d + 027d351 commit efd65f4

541 files changed

Lines changed: 76126 additions & 10757 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: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,22 @@ JWT_REFRESH_EXPIRES_IN=7d
5252
# MUST be changed from the default in production.
5353
DOWNLOAD_SECRET=change-me-in-production
5454

55-
# ── Horizon / Stellar ─────────────────────────────────────────────────────────
55+
# ── Soroban ──────────────────────────────────────────────────────────────────────
5656

57+
# Soroban contract ID (56-char base32 starting with C). Required for submit mode.
58+
SOROBAN_CONTRACT_ID=CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
59+
60+
# Soroban network passphrase (e.g., Test SDF Network ; September 2015)
61+
SOROBAN_NETWORK_PASSPHRASE=Test SDF Network ; September 2015
62+
63+
# Soroban source account (public key starting with G)
64+
SOROBAN_SOURCE_ACCOUNT=GXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
65+
66+
# Soroban RPC URL (https endpoint)
67+
SOROBAN_RPC_URL=https://example.com/soroban-rpc
68+
69+
# Soroban secret key (private key starting with S) – keep this secret!
70+
SOROBAN_SECRET_KEY=SXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5771
# Stellar Horizon API endpoint (required when the Horizon listener is active).
5872
# Must be a valid http:// or https:// URL.
5973
HORIZON_URL=https://horizon-testnet.stellar.org
@@ -70,6 +84,21 @@ RETRY_MAX_ATTEMPTS=3
7084
# Initial retry back-off delay in milliseconds (default: 100).
7185
RETRY_BACKOFF_MS=100
7286

87+
# ── Soroban submit mode ──────────────────────────────────────────────────────
88+
89+
# Required together to enable on-chain submit mode for vault creation.
90+
SOROBAN_CONTRACT_ID=CDISCIPLRSOROBANCONTRACT1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
91+
SOROBAN_NETWORK_PASSPHRASE=Test SDF Network ; September 2015
92+
SOROBAN_SOURCE_ACCOUNT=GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
93+
SOROBAN_RPC_URL=https://soroban-testnet.stellar.org
94+
SOROBAN_SECRET_KEY=SBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
95+
96+
# Polling and timeout controls for submit mode.
97+
SOROBAN_SUBMIT_POLL_INTERVAL_MS=1000
98+
SOROBAN_SUBMIT_POLL_MAX_ATTEMPTS=30
99+
SOROBAN_RPC_TIMEOUT_MS=30000
100+
SOROBAN_SUBMIT_RETRY_MAX_BACKOFF_MS=5000
101+
73102
# JWT Configuration
74103
# Access token secret — used to sign/verify short-lived access tokens.
75104
# Must be at least 32 characters in production.
@@ -80,3 +109,26 @@ JWT_REFRESH_SECRET=your-refresh-secret-min-32-chars-long
80109
# Token lifetimes (defaults: 15m access, 7d refresh)
81110
JWT_ACCESS_EXPIRES_IN=15m
82111
JWT_REFRESH_EXPIRES_IN=7d
112+
ORG_RATE_LIMIT_MAX=200
113+
ORG_RATE_LIMIT_WINDOW_MS=60000
114+
115+
# ── Webhooks ──────────────────────────────────────────────────────────────────
116+
117+
# Comma-separated hostnames allowed for outbound webhook delivery.
118+
# If empty, all public hosts are allowed (RFC-1918, loopback, link-local blocked).
119+
WEBHOOK_ALLOWED_HOSTS=hooks.example.com
120+
121+
# Secret for verifying inbound webhook signatures.
122+
WEBHOOK_INBOUND_SECRET=your-inbound-webhook-secret
123+
124+
# Allowed timestamp skew for inbound webhook verification (ms, default: 300000).
125+
WEBHOOK_INBOUND_SKEW_MS=300000
126+
127+
# Circuit breaker: consecutive failures before tripping (default: 5).
128+
WEBHOOK_CIRCUIT_BREAKER_THRESHOLD=5
129+
130+
# Circuit breaker: sliding window in ms for failure counting (default: 60000).
131+
WEBHOOK_CIRCUIT_BREAKER_WINDOW_MS=60000
132+
133+
# Circuit breaker: time before an OPEN breaker transitions to HALF_OPEN (default: 30000).
134+
WEBHOOK_CIRCUIT_BREAKER_HALF_OPEN_TIMEOUT_MS=30000

.github/workflows/codeql.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: "CodeQL and Dependency Review"
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
schedule:
9+
- cron: "0 0 * * 0"
10+
11+
jobs:
12+
dependency-review:
13+
runs-on: ubuntu-latest
14+
permissions:
15+
contents: read
16+
pull-requests: write
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
- name: Dependency Review
21+
uses: actions/dependency-review-action@v4
22+
with:
23+
fail-on-severity: high
24+
fail-on-scopes: runtime
25+
26+
analyze:
27+
name: Analyze
28+
runs-on: ubuntu-latest
29+
permissions:
30+
security-events: write
31+
packages: read
32+
actions: read
33+
contents: read
34+
35+
strategy:
36+
fail-fast: false
37+
matrix:
38+
language: ["typescript"]
39+
40+
steps:
41+
- name: Checkout
42+
uses: actions/checkout@v4
43+
44+
- name: Initialize CodeQL
45+
uses: github/codeql-action/init@v3
46+
with:
47+
languages: ${{ matrix.language }}
48+
49+
- name: Autobuild
50+
uses: github/codeql-action/autobuild@v3
51+
52+
- name: Perform CodeQL Analysis
53+
uses: github/codeql-action/analyze@v3

0 commit comments

Comments
 (0)