# external imports from cic_eth_registry import CICRegistry from chainlib.eth.connection import RPCConnection 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()