mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-02-24 14:51:05 +01:00
47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
from sqlite3 import Row
|
|
|
|
from fastapi import Query
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class Gerty(BaseModel):
|
|
id: str = Query(None)
|
|
name: str
|
|
refresh_time: int = Query(None)
|
|
utc_offset: int = Query(None)
|
|
wallet: str = Query(None)
|
|
type: str
|
|
lnbits_wallets: str = Query(
|
|
None
|
|
) # Wallets to keep an eye on, {"wallet-id": "wallet-read-key, etc"}
|
|
mempool_endpoint: str = Query(None) # Mempool endpoint to use
|
|
exchange: str = Query(
|
|
None
|
|
) # BTC <-> Fiat exchange rate to pull ie "USD", in 0.0001 and sats
|
|
display_preferences: str = Query(None)
|
|
urls: str = Query(None)
|
|
|
|
@classmethod
|
|
def from_row(cls, row: Row) -> "Gerty":
|
|
return cls(**dict(row))
|
|
|
|
|
|
#########MEMPOOL MODELS###########
|
|
|
|
|
|
class MempoolEndpoint(BaseModel):
|
|
fees_recommended: str = "/api/v1/fees/recommended"
|
|
hashrate_1w: str = "/api/v1/mining/hashrate/1w"
|
|
hashrate_1m: str = "/api/v1/mining/hashrate/1m"
|
|
statistics: str = "/api/v1/lightning/statistics/latest"
|
|
difficulty_adjustment: str = "/api/v1/difficulty-adjustment"
|
|
tip_height: str = "/api/blocks/tip/height"
|
|
mempool: str = "/api/mempool"
|
|
|
|
|
|
class Mempool(BaseModel):
|
|
id: str = Query(None)
|
|
mempool_endpoint: str = Query(None)
|
|
endpoint: str = Query(None)
|
|
data: str = Query(None)
|
|
time: int = Query(None)
|