# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: services/common/v1/common.proto
# plugin: python-betterproto
from dataclasses import dataclass

import betterproto
from betterproto.grpc.grpclib_server import ServiceBase


class ResponseStatus(betterproto.Enum):
    SUCCESS = 0
    WALLET_ACCESS_DENIED = 10
    WALLET_EXISTS = 11
    ITEM_NOT_FOUND = 20
    SERIALIZATION_ERROR = 200
    UNKNOWN_ERROR = 100


class SupportedDidMethod(betterproto.Enum):
    """
    Enum of all supported DID Methods https://docs.godiddy.com/en/supported-
    methods
    """

    KEY = 0
    """The did:key method -- all wallets use this by default"""

    ION = 1
    """
    The did:ion method -- Sidetree implementation on top of Bitcoin by
    Microsoft
    """

    INDY = 2
    """The did:sov method -- Hyperledger Indy based by Sovrin Foundation"""


class OrderDirection(betterproto.Enum):
    """The direction to order results"""

    ASCENDING = 0
    DESCENDING = 1


@dataclass(eq=False, repr=False)
class Nonce(betterproto.Message):
    """Nonce used to generate an oberon proof"""

    timestamp: int = betterproto.int64_field(1)
    request_hash: bytes = betterproto.bytes_field(2)


@dataclass(eq=False, repr=False)
class DentityClientOptions(betterproto.Message):
    server_endpoint: str = betterproto.string_field(1)
    """Dentity API endpoint. Defaults to `dentity.cloud`"""

    server_port: int = betterproto.int32_field(2)
    """Dentity API port; defaults to `443`"""

    server_use_tls: bool = betterproto.bool_field(3)
    """
    Whether TLS is enabled between SDK and Dentity API; defaults to `true`
    """

    auth_token: str = betterproto.string_field(4)
    """
    Authentication token for SDK calls; defaults to empty string
    (unauthenticated)
    """
