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"])), )
def load_deployment_addresses_from_udc( proxy_manager: ProxyManager, user_deposit_address: UserDepositAddress, block_identifier: BlockIdentifier, ) -> DeploymentAddresses: """Given a user deposit address, this function returns the list of contract addresses which are used as services which are bound to the user deposit contract deployed. """ block_identifier = BLOCK_ID_LATEST user_deposit = proxy_manager.user_deposit( UserDepositAddress(to_canonical_address(user_deposit_address)), block_identifier=block_identifier, ) monitoring_service_address = user_deposit.monitoring_service_address( block_identifier) one_to_n_address = user_deposit.one_to_n_address( block_identifier=block_identifier) monitoring_service_proxy = proxy_manager.monitoring_service( address=monitoring_service_address, block_identifier=block_identifier) token_network_registry_address = monitoring_service_proxy.token_network_registry_address( block_identifier=block_identifier) token_network_registry_proxy = proxy_manager.token_network_registry( token_network_registry_address, block_identifier=block_identifier) secret_registry_address = token_network_registry_proxy.get_secret_registry_address( block_identifier=block_identifier) service_registry_address = monitoring_service_proxy.service_registry_address( block_identifier=block_identifier) return DeploymentAddresses( token_network_registry_address=token_network_registry_address, secret_registry_address=secret_registry_address, user_deposit_address=user_deposit_address, service_registry_address=service_registry_address, monitoring_service_address=monitoring_service_address, one_to_n_address=one_to_n_address, )