Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
739 commits
Select commit Hold shift + click to select a range
0df2299
feat: add AdminDashboard page with milestone review and quick-action …
JohnOluB Mar 27, 2026
97fd44a
fix: adjust link errors
JohnOluB Mar 27, 2026
e44dd96
added backend-test
muhahahmad68 Mar 27, 2026
f6a784e
feat: Add GET /api/scholars/:address/credentials endpoint
teeschima Mar 27, 2026
6587afb
Merge pull request #441 from LawalRahman/create-profile-image
Anuoluwapo25 Mar 27, 2026
8028290
Add contract events to scholar_nft for mint, transfer-attempt, and in…
samjay8 Mar 27, 2026
24226bf
Merge pull request #386 from D240021/main
Anuoluwapo25 Mar 27, 2026
51cb3c9
Merge pull request #442 from therealjhay/fix/issue-#240
Anuoluwapo25 Mar 27, 2026
cca31bb
Merge pull request #439 from samuella-code/fix/issue-299-circuit-breaker
Anuoluwapo25 Mar 27, 2026
8eb868a
Merge pull request #444 from JohnOluB/fix/proposals-table-pin-auth
Anuoluwapo25 Mar 27, 2026
cc9e0ec
Merge pull request #445 from JohnOluB/feat/admin-dashboard-329
Anuoluwapo25 Mar 27, 2026
916f545
Merge pull request #440 from abimbolaalabi/home
Anuoluwapo25 Mar 27, 2026
5a02ae8
Merge pull request #446 from muhahahmad68/feat/backend-test
Anuoluwapo25 Mar 27, 2026
e122b9c
Merge branch 'main' into feat/238-request-logger
Anuoluwapo25 Mar 27, 2026
8917427
Merge pull request #447 from teeschima/credentials_for_a_wallet
Anuoluwapo25 Mar 27, 2026
a4ca52b
Merge branch 'main' into contract-events-to-scholar_nft
Anuoluwapo25 Mar 27, 2026
b8a7cef
Merge pull request #448 from samjay8/contract-events-to-scholar_nft
Anuoluwapo25 Mar 27, 2026
d19d4a5
feat: Write Vitest unit tests for useDonor, useGovernance, and useLea…
devJaja Mar 27, 2026
a95948b
Add Course Management to CourseMilestone Contract
ChukwuemekaP1 Mar 27, 2026
a848280
Merge branch 'main' into feat/Vitest-unit-tests-for-useDonor-useGover…
devJaja Mar 27, 2026
aa429f2
Merge pull request #450 from devJaja/feat/Vitest-unit-tests-for-useDo…
Anuoluwapo25 Mar 27, 2026
09c22c3
Merge remote changes and resolve test.rs conflict
ChukwuemekaP1 Mar 27, 2026
d7402d2
feat(treasury): hookify treasury page with /api/treasury/stats + /api…
Adeyemi-cmd Mar 27, 2026
bd58636
VoteCast contractevent name renamed to VoteCastEvent
Davda-James Mar 27, 2026
567ceee
chore: remove NetworkPill workaround
Mar 27, 2026
eecffc4
Merge pull request #451 from ChukwuemekaP1/main
Anuoluwapo25 Mar 27, 2026
a6ad52e
Fix storage design: move progress and course data to persistent stora…
rohan911438 Mar 27, 2026
a18085f
ci: add frontend quality checks on PR to main
obajecollinsmicheal-cmd Mar 27, 2026
c95919a
fix: repair contract test suite
Mar 27, 2026
5bc08d8
fix: openai updated docs
Franklivania Mar 27, 2026
e297322
feat: add POST /api/governance/vote endpoint for scholarship proposals
nice-bills Mar 27, 2026
ab60020
fix: merge conflict
Franklivania Mar 27, 2026
1a4634f
milestone_escrow: publish EscrowCreated and EscrowReclaimed events; u…
Feyisara2108 Mar 27, 2026
a041b48
Make milestone escrow inactivity window configurable
Properprogress1 Mar 27, 2026
c0be08f
latest updates
Akatenvictor Mar 27, 2026
25d660d
Merge pull request #461 from Akatenvictor/My-implementation
Anuoluwapo25 Mar 27, 2026
4aefbe0
Merge pull request #453 from Davda-James/fix/votecast-collision
Anuoluwapo25 Mar 27, 2026
69e7d56
Merge branch 'main' into chore-remove-networkpill-workaround
Anuoluwapo25 Mar 27, 2026
40e0364
Merge pull request #454 from Ryjen1/chore-remove-networkpill-workaround
Anuoluwapo25 Mar 27, 2026
c0bd2cd
Merge branch 'main' into fix-persistent-storage-progress
Anuoluwapo25 Mar 27, 2026
48aeb39
Merge pull request #455 from rohan911438/fix-persistent-storage-progress
Anuoluwapo25 Mar 27, 2026
a23d8d3
Merge pull request #456 from obajecollinsmicheal-cmd/feat/frontend-ci…
Anuoluwapo25 Mar 27, 2026
d336486
Merge pull request #457 from Franklivania/fix/openai-docs
Anuoluwapo25 Mar 27, 2026
24d40c0
Merge branch 'main' into feat/274-governance-vote-endpoint
Anuoluwapo25 Mar 27, 2026
d914e25
Merge pull request #458 from nice-bills/feat/274-governance-vote-endp…
Anuoluwapo25 Mar 27, 2026
69939ea
Merge pull request #459 from Feyisara2108/feat/escrow-created-reclaim…
Anuoluwapo25 Mar 27, 2026
1869324
Merge branch 'main' into main
Anuoluwapo25 Mar 27, 2026
ec5a151
Merge pull request #460 from Properprogress1/main
Anuoluwapo25 Mar 27, 2026
9ddbbd8
feat: implement verify_milestone, reject_milestone, and comprehensive…
gelluisaac Mar 27, 2026
e0dfc54
Merge branch 'main' into feat
gelluisaac Mar 27, 2026
b6d40a2
fix(update): update cargo.toml to have the repo template metadata, di…
Litezy Mar 28, 2026
bad5818
fix: resolve credential detail page 404 issue
Nanle-code Mar 28, 2026
0436516
feat: centralize contract addresses in src/constants/contracts.ts
Nanle-code Mar 28, 2026
5e7704c
docs(token-economics): explain LRN and GOV token mechanics
Litezy Mar 28, 2026
3eb8f47
fix: replace LRNBalanceWidget mock data with real LearnToken contract…
Nanle-code Mar 28, 2026
a4b845b
feat: Add contract interaction diagram to README
Nanle-code Mar 28, 2026
4d5d930
feat: replace inline DDL with numbered SQL migrations
marvelousufelix Mar 28, 2026
9d28813
feat: add auto-refresh polling to proposal comments
onyillto Mar 28, 2026
4a38688
Update CommentSection.tsx
onyillto Mar 28, 2026
b273f60
Merge pull request #462 from gelluisaac/feat
Anuoluwapo25 Mar 28, 2026
6e67c49
Merge pull request #463 from Litezy/fix/scaffold-template-metadata
Anuoluwapo25 Mar 28, 2026
1259938
Merge pull request #466 from Litezy/feat/token-economics
Anuoluwapo25 Mar 28, 2026
b639ae6
Merge branch 'main' into feat/db-migrations
Anuoluwapo25 Mar 28, 2026
098aedd
Merge pull request #470 from onyillto/auto/refresh
Anuoluwapo25 Mar 28, 2026
e0fd73f
Merge pull request #469 from marvelousufelix/feat/db-migrations
Anuoluwapo25 Mar 28, 2026
b64825a
fix: resolve post-merge CI errors
Mar 27, 2026
593b520
fix: remove ValueType import from recharts and fix borrow-after-move
Mar 27, 2026
fd984c9
fix: resolve all contract and frontend CI failures
Mar 27, 2026
68d6a9d
fix: resolve Server CI and Build CI failures
Mar 28, 2026
610b77c
fix: harden credential and comment APIs
ChaoLing140 Mar 28, 2026
3b1dd0c
Merge pull request #480 from ChaoLing140/fix/credentials-comments-har…
Anuoluwapo25 Mar 28, 2026
e05f706
fix: restrict comment pinning to proposal authors
iammrjude Mar 28, 2026
72302f6
added code owners
muhahahmad68 Mar 28, 2026
cd16a63
feat(scholar-nft): add transfer_admin function for admin key rotation
Litezy Mar 28, 2026
5297482
Merge pull request #481 from iammrjude/fix/426-comment-pin-authorization
Anuoluwapo25 Mar 28, 2026
783977a
Merge pull request #482 from muhahahmad68/feat/added-codeowners
Anuoluwapo25 Mar 28, 2026
aa0adba
Merge pull request #483 from Litezy/fix/scholar_nft
Anuoluwapo25 Mar 28, 2026
39e3468
fix: resolve contract test regressions
AbelOsaretin Mar 28, 2026
496a166
feat: replace inline DDL with numbered SQL migrations
marvelousufelix Mar 28, 2026
b7e610e
feat(governance-token): add expiration handling for allowances and up…
AbelOsaretin Mar 28, 2026
a56d8aa
fix(escrow): require auth from admin stored in escrow record
Mar 28, 2026
43eb325
fix: harden comments input handling and confirm learn token event pat…
AbelOsaretin Mar 28, 2026
6ca73f1
feat: fetch frontend courses from backend API
iammrjude Mar 28, 2026
c994dde
Merge pull request #484 from AbelOsaretin/fix/contract-tests-and-ci-r…
Anuoluwapo25 Mar 28, 2026
d82a02a
Merge pull request #486 from AbelOsaretin/fix/415-and-436-governance-…
Anuoluwapo25 Mar 28, 2026
0960d2b
Merge pull request #487 from marvelousufelix/feat/db-migrations
Anuoluwapo25 Mar 28, 2026
51533d6
Merge branch 'main' into fix/milestone-escrow-auth
Anuoluwapo25 Mar 28, 2026
dbad8a1
Merge pull request #488 from Rampop01/fix/milestone-escrow-auth
Anuoluwapo25 Mar 28, 2026
3bd2b53
Merge pull request #490 from iammrjude/feat/429-fetch-courses-from-api
Anuoluwapo25 Mar 28, 2026
ba91c3f
Merge pull request #489 from AbelOsaretin/fix/418-and-428-learn-token…
Anuoluwapo25 Mar 28, 2026
3ede8c9
fix: sync package-lock.json files with package.json
Anuoluwapo25 Mar 28, 2026
3be0456
Implemented compllte_milestones
Oluwatomilola Mar 28, 2026
6bb0f93
Merge branch 'main' into complete-milestones
Oluwatomilola Mar 28, 2026
421126e
transaction loading state
Jeyvers Mar 28, 2026
ef8c597
fix: wire Credential page to scholar_nft contract and IPFS
Mar 28, 2026
69e06ce
fix: add persistent storage TTL bumps to scholar_nft contract
Mar 28, 2026
a034af6
fix(scholar-nft): remove admin param from revoke(), read from storage…
Litezy Mar 28, 2026
8c280ad
feat: wire DAO proposals pages to backend API
iammrjude Mar 28, 2026
1ee2e22
feat(server): add admin proposal cancellation endpoint
iammrjude Mar 28, 2026
0b63cdb
Merge pull request #492 from Jeyvers/main
Anuoluwapo25 Mar 28, 2026
1f4d2d1
fix: regenerate root package-lock.json with Node 22/npm 10 to match CI
Anuoluwapo25 Mar 28, 2026
7e63f3c
Merge pull request #491 from Oluwatomilola/complete-milestones
Anuoluwapo25 Mar 28, 2026
87dd84c
Merge pull request #493 from Rampop01/fix/credential-data-wiring
Anuoluwapo25 Mar 28, 2026
b91cd15
Merge pull request #494 from Rampop01/fix/scholar-nft-ttl-bump
Anuoluwapo25 Mar 28, 2026
e6bc92d
Merge pull request #495 from Litezy/fix/scholar-nft-revoke-fn
Anuoluwapo25 Mar 28, 2026
879af0d
Merge branch 'main' into feat/430-connect-dao-proposals-backend
Anuoluwapo25 Mar 28, 2026
5ad8bc1
Merge pull request #468 from Nanle-code/Create
Anuoluwapo25 Mar 28, 2026
5a1e0cd
fix: format 30 files to pass Prettier CI check
Anuoluwapo25 Mar 28, 2026
3326fe2
fix: restore course_milestone test.rs corrupted by bad merge
Anuoluwapo25 Mar 28, 2026
1eab13c
fix: replace SQL string interpolation with safe VOTE_COLUMN mapping i…
AleKK31 Mar 28, 2026
9548c87
fix: update event assertion to match soroban SDK v23 events API
Anuoluwapo25 Mar 28, 2026
a11cba9
fix: update authorize() arg type to Vec<Val> for soroban SDK v23
Anuoluwapo25 Mar 28, 2026
f99d25c
fix: guard reward_key TTL extend when no reward is set in complete_mi…
Anuoluwapo25 Mar 28, 2026
ab0b96b
fix: skip contract_id check in event assertion to match codebase pattern
Anuoluwapo25 Mar 28, 2026
1772fe0
fix: capture events before subsequent contract calls in test
Anuoluwapo25 Mar 28, 2026
c6cb5cd
feat(scholar_nft): add get_metadata_uri getter
kehindefaith26 Mar 28, 2026
f2250c0
fix: re-sync root package-lock.json with Node 22/npm 10
Anuoluwapo25 Mar 28, 2026
0de8f24
Merge branch 'main' into feat/430-connect-dao-proposals-backend
iammrjude Mar 28, 2026
b854123
ci: remove Lighthouse CI workflow
Anuoluwapo25 Mar 28, 2026
ecda95d
Finish DAO proposals backend wiring
iammrjude Mar 28, 2026
824ad43
Merge branch 'main' into feat/430-connect-dao-proposals-backend
iammrjude Mar 28, 2026
689fea3
Merge branch 'main' into feat/434-delete-proposal-endpoint
iammrjude Mar 28, 2026
b5bd5b7
Fix DAO end-to-end coverage
iammrjude Mar 28, 2026
3c6d21e
Merge branch 'feat/430-connect-dao-proposals-backend' into feat/434-d…
iammrjude Mar 28, 2026
855df69
Merge pull request #496 from iammrjude/feat/430-connect-dao-proposals…
Anuoluwapo25 Mar 28, 2026
92b704d
Merge pull request #497 from iammrjude/feat/434-delete-proposal-endpoint
Anuoluwapo25 Mar 28, 2026
8c77d97
feat(treasury): add execute_proposal, cancel_proposal, configurable q…
pope-h Mar 29, 2026
e860f84
feat(governance): emit events for mint, transfer, transfer_from, approve
pope-h Mar 29, 2026
f955a6f
fix: remove production debug statements (#507)
edehvictor Mar 29, 2026
144f09a
fix: replace placeholder lesson curriculum (#506)
edehvictor Mar 29, 2026
8f32bef
fixed harddcoded api url for the leaderboard
sammajayi Mar 29, 2026
1a7e9da
fix: resolve lesson markdown syntax error
edehvictor Mar 29, 2026
5ac1813
fix: use real treasury activity in dashboard chart (#505)
edehvictor Mar 29, 2026
25889fc
test(fuzz): stabilize include-ignored fuzz suite
pope-h Mar 29, 2026
8a1eeb7
fix: submit donor deposits to treasury contract (#501)
edehvictor Mar 29, 2026
5bd0f62
fix(donor): call treasury contract from deposit more
edehvictor Mar 29, 2026
79d800d
fix(clippy): avoid len() > 0 check in course_milestone
pope-h Mar 29, 2026
1bd0417
ci: install clippy component for contracts workflow
pope-h Mar 29, 2026
25d1a3c
chore(types): add shared contract types and migrate hooks
Feyisara2108 Mar 29, 2026
9a16101
Require admin auth for reclaim_inactive (security fix) and document c…
Feyisara2108 Mar 29, 2026
419131c
fix: correct indentation in comments.routes.ts to pass Prettier check
AleKK31 Mar 29, 2026
2b5e1a6
milestone_escrow: emit EscrowCreated and EscrowReclaimed events; tests
Feyisara2108 Mar 29, 2026
462d662
types: use for re-exported contract types (isolatedModules)
Feyisara2108 Mar 29, 2026
dc2d3f1
Merge pull request #521 from edehvictor/fix/remove-console-debug-507
Anuoluwapo25 Mar 29, 2026
48fe09f
ci(contracts): pin rust 1.88 toolchain for clippy
pope-h Mar 29, 2026
f707a7f
Merge pull request #522 from edehvictor/fix/real-lesson-curriculum-506
Anuoluwapo25 Mar 29, 2026
e3f5b21
Fix contracts CI clippy install and rustfmt formatting
pope-h Mar 29, 2026
e750e94
email services
sammajayi Mar 29, 2026
60f1447
Merge pull request #520 from pope-h/feat/treasury-execute-cancel-quor…
Anuoluwapo25 Mar 29, 2026
68e4d2d
Merge pull request #524 from edehvictor/fix/real-treasury-chart-505
Anuoluwapo25 Mar 29, 2026
f11ffc7
Merge branch 'main' into fix/real-donor-deposit-501
Anuoluwapo25 Mar 29, 2026
8e16500
Merge pull request #525 from edehvictor/fix/real-donor-deposit-501
Anuoluwapo25 Mar 29, 2026
b3b96e6
Merge branch 'main' into codex/fix-deposit-more-contract-call-501
Anuoluwapo25 Mar 29, 2026
6c2e9a3
Merge pull request #526 from edehvictor/codex/fix-deposit-more-contra…
Anuoluwapo25 Mar 29, 2026
2f08a40
Merge pull request #498 from AleKK31/patch-1
Anuoluwapo25 Mar 29, 2026
97a53f6
Merge pull request #523 from sammajayi/fix/hardcoded-url
Anuoluwapo25 Mar 29, 2026
aad122d
Merge pull request #528 from Feyisara2108/feat/fix-reclaim-inactive-auth
Anuoluwapo25 Mar 29, 2026
344fecb
impelemented email notification using resend for milestone rejection …
sammajayi Mar 29, 2026
350f3f8
docs(#17): replace stub SECURITY.md with full security policy
Calebux Mar 29, 2026
ee249dd
keep
sammajayi Mar 29, 2026
64b5726
stash
sammajayi Mar 29, 2026
7b73cf6
Merge branch 'email-notification' into feat/empty-and-error-states
sammajayi Mar 29, 2026
fbe0025
Merge branch 'main' into credential
Nanle-code Mar 29, 2026
0b849e5
Merge pull request #464 from Nanle-code/credential
Anuoluwapo25 Mar 29, 2026
0c0b661
impelemented error and empty states
sammajayi Mar 29, 2026
8ebe2f8
build(deps): bump @creit.tech/stellar-wallets-kit from 1.9.5 to 2.0.1
dependabot[bot] Mar 29, 2026
7615357
build(deps-dev): bump @vitejs/plugin-react from 5.2.0 to 6.0.1
dependabot[bot] Mar 29, 2026
db02c17
implemented scholarship treasure
Oluwatomilola Mar 29, 2026
2602afc
Merge branch 'main' into Implement-scholar
Oluwatomilola Mar 29, 2026
3d0bda4
feat: implement escrow events and update related modules
Feyisara2108 Mar 29, 2026
c338c2d
Adding nft platform
Timi16 Mar 29, 2026
04bd1d6
feat: resolve issues #515, #516, #517, #127
Uchechukwu-Ekezie Mar 29, 2026
2907a58
Adding tests
Timi16 Mar 29, 2026
a47e303
Merge pull request #539 from Oluwatomilola/Implement-scholar
Anuoluwapo25 Mar 29, 2026
7abdb6d
Adding tests
Timi16 Mar 29, 2026
193a002
Merge pull request #540 from chimav-90/feat/issues-515-516-517-127
Anuoluwapo25 Mar 29, 2026
502aff3
Merge pull request #531 from gidson5/fix/security-policy-17
Anuoluwapo25 Mar 29, 2026
542a615
Adding frontend fixes
Timi16 Mar 29, 2026
c212edc
Adding Lessonview
Timi16 Mar 29, 2026
7259cc2
Merge branch 'main' into feat/add-contract-types
Feyisara2108 Mar 29, 2026
e9da614
Merge pull request #499 from kehindefaith26/fix/scholar-nft-get-metad…
Anuoluwapo25 Mar 29, 2026
17a0593
Adding Lessonview
Timi16 Mar 29, 2026
32d4845
Adding history
Timi16 Mar 29, 2026
457978d
Merge branch 'main' into feat/add-escrow-events
Feyisara2108 Mar 29, 2026
9a9f2b7
Merge pull request #530 from sammajayi/email-notification
Anuoluwapo25 Mar 29, 2026
6bcf388
Merge pull request #536 from bakeronchain/dependabot/npm_and_yarn/cre…
Anuoluwapo25 Mar 29, 2026
6b2bc77
Merge pull request #538 from bakeronchain/dependabot/npm_and_yarn/vit…
Anuoluwapo25 Mar 29, 2026
ca60ee6
Merge pull request #529 from Feyisara2108/feat/add-escrow-events
Anuoluwapo25 Mar 29, 2026
61f20e9
Merge pull request #527 from Feyisara2108/feat/add-contract-types
Anuoluwapo25 Mar 29, 2026
8c4494b
Merge branch 'main' into feat-513-512-514-519
Timi16 Mar 29, 2026
4649e67
Merge pull request #541 from Timi16/feat-513-512-514-519
Anuoluwapo25 Mar 29, 2026
78b5c6c
feat: implement persistent theme toggle (clean v2)
iamTissan Mar 29, 2026
1ceafe9
feat: wire admin page to live contract state
Mar 29, 2026
7cff7aa
docs: add complete env example
Obiajulu-gif Mar 29, 2026
6b71bd4
Merge branch 'main' into chore/add-env-example-vars
Obiajulu-gif Mar 29, 2026
a518210
Add Soroban upgrade hooks to V1 contracts
Edoscoba Mar 29, 2026
45cb798
Resolve main branch rebase conflicts
Edoscoba Mar 29, 2026
db32d68
fix: resolve NavBar conflict and sync package-lock
iamTissan Mar 29, 2026
ca9ffc6
fix: resolve admin branch ci blockers
Mar 29, 2026
462b77d
fix: align ci lockfile and contract tests
Mar 29, 2026
5efff49
Merge branch 'main' into feat-admin-real-contract-state-500
Ryjen1 Mar 29, 2026
ba0e979
chore: sync healthy package-lock and fix motion-dom errors
iamTissan Mar 29, 2026
c1888c8
fix: manually resolve navbar and lockfile conflicts
iamTissan Mar 30, 2026
de7f832
fix: final manual conflict resolution and sync
iamTissan Mar 30, 2026
e1f3838
ci: update frontend-ci paths and force clean install
iamTissan Mar 30, 2026
aefc797
Merge branch 'main' into feat/theme-toggle-v2
iamTissan Mar 30, 2026
b61a2a0
Merge pull request #542 from Ryjen1/feat-admin-real-contract-state-500
Anuoluwapo25 Mar 30, 2026
bd64309
Merge pull request #543 from iamTissan/feat/theme-toggle-v2
Anuoluwapo25 Mar 30, 2026
484a503
Merge branch 'main' into feat/69-soroban-contract-upgrades
Anuoluwapo25 Mar 30, 2026
94b4d5d
fix(dao): add input validation feedback to DAO proposal form
OkeyAmy Mar 30, 2026
8d7d2b2
fix: fetch real scholar credentials instead of hardcoded placeholder …
OkeyAmy Mar 30, 2026
706aa30
docs: add build status, license, Stellar, and contributions badges to…
ogazboiz Mar 30, 2026
d988618
docs: replace Solidity/.sol references with Soroban/Rust equivalents
ogazboiz Mar 30, 2026
fe0cac2
ci: add .rustfmt.toml and document cargo fmt/clippy in README
ogazboiz Mar 30, 2026
9dc924f
feat(home): replace scaffold page with LearnVault landing page
ogazboiz Mar 30, 2026
a3a132c
Merge pull request #548 from playground-ogazboiz/feat/issue-113-readm…
Anuoluwapo25 Mar 30, 2026
66659f0
Merge pull request #549 from playground-ogazboiz/fix/issue-112-readme…
Anuoluwapo25 Mar 30, 2026
b6e79f2
Merge pull request #550 from playground-ogazboiz/feat/issue-126-cargo-ci
Anuoluwapo25 Mar 30, 2026
052fd20
Merge pull request #554 from playground-ogazboiz/feat/issue-108-landi…
Anuoluwapo25 Mar 30, 2026
ec76eb1
Merge pull request #547 from OkeyAmy/fix/profile-real-credentials
Anuoluwapo25 Mar 30, 2026
55508db
Merge pull request #545 from Edoscoba/feat/69-soroban-contract-upgrades
Anuoluwapo25 Mar 30, 2026
0f96473
Merge branch 'main' into feat/empty-and-error-states
Anuoluwapo25 Mar 30, 2026
bdea82d
Merge pull request #544 from Obiajulu-gif/chore/add-env-example-vars
Anuoluwapo25 Mar 30, 2026
9843876
totalpages and activepage are now returned on the frontend
sammajayi Mar 30, 2026
3ca1e3a
Merge branch 'main' into feat/empty-and-error-states
Anuoluwapo25 Mar 30, 2026
1758e33
Merge pull request #533 from sammajayi/feat/empty-and-error-states
Anuoluwapo25 Mar 30, 2026
4f1db73
Merge pull request #557 from sammajayi/governance-pagination
Anuoluwapo25 Mar 30, 2026
93313ce
Merge pull request #465 from Nanle-code/contract
Anuoluwapo25 Mar 31, 2026
f2034da
Merge branch 'main' into replace
Anuoluwapo25 Mar 31, 2026
94cdf0a
Merge pull request #467 from Nanle-code/replace
Anuoluwapo25 Mar 31, 2026
bfa6778
Merge branch 'main' into treasury_page
Anuoluwapo25 Mar 31, 2026
4c551b7
Merge pull request #452 from Adeyemi-cmd/treasury_page
Anuoluwapo25 Mar 31, 2026
099416f
Merge branch 'main' into feat/238-request-logger
Anuoluwapo25 Mar 31, 2026
316ff5f
Merge pull request #443 from Dayz-tech-co/feat/238-request-logger
Anuoluwapo25 Mar 31, 2026
952237d
Merge branch 'main' into feat/fuzz-tests
Anuoluwapo25 Mar 31, 2026
44e975f
feat: CI fix
hally-Ayo Apr 1, 2026
3c70d76
Add --legacy-peer-deps to npm ci in build.yml for trezor/stellar-sdk …
Anuoluwapo25 Apr 1, 2026
19f86fa
fix: resolve ESLint errors blocking Build CI
Anuoluwapo25 Apr 1, 2026
3de45f7
fix: fix prettier CI failures
Anuoluwapo25 Apr 1, 2026
c7f631a
Merge pull request #381 from Abdullahi130/feat/fuzz-tests
Anuoluwapo25 Apr 2, 2026
e24fbf2
modified files
Anuoluwapo25 Apr 18, 2026
2a088f6
feat: debugging and fixing
Anuoluwapo25 Apr 18, 2026
c63938f
fix: remove workspace dependencies
Anuoluwapo25 Apr 20, 2026
730c7bc
fix
Anuoluwapo25 Apr 21, 2026
972de4b
fix: build fix
Anuoluwapo25 Apr 21, 2026
c795274
FEAT: CONTRACT CI FUZZ TEST
Anuoluwapo25 Apr 21, 2026
6ce735a
FX: fuzz deposi allocates gov tokens monotonically
Anuoluwapo25 Apr 21, 2026
1642e85
fix: formatting
Anuoluwapo25 Apr 21, 2026
73ab9b7
Implement resubmit functionality for rejected milestones
Apr 24, 2026
4360381
feat: add content moderation with flag system
Apr 24, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
21 changes: 21 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"projectName": "learnvault",
"projectOwner": "bakeronchain",
"repoType": "github",
"repoHost": "https://github.com",
"files": ["README.md"],
"imageSize": 100,
"commit": true,
"commitConvention": "angular",
"contributors": [
{
"login": "bakeronchain",
"name": "bakeronchain",
"avatar_url": "https://avatars.githubusercontent.com/u/242071730?v=4",
"profile": "https://github.com/bakeronchain",
"contributions": ["code", "doc"]
}
],
"contributorsPerLine": 7,
"linkToUsage": true
}
72 changes: 72 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
<<<<<<< feat/empty-and-error-states
ADMIN_EMAILS=admin@example.com # comma-separated list of admin emails
# The environment to use `development`, `testing`, `staging`, `production`
STELLAR_SCAFFOLD_ENV=development

Expand Down Expand Up @@ -26,3 +28,73 @@ PUBLIC_STELLAR_HORIZON_URL="http://localhost:8000"
# PUBLIC_STELLAR_NETWORK_PASSPHRASE="Public Global Stellar Network ; September 2015"
# PUBLIC_STELLAR_RPC_URL=
# PUBLIC_STELLAR_HORIZON_URL=

# V1 Contract IDs (deployed to Testnet)
# These will be populated after running ./scripts/deploy-testnet.sh

# Core Platform Contracts
VITE_LEARN_TOKEN_CONTRACT_ID=""
VITE_GOVERNANCE_TOKEN_CONTRACT_ID=""

# Scholarship System Contracts
VITE_COURSE_MILESTONE_CONTRACT_ID=""
VITE_MILESTONE_ESCROW_CONTRACT_ID=""
VITE_SCHOLARSHIP_TREASURY_CONTRACT_ID=""
VITE_SCHOLAR_NFT_CONTRACT_ID=""

# Token Contract
PUBLIC_USDC_CONTRACT_ID="" # USDC token contract address (testnet or mainnet)

# Optional: Friendbot-funded deployer address for testing
# PUBLIC_DEPLOYER_ADDRESS=""

# Backend API URL
VITE_SERVER_URL=http://localhost:4000
VITE_API_URL=
RESEND_API_KEY=
EMAIL_FROM=notifications@learnvault.xyz
FRONTEND_URL=http://localhost:3000
=======
# LearnVault environment template for local development. Copy this file to `.env`.

# Scaffold / local tooling
STELLAR_SCAFFOLD_ENV=development # Scaffold Stellar environment profile used by local scripts and CLI commands.
XDG_CONFIG_HOME=.config # Location where the Stellar CLI stores config files and identities on your machine.

# Stellar network
PUBLIC_STELLAR_NETWORK=TESTNET # Frontend Stellar network used by wallet and contract helpers.
PUBLIC_STELLAR_NETWORK_PASSPHRASE="Test SDF Network ; September 2015" # Stellar Testnet passphrase required by the frontend contract client.
PUBLIC_STELLAR_RPC_URL=https://soroban-testnet.stellar.org # Public Soroban RPC endpoint for Stellar Testnet.
PUBLIC_STELLAR_HORIZON_URL=https://horizon-testnet.stellar.org # Public Horizon endpoint for Stellar Testnet.

# LearnVault contract IDs
VITE_LEARN_TOKEN_CONTRACT_ID= # LearnToken contract ID set after deployment.
VITE_GOVERNANCE_TOKEN_CONTRACT_ID= # Governance token contract ID set after deployment.
VITE_SCHOLAR_NFT_CONTRACT_ID= # Scholar NFT contract ID set after deployment.
VITE_COURSE_MILESTONE_CONTRACT_ID= # Course milestone contract ID set after deployment.
VITE_SCHOLARSHIP_TREASURY_CONTRACT_ID= # Scholarship treasury contract ID set after deployment.
VITE_MILESTONE_ESCROW_CONTRACT_ID= # Milestone escrow contract ID set after deployment.

# USDC on Stellar Testnet
VITE_USDC_CONTRACT_ID= # USDC contract ID used by frontend funding flows.

# Legacy frontend aliases still read by older screens/hooks
PUBLIC_LEARN_TOKEN_CONTRACT= # Legacy alias for the LearnToken contract ID.
PUBLIC_GOVERNANCE_TOKEN_CONTRACT= # Legacy alias for the governance token contract ID.
PUBLIC_SCHOLAR_NFT_CONTRACT= # Legacy alias for the Scholar NFT contract ID.
PUBLIC_COURSE_MILESTONE_CONTRACT= # Legacy alias for the course milestone contract ID.
PUBLIC_SCHOLARSHIP_TREASURY_CONTRACT= # Legacy alias for the scholarship treasury contract ID.
PUBLIC_MILESTONE_ESCROW_CONTRACT= # Legacy alias for the milestone escrow contract ID.
PUBLIC_SCHOLARSHIP_GOVERNANCE_CONTRACT= # Legacy governance/event contract ID used by profile and activity feeds.
PUBLIC_USDC_CONTRACT_ID= # Legacy alias for the USDC contract ID used by the current USDC utility.

# Backend API
VITE_API_URL=http://localhost:3001 # Base URL for frontend requests to the LearnVault backend when it runs locally.
VITE_API_BASE_URL=/api # Relative API prefix used by upload and scholar milestone pages in the frontend.
VITE_SERVER_URL=http://localhost:3001 # Backward-compatible alias still read by the current comment UI.

# IPFS / Pinata
PINATA_API_KEY= # Pinata API key used for authenticated file uploads to IPFS.
PINATA_SECRET= # Pinata API secret used for authenticated file uploads to IPFS.
VITE_IPFS_GATEWAY_URL=https://gateway.pinata.cloud/ipfs # Optional public IPFS gateway override for displaying uploaded files.
>>>>>>> main
11 changes: 11 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Global — all PRs
* @bakeronchain

# Smart contracts — any Rust changes
/contracts/ @bakeronchain

# Frontend — any TypeScript/React changes
/src/ @bakeronchain

# CI/CD — any workflow changes require extra scrutiny
/.github/workflows/ @bakeronchain
50 changes: 21 additions & 29 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,34 @@
---
name: "Bug Report"
about: "Report a bug to help us improve LearnVault."
title: "[Bug] <describe the bug>"
labels: ["bug", "help wanted"]
assignees: ""
name: Bug Report
about: Create a report to help us improve
title: '[BUG] '
labels: bug
assignees: ''
---

## Describe the bug

A clear and concise description of what the bug is.

## To Reproduce

Steps to reproduce the behavior:
## Description
<!-- A clear and concise description of the bug -->

## Steps to Reproduce
1. Go to '...'
2. Click on '...'
3. Scroll down to '...'
4. See error

## Expected behavior

A clear and concise description of what you expected to happen.

## Screenshots
## Expected Behavior
<!-- What you expected to happen -->

If applicable, add screenshots to help explain your problem.
## Actual Behavior
<!-- What actually happened -->

## Environment (please complete the following information):
## Environment
- **Network:** (e.g., testnet, mainnet, local)
- **Browser:** (e.g., Chrome, Firefox, Safari)
- **Wallet:** (e.g., Freighter, Albedo, LOBSTR)
- **OS:** (e.g., Windows, macOS, Linux)

- OS: [e.g. macOS, Windows, Linux]
- Browser [e.g. Chrome, Safari]
- Wallet [e.g. MetaMask, Freighter]

## Additional context

Add any other context about the problem here.

---
## Screenshots
<!-- If applicable, add screenshots to help explain your problem -->

_Thank you for helping us improve LearnVault!_
## Additional Context
<!-- Add any other context about the problem here -->
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Bug report
description: Report something that is broken in LearnVault.
title: "[Bug]: "
labels:
- bug
- triage
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to file a bug report.
- type: textarea
id: steps
attributes:
label: Steps to reproduce
description: Provide exact steps so we can reproduce the issue.
placeholder: |
1. Go to ...
2. Click ...
3. Observe ...
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior
description: What should have happened?
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual behavior
description: What happened instead?
validations:
required: true
- type: input
id: environment
attributes:
label: Environment
description:
Include OS, browser, Node.js version, and wallet details if relevant.
placeholder: macOS 14.4, Chrome 123, Node 22.2.0, Freighter
validations:
required: true
- type: textarea
id: additional_context
attributes:
label: Additional context
description: Logs, screenshots, links, or any extra information.
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Ask a Question
url: https://github.com/bakeronchain/learnvault/discussions
about: Please ask and answer questions here
- name: Security Vulnerability
url: https://github.com/bakeronchain/learnvault/security/advisories
about: Please report security vulnerabilities privately
41 changes: 19 additions & 22 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,26 @@
---
name: "Feature Request"
about: "Suggest a new feature for LearnVault."
title: "[Feature] <describe your feature>"
labels: ["enhancement", "feature", "help wanted"]
assignees: ""
name: Feature Request
about: Suggest an idea for this project
title: '[FEATURE] '
labels: enhancement
assignees: ''
---

## Is your feature request related to a problem? Please describe.
## Problem Statement
<!-- Is your feature request related to a problem? Please describe -->

A clear and concise description of what the problem is. Ex: I'm always
frustrated when [...]
## Proposed Solution
<!-- Describe the solution you'd like -->

## Describe the solution you'd like
## Affected Layer
- [ ] Frontend
- [ ] Backend
- [ ] Smart Contract
- [ ] Documentation
- [ ] Other

A clear and concise description of what you want to happen.
## Alternatives Considered
<!-- Describe any alternative solutions or features you've considered -->

## Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've
considered.

## Additional context

Add any other context or screenshots about the feature request here.

---

_Thank you for helping improve LearnVault!_
## Additional Context
<!-- Add any other context or screenshots about the feature request here -->
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Feature request
description: Suggest a new capability or improvement for LearnVault.
title: "[Feature]: "
labels:
- enhancement
- triage
body:
- type: textarea
id: problem
attributes:
label: Problem statement
description: What problem are you trying to solve?
placeholder: It is difficult to ... because ...
validations:
required: true
- type: textarea
id: proposed_solution
attributes:
label: Proposed solution
description: Describe the ideal implementation or behavior.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description:
What alternatives did you evaluate and why were they insufficient?
validations:
required: false
42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATE/smart_contract.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Smart contract issue
description: Report or request a smart contract change.
title: "[Contract]: "
labels:
- smart-contract
- triage
body:
- type: input
id: contract_name
attributes:
label: Contract name
description: Which contract is affected?
placeholder: CourseMilestone
validations:
required: true
- type: input
id: function_name
attributes:
label: Function name
description: Which function is involved?
placeholder: complete_course_milestone
validations:
required: true
- type: textarea
id: rust_error
attributes:
label: Rust error (if any)
description: Paste compiler/runtime error output.
placeholder: error[E0XXX]: ...
validations:
required: false
- type: textarea
id: reproduction
attributes:
label: Reproduction steps
description: Minimal steps to reproduce the issue.
placeholder: |
1. Run ...
2. Submit transaction ...
3. Observe ...
validations:
required: true
Loading