XDai database blockchain update to support XDai

pull/619/head
kompotkot 2022-05-26 13:23:12 +00:00
rodzic ae15c430ab
commit 9dfe70af06
2 zmienionych plików z 23 dodań i 11 usunięć

Wyświetl plik

@ -6,6 +6,9 @@ from .models import (
PolygonBlock,
PolygonLabel,
PolygonTransaction,
XDaiBlock,
XDaiLabel,
XDaiTransaction,
)
from enum import Enum
@ -16,20 +19,23 @@ from typing import Type, Union
class AvailableBlockchainType(Enum):
ETHEREUM = "ethereum"
POLYGON = "polygon"
XDAI = "xdai"
def get_block_model(
blockchain_type: AvailableBlockchainType,
) -> Type[Union[EthereumBlock, PolygonBlock]]:
) -> Type[Union[EthereumBlock, PolygonBlock, XDaiBlock]]:
"""
Depends on provided blockchain type: Ethereum or Polygon,
set proper blocks model: EthereumBlock or PolygonBlock.
Depends on provided blockchain type: Ethereum, Polygon or XDai,
set proper blocks model: EthereumBlock, PolygonBlock or XdaiBlock.
"""
block_model: Type[Union[EthereumBlock, PolygonBlock]]
block_model: Type[Union[EthereumBlock, PolygonBlock, XDaiBlock]]
if blockchain_type == AvailableBlockchainType.ETHEREUM:
block_model = EthereumBlock
elif blockchain_type == AvailableBlockchainType.POLYGON:
block_model = PolygonBlock
elif blockchain_type == AvailableBlockchainType.XDAI:
block_model = XDaiBlock
else:
raise Exception("Unsupported blockchain type provided")
@ -38,16 +44,18 @@ def get_block_model(
def get_label_model(
blockchain_type: AvailableBlockchainType,
) -> Type[Union[EthereumLabel, PolygonLabel]]:
) -> Type[Union[EthereumLabel, PolygonLabel, XDaiLabel]]:
"""
Depends on provided blockchain type: Ethereum or Polygon,
set proper block label model: EthereumLabel or PolygonLabel.
Depends on provided blockchain type: Ethereum, Polygon or XDai,
set proper block label model: EthereumLabel, PolygonLabel or XdaiLabel.
"""
label_model: Type[Union[EthereumLabel, PolygonLabel]]
label_model: Type[Union[EthereumLabel, PolygonLabel, XDaiLabel]]
if blockchain_type == AvailableBlockchainType.ETHEREUM:
label_model = EthereumLabel
elif blockchain_type == AvailableBlockchainType.POLYGON:
label_model = PolygonLabel
elif blockchain_type == AvailableBlockchainType.XDAI:
label_model = XDaiLabel
else:
raise Exception("Unsupported blockchain type provided")
@ -56,16 +64,20 @@ def get_label_model(
def get_transaction_model(
blockchain_type: AvailableBlockchainType,
) -> Type[Union[EthereumTransaction, PolygonTransaction]]:
) -> Type[Union[EthereumTransaction, PolygonTransaction, XDaiTransaction]]:
"""
Depends on provided blockchain type: Ethereum or Polygon,
set proper block transactions model: EthereumTransaction or PolygonTransaction.
"""
transaction_model: Type[Union[EthereumTransaction, PolygonTransaction]]
transaction_model: Type[
Union[EthereumTransaction, PolygonTransaction, XDaiTransaction]
]
if blockchain_type == AvailableBlockchainType.ETHEREUM:
transaction_model = EthereumTransaction
elif blockchain_type == AvailableBlockchainType.POLYGON:
transaction_model = PolygonTransaction
elif blockchain_type == AvailableBlockchainType.XDAI:
transaction_model = XDaiTransaction
else:
raise Exception("Unsupported blockchain type provided")

Wyświetl plik

@ -2,4 +2,4 @@
Moonstream database version.
"""
MOONSTREAMDB_VERSION = "0.2.4"
MOONSTREAMDB_VERSION = "0.2.5"