# SoulWall Public Source

SoulWall publishes the demo implementation as inspectable source files.

Current public build: **v1.3**, dated **2026-05-05**.

The v1.3 build keeps the current EnhanceMarkets-aligned gate demo while adding The Giving Block support: users can still use the Giveth provider-page flow, or select a TGB-backed cause and receive a fresh server-minted donation address that SoulWall later verifies against a trusted route.

The source mirrors in this folder are rebuilt from the root master files with `npm run rebuild`. They are not intended to be hand-edited in place.

The Live News Index opinion gate now serves local master-build copies of SoulWall `app.js` and `site.css` through the Worker so the interstitial does not drift onto an older live frontend bundle.

## Browser Client

- [`widget/soulwall-widget.js`](./widget/soulwall-widget.js) - embeddable client for partner projects.

## Site Files

- [`source/site/index.html.txt`](./source/site/index.html.txt) - public protocol page.
- [`source/site/site.css.txt`](./source/site/site.css.txt) - public site stylesheet.
- [`source/site/app.js.txt`](./source/site/app.js.txt) - browser-side demo logic.
- [`source/site/soulwall-widget.js.txt`](./source/site/soulwall-widget.js.txt) - widget mirror.

## Cloudflare Pages Functions

These are mirrored as `.txt` files so they can be opened directly in a browser:

- [`source/functions/giveth-verify.js.txt`](./source/functions/giveth-verify.js.txt) - Polygon/Giveth proof verification endpoint.
- [`source/functions/telemetry.js.txt`](./source/functions/telemetry.js.txt) - donation ping receiver.
- [`source/functions/ledger.js.txt`](./source/functions/ledger.js.txt) - public aggregate ledger endpoint.
- [`source/functions/charities.js.txt`](./source/functions/charities.js.txt) - configured charity project feed.
- [`source/functions/_giveth.js.txt`](./source/functions/_giveth.js.txt) - Giveth and Polygon verification helpers.
- [`source/functions/_tgb.js.txt`](./source/functions/_tgb.js.txt) - The Giving Block organization, route, proof-cache, and webhook helpers.
- [`source/functions/_session.js.txt`](./source/functions/_session.js.txt) - SoulWall browser session helpers.
- [`source/functions/_supabase.js.txt`](./source/functions/_supabase.js.txt) - Supabase REST helpers.
- [`source/functions/intent.js.txt`](./source/functions/intent.js.txt) - donation intent route.
- [`source/functions/session.js.txt`](./source/functions/session.js.txt) - session status route.
- [`source/functions/tgb-verify.js.txt`](./source/functions/tgb-verify.js.txt) - TGB trusted-route verification endpoint.
- [`source/functions/tgb-webhook.js.txt`](./source/functions/tgb-webhook.js.txt) - TGB encrypted webhook receiver.

## Database

- [`source/docs/soulwall-ledger-migration.sql.txt`](./source/docs/soulwall-ledger-migration.sql.txt) - Supabase ledger table migration.

## Runtime Secrets

Secrets are intentionally not published. Use `.dev.vars.example` as the shape of the required environment and keep real Supabase, Cloudflare, Stripe, and provider keys outside source control.
