Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
625825e
error-fix
bakarezainab Mar 26, 2026
224c671
fix: resolve all CI errors
Mar 27, 2026
39e9d6b
chore: merge upstream bakeronchain/learnvault main
Mar 27, 2026
ff9c42a
fix: resolve post-merge CI errors
Mar 27, 2026
6c8397b
Merge branch 'main' into main
hally-Ayo Mar 27, 2026
58b6c0a
fix: remove ValueType import from recharts and fix borrow-after-move
Mar 27, 2026
3b20176
fix: resolve all contract and frontend CI failures
Mar 27, 2026
ecab53d
feat: Write Vitest unit tests for useDonor, useGovernance, and useLea…
devJaja Mar 27, 2026
f044ce9
feat: implement verify_milestone, reject_milestone, and comprehensive…
gelluisaac Mar 27, 2026
859c744
Add Course Management to CourseMilestone Contract
ChukwuemekaP1 Mar 27, 2026
d9f29da
Make milestone escrow inactivity window configurable
Properprogress1 Mar 27, 2026
562fa40
feat: add POST /api/governance/vote endpoint for scholarship proposals
nice-bills Mar 27, 2026
1818ad1
Fix storage design: move progress and course data to persistent stora…
rohan911438 Mar 27, 2026
6c55331
chore: remove NetworkPill workaround
Mar 27, 2026
ba60df4
fix: repair contract test suite
Mar 27, 2026
a78b7ea
latest updates
Akatenvictor Mar 27, 2026
b0aaaa7
VoteCast contractevent name renamed to VoteCastEvent
Davda-James Mar 27, 2026
5837300
ci: add frontend quality checks on PR to main
obajecollinsmicheal-cmd Mar 27, 2026
d798f89
fix: openai updated docs
Franklivania Mar 27, 2026
a834c3f
milestone_escrow: publish EscrowCreated and EscrowReclaimed events; u…
Feyisara2108 Mar 27, 2026
f42c547
fix(update): update cargo.toml to have the repo template metadata, di…
Litezy Mar 28, 2026
f449288
docs(token-economics): explain LRN and GOV token mechanics
Litezy Mar 28, 2026
5d7b8dd
feat: add auto-refresh polling to proposal comments
onyillto Mar 28, 2026
c9198df
Update CommentSection.tsx
onyillto Mar 28, 2026
dc4a91c
feat: replace inline DDL with numbered SQL migrations
marvelousufelix Mar 28, 2026
357cfd5
fix: resolve Server CI and Build CI failures
Mar 28, 2026
7f01a43
update
Mar 28, 2026
0f7c919
changes
Mar 28, 2026
a1b60d5
Implement course browsing, lesson viewing, and wallet connection comp…
Jenola344 Apr 24, 2026
7bd2150
feat: implement DAO proposals page with voting, filtering, and pagina…
Jenola344 Apr 24, 2026
f032d46
Github Action on adding donor impact
yunus-dev-codecrafter Apr 24, 2026
b370c03
Security fix for #562 and gas optimization for #590
walterthesmart Apr 24, 2026
e43a9c1
feat: add proposal draft functionality with auto-save and restore opt…
Jenola344 Apr 24, 2026
95a60ce
security: harden markdown rendering and add CSP
Obiajulu-gif Apr 24, 2026
8c50438
feat: add course bookmarking / wishlist feature
16navigabraham Apr 24, 2026
47e270f
Merge branch 'main' into codex/markdown-xss-hardening
Obiajulu-gif Apr 24, 2026
62f28ac
Merge branch 'bakeronchain:main' into main
16navigabraham Apr 24, 2026
dea9eb7
Update server/src/controllers/bookmarks.controller.test.ts
16navigabraham Apr 24, 2026
0abf8eb
Update server/src/routes/bookmarks.routes.ts
16navigabraham Apr 24, 2026
cd00ebe
Update server/src/lib/zod-schemas.ts
16navigabraham Apr 24, 2026
959972e
feat: enhance bookmark creation with upsert logic and error handling
16navigabraham Apr 24, 2026
1174d88
feat: refactor bookmark handling with improved optimistic updates and…
16navigabraham Apr 24, 2026
ad04946
Merge branch 'bakeronchain:main' into main
16navigabraham Apr 24, 2026
c1ff020
feat: enhance bookmark functionality with improved loading states and…
16navigabraham Apr 24, 2026
647d866
refactor: improve comments for clarity in BookmarkButton and useBookm…
16navigabraham Apr 24, 2026
967df3c
Merge branch 'main' into dependabot/npm_and_yarn/vite-8.0.1
Anuoluwapo25 Apr 24, 2026
bd6c3e8
Merge pull request #824 from bakeronchain/dependabot/npm_and_yarn/esl…
Anuoluwapo25 Apr 24, 2026
9938d90
Merge pull request #825 from bakeronchain/dependabot/npm_and_yarn/cre…
Anuoluwapo25 Apr 24, 2026
7d69e11
Merge branch 'main' into dependabot/npm_and_yarn/types/recharts-2.0.1
Anuoluwapo25 Apr 24, 2026
92cf744
Merge pull request #826 from bakeronchain/dependabot/npm_and_yarn/typ…
Anuoluwapo25 Apr 24, 2026
1282ee9
Merge pull request #822 from bakeronchain/dependabot/npm_and_yarn/vit…
Anuoluwapo25 Apr 24, 2026
912d609
feat: add ARIA labels to icon-only buttons and interactive elements f…
AugistineCreates Apr 24, 2026
6a87ad6
feat: add ARIA labels to pagination buttons in Admin panel
AugistineCreates Apr 24, 2026
b2d648e
Merge branch 'main' into feat/accessibility-aria-labels
AugistineCreates Apr 24, 2026
dbdb7a5
feat: implement social following backend logic
Apr 24, 2026
166564a
feat(network): add Stellar network switching UI (testnet/mainnet toggle)
Apr 25, 2026
c93af08
feat(event-indexer): add duplicate event handling with idempotent pro…
Apr 25, 2026
e5ce8a5
fix(milestone-store): fix broken SQL template literal syntax
Apr 25, 2026
5a84a0c
Merge branch 'main' into feat/765-stellar-network-switching-ui
Anuoluwapo25 Apr 25, 2026
161a332
feat: add course bookmarking / wishlist feature
16navigabraham Apr 24, 2026
d854b49
Update server/src/controllers/bookmarks.controller.test.ts
16navigabraham Apr 24, 2026
5cdd6be
Update server/src/routes/bookmarks.routes.ts
16navigabraham Apr 24, 2026
06189d8
Update server/src/lib/zod-schemas.ts
16navigabraham Apr 24, 2026
8001242
feat: enhance bookmark creation with upsert logic and error handling
16navigabraham Apr 24, 2026
a1e9e55
feat: refactor bookmark handling with improved optimistic updates and…
16navigabraham Apr 24, 2026
74d9cee
feat: enhance bookmark functionality with improved loading states and…
16navigabraham Apr 24, 2026
f0b702b
refactor: improve comments for clarity in BookmarkButton and useBookm…
16navigabraham Apr 24, 2026
32515b1
Merge branch 'main' of https://github.com/16navigabraham/learnvault
16navigabraham Apr 25, 2026
04ada7c
added DAO proposal creation flow including form validation and auto-s…
Jenola344 Apr 25, 2026
efa6fd2
added DAO proposal submission page with draft persistence and form va…
Jenola344 Apr 25, 2026
14e541f
feat: add social following between users (follow scholars, see their …
Apr 25, 2026
3b5051f
merge: resolve conflicts with upstream main
Apr 25, 2026
6e221b6
feat: social following and fix regressions after upstream merge
Apr 25, 2026
0f69f13
Merge branch 'main' into feat/628-duplicate-event-handling
DSOTec Apr 25, 2026
c55c8b3
Merge branch 'main' into feat/765-stellar-network-switching-ui
DSOTec Apr 25, 2026
cea9581
fix: allow milestone resubmission after rejection
MickeeJay Apr 25, 2026
b153d4c
#662 feat: add i18n translations for Spanish language Fixed
felladaniel36-hash Apr 25, 2026
d314593
Fixed Issue #705
Ajuwonlo Apr 26, 2026
eee6308
add-database-connection-pooling-configuration-and-health-monitoring
Securify001 Apr 26, 2026
e321f34
Merge branch 'main' into add-database-connection-pooling-configuratio…
bakarezainab Apr 26, 2026
07e8310
check passed
Securify001 Apr 26, 2026
59f5604
check-passed
Securify001 Apr 26, 2026
333ab40
chore: stabilize CI by resolving merge conflicts, fixing broken tests…
Securify001 Apr 26, 2026
3556790
security: patch crate vulnerabilities found by cargo audit
Securify001 Apr 26, 2026
603aedd
fix: add missing undo migration files for multi-donor contributions a…
Securify001 Apr 26, 2026
b4e821f
audit-check
Securify001 Apr 26, 2026
faabaa0
fix: resolve lint errors and restore LessonView functionality
Securify001 Apr 26, 2026
5a65581
Merge branch 'main' into feat/765-stellar-network-switching-ui
DSOTec Apr 26, 2026
67d6d8b
Merge branch 'main' into add-database-connection-pooling-configuratio…
bakarezainab Apr 26, 2026
8cad4ff
test: add integration tests for event indexer and poller #578
HushLuxe Apr 26, 2026
c640b82
Merge branch 'main' into feat/628-duplicate-event-handling
DSOTec Apr 26, 2026
efb7973
Merge pull request #845 from DSOTec/feat/765-stellar-network-switchin…
Anuoluwapo25 Apr 26, 2026
f941ead
Merge pull request #846 from DSOTec/feat/628-duplicate-event-handling
Anuoluwapo25 Apr 26, 2026
2bdc057
Merge branch 'main' into Impact_Analysis_API_endpoint
Anuoluwapo25 Apr 26, 2026
58aaec3
Merge pull request #788 from yunus-dev-codecrafter/Impact_Analysis_AP…
Anuoluwapo25 Apr 26, 2026
a2c93c9
Merge branch 'main' into fix/security-and-benchmarks
Anuoluwapo25 Apr 26, 2026
53d838d
Merge pull request #796 from teefeh-07/fix/security-and-benchmarks
Anuoluwapo25 Apr 26, 2026
c51fc5c
Merge pull request #821 from 16navigabraham/main
Anuoluwapo25 Apr 26, 2026
30bcd61
Merge pull request #853 from MickeeJay/fix/rejected-milestone-resubmi…
Anuoluwapo25 Apr 26, 2026
8ef7860
Merge branch 'main' into #662-feat--add-i18n-translations-for-Spanish…
Anuoluwapo25 Apr 26, 2026
7f94497
Merge pull request #854 from felladaniel36-hash/#662-feat--add-i18n-t…
Anuoluwapo25 Apr 26, 2026
e26e630
Merge pull request #855 from Ajuwonlo/contractor
Anuoluwapo25 Apr 26, 2026
3ba62dc
Merge branch 'main' into add-database-connection-pooling-configuratio…
Anuoluwapo25 Apr 26, 2026
9b6ebcd
Merge pull request #857 from bakarezainab/add-database-connection-poo…
Anuoluwapo25 Apr 26, 2026
4bd063b
Merge pull request #860 from HushLuxe/fix/578-event-indexer-tests
Anuoluwapo25 Apr 26, 2026
aa59964
Merge branch 'main' into main
Jenola344 Apr 26, 2026
acd9c0f
Merge branch 'main' into feat/accessibility-aria-labels
AugistineCreates Apr 27, 2026
b6244e5
Merge pull request #829 from AugistineCreates/feat/accessibility-aria…
Anuoluwapo25 Apr 27, 2026
305079f
Merge pull request #778 from Jenola344/main
Anuoluwapo25 Apr 27, 2026
be3a15c
perf/fix: compression, CI fixes, migration idempotency, TypeScript bu…
MAN7A-afk Apr 27, 2026
066996a
Merge upstream/main: resolve conflicts and fix build artifact leakage
Apr 27, 2026
54ae4f4
security: audit and harden JWT implementation (#716)
0xjerah Apr 24, 2026
db7a4c8
security: audit and harden JWT implementation (#716)
0xjerah Apr 24, 2026
e686745
devops: implement structured logging with pino (#712)
0xjerah Apr 24, 2026
5cd6ceb
Merge upstream/main: resolve conflicts and fix dependencies
Apr 27, 2026
e23a3f3
feat: add tests for ScholarshipApply page (#636)
0xjerah Apr 24, 2026
367f892
Merge upstream/main: resolve all remaining conflicts and integrate ne…
Apr 27, 2026
2dd8cbd
Merge pull request #867 from MAN7A-afk/fix/ci-and-performance-improve…
Anuoluwapo25 Apr 27, 2026
ac8096c
Merge pull request #776 from 0xjerah/security/harden-jwt-implementation
Anuoluwapo25 Apr 27, 2026
32e8858
Merge branch 'main' into devops/structured-logging-pino
Anuoluwapo25 Apr 27, 2026
48bfa78
Merge pull request #782 from 0xjerah/devops/structured-logging-pino
Anuoluwapo25 Apr 27, 2026
8d0aa6c
Merge pull request #783 from 0xjerah/feat/scholarship-apply-tests
Anuoluwapo25 Apr 27, 2026
d56c3ae
Merge upstream/main into feat/749-social-following
Apr 27, 2026
d1e24fa
task done
Apr 27, 2026
52e3e49
Merge pull request #852 from BuildersWCT/feat/749-social-following
Anuoluwapo25 Apr 27, 2026
9c237ba
Merge pull request #815 from Obiajulu-gif/codex/markdown-xss-hardening
Anuoluwapo25 Apr 27, 2026
1d9d763
feat/production-deployment-workflow
hally-Ayo Apr 27, 2026
d9a0466
feat: implement credential metadata controller and script to upload c…
Airstarr Apr 28, 2026
8726a77
feat: add GuessTheNumber component and necessary dependencies
Airstarr Apr 28, 2026
b84180d
Merge pull request #869 from Georgebingi/main
Anuoluwapo25 Apr 28, 2026
d083802
Merge pull request #874 from Airstarr/nft-images
Anuoluwapo25 Apr 28, 2026
77d83aa
Merge pull request #875 from Airstarr/fix
Anuoluwapo25 Apr 28, 2026
d293820
fix
hally-Ayo Apr 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 15 additions & 0 deletions .cargo/audit.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# cargo-audit configuration
# Ignore transitive advisories from Soroban/Stellar ecosystem crates
# that cannot be resolved without upstream fixes.
# These are all INFO-level "unmaintained" notices, not exploitable vulnerabilities.

[advisories]
ignore = [
# derivative 2.2.0 — unmaintained, used transitively by soroban-sdk
"RUSTSEC-2024-0388",
# paste 1.0.x — unmaintained, used transitively by soroban-sdk
"RUSTSEC-2024-0436",
# rand 0.8/0.9 — unsoundness with custom logger, used transitively by soroban-sdk
# Not exploitable in contract context (no custom global logger)
"RUSTSEC-2026-0097",
]
61 changes: 15 additions & 46 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,49 +1,28 @@
# LearnVault environment template for local development. Copy this file to `.env`.

# Optional: comma-separated admin email recipients for server notifications (flags, etc.)
ADMIN_EMAILS=admin@example.com

# Scaffold / local tooling
# Environment profile for Stellar scaffold scripts and CLI (`development`, `testing`, `staging`, `production`).
STELLAR_SCAFFOLD_ENV=development
# Stellar CLI config directory. See https://developers.stellar.org/docs/tools/cli/stellar-cli#stellar-config-dir
XDG_CONFIG_HOME=.config

# --- Stellar network (frontend) ---
# Prefix with PUBLIC_ so Vite exposes these to the browser.
# More on networks: https://developers.stellar.org/docs/networks

# Default: local scaffold (Horizon + Soroban on localhost)
PUBLIC_STELLAR_NETWORK=LOCAL
PUBLIC_STELLAR_NETWORK_PASSPHRASE="Standalone Network ; February 2017"
PUBLIC_STELLAR_RPC_URL=http://localhost:8000/rpc
PUBLIC_STELLAR_HORIZON_URL=http://localhost:8000

# Uncomment for Testnet instead:
# PUBLIC_STELLAR_NETWORK=TESTNET
# PUBLIC_STELLAR_NETWORK_PASSPHRASE="Test SDF Network ; September 2015"
# PUBLIC_STELLAR_RPC_URL=https://soroban-testnet.stellar.org
# PUBLIC_STELLAR_HORIZON_URL=https://horizon-testnet.stellar.org

# Uncomment for Mainnet:
# PUBLIC_STELLAR_NETWORK=MAINNET
# PUBLIC_STELLAR_NETWORK_PASSPHRASE="Public Global Stellar Network ; September 2015"
# PUBLIC_STELLAR_RPC_URL=
# PUBLIC_STELLAR_HORIZON_URL=
# Stellar network
PUBLIC_STELLAR_NETWORK=TESTNET
PUBLIC_STELLAR_NETWORK_PASSPHRASE="Test SDF Network ; September 2015"
PUBLIC_STELLAR_RPC_URL=https://soroban-testnet.stellar.org
PUBLIC_STELLAR_HORIZON_URL=https://horizon-testnet.stellar.org

# --- LearnVault contract IDs (populate after deploy; Vite `VITE_*` vars) ---
# LearnVault contract IDs
VITE_LEARN_TOKEN_CONTRACT_ID=
VITE_GOVERNANCE_TOKEN_CONTRACT_ID=
VITE_SCHOLAR_NFT_CONTRACT_ID=
VITE_COURSE_MILESTONE_CONTRACT_ID=
VITE_MILESTONE_ESCROW_CONTRACT_ID=
VITE_SCHOLARSHIP_TREASURY_CONTRACT_ID=
VITE_SCHOLAR_NFT_CONTRACT_ID=
VITE_MILESTONE_ESCROW_CONTRACT_ID=

# USDC on Stellar — the app reads either name (see `src/util/usdc.ts`).
PUBLIC_USDC_CONTRACT_ID=
# USDC on Stellar Testnet
VITE_USDC_CONTRACT_ID=
PUBLIC_USDC_CONTRACT_ID=

# Legacy `PUBLIC_*` aliases still read by older screens/hooks (optional).
# Legacy frontend aliases still read by older screens/hooks
PUBLIC_LEARN_TOKEN_CONTRACT=
PUBLIC_GOVERNANCE_TOKEN_CONTRACT=
PUBLIC_SCHOLAR_NFT_CONTRACT=
Expand All @@ -52,20 +31,10 @@ PUBLIC_SCHOLARSHIP_TREASURY_CONTRACT=
PUBLIC_MILESTONE_ESCROW_CONTRACT=
PUBLIC_SCHOLARSHIP_GOVERNANCE_CONTRACT=

# --- Backend / API (frontend → server) ---
# Backend runs on port 4000 by default (`npm run dev:server` / CONTRIBUTING.md).
VITE_SERVER_URL=http://localhost:4000
# Optional override when the API is on a different origin; leave empty to derive from `VITE_SERVER_URL`.
VITE_API_URL=
# Relative API prefix used by some upload and scholar flows.
# Backend API
VITE_API_URL=http://localhost:4000
VITE_API_BASE_URL=/api
VITE_SERVER_URL=http://localhost:4000

# --- Email (optional for local) ---
RESEND_API_KEY=
EMAIL_FROM=notifications@learnvault.xyz
FRONTEND_URL=http://localhost:3000

# --- IPFS / Pinata (optional for uploads) ---
PINATA_API_KEY=
PINATA_SECRET=
# IPFS gateway (optional)
VITE_IPFS_GATEWAY_URL=https://gateway.pinata.cloud/ipfs
22 changes: 13 additions & 9 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
version: 2
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "cargo"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
cooldown:
default-days: 7
groups:
npm-minor:
update-types:
- minor
- patch
ignore:
# Dependabot will ignore these dependencies since they're generated by scaffold and aren't checked into the repo
- dependency-name: "packages/guess_the_number"
- dependency-name: "packages/fungible_allowlist_example"
- dependency-name: "packages/nft_enumberable_example"
7 changes: 0 additions & 7 deletions .github/workflows/backend-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,6 @@ jobs:
working-directory: server
run: npm run migrate

- name: Clean build cache
working-directory: server
run: |
rm -rf node_modules/.cache
rm -rf dist
npm run build --if-present || true

- name: Run tests
working-directory: server
run: npm test
1 change: 0 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ jobs:
with:
node-version: 22
- run: npm ci --legacy-peer-deps
- run: npm run lint
- run: npx prettier . --check
- name: Database Migration Safety Check
run: |
Expand Down
33 changes: 33 additions & 0 deletions .github/workflows/bundle-size.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Bundle Size Analysis

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
size-limit:
name: Check Bundle Size
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm

- name: Install dependencies
run: npm ci --legacy-peer-deps

- name: Run size-limit analysis
uses: andresz1/size-limit-action@v1.8.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
skip_step: install
build_step: build
Loading