Add Arbitrum one.

pull/1063/head
Andrey 2024-05-05 20:30:18 +03:00
rodzic 135af1765c
commit 63383a40e2
20 zmienionych plików z 220 dodań i 5 usunięć

Wyświetl plik

@ -23,6 +23,7 @@ from .db import yield_db_session, yield_db_session_ctx
from .settings import (
MOONSTREAM_CRAWL_WORKERS,
MOONSTREAM_NODE_AMOY_A_EXTERNAL_URI,
MOONSTREAM_NODE_ARBITRUM_ONE_A_EXTERNAL_URI,
MOONSTREAM_NODE_ARBITRUM_NOVA_A_EXTERNAL_URI,
MOONSTREAM_NODE_ARBITRUM_SEPOLIA_A_EXTERNAL_URI,
MOONSTREAM_NODE_AVALANCHE_A_EXTERNAL_URI,
@ -76,6 +77,8 @@ def connect(
web3_uri = MOONSTREAM_NODE_ZKSYNC_ERA_A_EXTERNAL_URI
elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_SEPOLIA:
web3_uri = MOONSTREAM_NODE_ZKSYNC_ERA_SEPOLIA_A_EXTERNAL_URI
elif blockchain_type == AvailableBlockchainType.ARBITRUM_ONE:
web3_uri = MOONSTREAM_NODE_ARBITRUM_ONE_A_EXTERNAL_URI
elif blockchain_type == AvailableBlockchainType.ARBITRUM_NOVA:
web3_uri = MOONSTREAM_NODE_ARBITRUM_NOVA_A_EXTERNAL_URI
elif blockchain_type == AvailableBlockchainType.ARBITRUM_SEPOLIA:
@ -179,6 +182,7 @@ def add_block(db_session, block: Any, blockchain_type: AvailableBlockchainType)
blockchain_type == AvailableBlockchainType.ARBITRUM_NOVA
or blockchain_type == AvailableBlockchainType.ARBITRUM_SEPOLIA
or blockchain_type == AvailableBlockchainType.PROOFOFPLAY_APEX
or blockchain_type == AvailableBlockchainType.ARBITRUM_ONE
):
block_obj.sha3_uncles = block.get("sha3Uncles", "")
block_obj.l1_block_number = hex_to_int(block.get("l1BlockNumber"))
@ -260,6 +264,7 @@ def add_block_transactions(
or blockchain_type == AvailableBlockchainType.XAI
or blockchain_type == AvailableBlockchainType.XAI_SEPOLIA
or blockchain_type == AvailableBlockchainType.PROOFOFPLAY_APEX
or blockchain_type == AvailableBlockchainType.ARBITRUM_ONE
):
tx_obj.y_parity = hex_to_int(tx.get("yParity"))

Wyświetl plik

@ -188,6 +188,14 @@ if MOONSTREAM_NODE_PROOFOFPLAY_APEX_A_EXTERNAL_URI == "":
"MOONSTREAM_NODE_PROOFOFPLAY_APEX_A_EXTERNAL_URI env variable is not set"
)
MOONSTREAM_NODE_ARBITRUM_ONE_A_EXTERNAL_URI = os.environ.get(
"MOONSTREAM_NODE_ARBITRUM_ONE_A_EXTERNAL_URI", ""
)
if MOONSTREAM_NODE_ARBITRUM_ONE_A_EXTERNAL_URI == "":
raise Exception(
"MOONSTREAM_NODE_ARBITRUM_ONE_A_EXTERNAL_URI env variable is not set"
)
MOONSTREAM_CRAWL_WORKERS = 4
MOONSTREAM_CRAWL_WORKERS_RAW = os.environ.get("MOONSTREAM_CRAWL_WORKERS")

Wyświetl plik

