"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import cosmos.base.v1beta1.coin_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.timestamp_pb2
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class ResolveStatus(metaclass=_ResolveStatus):
    V = typing.NewType('V', builtins.int)

global___ResolveStatus = ResolveStatus

RESOLVE_STATUS_OPEN_UNSPECIFIED = ResolveStatus.V(0)
RESOLVE_STATUS_SUCCESS = ResolveStatus.V(1)
RESOLVE_STATUS_FAILURE = ResolveStatus.V(2)
RESOLVE_STATUS_EXPIRED = ResolveStatus.V(3)

class _ResolveStatus(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ResolveStatus.V], builtins.type):  # type: ignore
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
    RESOLVE_STATUS_OPEN_UNSPECIFIED = ResolveStatus.V(0)
    RESOLVE_STATUS_SUCCESS = ResolveStatus.V(1)
    RESOLVE_STATUS_FAILURE = ResolveStatus.V(2)
    RESOLVE_STATUS_EXPIRED = ResolveStatus.V(3)

class DataSource(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    OWNER_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    FILENAME_FIELD_NUMBER: builtins.int
    TREASURY_FIELD_NUMBER: builtins.int
    FEE_FIELD_NUMBER: builtins.int
    owner: typing.Text = ...
    name: typing.Text = ...
    description: typing.Text = ...
    filename: typing.Text = ...
    treasury: typing.Text = ...

    @property
    def fee(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...

    def __init__(self,
        *,
        owner : typing.Text = ...,
        name : typing.Text = ...,
        description : typing.Text = ...,
        filename : typing.Text = ...,
        treasury : typing.Text = ...,
        fee : typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"description",b"description",u"fee",b"fee",u"filename",b"filename",u"name",b"name",u"owner",b"owner",u"treasury",b"treasury"]) -> None: ...
global___DataSource = DataSource

class OracleScript(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    OWNER_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    FILENAME_FIELD_NUMBER: builtins.int
    SCHEMA_FIELD_NUMBER: builtins.int
    SOURCE_CODE_URL_FIELD_NUMBER: builtins.int
    owner: typing.Text = ...
    name: typing.Text = ...
    description: typing.Text = ...
    filename: typing.Text = ...
    schema: typing.Text = ...
    source_code_url: typing.Text = ...

    def __init__(self,
        *,
        owner : typing.Text = ...,
        name : typing.Text = ...,
        description : typing.Text = ...,
        filename : typing.Text = ...,
        schema : typing.Text = ...,
        source_code_url : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"description",b"description",u"filename",b"filename",u"name",b"name",u"owner",b"owner",u"schema",b"schema",u"source_code_url",b"source_code_url"]) -> None: ...
global___OracleScript = OracleScript

class RawRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    EXTERNAL_ID_FIELD_NUMBER: builtins.int
    DATA_SOURCE_ID_FIELD_NUMBER: builtins.int
    CALLDATA_FIELD_NUMBER: builtins.int
    external_id: builtins.int = ...
    data_source_id: builtins.int = ...
    calldata: builtins.bytes = ...

    def __init__(self,
        *,
        external_id : builtins.int = ...,
        data_source_id : builtins.int = ...,
        calldata : builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"calldata",b"calldata",u"data_source_id",b"data_source_id",u"external_id",b"external_id"]) -> None: ...
global___RawRequest = RawRequest

class RawReport(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    EXTERNAL_ID_FIELD_NUMBER: builtins.int
    EXIT_CODE_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    external_id: builtins.int = ...
    exit_code: builtins.int = ...
    data: builtins.bytes = ...

    def __init__(self,
        *,
        external_id : builtins.int = ...,
        exit_code : builtins.int = ...,
        data : builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"data",b"data",u"exit_code",b"exit_code",u"external_id",b"external_id"]) -> None: ...
global___RawReport = RawReport

