diff --git a/moonstreamapi/configs/sample.env b/moonstreamapi/configs/sample.env index fb5eaffd..c30014c7 100644 --- a/moonstreamapi/configs/sample.env +++ b/moonstreamapi/configs/sample.env @@ -15,9 +15,27 @@ export MOONSTREAM_CRAWLERS_SERVER_PORT="" # Blockchain, txpool, whalewatch data depends variables export MOONSTREAM_DATA_JOURNAL_ID="" export HUMBUG_TXPOOL_CLIENT_ID="" -export MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_POLYGON_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_XDAI_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_WYRM_WEB3_PROVIDER_URI="https://" +export MOONSTREAM_ZKSYNC_ERA_TESTNET_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 MOONSTREAM_QUERIES_JOURNAL_ID="" export MOONSTREAM_USAGE_REPORTS_JOURNAL_ID="" +export MOONSTREAM_PUBLIC_QUERIES_DATA_ACCESS_TOKEN="" +export MOONSTREAM_LEADERBOARD_GENERATOR_JOURNAL_ID="" # Set following parameters if AWS node instance and S3 smartcontracts configured export MOONSTREAM_S3_SMARTCONTRACTS_BUCKET="" diff --git a/moonstreamapi/moonstreamapi/providers/__init__.py b/moonstreamapi/moonstreamapi/providers/__init__.py index 9af34b0c..abae0fad 100644 --- a/moonstreamapi/moonstreamapi/providers/__init__.py +++ b/moonstreamapi/moonstreamapi/providers/__init__.py @@ -74,7 +74,7 @@ event_providers: Dict[str, Any] = { transactions.XaiTransactions.event_type: transactions.XaiTransactions, transactions.XaiSepoliaTransactions.event_type: transactions.XaiSepoliaTransactions, transactions.AvalancheTransactions.event_type: transactions.AvalancheTransactions, - transactions.AvalancheFujiSepoliaTransactions.event_type: transactions.AvalancheFujiSepoliaTransactions, + transactions.AvalancheFujiTransactions.event_type: transactions.AvalancheFujiTransactions, transactions.BlastTransactions.event_type: transactions.BlastTransactions, transactions.BlastSepoliaTransactions.event_type: transactions.BlastSepoliaTransactions, bugout.polygon_whalewatch_provider.event_type: bugout.polygon_whalewatch_provider, diff --git a/moonstreamapi/moonstreamapi/settings.py b/moonstreamapi/moonstreamapi/settings.py index 0951a289..463079ab 100644 --- a/moonstreamapi/moonstreamapi/settings.py +++ b/moonstreamapi/moonstreamapi/settings.py @@ -144,6 +144,14 @@ MOONSTREAM_ZKSYNC_ERA_WEB3_PROVIDER_URI = os.environ.get( if MOONSTREAM_ZKSYNC_ERA_WEB3_PROVIDER_URI == "": raise Exception("MOONSTREAM_ZKSYNC_ERA_WEB3_PROVIDER_URI env variable is not set") +MOONSTREAM_ZKSYNC_ERA_SEPOLIA_WEB3_PROVIDER_URI = os.environ.get( + "MOONSTREAM_ZKSYNC_ERA_SEPOLIA_WEB3_PROVIDER_URI", "" +) +if MOONSTREAM_ZKSYNC_ERA_SEPOLIA_WEB3_PROVIDER_URI == "": + raise Exception( + "MOONSTREAM_ZKSYNC_ERA_SEPOLIA_WEB3_PROVIDER_URI env variable is not set" + ) + MOONSTREAM_ARBITRUM_NOVA_WEB3_PROVIDER_URI = os.environ.get( "MOONSTREAM_ARBITRUM_NOVA_WEB3_PROVIDER_URI", "" ) @@ -166,6 +174,40 @@ MOONSTREAM_XAI_WEB3_PROVIDER_URI = os.environ.get( if MOONSTREAM_XAI_WEB3_PROVIDER_URI == "": raise Exception("MOONSTREAM_XAI_WEB3_PROVIDER_URI env variable is not set") +MOONSTREAM_XAI_SEPOLIA_WEB3_PROVIDER_URI = os.environ.get( + "MOONSTREAM_XAI_SEPOLIA_WEB3_PROVIDER_URI", "" +) +if MOONSTREAM_XAI_SEPOLIA_WEB3_PROVIDER_URI == "": + raise Exception("MOONSTREAM_XAI_SEPOLIA_WEB3_PROVIDER_URI env variable is not set") + +MOONSTREAM_AVALANCHE_WEB3_PROVIDER_URI = os.environ.get( + "MOONSTREAM_AVALANCHE_WEB3_PROVIDER_URI", "" +) +if MOONSTREAM_AVALANCHE_WEB3_PROVIDER_URI == "": + raise Exception("MOONSTREAM_AVALANCHE_WEB3_PROVIDER_URI env variable is not set") + +MOONSTREAM_AVALANCHE_FUJI_WEB3_PROVIDER_URI = os.environ.get( + "MOONSTREAM_AVALANCHE_FUJI_WEB3_PROVIDER_URI", "" +) +if MOONSTREAM_AVALANCHE_FUJI_WEB3_PROVIDER_URI == "": + raise Exception( + "MOONSTREAM_AVALANCHE_FUJI_WEB3_PROVIDER_URI env variable is not set" + ) + +MOONSTREAM_BLAST_WEB3_PROVIDER_URI = os.environ.get( + "MOONSTREAM_BLAST_WEB3_PROVIDER_URI", "" +) +if MOONSTREAM_BLAST_WEB3_PROVIDER_URI == "": + raise Exception("MOONSTREAM_BLAST_WEB3_PROVIDER_URI env variable is not set") + +MOONSTREAM_BLAST_SEPOLIA_WEB3_PROVIDER_URI = os.environ.get( + "MOONSTREAM_BLAST_SEPOLIA_WEB3_PROVIDER_URI", "" +) +if MOONSTREAM_BLAST_SEPOLIA_WEB3_PROVIDER_URI == "": + raise Exception( + "MOONSTREAM_BLAST_SEPOLIA_WEB3_PROVIDER_URI env variable is not set" + ) + ## QueryAPI MOONSTREAM_S3_QUERIES_BUCKET = os.environ.get("MOONSTREAM_S3_QUERIES_BUCKET", "") diff --git a/moonstreamapi/moonstreamapi/web3_provider.py b/moonstreamapi/moonstreamapi/web3_provider.py index dae62ef5..9ac0c3af 100644 --- a/moonstreamapi/moonstreamapi/web3_provider.py +++ b/moonstreamapi/moonstreamapi/web3_provider.py @@ -14,12 +14,18 @@ from web3.providers.rpc import HTTPProvider from .settings import ( MOONSTREAM_ARBITRUM_NOVA_WEB3_PROVIDER_URI, MOONSTREAM_ARBITRUM_SEPOLIA_WEB3_PROVIDER_URI, + MOONSTREAM_AVALANCHE_FUJI_WEB3_PROVIDER_URI, + MOONSTREAM_AVALANCHE_WEB3_PROVIDER_URI, + MOONSTREAM_BLAST_SEPOLIA_WEB3_PROVIDER_URI, + MOONSTREAM_BLAST_WEB3_PROVIDER_URI, MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI, MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI, MOONSTREAM_POLYGON_WEB3_PROVIDER_URI, MOONSTREAM_WYRM_WEB3_PROVIDER_URI, + MOONSTREAM_XAI_SEPOLIA_WEB3_PROVIDER_URI, MOONSTREAM_XAI_WEB3_PROVIDER_URI, MOONSTREAM_XDAI_WEB3_PROVIDER_URI, + MOONSTREAM_ZKSYNC_ERA_SEPOLIA_WEB3_PROVIDER_URI, MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI, MOONSTREAM_ZKSYNC_ERA_WEB3_PROVIDER_URI, NB_ACCESS_ID_HEADER, @@ -76,12 +82,24 @@ def connect( web3_uri = MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA: web3_uri = MOONSTREAM_ZKSYNC_ERA_WEB3_PROVIDER_URI + elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_SEPOLIA: + web3_uri = MOONSTREAM_ZKSYNC_ERA_SEPOLIA_WEB3_PROVIDER_URI elif blockchain_type == AvailableBlockchainType.ARBITRUM_NOVA: web3_uri = MOONSTREAM_ARBITRUM_NOVA_WEB3_PROVIDER_URI elif blockchain_type == AvailableBlockchainType.ARBITRUM_SEPOLIA: web3_uri = MOONSTREAM_ARBITRUM_SEPOLIA_WEB3_PROVIDER_URI elif blockchain_type == AvailableBlockchainType.XAI: web3_uri = MOONSTREAM_XAI_WEB3_PROVIDER_URI + elif blockchain_type == AvailableBlockchainType.XAI_SEPOLIA: + web3_uri = MOONSTREAM_XAI_SEPOLIA_WEB3_PROVIDER_URI + elif blockchain_type == AvailableBlockchainType.AVALANCHE: + web3_uri = MOONSTREAM_AVALANCHE_WEB3_PROVIDER_URI + elif blockchain_type == AvailableBlockchainType.AVALANCHE_FUJI: + web3_uri = MOONSTREAM_AVALANCHE_FUJI_WEB3_PROVIDER_URI + elif blockchain_type == AvailableBlockchainType.BLAST: + web3_uri = MOONSTREAM_BLAST_WEB3_PROVIDER_URI + elif blockchain_type == AvailableBlockchainType.BLAST_SEPOLIA: + web3_uri = MOONSTREAM_BLAST_SEPOLIA_WEB3_PROVIDER_URI else: raise Exception("Wrong blockchain type provided for web3 URI")