Move all dependency from moonstreamdb to networks. Will required upper version of moonstreamdb.

pull/104/head
Andrey 2023-03-06 15:59:23 +02:00
rodzic b2d87ce655
commit 29a3a80a28
3 zmienionych plików z 18 dodań i 37 usunięć

Wyświetl plik

@ -1,9 +1,10 @@
import argparse
import json
import os
from multiprocessing.sharedctypes import Value
from pathlib import Path
from shutil import copyfile
from types import MappingProxyType
from typing import Any
from web3.main import Web3
from web3.middleware import geth_poa_middleware
@ -11,8 +12,7 @@ from web3.middleware import geth_poa_middleware
from moonworm.crawler.ethereum_state_provider import Web3StateProvider
from moonworm.watch import watch_contract
from .contracts import CU, ERC20, ERC721, CULands
from .crawler.utils import Network
from .contracts import CU, ERC20, ERC721
from .deployment import find_deployment_block
from .generators.basic import (
generate_contract_cli_content,
@ -154,6 +154,9 @@ def handle_watch(args: argparse.Namespace) -> None:
if args.db:
if args.network is None:
raise ValueError("Please specify --network")
from .crawler.networks import Network
network = Network.__members__[args.network]
from .crawler.moonstream_ethereum_state_provider import (
@ -215,6 +218,14 @@ def generate_argument_parser() -> argparse.ArgumentParser:
"""
Generates the command-line argument parser for the "moonworm" command.
"""
networks: MappingProxyType[Any, Any] = MappingProxyType({})
try:
from .crawler.networks import Network
networks = Network.__members__
except Exception:
pass
parser = argparse.ArgumentParser(description="Moonworm: Manage your smart contract")
parser.add_argument(
"-v",
@ -256,7 +267,7 @@ def generate_argument_parser() -> argparse.ArgumentParser:
watch_parser.add_argument(
"--network",
choices=Network.__members__,
choices=networks,
default=None,
help="Network name that represents models from db. If --db is set, required",
)

Wyświetl plik

@ -19,8 +19,8 @@ from .networks import (
WyrmTransaction,
XDaiTransaction,
yield_db_session_ctx,
Network,
)
from .utils import Network
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

Wyświetl plik

@ -14,46 +14,16 @@ try:
PolygonLabel,
PolygonTransaction,
WyrmBlock,
Wyrmlabel,
WyrmLabel,
WyrmTransaction,
XDaiBlock,
XDaiLabel,
XDaiTransaction,
)
from moonstreamdb.moonworm import Network, MODELS, tx_raw_types
except ImportError:
print("this feature requires moonstreamdb which is not installed")
print("to enable, run: `pip install moonworm[moonstream]`")
raise ImportError(
"moonstreamdb not installed, to install, run: `pip install moonworm[moonstream]`"
)
from .utils import Network
MODELS: Dict[Network, Dict[str, Base]] = {
Network.ethereum: {
"blocks": EthereumBlock,
"labels": EthereumLabel,
"transactions": EthereumTransaction,
},
Network.mumbai: {
"blocks": MumbaiBlock,
"labels": MumbaiLabel,
"transactions": MumbaiTransaction,
},
Network.polygon: {
"blocks": PolygonBlock,
"labels": PolygonLabel,
"transactions": PolygonTransaction,
},
Network.xdai: {
"blocks": XDaiBlock,
"labels": XDaiLabel,
"transactions": XDaiTransaction,
},
Network.wyrm: {
"blocks": WyrmBlock,
"labels": Wyrmlabel,
"transactions": WyrmTransaction,
},
}