Commit Graph

6 Commits

Author SHA1 Message Date
martbost 547bff0d05 Fix: email-only members were locked out of the members area
refreshNavWallet assumed every signed-in session has a wallet address and
threw on null for email-only members; the catch returned null and render()
treated the member as signed out even though the session and cookie were
valid. Nav now shows the email (or member badge) when no wallet is linked.
Verified with a full browser cycle: session landing, logout, fresh code
sign-in. Assets v=20260904k.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-04 15:27:08 -05:00
martbost 9dc5989aa3 Contract verification page, cache-busted assets, no-withdrawal line
/contract: plain-language security review with the six design laws, honest
operator CAN/CANNOT lists, split walkthrough, oracle bridge and anti-stall
notes, testing summary, live explorer + Sourcify verified-source links
(config-driven so it follows the mainnet flip). Nav gains The contract.
All asset URLs now carry a version query so deploys bust browser caches
(the level-cycler stall). Earn-deeper checklist leads with: no withdrawal
requests, ever.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-04 13:47:49 -05:00
martbost 8c8935fc15 Landing rebuilt to Marty's picked reference (Behance 243562211)
Mint-monochrome discipline on near-black, neon light-trail hero with falling
streaks, glowing icon plates (custom SVG, no emoji), ledger mockup flanked
by feature items, isometric network illustration, capsule nav, pricing
tiles, ghost wordmark footer. Topo-contour ground texture.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-04 13:26:28 -05:00
martbost bee13ba4b8 Ad engine v1: banner/text/login campaigns against on-chain credits
Spec 8b types 1-3. Spend accrues per campaign in batches; burns queue for
the engine signer (admin runs consume() on-chain, /api/admin/burns). Rates
are volume config (adrates.json), rehearsal placeholders until Marty sets
the real card. Public slots serve on the ledger page; campaign manager in
the members area.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-04 13:04:47 -05:00
martbost a87a63d75d Branded Voice copy pass, members activity panels, menu update
Site copy regenerated through the bv-tester1 engine; em dashes scrubbed from
all user-visible strings. /api/my/activity serves per-member earnings,
referrals, and purchases from the chain index.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-04 12:51:16 -05:00
martbost f053c1befa InstantAdPay site skeleton: SIWE auth, live chain ledger, join links, buy flow
Zero-dependency Node server on the RM Circle pattern. Chain config lives in
the volume so the same code runs the Amoy dress rehearsal and mainnet.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-04 12:25:34 -05:00