lthn.io/app/Mod/Pool/Controllers/PoolController.php

57 lines
1.3 KiB
PHP
Raw Normal View History

<?php
declare(strict_types=1);
namespace Mod\Pool\Controllers;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Mod\Pool\Services\PoolClient;
/**
* Mining pool dashboard.
*
* GET /pool pool overview
* GET /pool/blocks blocks found
* GET /pool/payments payout history
* GET /pool/miner individual miner stats
*/
class PoolController extends Controller
{
public function __construct(
private readonly PoolClient $pool,
) {}
public function index(): \Illuminate\View\View
{
return view('pool::index', [
'stats' => $this->pool->getStats(),
]);
}
public function blocks(): \Illuminate\View\View
{
return view('pool::blocks', [
'blocks' => $this->pool->getBlocks(),
]);
}
public function payments(): \Illuminate\View\View
{
return view('pool::payments', [
'payments' => $this->pool->getPayments(),
]);
}
public function miner(Request $request): \Illuminate\View\View
{
$address = $request->get('address', '');
return view('pool::miner', [
'stats' => $address ? $this->pool->getMinerStats($address) : [],
'address' => $address,
]);
}
}