diff --git a/engineapi/engineapi/settings.py b/engineapi/engineapi/settings.py index 02ea9c9b..9ee4bab2 100644 --- a/engineapi/engineapi/settings.py +++ b/engineapi/engineapi/settings.py @@ -87,46 +87,42 @@ MOONSTREAM_AWS_SIGNER_INSTANCE_PORT = 17181 # Blockchain configuration -MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI = os.environ.get( - "MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI" -) -MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI = os.environ.get( - "MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI" -) -MOONSTREAM_POLYGON_WEB3_PROVIDER_URI = os.environ.get( - "MOONSTREAM_POLYGON_WEB3_PROVIDER_URI" -) -MOONSTREAM_XDAI_WEB3_PROVIDER_URI = os.environ.get("MOONSTREAM_XDAI_WEB3_PROVIDER_URI") - -# TODO(kompotkot): Leave a comment here explaining templated *_WEB3_PROVIDER_URI when we set -# NODEBALANCER_ACCESS_ID -ETHEREUM_PROVIDER_URI = MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI -MUMBAI_PROVIDER_URI = MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI -POLYGON_PROVIDER_URI = MOONSTREAM_POLYGON_WEB3_PROVIDER_URI -XDAI_PROVIDER_URI = MOONSTREAM_XDAI_WEB3_PROVIDER_URI - NODEBALANCER_ACCESS_ID = os.environ.get("ENGINE_NODEBALANCER_ACCESS_ID") -if NODEBALANCER_ACCESS_ID is not None: - NODEBALANCER_URI_TEMPLATE = "{}?access_id={}&data_source=blockchain" - ETHEREUM_PROVIDER_URI = NODEBALANCER_URI_TEMPLATE.format( - MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI, NODEBALANCER_ACCESS_ID - ) - MUMBAI_PROVIDER_URI = NODEBALANCER_URI_TEMPLATE.format( - MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI, NODEBALANCER_ACCESS_ID - ) - POLYGON_PROVIDER_URI = NODEBALANCER_URI_TEMPLATE.format( - MOONSTREAM_POLYGON_WEB3_PROVIDER_URI, NODEBALANCER_ACCESS_ID - ) - XDAI_PROVIDER_URI = NODEBALANCER_URI_TEMPLATE.format( - MOONSTREAM_XDAI_WEB3_PROVIDER_URI, NODEBALANCER_ACCESS_ID - ) -BLOCKCHAIN_PROVIDER_URIS = { - "ethereum": ETHEREUM_PROVIDER_URI, - "mumbai": MUMBAI_PROVIDER_URI, - "polygon": POLYGON_PROVIDER_URI, - "xdai": XDAI_PROVIDER_URI, -} +BLOCKCHAIN_PROVIDER_URIS = {} + +blockchain_names = [ + "ethereum", + "polygon", + "mumbai", + "amoy", + "xdai", + "zksync_era", + "zksync_era_sepolia", + "arbitrum_nova", + "arbitrum", + "xai", + "xai_sepolia", + "avalanche", + "avalanche_fuji", + "blast", + "blast_sepolia", +] + +for b in blockchain_names: + provider_uri = os.environ.get(f"MOONSTREAM_{b.upper()}_WEB3_PROVIDER_URI") + if provider_uri is None: + continue + + if NODEBALANCER_ACCESS_ID is not None: + NODEBALANCER_URI_TEMPLATE = "{}?access_id={}&data_source=blockchain" + provider_uri = NODEBALANCER_URI_TEMPLATE.format( + provider_uri, NODEBALANCER_ACCESS_ID + ) + + BLOCKCHAIN_PROVIDER_URIS[b] = provider_uri + + globals()[f"MOONSTREAM_{b.upper()}_WEB3_PROVIDER_URI"] = provider_uri SUPPORTED_BLOCKCHAINS = ", ".join(BLOCKCHAIN_PROVIDER_URIS) UNSUPPORTED_BLOCKCHAIN_ERROR_MESSAGE = f"That blockchain is not supported. The supported blockchains are: {SUPPORTED_BLOCKCHAINS}." diff --git a/engineapi/engineapi/version.txt b/engineapi/engineapi/version.txt index d169b2f2..c5d54ec3 100644 --- a/engineapi/engineapi/version.txt +++ b/engineapi/engineapi/version.txt @@ -1 +1 @@ -0.0.8 +0.0.9 diff --git a/engineapi/sample.env b/engineapi/sample.env index 8ed9f111..f24279e6 100644 --- a/engineapi/sample.env +++ b/engineapi/sample.env @@ -14,10 +14,21 @@ export ENGINE_REDIS_PASSWORD="" export ENGINE_REDIS_URL="localhost:6380" # Web3 Provider URIs -export MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI="" -export MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI="" -export MOONSTREAM_POLYGON_WEB3_PROVIDER_URI="" -export MOONSTREAM_XDAI_WEB3_PROVIDER_URI="" +export MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_POLYGON_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_AMOY_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_XDAI_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_ZKSYNC_ERA_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_ZKSYNC_ERA_SEPOLIA_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_ARBITRUM_NOVA_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_ARBITRUM_SEPOLIA_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_XAI_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_XAI_SEPOLIA_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_AVALANCHE_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_AVALANCHE_FUJI_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_BLAST_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_BLAST_SEPOLIA_WEB3_PROVIDER_URI="https://" export ENGINE_NODEBALANCER_ACCESS_ID="" # leaderboard config