# external imports from chainlib.eth.connection import RPCConnection from cic_eth_registry import CICRegistry def extension_start(network, *args, **kwargs): """Called by the "export" cli tool subcommand for initialization of the eth extension. :param network: Network object to read and write settings from :type network: cic.network.Network """ CICRegistry.address = kwargs["registry_address"] key_account_address = kwargs["key_account_address"] or "" RPCConnection.register_location(kwargs["rpc_provider"], kwargs["chain_spec"]) conn = RPCConnection.connect(kwargs["chain_spec"]) registry = CICRegistry(kwargs["chain_spec"], conn) address_declarator = registry.by_name("AddressDeclarator") network.resource_set( "eth", "address_declarator", address_declarator, key_account=key_account_address ) token_index = registry.by_name("TokenRegistry") network.resource_set( "eth", "token_index", token_index, key_account=key_account_address ) network.resource_set("eth", "token", None, key_account=key_account_address) network.set("eth", kwargs["chain_spec"]) network.save()