class Request(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ORACLE_SCRIPT_ID_FIELD_NUMBER: builtins.int
    CALLDATA_FIELD_NUMBER: builtins.int
    REQUESTED_VALIDATORS_FIELD_NUMBER: builtins.int
    MIN_COUNT_FIELD_NUMBER: builtins.int
    REQUEST_HEIGHT_FIELD_NUMBER: builtins.int
    REQUEST_TIME_FIELD_NUMBER: builtins.int
    CLIENT_ID_FIELD_NUMBER: builtins.int
    RAW_REQUESTS_FIELD_NUMBER: builtins.int
    IBC_CHANNEL_FIELD_NUMBER: builtins.int
    EXECUTE_GAS_FIELD_NUMBER: builtins.int
    oracle_script_id: builtins.int = ...
    calldata: builtins.bytes = ...

    @property
    def requested_validators(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
    min_count: builtins.int = ...
    request_height: builtins.int = ...
    request_time: builtins.int = ...
    client_id: typing.Text = ...
    execute_gas: builtins.int = ...

    @property
    def raw_requests(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RawRequest]: ...

    @property
    def ibc_channel(self) -> global___IBCChannel: ...

    def __init__(self,
        *,
        oracle_script_id : builtins.int = ...,
        calldata : builtins.bytes = ...,
        requested_validators : typing.Optional[typing.Iterable[typing.Text]] = ...,
        min_count : builtins.int = ...,
        request_height : builtins.int = ...,
        request_time : builtins.int = ...,
        client_id : typing.Text = ...,
        raw_requests : typing.Optional[typing.Iterable[global___RawRequest]] = ...,
        ibc_channel : typing.Optional[global___IBCChannel] = ...,
        execute_gas : builtins.int = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"ibc_channel",b"ibc_channel"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"calldata",b"calldata",u"client_id",b"client_id",u"execute_gas",b"execute_gas",u"ibc_channel",b"ibc_channel",u"min_count",b"min_count",u"oracle_script_id",b"oracle_script_id",u"raw_requests",b"raw_requests",u"request_height",b"request_height",u"request_time",b"request_time",u"requested_validators",b"requested_validators"]) -> None: ...
global___Request = Request

class Report(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    VALIDATOR_FIELD_NUMBER: builtins.int
    IN_BEFORE_RESOLVE_FIELD_NUMBER: builtins.int
    RAW_REPORTS_FIELD_NUMBER: builtins.int
    validator: typing.Text = ...
    in_before_resolve: builtins.bool = ...

    @property
    def raw_reports(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RawReport]: ...

    def __init__(self,
        *,
        validator : typing.Text = ...,
        in_before_resolve : builtins.bool = ...,
        raw_reports : typing.Optional[typing.Iterable[global___RawReport]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"in_before_resolve",b"in_before_resolve",u"raw_reports",b"raw_reports",u"validator",b"validator"]) -> None: ...
global___Report = Report

class OracleRequestPacketData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CLIENT_ID_FIELD_NUMBER: builtins.int
    ORACLE_SCRIPT_ID_FIELD_NUMBER: builtins.int
    CALLDATA_FIELD_NUMBER: builtins.int
    ASK_COUNT_FIELD_NUMBER: builtins.int
    MIN_COUNT_FIELD_NUMBER: builtins.int
    FEE_LIMIT_FIELD_NUMBER: builtins.int
    REQUEST_KEY_FIELD_NUMBER: builtins.int
    PREPARE_GAS_FIELD_NUMBER: builtins.int
    EXECUTE_GAS_FIELD_NUMBER: builtins.int
    client_id: typing.Text = ...
    oracle_script_id: builtins.int = ...
    calldata: builtins.bytes = ...
    ask_count: builtins.int = ...
    min_count: builtins.int = ...
    request_key: typing.Text = ...
    prepare_gas: builtins.int = ...
    execute_gas: builtins.int = ...

    @property
    def fee_limit(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...

    def __init__(self,
        *,
        client_id : typing.Text = ...,
        oracle_script_id : builtins.int = ...,
        calldata : builtins.bytes = ...,
        ask_count : builtins.int = ...,
        min_count : builtins.int = ...,
        fee_limit : typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        request_key : typing.Text = ...,
        prepare_gas : builtins.int = ...,
        execute_gas : builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"ask_count",b"ask_count",u"calldata",b"calldata",u"client_id",b"client_id",u"execute_gas",b"execute_gas",u"fee_limit",b"fee_limit",u"min_count",b"min_count",u"oracle_script_id",b"oracle_script_id",u"prepare_gas",b"prepare_gas",u"request_key",b"request_key"]) -> None: ...
global___OracleRequestPacketData = OracleRequestPacketData

class OracleRequestPacketAcknowledgement(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    REQUEST_ID_FIELD_NUMBER: builtins.int
    request_id: builtins.int = ...

    def __init__(self,
        *,
        request_id : builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"request_id",b"request_id"]) -> None: ...
global___OracleRequestPacketAcknowledgement = OracleRequestPacketAcknowledgement

class OracleResponsePacketData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CLIENT_ID_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    ANS_COUNT_FIELD_NUMBER: builtins.int
    REQUEST_TIME_FIELD_NUMBER: builtins.int
    RESOLVE_TIME_FIELD_NUMBER: builtins.int
    RESOLVE_STATUS_FIELD_NUMBER: builtins.int
    RESULT_FIELD_NUMBER: builtins.int
    client_id: typing.Text = ...
    request_id: builtins.int = ...
    ans_count: builtins.int = ...
    request_time: builtins.int = ...
    resolve_time: builtins.int = ...
    resolve_status: global___ResolveStatus.V = ...
    result: builtins.bytes = ...

    def __init__(self,
        *,
        client_id : typing.Text = ...,
        request_id : builtins.int = ...,
        ans_count : builtins.int = ...,
        request_time : builtins.int = ...,
        resolve_time : builtins.int = ...,
        resolve_status : global___ResolveStatus.V = ...,
        result : builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"ans_count",b"ans_count",u"client_id",b"client_id",u"request_id",b"request_id",u"request_time",b"request_time",u"resolve_status",b"resolve_status",u"resolve_time",b"resolve_time",u"result",b"result"]) -> None: ...
global___OracleResponsePacketData = OracleResponsePacketData

class Result(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CLIENT_ID_FIELD_NUMBER: builtins.int
    ORACLE_SCRIPT_ID_FIELD_NUMBER: builtins.int
    CALLDATA_FIELD_NUMBER: builtins.int
    ASK_COUNT_FIELD_NUMBER: builtins.int
    MIN_COUNT_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    ANS_COUNT_FIELD_NUMBER: builtins.int
    REQUEST_TIME_FIELD_NUMBER: builtins.int
    RESOLVE_TIME_FIELD_NUMBER: builtins.int
    RESOLVE_STATUS_FIELD_NUMBER: builtins.int
    RESULT_FIELD_NUMBER: builtins.int
    client_id: typing.Text = ...
    oracle_script_id: builtins.int = ...
    calldata: builtins.bytes = ...
    ask_count: builtins.int = ...
    min_count: builtins.int = ...
    request_id: builtins.int = ...
    ans_count: builtins.int = ...
    request_time: builtins.int = ...
    resolve_time: builtins.int = ...
    resolve_status: global___ResolveStatus.V = ...
    result: builtins.bytes = ...

    def __init__(self,
        *,
        client_id : typing.Text = ...,
        oracle_script_id : builtins.int = ...,
        calldata : builtins.bytes = ...,
        ask_count : builtins.int = ...,
        min_count : builtins.int = ...,
        request_id : builtins.int = ...,
        ans_count : builtins.int = ...,
        request_time : builtins.int = ...,
        resolve_time : builtins.int = ...,
        resolve_status : global___ResolveStatus.V = ...,
        result : builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"ans_count",b"ans_count",u"ask_count",b"ask_count",u"calldata",b"calldata",u"client_id",b"client_id",u"min_count",b"min_count",u"oracle_script_id",b"oracle_script_id",u"request_id",b"request_id",u"request_time",b"request_time",u"resolve_status",b"resolve_status",u"resolve_time",b"resolve_time",u"result",b"result"]) -> None: ...
global___Result = Result

class ValidatorStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    IS_ACTIVE_FIELD_NUMBER: builtins.int
    SINCE_FIELD_NUMBER: builtins.int
    is_active: builtins.bool = ...

    @property
    def since(self) -> google.protobuf.timestamp_pb2.Timestamp: ...

    def __init__(self,
        *,
        is_active : builtins.bool = ...,
        since : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"since",b"since"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"is_active",b"is_active",u"since",b"since"]) -> None: ...
