2021-07-26 22:15:50 +00:00
|
|
|
import os
|
2022-05-26 12:41:58 +00:00
|
|
|
from typing import Optional, cast
|
2022-03-17 20:07:28 +00:00
|
|
|
from uuid import UUID
|
2021-07-26 22:15:50 +00:00
|
|
|
|
2021-11-13 15:21:41 +00:00
|
|
|
from bugout.app import Bugout
|
|
|
|
|
2021-12-21 15:23:26 +00:00
|
|
|
BUGOUT_RESOURCE_TYPE_SUBSCRIPTION = "subscription"
|
|
|
|
BUGOUT_RESOURCE_TYPE_DASHBOARD = "dashboards"
|
|
|
|
|
|
|
|
|
2021-09-01 13:41:31 +00:00
|
|
|
# Bugout
|
2021-11-13 15:21:41 +00:00
|
|
|
BUGOUT_BROOD_URL = os.environ.get("BUGOUT_BROOD_URL", "https://auth.bugout.dev")
|
|
|
|
BUGOUT_SPIRE_URL = os.environ.get("BUGOUT_SPIRE_URL", "https://spire.bugout.dev")
|
2021-11-13 15:51:32 +00:00
|
|
|
bugout_client = Bugout(brood_api_url=BUGOUT_BROOD_URL, spire_api_url=BUGOUT_SPIRE_URL)
|
2021-11-13 15:21:41 +00:00
|
|
|
|
2021-09-01 13:41:31 +00:00
|
|
|
HUMBUG_REPORTER_CRAWLERS_TOKEN = os.environ.get("HUMBUG_REPORTER_CRAWLERS_TOKEN")
|
|
|
|
|
2021-11-13 15:51:32 +00:00
|
|
|
# Origin
|
|
|
|
RAW_ORIGINS = os.environ.get("MOONSTREAM_CORS_ALLOWED_ORIGINS")
|
|
|
|
if RAW_ORIGINS is None:
|
|
|
|
raise ValueError(
|
|
|
|
"MOONSTREAM_CORS_ALLOWED_ORIGINS environment variable must be set (comma-separated list of CORS allowed origins)"
|
|
|
|
)
|
|
|
|
ORIGINS = RAW_ORIGINS.split(",")
|
|
|
|
|
|
|
|
# OpenAPI
|
|
|
|
DOCS_TARGET_PATH = "docs"
|
|
|
|
|
2022-01-24 17:35:46 +00:00
|
|
|
|
2021-11-14 14:15:07 +00:00
|
|
|
# Crawler label
|
2021-12-16 19:43:32 +00:00
|
|
|
CRAWLER_LABEL = "moonworm-alpha"
|
2021-11-14 14:15:07 +00:00
|
|
|
|
2021-11-04 12:50:36 +00:00
|
|
|
# Geth connection address
|
2021-12-22 09:34:18 +00:00
|
|
|
MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI = os.environ.get(
|
2021-12-22 12:36:06 +00:00
|
|
|
"MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI", ""
|
2021-11-04 12:50:36 +00:00
|
|
|
)
|
2021-12-22 12:36:06 +00:00
|
|
|
if MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI == "":
|
2021-12-22 09:34:18 +00:00
|
|
|
raise Exception("MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI env variable is not set")
|
2022-05-24 08:21:53 +00:00
|
|
|
|
2021-12-22 09:34:18 +00:00
|
|
|
MOONSTREAM_POLYGON_WEB3_PROVIDER_URI = os.environ.get(
|
2021-12-22 12:36:06 +00:00
|
|
|
"MOONSTREAM_POLYGON_WEB3_PROVIDER_URI", ""
|
2021-11-08 15:08:57 +00:00
|
|
|
)
|
2021-12-22 12:36:06 +00:00
|
|
|
if MOONSTREAM_POLYGON_WEB3_PROVIDER_URI == "":
|
2021-12-22 09:34:18 +00:00
|
|
|
raise Exception("MOONSTREAM_POLYGON_WEB3_PROVIDER_URI env variable is not set")
|
2021-07-26 22:15:50 +00:00
|
|
|
|
2022-08-10 16:55:49 +00:00
|
|
|
MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI = os.environ.get(
|
|
|
|
"MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI", ""
|
|
|
|
)
|
|
|
|
if MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI == "":
|
|
|
|
raise Exception("MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI env variable is not set")
|
|
|
|
|
2022-05-24 08:21:53 +00:00
|
|
|
MOONSTREAM_XDAI_WEB3_PROVIDER_URI = os.environ.get(
|
|
|
|
"MOONSTREAM_XDAI_WEB3_PROVIDER_URI", ""
|
|
|
|
)
|
|
|
|
if MOONSTREAM_XDAI_WEB3_PROVIDER_URI == "":
|
|
|
|
raise Exception("MOONSTREAM_XDAI_WEB3_PROVIDER_URI env variable is not set")
|
|
|
|
|
2021-07-26 22:15:50 +00:00
|
|
|
MOONSTREAM_CRAWL_WORKERS = 4
|
|
|
|
MOONSTREAM_CRAWL_WORKERS_RAW = os.environ.get("MOONSTREAM_CRAWL_WORKERS")
|
|
|
|
try:
|
|
|
|
if MOONSTREAM_CRAWL_WORKERS_RAW is not None:
|
|
|
|
MOONSTREAM_CRAWL_WORKERS = int(MOONSTREAM_CRAWL_WORKERS_RAW)
|
|
|
|
except:
|
|
|
|
raise Exception(
|
|
|
|
f"Could not parse MOONSTREAM_CRAWL_WORKERS as int: {MOONSTREAM_CRAWL_WORKERS_RAW}"
|
|
|
|
)
|
2021-08-18 14:24:09 +00:00
|
|
|
|
2021-09-01 13:41:31 +00:00
|
|
|
# Etherscan
|
2021-08-18 14:24:09 +00:00
|
|
|
MOONSTREAM_ETHERSCAN_TOKEN = os.environ.get("MOONSTREAM_ETHERSCAN_TOKEN")
|
2021-09-22 08:37:07 +00:00
|
|
|
|
|
|
|
# NFT crawler
|
2021-09-23 10:13:06 +00:00
|
|
|
NFT_HUMBUG_TOKEN = os.environ.get("NFT_HUMBUG_TOKEN", "")
|
|
|
|
if NFT_HUMBUG_TOKEN == "":
|
|
|
|
raise ValueError("NFT_HUMBUG_TOKEN env variable is not set")
|
2021-09-22 08:37:07 +00:00
|
|
|
|
2021-09-22 13:53:11 +00:00
|
|
|
MOONSTREAM_ADMIN_ACCESS_TOKEN = os.environ.get("MOONSTREAM_ADMIN_ACCESS_TOKEN", "")
|
|
|
|
if MOONSTREAM_ADMIN_ACCESS_TOKEN == "":
|
2021-09-22 08:37:07 +00:00
|
|
|
raise ValueError("MOONSTREAM_ADMIN_ACCESS_TOKEN env variable is not set")
|
|
|
|
|
2021-09-22 13:53:11 +00:00
|
|
|
MOONSTREAM_DATA_JOURNAL_ID = os.environ.get("MOONSTREAM_DATA_JOURNAL_ID", "")
|
|
|
|
if MOONSTREAM_DATA_JOURNAL_ID == "":
|
2021-09-22 08:37:07 +00:00
|
|
|
raise ValueError("MOONSTREAM_DATA_JOURNAL_ID env variable is not set")
|
2021-11-14 12:58:15 +00:00
|
|
|
|
|
|
|
|
|
|
|
MOONSTREAM_S3_SMARTCONTRACTS_ABI_PREFIX = os.environ.get(
|
|
|
|
"MOONSTREAM_S3_SMARTCONTRACTS_ABI_PREFIX"
|
|
|
|
)
|
|
|
|
if MOONSTREAM_S3_SMARTCONTRACTS_ABI_PREFIX is None:
|
|
|
|
raise ValueError(
|
|
|
|
"MOONSTREAM_S3_SMARTCONTRACTS_ABI_PREFIX environment variable must be set"
|
|
|
|
)
|
2021-12-09 12:56:38 +00:00
|
|
|
|
|
|
|
MOONSTREAM_MOONWORM_TASKS_JOURNAL = os.environ.get(
|
|
|
|
"MOONSTREAM_MOONWORM_TASKS_JOURNAL", ""
|
|
|
|
)
|
|
|
|
if MOONSTREAM_MOONWORM_TASKS_JOURNAL == "":
|
|
|
|
raise ValueError(
|
|
|
|
"MOONSTREAM_MOONWORM_TASKS_JOURNAL environment variable must be set"
|
|
|
|
)
|
2022-02-16 16:12:42 +00:00
|
|
|
|
|
|
|
|
2022-03-09 12:44:54 +00:00
|
|
|
MOONSTREAM_S3_QUERIES_BUCKET = os.environ.get("MOONSTREAM_S3_QUERIES_BUCKET", "")
|
|
|
|
if MOONSTREAM_S3_QUERIES_BUCKET == "":
|
|
|
|
raise ValueError("MOONSTREAM_S3_QUERIES_BUCKET environment variable must be set")
|
2022-03-08 13:18:27 +00:00
|
|
|
|
|
|
|
|
2022-03-09 12:44:54 +00:00
|
|
|
MOONSTREAM_S3_QUERIES_BUCKET_PREFIX = os.environ.get(
|
|
|
|
"MOONSTREAM_S3_QUERIES_BUCKET_PREFIX", ""
|
2022-03-08 13:18:27 +00:00
|
|
|
)
|
2022-03-09 12:44:54 +00:00
|
|
|
if MOONSTREAM_S3_QUERIES_BUCKET_PREFIX == "":
|
2022-03-08 13:18:27 +00:00
|
|
|
raise ValueError(
|
2022-03-09 12:44:54 +00:00
|
|
|
"MOONSTREAM_S3_QUERIES_BUCKET_PREFIX environment variable must be set"
|
2022-03-08 13:18:27 +00:00
|
|
|
)
|
2022-03-17 19:19:48 +00:00
|
|
|
|
|
|
|
# Node balancer
|
|
|
|
NB_ACCESS_ID_HEADER = os.environ.get("NB_ACCESS_ID_HEADER", "x-node-balancer-access-id")
|
|
|
|
NB_DATA_SOURCE_HEADER = os.environ.get(
|
|
|
|
"NB_DATA_SOURCE_HEADER", "x-node-balancer-data-source"
|
|
|
|
)
|
2022-03-17 20:07:28 +00:00
|
|
|
|
|
|
|
NB_CONTROLLER_ACCESS_ID: Optional[UUID] = None
|
|
|
|
NB_CONTROLLER_ACCESS_ID_RAW = os.environ.get("NB_CONTROLLER_ACCESS_ID", "")
|
|
|
|
try:
|
|
|
|
NB_CONTROLLER_ACCESS_ID = UUID(NB_CONTROLLER_ACCESS_ID_RAW)
|
|
|
|
except:
|
|
|
|
pass
|