#include "brains_pool.hpp" void BraiinsPool::prepareRequest(HTTPClient& http) const { http.addHeader("Pool-Auth-Token", poolUser.c_str()); } std::string BraiinsPool::getApiUrl() const { return "https://pool.braiins.com/accounts/profile/json/btc/"; } PoolStats BraiinsPool::parseResponse(const JsonDocument &doc) const { std::string unit = doc["btc"]["hash_rate_unit"].as(); static const std::unordered_map multipliers = { {"Zh/s", 21}, {"Eh/s", 18}, {"Ph/s", 15}, {"Th/s", 12}, {"Gh/s", 9}, {"Mh/s", 6}, {"Kh/s", 3}}; int multiplier = multipliers.at(unit); float hashValue = doc["btc"]["hash_rate_5m"].as(); return PoolStats{ .hashrate = std::to_string(static_cast(std::round(hashValue))) + std::string(multiplier, '0'), .dailyEarnings = static_cast(doc["btc"]["today_reward"].as() * 100000000)}; } LogoData BraiinsPool::getLogo() const { return LogoData{ .data = epd_icons_allArray[5], .width = 122, .height = 250 }; }