global___ValidatorStatus = ValidatorStatus

class ActiveValidator(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ADDRESS_FIELD_NUMBER: builtins.int
    POWER_FIELD_NUMBER: builtins.int
    address: typing.Text = ...
    power: builtins.int = ...

    def __init__(self,
        *,
        address : typing.Text = ...,
        power : builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"address",b"address",u"power",b"power"]) -> None: ...
global___ActiveValidator = ActiveValidator

class Params(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    MAX_RAW_REQUEST_COUNT_FIELD_NUMBER: builtins.int
    MAX_ASK_COUNT_FIELD_NUMBER: builtins.int
    EXPIRATION_BLOCK_COUNT_FIELD_NUMBER: builtins.int
    BASE_OWASM_GAS_FIELD_NUMBER: builtins.int
    PER_VALIDATOR_REQUEST_GAS_FIELD_NUMBER: builtins.int
    SAMPLING_TRY_COUNT_FIELD_NUMBER: builtins.int
    ORACLE_REWARD_PERCENTAGE_FIELD_NUMBER: builtins.int
    INACTIVE_PENALTY_DURATION_FIELD_NUMBER: builtins.int
    IBC_REQUEST_ENABLED_FIELD_NUMBER: builtins.int
    max_raw_request_count: builtins.int = ...
    max_ask_count: builtins.int = ...
    expiration_block_count: builtins.int = ...
    base_owasm_gas: builtins.int = ...
    per_validator_request_gas: builtins.int = ...
    sampling_try_count: builtins.int = ...
    oracle_reward_percentage: builtins.int = ...
    inactive_penalty_duration: builtins.int = ...
    ibc_request_enabled: builtins.bool = ...

    def __init__(self,
        *,
        max_raw_request_count : builtins.int = ...,
        max_ask_count : builtins.int = ...,
        expiration_block_count : builtins.int = ...,
        base_owasm_gas : builtins.int = ...,
        per_validator_request_gas : builtins.int = ...,
        sampling_try_count : builtins.int = ...,
        oracle_reward_percentage : builtins.int = ...,
        inactive_penalty_duration : builtins.int = ...,
        ibc_request_enabled : builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"base_owasm_gas",b"base_owasm_gas",u"expiration_block_count",b"expiration_block_count",u"ibc_request_enabled",b"ibc_request_enabled",u"inactive_penalty_duration",b"inactive_penalty_duration",u"max_ask_count",b"max_ask_count",u"max_raw_request_count",b"max_raw_request_count",u"oracle_reward_percentage",b"oracle_reward_percentage",u"per_validator_request_gas",b"per_validator_request_gas",u"sampling_try_count",b"sampling_try_count"]) -> None: ...
