31 lines
887 B
Python
31 lines
887 B
Python
|
# standard imports
|
||
|
import logging
|
||
|
|
||
|
# third-party imports
|
||
|
import pytest
|
||
|
from eth_accounts_index import AccountRegistry
|
||
|
from cic_registry import CICRegistry
|
||
|
|
||
|
logg = logging.getLogger(__name__)
|
||
|
|
||
|
|
||
|
@pytest.fixture(scope='session')
|
||
|
def accounts_registry(
|
||
|
default_chain_spec,
|
||
|
cic_registry,
|
||
|
w3,
|
||
|
):
|
||
|
abi = AccountRegistry.abi()
|
||
|
constructor = w3.eth.contract(abi=abi, bytecode=AccountRegistry.bytecode())
|
||
|
tx_hash = constructor.constructor().transact()
|
||
|
r = w3.eth.getTransactionReceipt(tx_hash)
|
||
|
logg.debug('accounts registry deployed {}'.format(r.contractAddress))
|
||
|
account_registry = AccountRegistry(w3, r.contractAddress)
|
||
|
|
||
|
c = w3.eth.contract(abi=abi, address=r.contractAddress)
|
||
|
c.functions.addWriter(w3.eth.accounts[0]).transact()
|
||
|
|
||
|
CICRegistry.add_contract(default_chain_spec, c, 'AccountRegistry')
|
||
|
|
||
|
return account_registry
|