Commit graph

14 commits

Author SHA1 Message Date
Claude
b4e4766e01
feat: HealthCheckable interface on DaemonRpc and WalletRpc
Services implement healthCheck() returning {status, detail, stale?}.
Status page refactored to use healthCheck() instead of ad-hoc checks.
Statuses: healthy, degraded (stale data), unhealthy (unreachable).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 11:43:01 +01:00
Claude
f60f0803da
fix: status page handles wallet RPC unreachable gracefully
WalletRpc::getBalance() can throw when wallet is on localhost and
app runs in Docker. Wrapped in try/catch so status page degrades
gracefully instead of 500ing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 11:34:07 +01:00
Claude
2b91476cf7
refactor: move pre-registration claims from Cache to database model
Claims stored in Cache were lost on cache clear. Now persisted in
name_claims SQLite table via NameClaim Eloquent model. Auto-generates
claim_id via random_bytes. Scopes: pending(), approved(). Methods:
approve(), reject(). Status page updated to query model.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 11:21:58 +01:00
Claude
774e9be207
feat: /status page with live system health checks
Shows blockchain daemon, wallet, gateways, name registry, and consensus
status with green/amber indicators. Chain stats, hardfork status, and
gateway details. Footer link added.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 08:33:14 +01:00
Claude
03a9b55bf8
feat: interactive API reference page + domain corrections
- /api page with all 22 endpoints: Names, Proxy, Gateway, Explorer
- "Try" links on public GET endpoints for live testing
- Auth docs, widget embed code
- GET=green badge, POST=amber badge
- lthn.ca = Certificate Authority (not Canada)
- Nav API link now goes to /api page

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 07:25:56 +01:00
Claude
8deebc8384
feat: "Why Lethean" page replacing sparse about page
- CIC governance explained (UK law, 8-pac voting, enforceable)
- Blockchain-native vs database comparison table
- 6 feature cards: CIC, blockchain, BTC, open source, wholesale, decentralised
- Lethean vs Traditional Registrars comparison table
- CTA to pricing page

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 07:05:43 +01:00
Claude
1c294455cd
feat: pricing page with full product comparison
- /pricing — all products in one view: names, SSL, DNS, proxy
- Names: free registration + sunrise claims
- SSL: 6 tiers from DV $4.99 to EV $69.99
- DNS: 3 tiers from free to enterprise $14.99/mo
- Proxy: 3 models from $1/1K requests to $5/GB mobile
- "All payments via BTC" CTA
- Added to nav between Services and Network

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 06:59:08 +01:00
Claude
d17fe54cf1
feat: full registrar product suite — SSL, DNS hosting, updated homepage
- /services/ssl — GoGetSSL wholesale: DV, Wildcard, IP SSL, OV, EV, Code Signing
- /services/dns-hosting — ClouDNS tiers: Starter (free), Pro ($4.99), Enterprise ($14.99)
- Services landing includes SSL + DNS cards alongside proxy categories
- Homepage: "Names. DNS. SSL. Proxy." hero with full product grid
- Six product cards: .lthn Names, DNS Hosting, SSL Certs, Proxy, Explorer, Discovery
- All linked to order.lthn.ai for purchase

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 06:49:41 +01:00
Claude
fa771a9422
feat(sunrise): dedicated sunrise period page
- /sunrise page listing all 115 reserved names
- How to Claim: 4-step process with accepted proof types
- Stats: reserved count, active status, end date TBD
- All names as clickable tag cloud linking to detail pages
- Linked from reserved name detail pages
- "Request a reservation" CTA for unlisted brands

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 05:53:57 +01:00
Claude
20083139a3
feat(services): live gateway status from pairing registry
- Paired gateways show "Live — X% load" with region and connections
- Unpaired chain-only gateways show "Registered" in grey
- GatewayRegistry data merged with chain aliases on services page
- Customers see which gateways are actually responsive

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 05:38:03 +01:00
Claude
101beaf924
feat(services): product landing + category pages for proxy/SEO niches
- /services — top-level landing with Residential Proxy, Mobile Proxy, SEO Traffic
- /services/residential-proxy — market research, ad verification, pricing workflows
- /services/mobile-proxy — social media, account creation, app testing
- /services/seo-traffic — SERP monitoring, rank tracking, local SEO, competitor analysis
- /services/network — detailed network discovery (existing page relocated)
- Common workflows with step-by-step guides
- Gateway nodes listed on each category page

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 04:20:24 +01:00
Claude
65687c3da6
feat(services): network services discovery page
- /services page scanning chain for gateways, services, exit nodes
- Gateway cards with capability badges (VPN, DNS, PROXY, EXIT)
- Services table with capabilities and status
- CTA: "Run Your Own Gateway" with registration link
- Added to nav menu

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 04:12:06 +01:00
Claude
0899881138
feat(lthn.io): name registration API, Blade views, wallet RPC
- POST /v1/names/register endpoint with wallet RPC integration
- WalletRpc service for alias registration via daemon wallet
- Blade views for homepage, explorer, names directory, network status
- Explorer and Names modules with view namespaces and web controllers
- Pool endpoint graceful offline handling
- Explorer block detail, aliases, search views

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 23:04:27 +01:00
Claude
48272c6072
feat: add Website modules — domain-scoped route registration
Website modules per CorePHP pattern:
- Website\Lethean: lthn.io homepage (domain: lthn.io)
- Website\Explorer: block explorer (domain: explorer.lthn.io)
- Website\Names: TLD registrar (domain: names.lthn.io)
- Website\Trade: DEX frontend (domain: trade.lthn.io)
- Website\Pool: mining pool (domain: pool.lthn.io)

Each binds to its subdomain via DomainResolving event and
falls back to path prefix (/explorer, /names, etc) on lthn.io.
Autoloader updated with Website\ namespace.

Co-Authored-By: Charon <charon@lethean.io>
2026-04-03 16:34:55 +01:00