31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
# 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()
|