@ -2,4 +2,4 @@
Moonstream crawlers version.
"""
MOONCRAWL_VERSION = "0.4.4"
MOONCRAWL_VERSION = "0.4.5"

Wyświetl plik

@ -29,6 +29,7 @@ export MOONSTREAM_NODE_AMOY_A_EXTERNAL_URI="https://<connection_path_uri_to_node
export MOONSTREAM_NODE_XDAI_A_EXTERNAL_URI="https://<connection_path_uri_to_node>"
export MOONSTREAM_NODE_ZKSYNC_ERA_A_EXTERNAL_URI="https://<connection_path_uri_to_node>"
export MOONSTREAM_NODE_ZKSYNC_ERA_SEPOLIA_A_EXTERNAL_URI="https://<connection_path_uri_to_node>"
export MOONSTREAM_NODE_ARBITRUM_ONE_A_EXTERNAL_URI="https://<connection_path_uri_to_node>"
export MOONSTREAM_NODE_ARBITRUM_NOVA_A_EXTERNAL_URI="https://<connection_path_uri_to_node>"
export MOONSTREAM_NODE_ARBITRUM_SEPOLIA_A_EXTERNAL_URI="https://<connection_path_uri_to_node>"
export MOONSTREAM_NODE_XAI_A_EXTERNAL_URI="https://<connection_path_uri_to_node>"

Wyświetl plik

@ -37,7 +37,7 @@ setup(
"bugout>=0.2.13",
"chardet",
"fastapi",
"moonstreamdb>=0.4.2",
"moonstreamdb>=0.4.4",
"moonstream>=0.1.1",
"moonworm[moonstream]>=0.6.2",
"humbug",

Wyświetl plik

@ -99,6 +99,7 @@ blockchain_names = [
"xdai",
"zksync_era",
"zksync_era_sepolia",
"arbitrum_one",
"arbitrum_nova",
"arbitrum_sepolia",
"xai",

Wyświetl plik

@ -25,6 +25,7 @@ export MOONSTREAM_WYRM_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
export MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
export MOONSTREAM_ZKSYNC_ERA_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
export MOONSTREAM_ZKSYNC_ERA_SEPOLIA_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
export MOONSTREAM_ARBITRUM_ONE_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
export MOONSTREAM_ARBITRUM_NOVA_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
export MOONSTREAM_ARBITRUM_SEPOLIA_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"
export MOONSTREAM_XAI_WEB3_PROVIDER_URI="https://<connection_path_uri_to_node>"

Wyświetl plik

@ -128,6 +128,17 @@ CANONICAL_SUBSCRIPTION_TYPES = {
stripe_price_id=None,
active=True,
),
"arbitrum_one_smartcontract": SubscriptionTypeResourceData(
id="arbitrum_one_smartcontract",
name="Arbitrum One smartcontract",
blockchain="arbitrum_one",
choices=["input:address", "tag:erc721"],
description="Contracts events and tx_calls of contract of Arbitrum One blockchain.",
icon_url="https://static.simiotics.com/moonstream/assets/arbitrum-one-token-logo.png",
stripe_product_id=None,
stripe_price_id=None,
active=True,
),
"arbitrum_nova_smartcontract": SubscriptionTypeResourceData(
id="arbitrum_nova_smartcontract",
name="Arbitrum Nova smartcontract",
@ -326,6 +337,17 @@ CANONICAL_SUBSCRIPTION_TYPES = {
stripe_price_id=None,
active=False,
),
"arbitrum_one_blockchain": SubscriptionTypeResourceData(
id="arbitrum_one_blockchain",
name="Arbitrum One transactions",
blockchain="arbitrum_one",
choices=["input:address", "tag:erc721"],
description="Wyrm chain transactions subscription.",
icon_url="https://static.simiotics.com/moonstream/assets/arbitrum-one-token-logo.png",
stripe_product_id=None,
stripe_price_id=None,
active=False,
),
"arbitrum_nova_blockchain": SubscriptionTypeResourceData(
id="arbitrum_nova_blockchain",
name="Arbitrum Nova transactions",

Wyświetl plik

@ -56,6 +56,7 @@ event_providers: Dict[str, Any] = {
moonworm_provider.ZkSyncEraTestnetMoonwormProvider.event_type: moonworm_provider.ZkSyncEraTestnetMoonwormProvider,
moonworm_provider.ZkSyncEraMoonwormProvider.event_type: moonworm_provider.ZkSyncEraMoonwormProvider,
moonworm_provider.ZkSyncEraSepoliaMoonwormProvider.event_type: moonworm_provider.ZkSyncEraSepoliaMoonwormProvider,
moonworm_provider.ArbitrumOneMoonwormProvider.event_type: moonworm_provider.ArbitrumOneMoonwormProvider,
moonworm_provider.ArbitrumNovaMoonwormProvider.event_type: moonworm_provider.ArbitrumNovaMoonwormProvider,
moonworm_provider.ArbitrumSepoliaMoonwormProvider.event_type: moonworm_provider.ArbitrumSepoliaMoonwormProvider,
moonworm_provider.XaiMoonwormProvider.event_type: moonworm_provider.XaiMoonwormProvider,
@ -73,6 +74,7 @@ event_providers: Dict[str, Any] = {
transactions.ZkSyncEraTestnetTransactions.event_type: transactions.ZkSyncEraTestnetTransactions,
transactions.ZkSyncEraTransactions.event_type: transactions.ZkSyncEraTransactions,
transactions.ZkSyncEraSepoliaTransactions.event_type: transactions.ZkSyncEraSepoliaTransactions,
transactions.ArbitrumOneTransactions.event_type: transactions.ArbitrumOneTransactions,
transactions.ArbitrumNovaTransactions.event_type: transactions.ArbitrumNovaTransactions,
transactions.ArbitrumSepoliaTransactions.event_type: transactions.ArbitrumSepoliaTransactions,
transactions.XaiTransactions.event_type: transactions.XaiTransactions,

Wyświetl plik

@ -26,6 +26,7 @@ xdai_event_type = "xdai_blockchain"
zksync_era_testnet_event_type = "zksync_era_testnet_blockchain"
zksync_era_event_type = "zksync_era_blockchain"
zksync_era_sepolia_event_type = "zksync_era_sepolia_blockchain"
arbitrum_one_event_type = "arbitrum_one_blockchain"
arbitrum_nova_event_type = "arbitrum_nova_blockchain"
arbitrum_sepolia_event_type = "arbitrum_sepolia_blockchain"
xai_event_type = "xai_blockchain"
@ -456,6 +457,13 @@ ZkSyncEraSepoliaMoonwormProvider = MoonwormProvider(
streamboaundary_range_limit=2 * 60 * 60,
)
ArbitrumOneMoonwormProvider = MoonwormProvider(
event_type="arbitrum_one_smartcontract",
blockchain=AvailableBlockchainType("arbitrum_one"),
description="Provider for reviving transactions from Arbitrum One tables.",
streamboaundary_range_limit=2 * 60 * 60,
)
ArbitrumNovaMoonwormProvider = MoonwormProvider(
event_type="arbitrum_nova_smartcontract",
blockchain=AvailableBlockchainType("arbitrum_nova"),

Wyświetl plik

@ -504,6 +504,13 @@ ZkSyncEraSepoliaTransactions = TransactionsProvider(
streamboaundary_range_limit=2 * 60 * 60,
)
ArbitrumOneTransactions = TransactionsProvider(
event_type="arbitrum_one_blockchain",
blockchain=AvailableBlockchainType("arbitrum_one"),
description="Provider for resiving transactions from Arbitrum One tables.",
streamboaundary_range_limit=2 * 60 * 60,
)
ArbitrumNovaTransactions = TransactionsProvider(
event_type="arbitrum_nova_blockchain",
blockchain=AvailableBlockchainType("arbitrum_nova"),

Wyświetl plik

@ -158,6 +158,13 @@ if MOONSTREAM_ZKSYNC_ERA_SEPOLIA_WEB3_PROVIDER_URI == "":
"MOONSTREAM_ZKSYNC_ERA_SEPOLIA_WEB3_PROVIDER_URI env variable is not set"
)
MOONSTREAM_ARBITRUM_ONE_WEB3_PROVIDER_URI = os.environ.get(
"MOONSTREAM_ARBITRUM_ONE_WEB3_PROVIDER_URI", ""
)
if MOONSTREAM_ARBITRUM_ONE_WEB3_PROVIDER_URI == "":
raise Exception("MOONSTREAM_ARBITRUM_ONE_WEB3_PROVIDER_URI env variable is not set")
MOONSTREAM_ARBITRUM_NOVA_WEB3_PROVIDER_URI = os.environ.get(
"MOONSTREAM_ARBITRUM_NOVA_WEB3_PROVIDER_URI", ""
)
@ -274,6 +281,7 @@ multicall_contracts: Dict[AvailableBlockchainType, str] = {
AvailableBlockchainType.MUMBAI: "0xe9939e7Ea7D7fb619Ac57f648Da7B1D425832631",
AvailableBlockchainType.AMOY: "0xcA11bde05977b3631167028862bE2a173976CA11",
AvailableBlockchainType.ETHEREUM: "0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696",
AvailableBlockchainType.ARBITRUM_ONE: "0xcA11bde05977b3631167028862bE2a173976CA11",
AvailableBlockchainType.ARBITRUM_NOVA: "0xcA11bde05977b3631167028862bE2a173976CA11",
AvailableBlockchainType.ARBITRUM_SEPOLIA: "0xcA11bde05977b3631167028862bE2a173976CA11",
AvailableBlockchainType.XAI: "0xcA11bde05977b3631167028862bE2a173976CA11",

Wyświetl plik

@ -13,6 +13,7 @@ from web3.providers.rpc import HTTPProvider
from .settings import (
MOONSTREAM_AMOY_WEB3_PROVIDER_URI,
MOONSTREAM_ARBITRUM_ONE_WEB3_PROVIDER_URI,
MOONSTREAM_ARBITRUM_NOVA_WEB3_PROVIDER_URI,
MOONSTREAM_ARBITRUM_SEPOLIA_WEB3_PROVIDER_URI,
MOONSTREAM_AVALANCHE_FUJI_WEB3_PROVIDER_URI,
@ -88,6 +89,8 @@ def connect(
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_ONE:
web3_uri = MOONSTREAM_ARBITRUM_ONE_WEB3_PROVIDER_URI
elif blockchain_type == AvailableBlockchainType.ARBITRUM_NOVA:
web3_uri = MOONSTREAM_ARBITRUM_NOVA_WEB3_PROVIDER_URI
elif blockchain_type == AvailableBlockchainType.ARBITRUM_SEPOLIA:

Wyświetl plik

@ -37,7 +37,7 @@ lru-dict==1.1.8
Mako==1.2.3
MarkupSafe==2.1.1
moonstream==0.1.1
moonstreamdb==0.4.2
moonstreamdb==0.4.4
multiaddr==0.0.9
multidict==6.0.2
netaddr==0.8.0

Wyświetl plik

@ -16,7 +16,7 @@ setup(
"bugout>=0.2.15",
"fastapi",
"moonstream",
"moonstreamdb>=0.4.2",
"moonstreamdb>=0.4.4",
"humbug",
"pydantic==1.10.2",
"pyevmasm",

Wyświetl plik

@ -5,6 +5,9 @@ from .models import (
AmoyBlock,
AmoyLabel,
AmoyTransaction,
ArbitrumOneBlock,
ArbitrumOneLabel,
ArbitrumOneTransaction,
ArbitrumNovaBlock,
ArbitrumNovaLabel,
ArbitrumNovaTransaction,
@ -69,6 +72,7 @@ class AvailableBlockchainType(Enum):
ZKSYNC_ERA = "zksync_era"
ZKSYNC_ERA_TESTNET = "zksync_era_testnet"
ZKSYNC_ERA_SEPOLIA = "zksync_era_sepolia"
ARBITRUM_ONE = "arbitrum_one"
ARBITRUM_NOVA = "arbitrum_nova"
ARBITRUM_SEPOLIA = "arbitrum_sepolia"
XAI = "xai"
@ -93,6 +97,7 @@ def get_block_model(
ZkSyncEraTestnetBlock,
ZkSyncEraBlock,
ZkSyncEraSepoliaBlock,
ArbitrumOneBlock,
ArbitrumNovaBlock,
ArbitrumSepoliaBlock,
XaiBlock,
@ -118,6 +123,7 @@ def get_block_model(
ZkSyncEraTestnetBlock,
ZkSyncEraBlock,
ZkSyncEraSepoliaBlock,
ArbitrumOneBlock,
ArbitrumNovaBlock,
ArbitrumSepoliaBlock,
XaiBlock,
@ -147,6 +153,8 @@ def get_block_model(
block_model = ZkSyncEraBlock
elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_SEPOLIA:
block_model = ZkSyncEraSepoliaBlock
elif blockchain_type == AvailableBlockchainType.ARBITRUM_ONE:
block_model = ArbitrumOneBlock
elif blockchain_type == AvailableBlockchainType.ARBITRUM_NOVA:
block_model = ArbitrumNovaBlock
elif blockchain_type == AvailableBlockchainType.ARBITRUM_SEPOLIA:
@ -184,6 +192,7 @@ def get_label_model(
ZkSyncEraTestnetLabel,
ZkSyncEraLabel,
ZkSyncEraSepoliaLabel,
ArbitrumOneLabel,
ArbitrumNovaLabel,
ArbitrumSepoliaLabel,
XaiLabel,
@ -209,6 +218,7 @@ def get_label_model(
ZkSyncEraTestnetLabel,
ZkSyncEraLabel,
ZkSyncEraSepoliaLabel,
ArbitrumOneLabel,
ArbitrumNovaLabel,
ArbitrumSepoliaLabel,
XaiLabel,
@ -238,6 +248,8 @@ def get_label_model(
label_model = ZkSyncEraLabel
elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_SEPOLIA:
label_model = ZkSyncEraSepoliaLabel
elif blockchain_type == AvailableBlockchainType.ARBITRUM_ONE:
label_model = ArbitrumOneLabel
elif blockchain_type == AvailableBlockchainType.ARBITRUM_NOVA:
label_model = ArbitrumNovaLabel
elif blockchain_type == AvailableBlockchainType.ARBITRUM_SEPOLIA:
@ -275,6 +287,7 @@ def get_transaction_model(
ZkSyncEraTestnetTransaction,
ZkSyncEraTransaction,
ZkSyncEraSepoliaTransaction,
ArbitrumOneTransaction,
ArbitrumNovaTransaction,
ArbitrumSepoliaTransaction,
XaiTransaction,
@ -300,6 +313,7 @@ def get_transaction_model(
ZkSyncEraTestnetTransaction,
ZkSyncEraTransaction,
ZkSyncEraSepoliaTransaction,
ArbitrumOneTransaction,
ArbitrumNovaTransaction,
ArbitrumSepoliaTransaction,
XaiTransaction,
@ -329,6 +343,8 @@ def get_transaction_model(
transaction_model = ZkSyncEraTransaction
elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_SEPOLIA:
transaction_model = ZkSyncEraSepoliaTransaction
elif blockchain_type == AvailableBlockchainType.ARBITRUM_ONE:
transaction_model = ArbitrumOneTransaction
elif blockchain_type == AvailableBlockchainType.ARBITRUM_NOVA:
transaction_model = ArbitrumNovaTransaction
elif blockchain_type == AvailableBlockchainType.ARBITRUM_SEPOLIA:

Wyświetl plik

@ -2056,6 +2056,121 @@ class ProofOfPlayApexLabel(Base): # type: ignore
)
class ArbitrumOneBlock(Base): # type: ignore
__tablename__ = "arbitrum_one_blocks"
block_number = Column(
BigInteger, primary_key=True, unique=True, nullable=False, index=True
)
difficulty = Column(BigInteger)
extra_data = Column(VARCHAR(128))
gas_limit = Column(BigInteger)
gas_used = Column(BigInteger)
base_fee_per_gas = Column(Numeric(precision=78, scale=0), nullable=True)
hash = Column(VARCHAR(256), index=True)
logs_bloom = Column(VARCHAR(1024))
miner = Column(VARCHAR(256))
nonce = Column(VARCHAR(256))
parent_hash = Column(VARCHAR(256))
receipt_root = Column(VARCHAR(256))
uncles = Column(VARCHAR(256))
size = Column(Integer)
state_root = Column(VARCHAR(256))
timestamp = Column(BigInteger, index=True)
total_difficulty = Column(VARCHAR(256))
transactions_root = Column(VARCHAR(256))
indexed_at = Column(
DateTime(timezone=True), server_default=utcnow(), nullable=False
)
sha3_uncles = Column(VARCHAR(256), nullable=True)
l1_block_number = Column(BigInteger, nullable=True)
send_count = Column(BigInteger, nullable=True)
send_root = Column(VARCHAR(256), nullable=True)
mix_hash = Column(VARCHAR(256), nullable=True)
class ArbitrumOneTransaction(Base): # type: ignore
__tablename__ = "arbitrum_one_transactions"
hash = Column(
VARCHAR(256), primary_key=True, unique=True, nullable=False, index=True
)
block_number = Column(
BigInteger,
ForeignKey("arbitrum_one_blocks.block_number", ondelete="CASCADE"),
nullable=False,
index=True,
)
from_address = Column(VARCHAR(256), index=True)
to_address = Column(VARCHAR(256), index=True)
gas = Column(Numeric(precision=78, scale=0), index=True)
gas_price = Column(Numeric(precision=78, scale=0), index=True)
max_fee_per_gas = Column(Numeric(precision=78, scale=0), nullable=True)
max_priority_fee_per_gas = Column(Numeric(precision=78, scale=0), nullable=True)
input = Column(Text)
nonce = Column(VARCHAR(256))
transaction_index = Column(BigInteger)
transaction_type = Column(Integer, nullable=True)
value = Column(Numeric(precision=78, scale=0), index=True)
indexed_at = Column(
DateTime(timezone=True), server_default=utcnow(), nullable=False
)
y_parity = Column(BigInteger, nullable=True)
class ArbitrumOneLabel(Base): # type: ignore
__tablename__ = "arbitrum_one_labels"
__table_args__ = (
Index(
"ix_arbitrum_one_labels_address_block_number",
"address",
"block_number",
unique=False,
),
Index(
"ix_arbitrum_one_labels_address_block_timestamp",
"address",
"block_timestamp",
unique=False,
),
)
id = Column(
UUID(as_uuid=True),
primary_key=True,
default=uuid.uuid4,
unique=True,
nullable=False,
)
label = Column(VARCHAR(256), nullable=False, index=True)
block_number = Column(
BigInteger,
nullable=True,
index=True,
)
address = Column(
VARCHAR(256),
nullable=True,
index=True,
)
transaction_hash = Column(
VARCHAR(256),
nullable=True,
index=True,
)
label_data = Column(JSONB, nullable=True)
block_timestamp = Column(BigInteger, index=True)
log_index = Column(Integer, nullable=True)
created_at = Column(
DateTime(timezone=True), server_default=utcnow(), nullable=False
)
class ESDFunctionSignature(Base): # type: ignore
"""
Function signature from blockchain (Ethereum/Polygon) Signature Database.

