from typing import Dict
from typing import Any


def build_ddo_dict(
    did: str,
    nft_address: str,
    chain_id: int,
    metadata: Dict[str, Any],
    services: Dict[str, Any],
    credentials: Dict[str, Any],
) -> dict:
    """Build a ddo dict, used for testing. See for details:
    https://github.com/oceanprotocol/docs/blob/v4main/content/concepts/did-ddo.md#ddo
    """
    return {
        "@context": ["https://w3id.org/did/v1"],
        "id": did,
        "version": "4.0.0",
        "nftAddress": nft_address,
        "chainId": chain_id,
        "metadata": metadata,
        "services": services,
        "credentials": credentials,
    }