Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
823 commits
Select commit Hold shift + click to select a range
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
9f39a1c
Fix #666: feat: add community bounty board page
Stackwyre Apr 10, 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
3fdd805
feat: implement JWT blocklisting and comprehensive auth service tests
Joeloo1 Apr 24, 2026
b7d69fc
Merge branch 'main' into write-tests-for-auth-service
Joeloo1 Apr 24, 2026
c29e6ea
issue fixed
blurbeast Apr 24, 2026
6ed30bb
Implement resubmit functionality for rejected milestones
Apr 24, 2026
0b0f8ff
feat: implement content moderation and flagging system
Apr 24, 2026
9438b35
ux(#730): replace generic error messages with actionable ones
jerrymusaga Apr 24, 2026
37d576c
feat(#585): implement on-chain vote delegation for governance token
jerrymusaga Apr 24, 2026
7d82a11
feat: implement comprehensive HTML sanitization and input validation
Properprogress1 Apr 24, 2026
f125450
wave 4 implementations
Wilfred007 Apr 24, 2026
f07d395
Merge pull request #786 from blurbeast/main
Anuoluwapo25 Apr 24, 2026
0561e1a
feat: add request tracing and escrow timeout automation
xqcxx Apr 24, 2026
a6f2bfd
Merge pull request #793 from Open-Works-Contributions/me/wave-4
Anuoluwapo25 Apr 24, 2026
955dbbe
Merge pull request #794 from xqcxx/feat/issues-615-576-648-566
Anuoluwapo25 Apr 24, 2026
25472d4
Merge pull request #715 from Stackwyre/fix/161-feat-add-community-bou…
Anuoluwapo25 Apr 24, 2026
9c63486
Merge branch 'main' into ux/730-actionable-error-messages
Anuoluwapo25 Apr 24, 2026
9101ed9
fix: resolve TypeScript compilation errors in Zod schemas
Properprogress1 Apr 24, 2026
74b3b04
Merge branch 'main' into main
Properprogress1 Apr 24, 2026
ec61053
feat: containerize backend with Docker (#707)
Favourof Apr 24, 2026
051cf30
feat(admin): add batch milestone approval and rejection
Litezy Apr 24, 2026
9e35fe7
feat: implement learning-time tracking and db optimization workflow
floxxih Apr 24, 2026
9fbc9c6
Merge pull request #798 from Litezy/feat/batch-milestone
Anuoluwapo25 Apr 24, 2026
b9e1fa4
fix: resolve CI/CD test failures and dependency conflicts
Properprogress1 Apr 24, 2026
000bf4f
fix: resolve governance test failures with proper mocking
Properprogress1 Apr 24, 2026
1f1e5be
feat: sync upstream, implement security headers, secret scanning, CI …
Apr 24, 2026
d052d60
chore: clean up deprecated husky lines
Apr 24, 2026
1caf92d
fix: resolve admin-milestones test failures with comprehensive mocking
Properprogress1 Apr 24, 2026
d1469a8
Merge pull request #797 from floxxih/fix-609-668-746-634
Anuoluwapo25 Apr 24, 2026
181f935
fix: trigger CI rebuild for admin-milestones routes
Properprogress1 Apr 24, 2026
13a2d28
Merge upstream/main and resolve conflicts, fix breaking changes in Tr…
Apr 24, 2026
c5bd2c4
Update PR documentation with conflict resolution details
Apr 24, 2026
7cd1703
fix: resolve scholars-milestones test failures and CI caching issues
Properprogress1 Apr 24, 2026
75b48f9
Merge branch 'main' into main
Properprogress1 Apr 24, 2026
bbeface
Merge pull request #799 from emdevelopa/main
Anuoluwapo25 Apr 24, 2026
1f64f69
Add operational documentation for testing, upgrades, and deployment
JamesVictor-O Apr 24, 2026
27bd5b8
Merge pull request #801 from JamesVictor-O/docs/resolve-assigned-issu…
Anuoluwapo25 Apr 24, 2026
d0c7da3
fix: consolidate recharts to v3 and remove legacy typings
abimbolaalabi Apr 24, 2026
bb8ca34
feat(courses): add backend search support for course listings
Litezy Apr 24, 2026
4a322ba
Merge pull request #803 from Litezy/feat/course-proposal
Anuoluwapo25 Apr 24, 2026
9570896
chore(images): convert page assets to WebP and optimize image handling
Litezy Apr 24, 2026
64ebe88
feat(devops): add code coverage reporting to CI (#704)
habnark Apr 24, 2026
2328134
Merge pull request #804 from Litezy/feat/image-conversion
Anuoluwapo25 Apr 24, 2026
e1cc660
feat(deploy): automate multi-contract Stellar deployment with CI supp…
Litezy Apr 24, 2026
d157ba3
Merge pull request #806 from Litezy/feat/deploy-all-contracts
Anuoluwapo25 Apr 24, 2026
e7e894e
Merge branch 'main' into write-tests-for-auth-service
Anuoluwapo25 Apr 24, 2026
c052583
Merge pull request #777 from drips-projects/write-tests-for-auth-service
Anuoluwapo25 Apr 24, 2026
6f813b9
Merge branch 'main' into ux/730-actionable-error-messages
Anuoluwapo25 Apr 24, 2026
d8d6c32
Merge pull request #789 from jerrymusaga/ux/730-actionable-error-mess…
Anuoluwapo25 Apr 24, 2026
6e8abcf
Merge pull request #790 from jerrymusaga/feat/585-vote-delegation
Anuoluwapo25 Apr 24, 2026
739730b
Merge branch 'main' into main
Anuoluwapo25 Apr 24, 2026
76eb172
Merge pull request #787 from pugsley76/feature/resubmit-milestones
Anuoluwapo25 Apr 24, 2026
92b05a7
Merge pull request #795 from Favourof/feature/707-containerize-backen…
Anuoluwapo25 Apr 24, 2026
4808072
security: refactor SQL queries to use parameterized placeholders in m…
midexol Apr 24, 2026
56b52ac
Merge pull request #802 from abimbolaalabi/recharts
Anuoluwapo25 Apr 24, 2026
a057d47
Merge pull request #805 from habnark/feat/coverage-reporting
Anuoluwapo25 Apr 24, 2026
deafe7f
Merge branch 'main' into main
Anuoluwapo25 Apr 24, 2026
fb67c17
Merge pull request #792 from Properprogress1/main
Anuoluwapo25 Apr 24, 2026
2287d56
Merge pull request #809 from midexol/fix/sql-injection-audit
Anuoluwapo25 Apr 24, 2026
0fb3848
ci: setup dependabot and automated security scanning for Node and Rus…
midexol Apr 24, 2026
1ec0c9c
feat(ui): add wallet address display with truncation, copy, and modal
shogun444 Apr 24, 2026
46995c0
feat: implement multi-donor co-funding and contribution tracking #fea…
midexol Apr 24, 2026
6022fb4
feat: implement community forum (Issue #747)
Feyisara2108 Apr 24, 2026
3b6971c
Merge pull request #810 from midexol/devops/security-scanning
Anuoluwapo25 Apr 24, 2026
982f171
Merge pull request #811 from midexol/feature/multi-donor-funding
Anuoluwapo25 Apr 24, 2026
d9e92d2
Merge pull request #808 from shogun444/feat/731-wallet-address-display
Anuoluwapo25 Apr 24, 2026
710105c
perf: add compression filter and document HTTP/2 proxy setup (#744)
MAN7A-afk Apr 24, 2026
ac29cad
Merge pull request #812 from Feyisara2108/feat/issue-747-community-forum
Anuoluwapo25 Apr 24, 2026
8c018e6
resolve merge conflict in index.ts
MAN7A-afk Apr 24, 2026
78f54a5
fix: correct vite-plugin-node-polyfills version for CI
MAN7A-afk Apr 25, 2026
421a153
fix: resolve CI lint blocking errors
MAN7A-afk Apr 25, 2026
42c20f4
perf: add request latency middleware and clarify static asset caching
MAN7A-afk Apr 25, 2026
540380a
perf: add Cache-Control headers for API routes and update README
MAN7A-afk Apr 25, 2026
6dbb493
build passes
MAN7A-afk Apr 25, 2026
af89598
fix CI and security scan workflow
MAN7A-afk Apr 25, 2026
9d84c62
fix: sync package-lock.json with protobufjs override
MAN7A-afk Apr 25, 2026
10abdf1
fix: suppress unfixable transitive cargo advisories and fix prettier …
MAN7A-afk Apr 25, 2026
3e2fe87
fix: resolve backend TypeScript build errors for CI
MAN7A-afk Apr 25, 2026
6bc9dc9
style: apply prettier formatting
MAN7A-afk Apr 25, 2026
c250a7e
fix: remove BOM from migration 011 and exclude contracts/scripts from…
MAN7A-afk Apr 25, 2026
83b4805
fix: correct migration syntax and remove unsupported cargo-audit flag
MAN7A-afk Apr 25, 2026
58e4d50
fix: make 009_delegation_events migration idempotent with IF NOT EXISTS
MAN7A-afk Apr 25, 2026
d505ec3
fix: add missing undo migration for 011_multi_donor_contributions
MAN7A-afk Apr 25, 2026
a67fad2
fix: add missing undo migration for 009_wiki_pages
MAN7A-afk Apr 25, 2026
8a18f9f
fix: governance mock, courses SQL params, scholars query, milestone h…
MAN7A-afk Apr 25, 2026
fa337f8
fix: governance + courses + scholars + admin milestones stabilisation
MAN7A-afk Apr 25, 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
}
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",
]
Empty file added .codex
Empty file.
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
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/bounty_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
name: Bounty Request
about: Request a bounty for a task or improvement
title: '[BOUNTY] '
labels: bounty, enhancement
assignees: ''
---

## Bounty Description
<!-- A clear and concise description of the task or improvement needed -->

## Category
- [ ] Development
- [ ] Documentation
- [ ] Design
- [ ] Testing
- [ ] Research
- [ ] Other

## Difficulty Level
- [ ] Beginner
- [ ] Intermediate
- [ ] Advanced

## Estimated Reward
<!-- Suggested reward amount in tokens -->

## Requirements
<!-- Specific requirements and acceptance criteria -->

## Deliverables
<!-- What needs to be delivered to complete this bounty -->

## Timeline
<!-- Expected completion timeframe -->

## Skills Required
<!-- List of skills or technologies needed -->

## Additional Context
<!-- Add any other context about the bounty request here -->
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
Loading