Wyświetl plik

@ -6,6 +6,9 @@ from .models import (
AmoyBlock,
AmoyLabel,
AmoyTransaction,
ArbitrumOneBlock,
ArbitrumOneLabel,
ArbitrumOneTransaction,
ArbitrumNovaBlock,
ArbitrumNovaLabel,
ArbitrumNovaTransaction,
@ -71,6 +74,7 @@ class Network(Enum):
zksync_era_testnet = "zksync_era_testnet"
zksync_era = "zksync_era"
zksync_era_sepolia = "zksync_era_sepolia"
arbitrum_one = "arbitrum_one"
arbitrum_nova = "arbitrum_nova"
arbitrum_sepolia = "arbitrum_sepolia"
xai = "xai"
@ -92,6 +96,7 @@ tx_raw_types = Union[
ZkSyncEraTestnetTransaction,
ZkSyncEraTransaction,
ZkSyncEraSepoliaTransaction,
ArbitrumOneTransaction,
ArbitrumNovaTransaction,
ArbitrumSepoliaTransaction,
XaiTransaction,
@ -149,6 +154,11 @@ MODELS: Dict[Network, Dict[str, Base]] = {
"labels": ZkSyncEraLabel,
"transactions": ZkSyncEraTransaction,
},
Network.arbitrum_one: {
"blocks": ArbitrumOneBlock,
"labels": ArbitrumOneLabel,
"transactions": ArbitrumOneTransaction,
},
Network.arbitrum_nova: {
"blocks": ArbitrumNovaBlock,
"labels": ArbitrumNovaLabel,
@ -218,6 +228,8 @@ def blockchain_type_to_network_type(
return Network.zksync_era
elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_SEPOLIA:
return Network.zksync_era_sepolia
elif blockchain_type == AvailableBlockchainType.ARBITRUM_ONE:
return Network.arbitrum_one
elif blockchain_type == AvailableBlockchainType.ARBITRUM_NOVA:
return Network.arbitrum_nova
elif blockchain_type == AvailableBlockchainType.ARBITRUM_SEPOLIA:

Wyświetl plik

@ -13,6 +13,7 @@ class SubscriptionTypes(Enum):
ZKSYNC_ERA_TESTNET_BLOCKCHAIN = "zksync_era_testnet_smartcontract"
ZKSYNC_ERA_BLOCKCHAIN = "zksync_era_smartcontract"
ZKSYNC_ERA_SEPOLIA_BLOCKCHAIN = "zksync_era_sepolia_smartcontract"
ARBITRUM_ONE_BLOCKCHAIN = "arbitrum_one_smartcontract"
ARBITRUM_NOVA_BLOCKCHAIN = "arbitrum_nova_smartcontract"
ARBITRUM_SEPOLIA_BLOCKCHAIN = "arbitrum_sepolia_smartcontract"
XAI_BLOCKCHAIN = "xai_smartcontract"
@ -45,6 +46,8 @@ def blockchain_type_to_subscription_type(
return SubscriptionTypes.ZKSYNC_ERA_BLOCKCHAIN
elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_SEPOLIA:
return SubscriptionTypes.ZKSYNC_ERA_SEPOLIA_BLOCKCHAIN
elif blockchain_type == AvailableBlockchainType.ARBITRUM_ONE:
return SubscriptionTypes.ARBITRUM_ONE_BLOCKCHAIN
elif blockchain_type == AvailableBlockchainType.ARBITRUM_NOVA:
return SubscriptionTypes.ARBITRUM_NOVA_BLOCKCHAIN
elif blockchain_type == AvailableBlockchainType.ARBITRUM_SEPOLIA:
@ -77,6 +80,7 @@ subscription_id_by_blockchain = {
"zksync_era_testnet": "zksync_era_testnet_smartcontract",
"zksync_era": "zksync_era_smartcontract",
"zksync_era_sepolia": "zksync_era_sepolia_smartcontract",
"arbitrum_one": "arbitrum_one_smartcontract",
"arbitrum_nova": "arbitrum_nova_smartcontract",
"arbitrum_sepolia": "arbitrum_sepolia_smartcontract",
"xai": "xai_smartcontract",
@ -98,6 +102,7 @@ blockchain_by_subscription_id = {
"zksync_era_testnet_blockchain": "zksync_era_testnet",
"zksync_era_blockchain": "zksync_era",
"zksync_era_sepolia_blockchain": "zksync_era_sepolia",
"arbitrum_one_blockchain": "arbitrum_one",
"arbitrum_nova_blockchain": "arbitrum_nova",
"arbitrum_sepolia_blockchain": "arbitrum_sepolia",
"xai_blockchain": "xai",
@ -116,6 +121,7 @@ blockchain_by_subscription_id = {
"zksync_era_testnet_smartcontract": "zksync_era_testnet",
"zksync_era_smartcontract": "zksync_era",
"zksync_era_sepolia_smartcontract": "zksync_era_sepolia",
"arbitrum_one_smartcontract": "arbitrum_one",
"arbitrum_nova_smartcontract": "arbitrum_nova",
"arbitrum_sepolia_smartcontract": "arbitrum_sepolia",
"xai_smartcontract": "xai",

Wyświetl plik

@ -2,4 +2,4 @@
Moonstream database version.
"""
MOONSTREAMDB_VERSION = "0.4.3"
MOONSTREAMDB_VERSION = "0.4.4"