def deploy_service_registry( token_deploy_result: Callable[[], Contract], deploy_client: JSONRPCClient, contract_manager: ContractManager, proxy_manager: ProxyManager, ) -> ServiceRegistry: token_contract = token_deploy_result() contract, receipt = deploy_client.deploy_single_contract( contract_name=CONTRACT_SERVICE_REGISTRY, contract=contract_manager.get_contract(CONTRACT_SERVICE_REGISTRY), constructor_parameters=( token_contract.address, EMPTY_ADDRESS, int(500e18), 6, 5, 180 * SECONDS_PER_DAY, 1000, 200 * SECONDS_PER_DAY, ), ) return proxy_manager.service_registry( ServiceRegistryAddress(to_canonical_address(contract.address)), BlockNumber(receipt["blockNumber"]), )
def service_registry_address( self, block_identifier: BlockSpecification) -> ServiceRegistryAddress: return ServiceRegistryAddress( to_canonical_address( self.proxy.contract.functions.service_registry().call( block_identifier=block_identifier)))
def load_deployment_addresses_from_contracts( contracts: Dict[str, Any]) -> DeploymentAddresses: return DeploymentAddresses( token_network_registry_address=TokenNetworkRegistryAddress( to_canonical_address( contracts[CONTRACT_TOKEN_NETWORK_REGISTRY]["address"])), secret_registry_address=SecretRegistryAddress( to_canonical_address( contracts[CONTRACT_SECRET_REGISTRY]["address"])), user_deposit_address=UserDepositAddress( to_canonical_address(contracts[CONTRACT_USER_DEPOSIT]["address"])), service_registry_address=ServiceRegistryAddress( to_canonical_address( contracts[CONTRACT_SERVICE_REGISTRY]["address"])), monitoring_service_address=MonitoringServiceAddress( to_canonical_address( contracts[CONTRACT_MONITORING_SERVICE]["address"])), one_to_n_address=OneToNAddress( to_canonical_address(contracts[CONTRACT_ONE_TO_N]["address"])), )