Add local public pool support
All checks were successful
BTClock CI / build (push) Successful in 22m59s
BTClock CI / merge (map[name:btclock_rev_b version:esp32s3], 213epd) (push) Successful in 34s
BTClock CI / merge (map[name:btclock_v8 version:esp32s3], 213epd) (push) Successful in 22s
BTClock CI / merge (map[name:lolin_s3_mini version:esp32s3], 213epd) (push) Successful in 32s
BTClock CI / merge (map[name:lolin_s3_mini version:esp32s3], 29epd) (push) Successful in 19s
BTClock CI / release (push) Successful in 11s
All checks were successful
BTClock CI / build (push) Successful in 22m59s
BTClock CI / merge (map[name:btclock_rev_b version:esp32s3], 213epd) (push) Successful in 34s
BTClock CI / merge (map[name:btclock_v8 version:esp32s3], 213epd) (push) Successful in 22s
BTClock CI / merge (map[name:lolin_s3_mini version:esp32s3], 213epd) (push) Successful in 32s
BTClock CI / merge (map[name:lolin_s3_mini version:esp32s3], 29epd) (push) Successful in 19s
BTClock CI / release (push) Successful in 11s
This commit is contained in:
parent
963f3b10b7
commit
1083a3222b
9 changed files with 34 additions and 7 deletions
2
data
2
data
|
@ -1 +1 @@
|
||||||
Subproject commit 91e60d2f4cd7437075a6e10ea0f395b2650ed531
|
Subproject commit e0d539a8a3d29669ccc116311870f317b0d9dfcc
|
|
@ -4,6 +4,6 @@ dependencies:
|
||||||
source:
|
source:
|
||||||
type: idf
|
type: idf
|
||||||
version: 4.4.7
|
version: 4.4.7
|
||||||
manifest_hash: cd2f3ee15e776d949eb4ea4eddc8f39b30c2a7905050850eed01ab4928143cff
|
manifest_hash: 04e75badb795f8a851d8b088baff06d145ecf7a66457d960c2f4ede17b45ef05
|
||||||
target: esp32s3
|
target: esp32s3
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
|
|
|
@ -60,6 +60,7 @@
|
||||||
#define DEFAULT_MINING_POOL_STATS_ENABLED false
|
#define DEFAULT_MINING_POOL_STATS_ENABLED false
|
||||||
#define DEFAULT_MINING_POOL_NAME "ocean"
|
#define DEFAULT_MINING_POOL_NAME "ocean"
|
||||||
#define DEFAULT_MINING_POOL_USER "38Qkkei3SuF1Eo45BaYmRHUneRD54yyTFy" // Random actual Ocean hasher
|
#define DEFAULT_MINING_POOL_USER "38Qkkei3SuF1Eo45BaYmRHUneRD54yyTFy" // Random actual Ocean hasher
|
||||||
|
#define DEFAULT_LOCAL_POOL_ENDPOINT "umbrel.local:2019"
|
||||||
|
|
||||||
#define DEFAULT_ZAP_NOTIFY_ENABLED false
|
#define DEFAULT_ZAP_NOTIFY_ENABLED false
|
||||||
#define DEFAULT_ZAP_NOTIFY_PUBKEY "b5127a08cf33616274800a4387881a9f98e04b9c37116e92de5250498635c422"
|
#define DEFAULT_ZAP_NOTIFY_PUBKEY "b5127a08cf33616274800a4387881a9f98e04b9c37116e92de5250498635c422"
|
||||||
|
|
|
@ -5,6 +5,7 @@ const char* PoolFactory::MINING_POOL_NAME_NODERUNNERS = "noderunners";
|
||||||
const char* PoolFactory::MINING_POOL_NAME_BRAIINS = "braiins";
|
const char* PoolFactory::MINING_POOL_NAME_BRAIINS = "braiins";
|
||||||
const char* PoolFactory::MINING_POOL_NAME_SATOSHI_RADIO = "satoshi_radio";
|
const char* PoolFactory::MINING_POOL_NAME_SATOSHI_RADIO = "satoshi_radio";
|
||||||
const char* PoolFactory::MINING_POOL_NAME_PUBLIC_POOL = "public_pool";
|
const char* PoolFactory::MINING_POOL_NAME_PUBLIC_POOL = "public_pool";
|
||||||
|
const char* PoolFactory::MINING_POOL_NAME_LOCAL_PUBLIC_POOL = "local_public_pool";
|
||||||
const char* PoolFactory::MINING_POOL_NAME_GOBRRR_POOL = "gobrrr_pool";
|
const char* PoolFactory::MINING_POOL_NAME_GOBRRR_POOL = "gobrrr_pool";
|
||||||
const char* PoolFactory::MINING_POOL_NAME_CKPOOL = "ckpool";
|
const char* PoolFactory::MINING_POOL_NAME_CKPOOL = "ckpool";
|
||||||
const char* PoolFactory::MINING_POOL_NAME_EU_CKPOOL = "eu_ckpool";
|
const char* PoolFactory::MINING_POOL_NAME_EU_CKPOOL = "eu_ckpool";
|
||||||
|
@ -17,6 +18,7 @@ std::unique_ptr<MiningPoolInterface> PoolFactory::createPool(const std::string&
|
||||||
{MINING_POOL_NAME_BRAIINS, []() { return std::make_unique<BraiinsPool>(); }},
|
{MINING_POOL_NAME_BRAIINS, []() { return std::make_unique<BraiinsPool>(); }},
|
||||||
{MINING_POOL_NAME_SATOSHI_RADIO, []() { return std::make_unique<SatoshiRadioPool>(); }},
|
{MINING_POOL_NAME_SATOSHI_RADIO, []() { return std::make_unique<SatoshiRadioPool>(); }},
|
||||||
{MINING_POOL_NAME_PUBLIC_POOL, []() { return std::make_unique<PublicPool>(); }},
|
{MINING_POOL_NAME_PUBLIC_POOL, []() { return std::make_unique<PublicPool>(); }},
|
||||||
|
{MINING_POOL_NAME_LOCAL_PUBLIC_POOL, []() { return std::make_unique<LocalPublicPool>(); }},
|
||||||
{MINING_POOL_NAME_GOBRRR_POOL, []() { return std::make_unique<GoBrrrPool>(); }},
|
{MINING_POOL_NAME_GOBRRR_POOL, []() { return std::make_unique<GoBrrrPool>(); }},
|
||||||
{MINING_POOL_NAME_CKPOOL, []() { return std::make_unique<CKPool>(); }},
|
{MINING_POOL_NAME_CKPOOL, []() { return std::make_unique<CKPool>(); }},
|
||||||
{MINING_POOL_NAME_EU_CKPOOL, []() { return std::make_unique<EUCKPool>(); }}
|
{MINING_POOL_NAME_EU_CKPOOL, []() { return std::make_unique<EUCKPool>(); }}
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#include "ocean/ocean_pool.hpp"
|
#include "ocean/ocean_pool.hpp"
|
||||||
#include "satoshi_radio/satoshi_radio_pool.hpp"
|
#include "satoshi_radio/satoshi_radio_pool.hpp"
|
||||||
#include "public_pool/public_pool.hpp"
|
#include "public_pool/public_pool.hpp"
|
||||||
|
#include "public_pool/local_public_pool.hpp"
|
||||||
#include "gobrrr_pool/gobrrr_pool.hpp"
|
#include "gobrrr_pool/gobrrr_pool.hpp"
|
||||||
#include "ckpool/ckpool.hpp"
|
#include "ckpool/ckpool.hpp"
|
||||||
#include "ckpool/eu_ckpool.hpp"
|
#include "ckpool/eu_ckpool.hpp"
|
||||||
|
@ -28,6 +29,7 @@ class PoolFactory {
|
||||||
MINING_POOL_NAME_SATOSHI_RADIO,
|
MINING_POOL_NAME_SATOSHI_RADIO,
|
||||||
MINING_POOL_NAME_BRAIINS,
|
MINING_POOL_NAME_BRAIINS,
|
||||||
MINING_POOL_NAME_PUBLIC_POOL,
|
MINING_POOL_NAME_PUBLIC_POOL,
|
||||||
|
MINING_POOL_NAME_LOCAL_PUBLIC_POOL,
|
||||||
MINING_POOL_NAME_GOBRRR_POOL,
|
MINING_POOL_NAME_GOBRRR_POOL,
|
||||||
MINING_POOL_NAME_CKPOOL,
|
MINING_POOL_NAME_CKPOOL,
|
||||||
MINING_POOL_NAME_EU_CKPOOL
|
MINING_POOL_NAME_EU_CKPOOL
|
||||||
|
@ -55,6 +57,7 @@ class PoolFactory {
|
||||||
static const char* MINING_POOL_NAME_BRAIINS;
|
static const char* MINING_POOL_NAME_BRAIINS;
|
||||||
static const char* MINING_POOL_NAME_SATOSHI_RADIO;
|
static const char* MINING_POOL_NAME_SATOSHI_RADIO;
|
||||||
static const char* MINING_POOL_NAME_PUBLIC_POOL;
|
static const char* MINING_POOL_NAME_PUBLIC_POOL;
|
||||||
|
static const char* MINING_POOL_NAME_LOCAL_PUBLIC_POOL;
|
||||||
static const char* MINING_POOL_NAME_GOBRRR_POOL;
|
static const char* MINING_POOL_NAME_GOBRRR_POOL;
|
||||||
static const char* MINING_POOL_NAME_CKPOOL;
|
static const char* MINING_POOL_NAME_CKPOOL;
|
||||||
static const char* MINING_POOL_NAME_EU_CKPOOL;
|
static const char* MINING_POOL_NAME_EU_CKPOOL;
|
||||||
|
|
11
src/lib/mining_pool/public_pool/local_public_pool.cpp
Normal file
11
src/lib/mining_pool/public_pool/local_public_pool.cpp
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#include "local_public_pool.hpp"
|
||||||
|
#include "lib/shared.hpp"
|
||||||
|
#include "lib/defaults.hpp"
|
||||||
|
|
||||||
|
std::string LocalPublicPool::getEndpoint() const {
|
||||||
|
return preferences.getString("localPoolEndpoint", DEFAULT_LOCAL_POOL_ENDPOINT).c_str();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string LocalPublicPool::getApiUrl() const {
|
||||||
|
return "http://" + getEndpoint() + "/api/client/" + poolUser;
|
||||||
|
}
|
11
src/lib/mining_pool/public_pool/local_public_pool.hpp
Normal file
11
src/lib/mining_pool/public_pool/local_public_pool.hpp
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "public_pool.hpp"
|
||||||
|
|
||||||
|
class LocalPublicPool : public PublicPool {
|
||||||
|
public:
|
||||||
|
std::string getApiUrl() const override;
|
||||||
|
std::string getDisplayLabel() const override { return "LOCAL/POOL"; }
|
||||||
|
private:
|
||||||
|
std::string getEndpoint() const;
|
||||||
|
};
|
|
@ -155,10 +155,6 @@ namespace V2Notify
|
||||||
}
|
}
|
||||||
else if (doc["price"].is<JsonObject>())
|
else if (doc["price"].is<JsonObject>())
|
||||||
{
|
{
|
||||||
if (debugLogEnabled()) {
|
|
||||||
Serial.print(F("processNewPrice "));
|
|
||||||
Serial.println(doc["price"].as<JsonObject>().size());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Iterate through the key-value pairs of the "price" object
|
// Iterate through the key-value pairs of the "price" object
|
||||||
for (JsonPair kv : doc["price"].as<JsonObject>())
|
for (JsonPair kv : doc["price"].as<JsonObject>())
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
static const char* JSON_CONTENT = "application/json";
|
static const char* JSON_CONTENT = "application/json";
|
||||||
|
|
||||||
static const char *const PROGMEM strSettings[] = {
|
static const char *const PROGMEM strSettings[] = {
|
||||||
"hostnamePrefix", "mempoolInstance", "nostrPubKey", "nostrRelay", "bitaxeHostname", "miningPoolName", "miningPoolUser", "nostrZapPubkey", "httpAuthUser", "httpAuthPass", "gitReleaseUrl", "poolLogosUrl", "ceEndpoint", "fontName"};
|
"hostnamePrefix", "mempoolInstance", "nostrPubKey", "nostrRelay", "bitaxeHostname", "miningPoolName", "miningPoolUser", "nostrZapPubkey", "httpAuthUser", "httpAuthPass", "gitReleaseUrl", "poolLogosUrl", "ceEndpoint", "fontName", "localPoolEndpoint"};
|
||||||
|
|
||||||
static const char *const PROGMEM uintSettings[] = {"minSecPriceUpd", "fullRefreshMin", "ledBrightness", "flMaxBrightness", "flEffectDelay", "luxLightToggle", "wpTimeout"};
|
static const char *const PROGMEM uintSettings[] = {"minSecPriceUpd", "fullRefreshMin", "ledBrightness", "flMaxBrightness", "flEffectDelay", "luxLightToggle", "wpTimeout"};
|
||||||
|
|
||||||
|
@ -696,6 +696,9 @@ void onApiSettingsGet(AsyncWebServerRequest *request)
|
||||||
root["mempoolInstance"] = preferences.getString("mempoolInstance", DEFAULT_MEMPOOL_INSTANCE);
|
root["mempoolInstance"] = preferences.getString("mempoolInstance", DEFAULT_MEMPOOL_INSTANCE);
|
||||||
root["mempoolSecure"] = preferences.getBool("mempoolSecure", DEFAULT_MEMPOOL_SECURE);
|
root["mempoolSecure"] = preferences.getBool("mempoolSecure", DEFAULT_MEMPOOL_SECURE);
|
||||||
|
|
||||||
|
// Local pool settings
|
||||||
|
root["localPoolEndpoint"] = preferences.getString("localPoolEndpoint", DEFAULT_LOCAL_POOL_ENDPOINT);
|
||||||
|
|
||||||
// Nostr settings (used for NOSTR_SOURCE or when zapNotify is enabled)
|
// Nostr settings (used for NOSTR_SOURCE or when zapNotify is enabled)
|
||||||
root["nostrPubKey"] = preferences.getString("nostrPubKey", DEFAULT_NOSTR_NPUB);
|
root["nostrPubKey"] = preferences.getString("nostrPubKey", DEFAULT_NOSTR_NPUB);
|
||||||
root["nostrRelay"] = preferences.getString("nostrRelay", DEFAULT_NOSTR_RELAY);
|
root["nostrRelay"] = preferences.getString("nostrRelay", DEFAULT_NOSTR_RELAY);
|
||||||
|
|
Loading…
Add table
Reference in a new issue