"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Copyright 2019 Shift Cryptosecurity AG

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""

from . import antiklepto_pb2
import builtins
import collections.abc
from . import common_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _ETHCoin:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ETHCoinEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ETHCoin.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    ETH: _ETHCoin.ValueType  # 0
    RopstenETH: _ETHCoin.ValueType  # 1
    """Removed in v9.14.0 - deprecated"""
    RinkebyETH: _ETHCoin.ValueType  # 2
    """Removed in v9.14.0 - deprecated"""

class ETHCoin(_ETHCoin, metaclass=_ETHCoinEnumTypeWrapper):
    """Kept for backwards compatibility. Use chain_id instead, introduced in v9.10.0."""

ETH: ETHCoin.ValueType  # 0
RopstenETH: ETHCoin.ValueType  # 1
"""Removed in v9.14.0 - deprecated"""
RinkebyETH: ETHCoin.ValueType  # 2
"""Removed in v9.14.0 - deprecated"""
global___ETHCoin = ETHCoin

class _ETHAddressCase:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ETHAddressCaseEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ETHAddressCase.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    ETH_ADDRESS_CASE_MIXED: _ETHAddressCase.ValueType  # 0
    ETH_ADDRESS_CASE_UPPER: _ETHAddressCase.ValueType  # 1
    ETH_ADDRESS_CASE_LOWER: _ETHAddressCase.ValueType  # 2

class ETHAddressCase(_ETHAddressCase, metaclass=_ETHAddressCaseEnumTypeWrapper): ...

ETH_ADDRESS_CASE_MIXED: ETHAddressCase.ValueType  # 0
ETH_ADDRESS_CASE_UPPER: ETHAddressCase.ValueType  # 1
ETH_ADDRESS_CASE_LOWER: ETHAddressCase.ValueType  # 2
global___ETHAddressCase = ETHAddressCase

