Add B3 moonstream types.

pull/1128/head
Andrey 2024-09-11 15:08:40 +03:00
rodzic 47329fdc01
commit a1916cfcdc
5 zmienionych plików z 48 dodań i 2 usunięć

Wyświetl plik

@ -20,6 +20,8 @@ from moonstreamdb.models import (
AvalancheFujiTransaction,
AvalancheLabel,
AvalancheTransaction,
B3Block,
B3SepoliaBlock,
BlastBlock,
BlastLabel,
BlastSepoliaBlock,
@ -95,6 +97,8 @@ from moonstreamdbv3.models import XaiSepoliaLabel as XaiSepoliaLabelV3
from moonstreamdbv3.models import XDaiLabel as XDaiLabelV3
from moonstreamdbv3.models import ZkSyncEraLabel as ZkSyncEraLabelV3
from moonstreamdbv3.models import ZkSyncEraSepoliaLabel as ZkSyncEraSepoliaLabelV3
from moonstreamdbv3.models import B3Label as B3LabelV3
from moonstreamdbv3.models import B3SepoliaLabel as B3SepoliaLabelV3
class AvailableBlockchainType(Enum):
@ -127,6 +131,8 @@ class AvailableBlockchainType(Enum):
MANTLE_SEPOLIA = "mantle_sepolia"
IMX_ZKEVM = "imx_zkevm"
IMX_ZKEVM_SEPOLIA = "imx_zkevm_sepolia"
B3 = "b3"
B3_SEPOLIA = "b3_sepolia"
def get_block_model(
@ -154,6 +160,8 @@ def get_block_model(
ProofOfPlayApexBlock,
MantleBlock,
MantleSepoliaBlock,
B3Block,
B3SepoliaBlock,
]
]:
"""
@ -182,6 +190,8 @@ def get_block_model(
ProofOfPlayApexBlock,
MantleBlock,
MantleSepoliaBlock,
B3Block,
B3SepoliaBlock,
]
]
if blockchain_type == AvailableBlockchainType.ETHEREUM:
@ -226,6 +236,10 @@ def get_block_model(
block_model = MantleBlock
elif blockchain_type == AvailableBlockchainType.MANTLE_SEPOLIA:
block_model = MantleSepoliaBlock
elif blockchain_type == AvailableBlockchainType.B3:
block_model = B3Block
elif blockchain_type == AvailableBlockchainType.B3_SEPOLIA:
block_model = B3SepoliaBlock
else:
raise Exception("Unsupported blockchain type provided")
@ -285,6 +299,8 @@ def get_label_model(
MantleSepoliaLabelV3,
ImxZkevmLabelV3,
ImxZkevmSepoliaLabelV3,
B3LabelV3,
B3SepoliaLabelV3,
]
]:
"""
@ -344,6 +360,8 @@ def get_label_model(
MantleSepoliaLabelV3,
ImxZkevmLabelV3,
ImxZkevmSepoliaLabelV3,
B3LabelV3,
B3SepoliaLabelV3,
]
]
if version == 2:
@ -446,6 +464,10 @@ def get_label_model(
label_model = ImxZkevmLabelV3
elif blockchain_type == AvailableBlockchainType.IMX_ZKEVM_SEPOLIA:
label_model = ImxZkevmSepoliaLabelV3
elif blockchain_type == AvailableBlockchainType.B3:
label_model = B3LabelV3
elif blockchain_type == AvailableBlockchainType.B3_SEPOLIA:
label_model = B3SepoliaLabelV3
else:
raise Exception("Unsupported blockchain type provided")
else:

Wyświetl plik

@ -96,6 +96,8 @@ from moonstreamdbv3.models import XaiSepoliaLabel as XaiSepoliaLabelV3
from moonstreamdbv3.models import XDaiLabel as XDaiLabelV3
from moonstreamdbv3.models import ZkSyncEraLabel as ZkSyncEraLabelV3
from moonstreamdbv3.models import ZkSyncEraSepoliaLabel as ZkSyncEraSepoliaLabelV3
from moonstreamdbv3.models import B3Label as B3LabelV3
from moonstreamdbv3.models import B3SepoliaLabel as B3SepoliaLabelV3
from .blockchain import AvailableBlockchainType
@ -130,6 +132,8 @@ class Network(Enum):
mantle_sepolia = "mantle_sepolia"
imx_zkevm = "imx_zkevm"
imx_zkevm_sepolia = "imx_zkevm_sepolia"
b3 = "b3"
b3_sepolia = "b3_sepolia"
tx_raw_types = Union[
@ -346,6 +350,12 @@ MODELS_V3: Dict[Network, Dict[str, Base]] = {
Network.imx_zkevm_sepolia: {
"labels": ImxZkevmSepoliaLabelV3,
},
Network.b3: {
"labels": B3LabelV3,
},
Network.b3_sepolia: {
"labels": B3SepoliaLabelV3,
},
}
@ -411,5 +421,9 @@ def blockchain_type_to_network_type(
return Network.imx_zkevm
elif blockchain_type == AvailableBlockchainType.IMX_ZKEVM_SEPOLIA:
return Network.imx_zkevm_sepolia
elif blockchain_type == AvailableBlockchainType.B3:
return Network.b3
elif blockchain_type == AvailableBlockchainType.B3_SEPOLIA:
return Network.b3_sepolia
else:
raise ValueError(f"Unknown blockchain type: {blockchain_type}")

Wyświetl plik

@ -35,6 +35,8 @@ class SubscriptionTypes(Enum):
MANTLE_SEPOLIA_BLOCKCHAIN = "mantle_sepolia_smartcontract"
IMX_ZKEVM_BLOCKCHAIN = "imx_zkevm_smartcontract"
IMX_ZKEVM_SEPOLIA_BLOCKCHAIN = "imx_zkevm_sepolia_smartcontract"
B3_BLOCKCHAIN = "b3_smartcontract"
B3_SEPOLIA_BLOCKCHAIN = "b3_sepolia_smartcontract"
def blockchain_type_to_subscription_type(
@ -98,6 +100,10 @@ def blockchain_type_to_subscription_type(
return SubscriptionTypes.IMX_ZKEVM_BLOCKCHAIN
elif blockchain_type == AvailableBlockchainType.IMX_ZKEVM_SEPOLIA:
return SubscriptionTypes.IMX_ZKEVM_SEPOLIA_BLOCKCHAIN
elif blockchain_type == AvailableBlockchainType.B3:
return SubscriptionTypes.B3_BLOCKCHAIN
elif blockchain_type == AvailableBlockchainType.B3_SEPOLIA:
return SubscriptionTypes.B3_SEPOLIA_BLOCKCHAIN
else:
raise ValueError(f"Unknown blockchain type: {blockchain_type}")
@ -132,6 +138,8 @@ subscription_id_by_blockchain = {
"mantle_sepolia": "mantle_sepolia_smartcontract",
"imx_zkevm": "imx_zkevm_smartcontract",
"imx_zkevm_sepolia": "imx_zkevm_sepolia_smartcontract",
"b3": "b3_smartcontract",
"b3_sepolia": "b3_sepolia_smartcontract",
}
blockchain_by_subscription_id = {
@ -192,4 +200,6 @@ blockchain_by_subscription_id = {
"mantle_sepolia_smartcontract": "mantle_sepolia",
"imx_zkevm_smartcontract": "imx_zkevm",
"imx_zkevm_sepolia_smartcontract": "imx_zkevm_sepolia",
"b3_smartcontract": "b3",
"b3_sepolia_smartcontract": "b3_sepolia",
}

Wyświetl plik

@ -1 +1 @@
0.0.6
0.0.7

Wyświetl plik

@ -34,7 +34,7 @@ setup(
zip_safe=False,
install_requires=[
"moonstreamdb>=0.4.5",
"moonstreamdb-v3>=0.0.16",
"moonstreamdb-v3>=0.0.18",
],
extras_require={
"dev": ["black", "isort", "mypy"],