public function index(Manager $fractal, InfoTransformer $infoTransformer) { $miningInfo = sendRpcCommand($this->client, 'getmininginfo'); if ($miningInfo === false) { return $this->setStatusCode(500)->respond(['errors' => ['unknown-error']]); } $lastBlock = Block::orderBy('height', 'desc')->first(); $omc_btc_price = getOption('omc_btc_price'); $btc_usd_price = getOption('btc_usd_price'); $item = new Item((object) ['mining_info' => $miningInfo->result, 'last_block' => $lastBlock, 'omc_btc_price' => $omc_btc_price, 'btc_usd_price' => $btc_usd_price], $infoTransformer); $data = $fractal->setSerializer(new ArraySerializer())->createData($item)->toArray(); return $this->respond($data); }
public function show($hash, Manager $fractal, BlockTransformer $blockTransformer) { $fractal->parseIncludes('transactions.inputs,transactions.outputs'); $block = Block::where('hash', $hash)->get()->first(); if (is_null($block)) { $block = is_numeric($hash) ? Block::where('height', $hash)->get()->first() : null; if (is_null($block)) { return $this->setStatusCode(404)->respond(['errors' => ['invalid-block']]); } } $block->miner_reward = $block->transactions[0]->outputs[0]->value; $item = new Item($block, $blockTransformer); $data = $fractal->setSerializer(new ArraySerializer())->createData($item)->toArray(); return $this->respond($data); }