Example #1
0
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"])),
    )
Example #2
0
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,
    )