Skip to content

Commit c99f125

Browse files
authored
Merge branch 'main' into wire-up-leaderboard
2 parents 360821b + a4f0477 commit c99f125

286 files changed

Lines changed: 38146 additions & 4633 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: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,22 @@ PUBLIC_STELLAR_HORIZON_URL="http://localhost:8000"
2626
# PUBLIC_STELLAR_NETWORK_PASSPHRASE="Public Global Stellar Network ; September 2015"
2727
# PUBLIC_STELLAR_RPC_URL=
2828
# PUBLIC_STELLAR_HORIZON_URL=
29+
30+
# V1 Contract IDs (deployed to Testnet)
31+
# These will be populated after running ./scripts/deploy-testnet.sh
32+
33+
# Core Platform Contracts
34+
PUBLIC_LEARN_TOKEN_CONTRACT=""
35+
PUBLIC_GOVERNANCE_TOKEN_CONTRACT=""
36+
37+
# Scholarship System Contracts
38+
PUBLIC_COURSE_MILESTONE_CONTRACT=""
39+
PUBLIC_MILESTONE_ESCROW_CONTRACT=""
40+
PUBLIC_SCHOLARSHIP_TREASURY_CONTRACT=""
41+
PUBLIC_SCHOLAR_NFT_CONTRACT=""
42+
43+
# Token Contract
44+
PUBLIC_USDC_CONTRACT_ID="" # USDC token contract address (testnet or mainnet)
45+
46+
# Optional: Friendbot-funded deployer address for testing
47+
# PUBLIC_DEPLOYER_ADDRESS=""

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ body:
3838
id: environment
3939
attributes:
4040
label: Environment
41-
description: Include OS, browser, Node.js version, and wallet details if relevant.
41+
description:
42+
Include OS, browser, Node.js version, and wallet details if relevant.
4243
placeholder: macOS 14.4, Chrome 123, Node 22.2.0, Freighter
4344
validations:
4445
required: true

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ body:
2424
id: alternatives
2525
attributes:
2626
label: Alternatives considered
27-
description: What alternatives did you evaluate and why were they insufficient?
27+
description:
28+
What alternatives did you evaluate and why were they insufficient?
2829
validations:
2930
required: false

.github/workflows/build.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ jobs:
4242
else
4343
echo "stellar-scaffold already installed. Clear cache to force reinstall."
4444
fi
45+
- uses: actions/setup-node@v4
46+
with:
47+
node-version: 22
4548
- run: npm ci
4649
- run: npm run lint
4750
- run: npx prettier . --check

.github/workflows/e2e.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: E2E (Playwright)
2+
3+
on:
4+
pull_request:
5+
6+
jobs:
7+
e2e:
8+
runs-on: ubuntu-latest
9+
timeout-minutes: 10
10+
steps:
11+
- uses: actions/checkout@v4
12+
13+
- uses: actions/setup-node@v4
14+
with:
15+
node-version: 20
16+
cache: npm
17+
18+
- name: Install dependencies
19+
run: npm ci
20+
21+
- name: Install Playwright browsers
22+
run: npx playwright install --with-deps chromium
23+
24+
- name: Run E2E tests
25+
run: npm run test:e2e
26+
27+
- name: Upload test artifacts (on failure)
28+
if: failure()
29+
uses: actions/upload-artifact@v4
30+
with:
31+
name: playwright-artifacts
32+
path: |
33+
test-results/
34+
playwright-report/

.github/workflows/frontend-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- name: Setup Node.js
2424
uses: actions/setup-node@v4
2525
with:
26-
node-version: lts/*
26+
node-version: 22
2727
cache: npm
2828

2929
- name: Install dependencies
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# .github/workflows/preview-comment.yml
2+
name: Preview deployment comment
3+
4+
on:
5+
pull_request:
6+
types: [opened, synchronize, reopened]
7+
8+
jobs:
9+
comment-preview-url:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
pull-requests: write
13+
steps:
14+
- name: Wait for Vercel preview
15+
uses: patrickedqvist/wait-for-vercel-preview@v1.3.1
16+
id: vercel_preview
17+
continue-on-error: true
18+
with:
19+
token: ${{ secrets.GITHUB_TOKEN }}
20+
environment: Preview
21+
max_timeout: 120
22+
23+
- name: Post preview URL comment
24+
if: ${{ steps.vercel_preview.outputs.url != '' }}
25+
uses: actions/github-script@v7
26+
with:
27+
script: |
28+
github.rest.issues.createComment({
29+
issue_number: context.issue.number,
30+
owner: context.repo.owner,
31+
repo: context.repo.repo,
32+
body: `🚀 **Preview deployed!**\n\n${process.env.PREVIEW_URL}\n\n> Built against Stellar Testnet`
33+
})
34+
env:
35+
PREVIEW_URL: ${{ steps.vercel_preview.outputs.url }}
36+
37+
- name: Skip missing preview
38+
if: ${{ steps.vercel_preview.outputs.url == '' }}
39+
run: echo "No Vercel preview deployment found for this pull request."

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@ test_snapshots
1212
dist
1313
dist-ssr
1414

15+
# Playwright E2E output
16+
test-results/
17+
playwright-report/
18+
19+
# TypeScript incremental build info
20+
*.tsbuildinfo
21+
1522
# dependencies
1623
node_modules/
1724

@@ -43,3 +50,6 @@ packages/*
4350
# generated contract client imports
4451
src/contracts/*
4552
!src/contracts/util.ts
53+
54+
# test coverage
55+
coverage/

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
package-lock.json
22
Cargo.lock
3+
.github/

CODE_OF_CONDUCT.md

Whitespace-only changes.

0 commit comments

Comments
 (0)