global___Params = Params

class PendingResolveList(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    REQUEST_IDS_FIELD_NUMBER: builtins.int

    @property
    def request_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...

    def __init__(self,
        *,
        request_ids : typing.Optional[typing.Iterable[builtins.int]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"request_ids",b"request_ids"]) -> None: ...
global___PendingResolveList = PendingResolveList

class IBCChannel(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PORT_ID_FIELD_NUMBER: builtins.int
    CHANNEL_ID_FIELD_NUMBER: builtins.int
    port_id: typing.Text = ...
    channel_id: typing.Text = ...

    def __init__(self,
        *,
        port_id : typing.Text = ...,
        channel_id : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"channel_id",b"channel_id",u"port_id",b"port_id"]) -> None: ...
global___IBCChannel = IBCChannel

class ReportersPerValidator(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    VALIDATOR_FIELD_NUMBER: builtins.int
    REPORTERS_FIELD_NUMBER: builtins.int
    validator: typing.Text = ...

    @property
    def reporters(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...

    def __init__(self,
        *,
        validator : typing.Text = ...,
        reporters : typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"reporters",b"reporters",u"validator",b"validator"]) -> None: ...
global___ReportersPerValidator = ReportersPerValidator

class RequestVerification(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CHAIN_ID_FIELD_NUMBER: builtins.int
    VALIDATOR_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    EXTERNAL_ID_FIELD_NUMBER: builtins.int
    chain_id: typing.Text = ...
    validator: typing.Text = ...
    request_id: builtins.int = ...
    external_id: builtins.int = ...

    def __init__(self,
        *,
        chain_id : typing.Text = ...,
        validator : typing.Text = ...,
        request_id : builtins.int = ...,
        external_id : builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"chain_id",b"chain_id",u"external_id",b"external_id",u"request_id",b"request_id",u"validator",b"validator"]) -> None: ...
global___RequestVerification = RequestVerification

class PriceResult(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    SYMBOL_FIELD_NUMBER: builtins.int
    MULTIPLIER_FIELD_NUMBER: builtins.int
    PX_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    RESOLVE_TIME_FIELD_NUMBER: builtins.int
    symbol: typing.Text = ...
    multiplier: builtins.int = ...
    px: builtins.int = ...
    request_id: builtins.int = ...
    resolve_time: builtins.int = ...

    def __init__(self,
        *,
        symbol : typing.Text = ...,
        multiplier : builtins.int = ...,
        px : builtins.int = ...,
        request_id : builtins.int = ...,
        resolve_time : builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"multiplier",b"multiplier",u"px",b"px",u"request_id",b"request_id",u"resolve_time",b"resolve_time",u"symbol",b"symbol"]) -> None: ...
global___PriceResult = PriceResult
