fix: broken imports
This commit is contained in:
@@ -3,7 +3,7 @@ import os
|
||||
import hashlib
|
||||
|
||||
|
||||
mod_dir = os.path.dirname(os.path.realpath(__file__))
|
||||
mod_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..')
|
||||
root_dir = os.path.join(mod_dir, '..')
|
||||
data_dir = os.path.join(mod_dir, 'data')
|
||||
schema_dir = os.path.join(mod_dir, 'schema')
|
||||
|
||||
@@ -4,8 +4,6 @@ from __future__ import annotations
|
||||
import os
|
||||
import json
|
||||
import logging
|
||||
import base64
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
# external imports
|
||||
from cic_types import MetadataPointer
|
||||
@@ -14,8 +12,6 @@ from hexathon import strip_0x
|
||||
|
||||
# local imports
|
||||
from cic.contract.base import Data, data_dir
|
||||
from cic.writers import OutputWriter
|
||||
from cic_types.ext.metadata import MetadataRequestsHandler
|
||||
from cic.utils import object_to_str
|
||||
|
||||
logg = logging.getLogger(__name__)
|
||||
@@ -139,25 +135,3 @@ class Meta(Data):
|
||||
def __str__(self):
|
||||
return object_to_str(self, ["name", "contact", "country_code", "location"])
|
||||
|
||||
|
||||
class MetadataWriter(OutputWriter):
|
||||
"""Custom writer for publishing data under immutable content-addressed pointers in the cic-meta storage backend.
|
||||
|
||||
Data that is not utf-8 will be converted to base64 before publishing.
|
||||
|
||||
Implements cic.writers.OutputWriter
|
||||
"""
|
||||
|
||||
def write(self, k, v):
|
||||
rq = MetadataRequestsHandler(MetadataPointer.NONE, bytes.fromhex(k))
|
||||
try:
|
||||
v = v.decode("utf-8")
|
||||
v = json.loads(v)
|
||||
logg.debug(f"metadatawriter bindecode {k} {v}")
|
||||
except UnicodeDecodeError:
|
||||
v = base64.b64encode(v).decode("utf-8")
|
||||
v = json.loads(json.dumps(v, separators=(",", ":")))
|
||||
logg.debug(f"metadatawriter b64encode {k} {v}")
|
||||
r = rq.create(v)
|
||||
logg.info(f"metadata submitted at {k}")
|
||||
return r
|
||||
|
||||
@@ -7,7 +7,7 @@ import logging
|
||||
from chainlib.chain import ChainSpec
|
||||
|
||||
# local imports
|
||||
from cic.contract.components.base import Data, data_dir
|
||||
from cic.contract.base import Data, data_dir
|
||||
|
||||
logg = logging.getLogger(__name__)
|
||||
|
||||
@@ -35,9 +35,8 @@ class Network(Data):
|
||||
"""
|
||||
super(Network, self).load()
|
||||
|
||||
f = open(self.network_path, 'r')
|
||||
o = json.load(f)
|
||||
f.close()
|
||||
with open(self.network_path, 'r', encoding='utf-8') as f:
|
||||
o = json.load(f)
|
||||
|
||||
self.resources = o['resources']
|
||||
|
||||
@@ -53,9 +52,8 @@ class Network(Data):
|
||||
|
||||
network_template_file_path = os.path.join(data_dir, f'network_template_v{self.version()}.json')
|
||||
|
||||
f = open(network_template_file_path)
|
||||
o_part = json.load(f)
|
||||
f.close()
|
||||
with open(network_template_file_path, encoding='utf-8') as f:
|
||||
o_part = json.load(f)
|
||||
|
||||
self.resources = {}
|
||||
for v in self.targets:
|
||||
@@ -67,11 +65,10 @@ class Network(Data):
|
||||
def save(self):
|
||||
"""Save network settings to file.
|
||||
"""
|
||||
f = open(self.network_path, 'w')
|
||||
json.dump({
|
||||
'resources': self.resources,
|
||||
}, f, sort_keys=True, indent="\t")
|
||||
f.close()
|
||||
with open(self.network_path, 'w', encoding='utf-8') as f:
|
||||
json.dump({
|
||||
'resources': self.resources,
|
||||
}, f, sort_keys=True, indent="\t")
|
||||
|
||||
|
||||
def resource(self, k):
|
||||
@@ -83,8 +80,8 @@ class Network(Data):
|
||||
:return: Extension settings
|
||||
"""
|
||||
v = self.resources.get(k)
|
||||
if v == None:
|
||||
raise AttributeError('no defined reference for {}'.format(k))
|
||||
if v is None:
|
||||
raise AttributeError(f'No defined reference for {k}')
|
||||
return v
|
||||
|
||||
|
||||
@@ -129,7 +126,7 @@ class Network(Data):
|
||||
"""
|
||||
chain_spec_dict = chain_spec.asdict()
|
||||
for k in chain_spec_dict.keys():
|
||||
logg.debug('resources {}'.format(self.resources))
|
||||
logg.debug(f'resources: {self.resources}')
|
||||
self.resources[resource_key]['chain_spec'][k] = chain_spec_dict[k]
|
||||
|
||||
|
||||
|
||||
@@ -10,16 +10,16 @@ import requests
|
||||
from cic_types.ext.metadata import MetadataRequestsHandler
|
||||
from cic_types.ext.metadata.signer import Signer as MetadataSigner
|
||||
from chainlib.cli.config import Config
|
||||
|
||||
from chainlib.chain import ChainSpec
|
||||
# Local Modules
|
||||
from cic.contract import ContractProcessor
|
||||
from cic.contract.processor import ContractProcessor
|
||||
from cic.contract.components.attachment import Attachment
|
||||
from cic.contract.components.meta import Meta
|
||||
from cic.contract.components.network import Network
|
||||
from cic.contract.components.proof import Proof
|
||||
from cic.contract.components.token import Token
|
||||
from cic.contract.helpers import init_writers_from_config
|
||||
from cic.writers import HTTPWriter, KeyedWriterFactory, OutputWriter
|
||||
from cic.writers import HTTPWriter, KeyedWriterFactory, OutputWriter, MetadataWriter
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
@@ -78,35 +78,45 @@ def generate_contract(
|
||||
"Directory already exists, Would you like to delete it? (y/n): "
|
||||
)
|
||||
if contine.lower() != "y":
|
||||
print("Exiting")
|
||||
exit(1)
|
||||
print("Trying to load existing contract")
|
||||
return load_contract(directory)
|
||||
else:
|
||||
print(f"Deleted {directory}")
|
||||
os.system(f"rm -rf {directory}")
|
||||
os.makedirs(directory)
|
||||
|
||||
log.debug("Generating token")
|
||||
token = Token(directory, interactive=interactive)
|
||||
token.start()
|
||||
|
||||
|
||||
log.debug("Generating proof")
|
||||
proof = Proof(directory, interactive=interactive)
|
||||
proof.start()
|
||||
|
||||
log.debug("Generating meta")
|
||||
meta = Meta(directory, interactive=interactive)
|
||||
meta.start()
|
||||
|
||||
log.debug("Generating attachment")
|
||||
attachment = Attachment(directory, interactive=interactive)
|
||||
|
||||
log.debug("Generating network")
|
||||
network = Network(directory, targets=targets)
|
||||
network.start()
|
||||
|
||||
log.debug(f"""Populating infomation from network:
|
||||
CIC_REGISTRY_ADDRESS: {config.get("CIC_REGISTRY_ADDRESS")}
|
||||
CHAIN_SPEC: {config.get("CHAIN_SPEC")}
|
||||
RPC_PROVIDER: {config.get("RPC_PROVIDER")}
|
||||
AUTH_KEY: {config.get("AUTH_KEY")}
|
||||
""")
|
||||
for target in targets:
|
||||
m = importlib.import_module(f"cic.ext.{target}.start")
|
||||
m.extension_start(
|
||||
network,
|
||||
registry_address=config.get("CIC_REGISTRY_ADDRESS"),
|
||||
chain_spec=config.get("CHAIN_SPEC"),
|
||||
chain_spec=ChainSpec.from_chain_str(config.get("CHAIN_SPEC")),
|
||||
rpc_provider=config.get("RPC_PROVIDER"),
|
||||
key_account_address=config.get("RPC_PROVIDER"),
|
||||
key_account_address=config.get("AUTH_KEY"), # TODO this should come from the wallet keystore
|
||||
)
|
||||
network.load()
|
||||
|
||||
@@ -115,7 +125,7 @@ def generate_contract(
|
||||
)
|
||||
|
||||
|
||||
def deploy(
|
||||
def deploy_contract(
|
||||
config: Config,
|
||||
target: str,
|
||||
contract_directory: str,
|
||||
@@ -133,7 +143,7 @@ def deploy(
|
||||
if metadata_endpoint is not None:
|
||||
MetadataRequestsHandler.base_url = metadata_endpoint
|
||||
MetadataSigner.gpg_path = "/tmp"
|
||||
MetadataSigner.key_file_path = config.get("AUTH_KEYFILE")
|
||||
MetadataSigner.key_file_path = config.get("AUTH_KEYFILE_PATH")
|
||||
MetadataSigner.gpg_passphrase = config.get("AUTH_PASSPHRASE")
|
||||
writers["proof"] = KeyedWriterFactory(MetadataWriter, HTTPWriter).new
|
||||
writers["attachment"] = KeyedWriterFactory(None, HTTPWriter).new
|
||||
@@ -169,6 +179,8 @@ def deploy(
|
||||
chain_spec = cn.chain_spec
|
||||
config.add(chain_spec, "CHAIN_SPEC", exists_ok=True)
|
||||
log.debug(f"using CHAIN_SPEC: {str(chain_spec)} from network")
|
||||
print(chain_spec)
|
||||
|
||||
signer_hint = config.get("WALLET_KEY_FILE")
|
||||
(rpc, signer) = cmd_mod.parse_adapter(config, signer_hint)
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import logging
|
||||
import sys
|
||||
import json
|
||||
import requests
|
||||
import importlib
|
||||
|
||||
# local imports
|
||||
from cic.writers import OutputWriter
|
||||
|
||||
Reference in New Issue
Block a user