@typing.final
class ETHPubRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _OutputType:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _OutputTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ETHPubRequest._OutputType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        ADDRESS: ETHPubRequest._OutputType.ValueType  # 0
        XPUB: ETHPubRequest._OutputType.ValueType  # 1

    class OutputType(_OutputType, metaclass=_OutputTypeEnumTypeWrapper): ...
    ADDRESS: ETHPubRequest.OutputType.ValueType  # 0
    XPUB: ETHPubRequest.OutputType.ValueType  # 1

    KEYPATH_FIELD_NUMBER: builtins.int
    COIN_FIELD_NUMBER: builtins.int
    OUTPUT_TYPE_FIELD_NUMBER: builtins.int
    DISPLAY_FIELD_NUMBER: builtins.int
    CONTRACT_ADDRESS_FIELD_NUMBER: builtins.int
    CHAIN_ID_FIELD_NUMBER: builtins.int
    coin: global___ETHCoin.ValueType
    """Deprecated: use chain_id instead."""
    output_type: global___ETHPubRequest.OutputType.ValueType
    display: builtins.bool
    contract_address: builtins.bytes
    chain_id: builtins.int
    """If non-zero, `coin` is ignored and `chain_id` is used to identify the network."""
    @property
    def keypath(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(
        self,
        *,
        keypath: collections.abc.Iterable[builtins.int] | None = ...,
        coin: global___ETHCoin.ValueType = ...,
        output_type: global___ETHPubRequest.OutputType.ValueType = ...,
        display: builtins.bool = ...,
        contract_address: builtins.bytes = ...,
        chain_id: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["chain_id", b"chain_id", "coin", b"coin", "contract_address", b"contract_address", "display", b"display", "keypath", b"keypath", "output_type", b"output_type"]) -> None: ...

global___ETHPubRequest = ETHPubRequest

@typing.final
class ETHSignRequest(google.protobuf.message.Message):
    """TX payload for "legacy" (EIP-155) transactions: https://eips.ethereum.org/EIPS/eip-155"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COIN_FIELD_NUMBER: builtins.int
    KEYPATH_FIELD_NUMBER: builtins.int
    NONCE_FIELD_NUMBER: builtins.int
    GAS_PRICE_FIELD_NUMBER: builtins.int
    GAS_LIMIT_FIELD_NUMBER: builtins.int
    RECIPIENT_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    HOST_NONCE_COMMITMENT_FIELD_NUMBER: builtins.int
    CHAIN_ID_FIELD_NUMBER: builtins.int
    ADDRESS_CASE_FIELD_NUMBER: builtins.int
    coin: global___ETHCoin.ValueType
    """Deprecated: use chain_id instead."""
    nonce: builtins.bytes
    """smallest big endian serialization, max. 16 bytes"""
    gas_price: builtins.bytes
    """smallest big endian serialization, max. 16 bytes"""
    gas_limit: builtins.bytes
    """smallest big endian serialization, max. 16 bytes"""
    recipient: builtins.bytes
    """20 byte recipient"""
    value: builtins.bytes
    """smallest big endian serialization, max. 32 bytes"""
    data: builtins.bytes
    chain_id: builtins.int
    """If non-zero, `coin` is ignored and `chain_id` is used to identify the network."""
    address_case: global___ETHAddressCase.ValueType
    @property
    def keypath(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    @property
    def host_nonce_commitment(self) -> antiklepto_pb2.AntiKleptoHostNonceCommitment: ...
    def __init__(
        self,
        *,
        coin: global___ETHCoin.ValueType = ...,
        keypath: collections.abc.Iterable[builtins.int] | None = ...,
        nonce: builtins.bytes = ...,
        gas_price: builtins.bytes = ...,
        gas_limit: builtins.bytes = ...,
        recipient: builtins.bytes = ...,
        value: builtins.bytes = ...,
        data: builtins.bytes = ...,
        host_nonce_commitment: antiklepto_pb2.AntiKleptoHostNonceCommitment | None = ...,
        chain_id: builtins.int = ...,
        address_case: global___ETHAddressCase.ValueType = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["host_nonce_commitment", b"host_nonce_commitment"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["address_case", b"address_case", "chain_id", b"chain_id", "coin", b"coin", "data", b"data", "gas_limit", b"gas_limit", "gas_price", b"gas_price", "host_nonce_commitment", b"host_nonce_commitment", "keypath", b"keypath", "nonce", b"nonce", "recipient", b"recipient", "value", b"value"]) -> None: ...

global___ETHSignRequest = ETHSignRequest

@typing.final
class ETHSignEIP1559Request(google.protobuf.message.Message):
    """TX payload for an EIP-1559 (type 2) transaction: https://eips.ethereum.org/EIPS/eip-1559"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CHAIN_ID_FIELD_NUMBER: builtins.int
    KEYPATH_FIELD_NUMBER: builtins.int
    NONCE_FIELD_NUMBER: builtins.int
    MAX_PRIORITY_FEE_PER_GAS_FIELD_NUMBER: builtins.int
    MAX_FEE_PER_GAS_FIELD_NUMBER: builtins.int
    GAS_LIMIT_FIELD_NUMBER: builtins.int
    RECIPIENT_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    HOST_NONCE_COMMITMENT_FIELD_NUMBER: builtins.int
    ADDRESS_CASE_FIELD_NUMBER: builtins.int
    chain_id: builtins.int
    nonce: builtins.bytes
    """smallest big endian serialization, max. 16 bytes"""
    max_priority_fee_per_gas: builtins.bytes
    """smallest big endian serialization, max. 16 bytes"""
    max_fee_per_gas: builtins.bytes
    """smallest big endian serialization, max. 16 bytes"""
    gas_limit: builtins.bytes
    """smallest big endian serialization, max. 16 bytes"""
    recipient: builtins.bytes
    """20 byte recipient"""
    value: builtins.bytes
    """smallest big endian serialization, max. 32 bytes"""
    data: builtins.bytes
    address_case: global___ETHAddressCase.ValueType
    @property
    def keypath(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    @property
    def host_nonce_commitment(self) -> antiklepto_pb2.AntiKleptoHostNonceCommitment: ...
    def __init__(
        self,
        *,
        chain_id: builtins.int = ...,
        keypath: collections.abc.Iterable[builtins.int] | None = ...,
        nonce: builtins.bytes = ...,
        max_priority_fee_per_gas: builtins.bytes = ...,
        max_fee_per_gas: builtins.bytes = ...,
        gas_limit: builtins.bytes = ...,
        recipient: builtins.bytes = ...,
        value: builtins.bytes = ...,
        data: builtins.bytes = ...,
        host_nonce_commitment: antiklepto_pb2.AntiKleptoHostNonceCommitment | None = ...,
        address_case: global___ETHAddressCase.ValueType = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["host_nonce_commitment", b"host_nonce_commitment"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["address_case", b"address_case", "chain_id", b"chain_id", "data", b"data", "gas_limit", b"gas_limit", "host_nonce_commitment", b"host_nonce_commitment", "keypath", b"keypath", "max_fee_per_gas", b"max_fee_per_gas", "max_priority_fee_per_gas", b"max_priority_fee_per_gas", "nonce", b"nonce", "recipient", b"recipient", "value", b"value"]) -> None: ...

global___ETHSignEIP1559Request = ETHSignEIP1559Request

@typing.final
class ETHSignMessageRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COIN_FIELD_NUMBER: builtins.int
    KEYPATH_FIELD_NUMBER: builtins.int
    MSG_FIELD_NUMBER: builtins.int
    HOST_NONCE_COMMITMENT_FIELD_NUMBER: builtins.int
    CHAIN_ID_FIELD_NUMBER: builtins.int
    coin: global___ETHCoin.ValueType
    """Deprecated: use chain_id instead."""
    msg: builtins.bytes
    chain_id: builtins.int
    """If non-zero, `coin` is ignored and `chain_id` is used to identify the network."""
    @property
    def keypath(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    @property
    def host_nonce_commitment(self) -> antiklepto_pb2.AntiKleptoHostNonceCommitment: ...
    def __init__(
        self,
        *,
        coin: global___ETHCoin.ValueType = ...,
        keypath: collections.abc.Iterable[builtins.int] | None = ...,
        msg: builtins.bytes = ...,
        host_nonce_commitment: antiklepto_pb2.AntiKleptoHostNonceCommitment | None = ...,
        chain_id: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["host_nonce_commitment", b"host_nonce_commitment"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["chain_id", b"chain_id", "coin", b"coin", "host_nonce_commitment", b"host_nonce_commitment", "keypath", b"keypath", "msg", b"msg"]) -> None: ...

global___ETHSignMessageRequest = ETHSignMessageRequest

@typing.final
class ETHSignResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SIGNATURE_FIELD_NUMBER: builtins.int
    signature: builtins.bytes
    """65 bytes, last byte is the recid"""
    def __init__(
        self,
        *,
        signature: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["signature", b"signature"]) -> None: ...

global___ETHSignResponse = ETHSignResponse

@typing.final
class ETHSignTypedMessageRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _DataType:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _DataTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ETHSignTypedMessageRequest._DataType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: ETHSignTypedMessageRequest._DataType.ValueType  # 0
        BYTES: ETHSignTypedMessageRequest._DataType.ValueType  # 1
        UINT: ETHSignTypedMessageRequest._DataType.ValueType  # 2
        INT: ETHSignTypedMessageRequest._DataType.ValueType  # 3
        BOOL: ETHSignTypedMessageRequest._DataType.ValueType  # 4
        ADDRESS: ETHSignTypedMessageRequest._DataType.ValueType  # 5
        STRING: ETHSignTypedMessageRequest._DataType.ValueType  # 6
        ARRAY: ETHSignTypedMessageRequest._DataType.ValueType  # 7
        STRUCT: ETHSignTypedMessageRequest._DataType.ValueType  # 8

    class DataType(_DataType, metaclass=_DataTypeEnumTypeWrapper): ...
    UNKNOWN: ETHSignTypedMessageRequest.DataType.ValueType  # 0
    BYTES: ETHSignTypedMessageRequest.DataType.ValueType  # 1
    UINT: ETHSignTypedMessageRequest.DataType.ValueType  # 2
    INT: ETHSignTypedMessageRequest.DataType.ValueType  # 3
    BOOL: ETHSignTypedMessageRequest.DataType.ValueType  # 4
    ADDRESS: ETHSignTypedMessageRequest.DataType.ValueType  # 5
    STRING: ETHSignTypedMessageRequest.DataType.ValueType  # 6
    ARRAY: ETHSignTypedMessageRequest.DataType.ValueType  # 7
    STRUCT: ETHSignTypedMessageRequest.DataType.ValueType  # 8

    @typing.final
    class MemberType(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        TYPE_FIELD_NUMBER: builtins.int
        SIZE_FIELD_NUMBER: builtins.int
        STRUCT_NAME_FIELD_NUMBER: builtins.int
        ARRAY_TYPE_FIELD_NUMBER: builtins.int
        type: global___ETHSignTypedMessageRequest.DataType.ValueType
        size: builtins.int
        struct_name: builtins.str
        """if type==STRUCT, name of struct type."""
        @property
        def array_type(self) -> global___ETHSignTypedMessageRequest.MemberType:
            """if type==ARRAY, type of elements"""

        def __init__(
            self,
            *,
            type: global___ETHSignTypedMessageRequest.DataType.ValueType = ...,
            size: builtins.int = ...,
            struct_name: builtins.str = ...,
            array_type: global___ETHSignTypedMessageRequest.MemberType | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["array_type", b"array_type"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["array_type", b"array_type", "size", b"size", "struct_name", b"struct_name", "type", b"type"]) -> None: ...

    @typing.final
    class Member(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        NAME_FIELD_NUMBER: builtins.int
        TYPE_FIELD_NUMBER: builtins.int
        name: builtins.str
        @property
        def type(self) -> global___ETHSignTypedMessageRequest.MemberType: ...
        def __init__(
            self,
            *,
            name: builtins.str = ...,
            type: global___ETHSignTypedMessageRequest.MemberType | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["name", b"name", "type", b"type"]) -> None: ...

    @typing.final
    class StructType(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        NAME_FIELD_NUMBER: builtins.int
        MEMBERS_FIELD_NUMBER: builtins.int
        name: builtins.str
        @property
        def members(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ETHSignTypedMessageRequest.Member]: ...
        def __init__(
            self,
            *,
            name: builtins.str = ...,
            members: collections.abc.Iterable[global___ETHSignTypedMessageRequest.Member] | None = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing.Literal["members", b"members", "name", b"name"]) -> None: ...

    CHAIN_ID_FIELD_NUMBER: builtins.int
    KEYPATH_FIELD_NUMBER: builtins.int
    TYPES_FIELD_NUMBER: builtins.int
    PRIMARY_TYPE_FIELD_NUMBER: builtins.int
    HOST_NONCE_COMMITMENT_FIELD_NUMBER: builtins.int
    chain_id: builtins.int
    primary_type: builtins.str
    @property
    def keypath(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    @property
    def types(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ETHSignTypedMessageRequest.StructType]: ...
    @property
    def host_nonce_commitment(self) -> antiklepto_pb2.AntiKleptoHostNonceCommitment: ...
    def __init__(
        self,
        *,
        chain_id: builtins.int = ...,
        keypath: collections.abc.Iterable[builtins.int] | None = ...,
        types: collections.abc.Iterable[global___ETHSignTypedMessageRequest.StructType] | None = ...,
        primary_type: builtins.str = ...,
        host_nonce_commitment: antiklepto_pb2.AntiKleptoHostNonceCommitment | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["host_nonce_commitment", b"host_nonce_commitment"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["chain_id", b"chain_id", "host_nonce_commitment", b"host_nonce_commitment", "keypath", b"keypath", "primary_type", b"primary_type", "types", b"types"]) -> None: ...

global___ETHSignTypedMessageRequest = ETHSignTypedMessageRequest

@typing.final
class ETHTypedMessageValueResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _RootObject:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _RootObjectEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ETHTypedMessageValueResponse._RootObject.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: ETHTypedMessageValueResponse._RootObject.ValueType  # 0
        DOMAIN: ETHTypedMessageValueResponse._RootObject.ValueType  # 1
        MESSAGE: ETHTypedMessageValueResponse._RootObject.ValueType  # 2

    class RootObject(_RootObject, metaclass=_RootObjectEnumTypeWrapper): ...
    UNKNOWN: ETHTypedMessageValueResponse.RootObject.ValueType  # 0
    DOMAIN: ETHTypedMessageValueResponse.RootObject.ValueType  # 1
    MESSAGE: ETHTypedMessageValueResponse.RootObject.ValueType  # 2

    ROOT_OBJECT_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    root_object: global___ETHTypedMessageValueResponse.RootObject.ValueType
    @property
    def path(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(
        self,
        *,
        root_object: global___ETHTypedMessageValueResponse.RootObject.ValueType = ...,
        path: collections.abc.Iterable[builtins.int] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["path", b"path", "root_object", b"root_object"]) -> None: ...

global___ETHTypedMessageValueResponse = ETHTypedMessageValueResponse

@typing.final
class ETHTypedMessageValueRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.bytes
    def __init__(
        self,
        *,
        value: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["value", b"value"]) -> None: ...

global___ETHTypedMessageValueRequest = ETHTypedMessageValueRequest

@typing.final
class ETHRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PUB_FIELD_NUMBER: builtins.int
    SIGN_FIELD_NUMBER: builtins.int
    SIGN_MSG_FIELD_NUMBER: builtins.int
    ANTIKLEPTO_SIGNATURE_FIELD_NUMBER: builtins.int
    SIGN_TYPED_MSG_FIELD_NUMBER: builtins.int
    TYPED_MSG_VALUE_FIELD_NUMBER: builtins.int
    SIGN_EIP1559_FIELD_NUMBER: builtins.int
    @property
    def pub(self) -> global___ETHPubRequest: ...
    @property
    def sign(self) -> global___ETHSignRequest: ...
    @property
    def sign_msg(self) -> global___ETHSignMessageRequest: ...
    @property
    def antiklepto_signature(self) -> antiklepto_pb2.AntiKleptoSignatureRequest: ...
    @property
    def sign_typed_msg(self) -> global___ETHSignTypedMessageRequest: ...
    @property
    def typed_msg_value(self) -> global___ETHTypedMessageValueRequest: ...
    @property
    def sign_eip1559(self) -> global___ETHSignEIP1559Request: ...
    def __init__(
        self,
        *,
        pub: global___ETHPubRequest | None = ...,
        sign: global___ETHSignRequest | None = ...,
        sign_msg: global___ETHSignMessageRequest | None = ...,
        antiklepto_signature: antiklepto_pb2.AntiKleptoSignatureRequest | None = ...,
        sign_typed_msg: global___ETHSignTypedMessageRequest | None = ...,
        typed_msg_value: global___ETHTypedMessageValueRequest | None = ...,
        sign_eip1559: global___ETHSignEIP1559Request | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["antiklepto_signature", b"antiklepto_signature", "pub", b"pub", "request", b"request", "sign", b"sign", "sign_eip1559", b"sign_eip1559", "sign_msg", b"sign_msg", "sign_typed_msg", b"sign_typed_msg", "typed_msg_value", b"typed_msg_value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["antiklepto_signature", b"antiklepto_signature", "pub", b"pub", "request", b"request", "sign", b"sign", "sign_eip1559", b"sign_eip1559", "sign_msg", b"sign_msg", "sign_typed_msg", b"sign_typed_msg", "typed_msg_value", b"typed_msg_value"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["request", b"request"]) -> typing.Literal["pub", "sign", "sign_msg", "antiklepto_signature", "sign_typed_msg", "typed_msg_value", "sign_eip1559"] | None: ...

global___ETHRequest = ETHRequest

@typing.final
class ETHResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PUB_FIELD_NUMBER: builtins.int
    SIGN_FIELD_NUMBER: builtins.int
    ANTIKLEPTO_SIGNER_COMMITMENT_FIELD_NUMBER: builtins.int
    TYPED_MSG_VALUE_FIELD_NUMBER: builtins.int
    @property
    def pub(self) -> common_pb2.PubResponse: ...
    @property
    def sign(self) -> global___ETHSignResponse: ...
    @property
    def antiklepto_signer_commitment(self) -> antiklepto_pb2.AntiKleptoSignerCommitment: ...
    @property
    def typed_msg_value(self) -> global___ETHTypedMessageValueResponse: ...
    def __init__(
        self,
        *,
        pub: common_pb2.PubResponse | None = ...,
        sign: global___ETHSignResponse | None = ...,
        antiklepto_signer_commitment: antiklepto_pb2.AntiKleptoSignerCommitment | None = ...,
        typed_msg_value: global___ETHTypedMessageValueResponse | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["antiklepto_signer_commitment", b"antiklepto_signer_commitment", "pub", b"pub", "response", b"response", "sign", b"sign", "typed_msg_value", b"typed_msg_value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["antiklepto_signer_commitment", b"antiklepto_signer_commitment", "pub", b"pub", "response", b"response", "sign", b"sign", "typed_msg_value", b"typed_msg_value"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["response", b"response"]) -> typing.Literal["pub", "sign", "antiklepto_signer_commitment", "typed_msg_value"] | None: ...

global___ETHResponse = ETHResponse
