feat: complete module scaffolding — all 6 modules with controllers, routes, services
Modules built:
- Home: landing page with live chain stats and service directory
- Chain: DaemonRpc singleton, config, events
- Explorer: web + API controllers (block, tx, alias, search, stats)
- Names: TLD registrar (availability, lookup, directory, registration)
- Trade: DEX controllers + API (config, pairs, orders)
- Pool: dashboard + PoolClient service (stats, blocks, payments, miner)
Infrastructure:
- composer.json: lthn/lthn.io deps (core/php + laravel 12)
- Dockerfile: FrankenPHP with Caddy
- Caddyfile: PHP server config
Co-Authored-By: Charon <charon@lethean.io>
2026-04-03 16:26:17 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
namespace Mod\Pool;
|
|
|
|
|
|
2026-04-04 12:51:53 +01:00
|
|
|
use Core\Events\ApiRoutesRegistering;
|
2026-04-04 09:13:34 +01:00
|
|
|
use Core\Events\FrameworkBooted;
|
2026-04-03 17:17:42 +01:00
|
|
|
use Core\Events\WebRoutesRegistering;
|
feat: complete module scaffolding — all 6 modules with controllers, routes, services
Modules built:
- Home: landing page with live chain stats and service directory
- Chain: DaemonRpc singleton, config, events
- Explorer: web + API controllers (block, tx, alias, search, stats)
- Names: TLD registrar (availability, lookup, directory, registration)
- Trade: DEX controllers + API (config, pairs, orders)
- Pool: dashboard + PoolClient service (stats, blocks, payments, miner)
Infrastructure:
- composer.json: lthn/lthn.io deps (core/php + laravel 12)
- Dockerfile: FrankenPHP with Caddy
- Caddyfile: PHP server config
Co-Authored-By: Charon <charon@lethean.io>
2026-04-03 16:26:17 +01:00
|
|
|
use Illuminate\Support\Facades\Route;
|
2026-04-03 17:17:42 +01:00
|
|
|
use Mod\Pool\Services\PoolClient;
|
feat: complete module scaffolding — all 6 modules with controllers, routes, services
Modules built:
- Home: landing page with live chain stats and service directory
- Chain: DaemonRpc singleton, config, events
- Explorer: web + API controllers (block, tx, alias, search, stats)
- Names: TLD registrar (availability, lookup, directory, registration)
- Trade: DEX controllers + API (config, pairs, orders)
- Pool: dashboard + PoolClient service (stats, blocks, payments, miner)
Infrastructure:
- composer.json: lthn/lthn.io deps (core/php + laravel 12)
- Dockerfile: FrankenPHP with Caddy
- Caddyfile: PHP server config
Co-Authored-By: Charon <charon@lethean.io>
2026-04-03 16:26:17 +01:00
|
|
|
|
|
|
|
|
class Boot
|
|
|
|
|
{
|
2026-04-03 17:17:42 +01:00
|
|
|
public static array $listens = [
|
|
|
|
|
WebRoutesRegistering::class => 'onWebRoutes',
|
2026-04-04 12:51:53 +01:00
|
|
|
ApiRoutesRegistering::class => 'onApiRoutes',
|
2026-04-04 09:13:34 +01:00
|
|
|
FrameworkBooted::class => 'onFrameworkBooted',
|
2026-04-03 17:17:42 +01:00
|
|
|
];
|
feat: complete module scaffolding — all 6 modules with controllers, routes, services
Modules built:
- Home: landing page with live chain stats and service directory
- Chain: DaemonRpc singleton, config, events
- Explorer: web + API controllers (block, tx, alias, search, stats)
- Names: TLD registrar (availability, lookup, directory, registration)
- Trade: DEX controllers + API (config, pairs, orders)
- Pool: dashboard + PoolClient service (stats, blocks, payments, miner)
Infrastructure:
- composer.json: lthn/lthn.io deps (core/php + laravel 12)
- Dockerfile: FrankenPHP with Caddy
- Caddyfile: PHP server config
Co-Authored-By: Charon <charon@lethean.io>
2026-04-03 16:26:17 +01:00
|
|
|
|
2026-04-04 09:13:34 +01:00
|
|
|
public function onWebRoutes(WebRoutesRegistering $event): void
|
feat: complete module scaffolding — all 6 modules with controllers, routes, services
Modules built:
- Home: landing page with live chain stats and service directory
- Chain: DaemonRpc singleton, config, events
- Explorer: web + API controllers (block, tx, alias, search, stats)
- Names: TLD registrar (availability, lookup, directory, registration)
- Trade: DEX controllers + API (config, pairs, orders)
- Pool: dashboard + PoolClient service (stats, blocks, payments, miner)
Infrastructure:
- composer.json: lthn/lthn.io deps (core/php + laravel 12)
- Dockerfile: FrankenPHP with Caddy
- Caddyfile: PHP server config
Co-Authored-By: Charon <charon@lethean.io>
2026-04-03 16:26:17 +01:00
|
|
|
{
|
2026-04-04 09:36:59 +01:00
|
|
|
$event->routes(fn () => Route::prefix('pool')->group(__DIR__ . '/Routes/web.php'));
|
feat: complete module scaffolding — all 6 modules with controllers, routes, services
Modules built:
- Home: landing page with live chain stats and service directory
- Chain: DaemonRpc singleton, config, events
- Explorer: web + API controllers (block, tx, alias, search, stats)
- Names: TLD registrar (availability, lookup, directory, registration)
- Trade: DEX controllers + API (config, pairs, orders)
- Pool: dashboard + PoolClient service (stats, blocks, payments, miner)
Infrastructure:
- composer.json: lthn/lthn.io deps (core/php + laravel 12)
- Dockerfile: FrankenPHP with Caddy
- Caddyfile: PHP server config
Co-Authored-By: Charon <charon@lethean.io>
2026-04-03 16:26:17 +01:00
|
|
|
}
|
|
|
|
|
|
2026-04-04 12:51:53 +01:00
|
|
|
public function onApiRoutes(ApiRoutesRegistering $event): void
|
|
|
|
|
{
|
|
|
|
|
$event->routes(fn () => Route::prefix('v1/pool')->group(__DIR__ . '/Routes/api.php'));
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-04 09:13:34 +01:00
|
|
|
public function onFrameworkBooted(FrameworkBooted $event): void
|
feat: complete module scaffolding — all 6 modules with controllers, routes, services
Modules built:
- Home: landing page with live chain stats and service directory
- Chain: DaemonRpc singleton, config, events
- Explorer: web + API controllers (block, tx, alias, search, stats)
- Names: TLD registrar (availability, lookup, directory, registration)
- Trade: DEX controllers + API (config, pairs, orders)
- Pool: dashboard + PoolClient service (stats, blocks, payments, miner)
Infrastructure:
- composer.json: lthn/lthn.io deps (core/php + laravel 12)
- Dockerfile: FrankenPHP with Caddy
- Caddyfile: PHP server config
Co-Authored-By: Charon <charon@lethean.io>
2026-04-03 16:26:17 +01:00
|
|
|
{
|
2026-04-04 09:13:34 +01:00
|
|
|
app()->singleton(PoolClient::class);
|
|
|
|
|
app('config')->set('pool', require __DIR__ . '/config.php');
|
feat: complete module scaffolding — all 6 modules with controllers, routes, services
Modules built:
- Home: landing page with live chain stats and service directory
- Chain: DaemonRpc singleton, config, events
- Explorer: web + API controllers (block, tx, alias, search, stats)
- Names: TLD registrar (availability, lookup, directory, registration)
- Trade: DEX controllers + API (config, pairs, orders)
- Pool: dashboard + PoolClient service (stats, blocks, payments, miner)
Infrastructure:
- composer.json: lthn/lthn.io deps (core/php + laravel 12)
- Dockerfile: FrankenPHP with Caddy
- Caddyfile: PHP server config
Co-Authored-By: Charon <charon@lethean.io>
2026-04-03 16:26:17 +01:00
|
|
|
}
|
|
|
|
|
}
|