"""
@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.message
import oracle.v1.oracle_pb2
import typing
import typing_extensions

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

# MsgRequestData is a message for sending a data oracle request.
class MsgRequestData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ORACLE_SCRIPT_ID_FIELD_NUMBER: builtins.int
    CALLDATA_FIELD_NUMBER: builtins.int
    ASK_COUNT_FIELD_NUMBER: builtins.int
    MIN_COUNT_FIELD_NUMBER: builtins.int
    CLIENT_ID_FIELD_NUMBER: builtins.int
    FEE_LIMIT_FIELD_NUMBER: builtins.int
    PREPARE_GAS_FIELD_NUMBER: builtins.int
    EXECUTE_GAS_FIELD_NUMBER: builtins.int
    SENDER_FIELD_NUMBER: builtins.int
    # OracleScriptID is the identifier of the oracle script to be called.
    oracle_script_id: builtins.int = ...
    # Calldata is the OBI-encoded call parameters for the oracle script.
    calldata: builtins.bytes = ...
    # AskCount is the number of validators to perform the oracle task.
    ask_count: builtins.int = ...
    # MinCount is the minimum number of validators sufficient to resolve the
    # oracle tasks.
    min_count: builtins.int = ...
    # ClientID is the client-provided unique identifier to track the request.
    client_id: typing.Text = ...
    # FeeLimit is the maximum tokens that will be paid to all data source
    # providers.
    @property
    def fee_limit(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...
    # PrepareGas is amount of gas to pay to prepare raw requests
    prepare_gas: builtins.int = ...
    # ExecuteGas is amount of gas to reserve for executing
    execute_gas: builtins.int = ...
    # Sender is an account address of message sender.
    sender: typing.Text = ...
    def __init__(self,
        *,
        oracle_script_id : builtins.int = ...,
        calldata : builtins.bytes = ...,
        ask_count : builtins.int = ...,
        min_count : builtins.int = ...,
        client_id : typing.Text = ...,
        fee_limit : typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        prepare_gas : builtins.int = ...,
        execute_gas : builtins.int = ...,
        sender : typing.Text = ...,
        ) -> 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"sender",b"sender"]) -> None: ...
global___MsgRequestData = MsgRequestData

# MsgRequestDataResponse is response data for MsgRequestData message
class MsgRequestDataResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___MsgRequestDataResponse = MsgRequestDataResponse

# MsgReportData is a message for reporting to a data request by a validator.
class MsgReportData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    REQUEST_ID_FIELD_NUMBER: builtins.int
    RAW_REPORTS_FIELD_NUMBER: builtins.int
    VALIDATOR_FIELD_NUMBER: builtins.int
    # RequestID is the identifier of the request to be reported to.
    request_id: builtins.int = ...
    # RawReports is the list of report information provided by data sources
    # identified by external ID
    @property
    def raw_reports(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[oracle.v1.oracle_pb2.RawReport]: ...
    # Validator is the address of the validator that owns this report.
    validator: typing.Text = ...
    def __init__(self,
        *,
        request_id : builtins.int = ...,
        raw_reports : typing.Optional[typing.Iterable[oracle.v1.oracle_pb2.RawReport]] = ...,
        validator : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"raw_reports",b"raw_reports",u"request_id",b"request_id",u"validator",b"validator"]) -> None: ...
global___MsgReportData = MsgReportData

# MsgReportDataResponse is response data for MsgReportData message
class MsgReportDataResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___MsgReportDataResponse = MsgReportDataResponse

# MsgCreateDataSource is a message for creating a new data source.
class MsgCreateDataSource(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    EXECUTABLE_FIELD_NUMBER: builtins.int
    FEE_FIELD_NUMBER: builtins.int
    TREASURY_FIELD_NUMBER: builtins.int
    OWNER_FIELD_NUMBER: builtins.int
    SENDER_FIELD_NUMBER: builtins.int
    # Name is the name of this data source used for display (optional).
    name: typing.Text = ...
    # Description is the description of this data source used for display
    # (optional).
    description: typing.Text = ...
    # Executable is the content of executable script or binary file to be run by
    # validators upon execution.
    executable: builtins.bytes = ...
    # Fee is the data source fee per ask_count that data provider will receive
    # from requester.
    @property
    def fee(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...
    # Treasury is the account address who receive data source fee from requester.
    treasury: typing.Text = ...
    # Owner is the account address who is allowed to make further changes to the
    # data source.
    owner: typing.Text = ...
    # Sender is the signer of this message.
    sender: typing.Text = ...
    def __init__(self,
        *,
        name : typing.Text = ...,
        description : typing.Text = ...,
        executable : builtins.bytes = ...,
        fee : typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        treasury : typing.Text = ...,
        owner : typing.Text = ...,
        sender : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"description",b"description",u"executable",b"executable",u"fee",b"fee",u"name",b"name",u"owner",b"owner",u"sender",b"sender",u"treasury",b"treasury"]) -> None: ...
global___MsgCreateDataSource = MsgCreateDataSource

# MsgCreateDataSourceResponse is response data for MsgCreateDataSource message
class MsgCreateDataSourceResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___MsgCreateDataSourceResponse = MsgCreateDataSourceResponse

# MsgEditDataSource is a message for editing an existing data source.
class MsgEditDataSource(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    DATA_SOURCE_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    EXECUTABLE_FIELD_NUMBER: builtins.int
    FEE_FIELD_NUMBER: builtins.int
    TREASURY_FIELD_NUMBER: builtins.int
    OWNER_FIELD_NUMBER: builtins.int
    SENDER_FIELD_NUMBER: builtins.int
    # DataSourceID is the unique identifier of the data source to be edited.
    data_source_id: builtins.int = ...
    # Name is the name of this data source used for display (optional).
    name: typing.Text = ...
    # Description is the description of this data source used for display
    # (optional).
    description: typing.Text = ...
    # Executable is the executable script or binary to be run by validators upon
    # execution.
    executable: builtins.bytes = ...
    # Fee is the data source fee per ask_count that data provider will receive
    # from requester.
    @property
    def fee(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...
    # Treasury is the address who receive data source fee from requester.
    treasury: typing.Text = ...
    # Owner is the address who is allowed to make further changes to the data
    # source.
    owner: typing.Text = ...
    # Sender is the signer of this message. Must be the current data source's
    # owner.
    sender: typing.Text = ...
    def __init__(self,
        *,
        data_source_id : builtins.int = ...,
        name : typing.Text = ...,
        description : typing.Text = ...,
        executable : builtins.bytes = ...,
        fee : typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        treasury : typing.Text = ...,
        owner : typing.Text = ...,
        sender : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"data_source_id",b"data_source_id",u"description",b"description",u"executable",b"executable",u"fee",b"fee",u"name",b"name",u"owner",b"owner",u"sender",b"sender",u"treasury",b"treasury"]) -> None: ...
global___MsgEditDataSource = MsgEditDataSource

# MsgEditDataSourceResponse is response data for MsgEditDataSource message
class MsgEditDataSourceResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___MsgEditDataSourceResponse = MsgEditDataSourceResponse

# MsgCreateOracleScript is a message for creating an oracle script.
class MsgCreateOracleScript(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    SCHEMA_FIELD_NUMBER: builtins.int
    SOURCE_CODE_URL_FIELD_NUMBER: builtins.int
    CODE_FIELD_NUMBER: builtins.int
    OWNER_FIELD_NUMBER: builtins.int
    SENDER_FIELD_NUMBER: builtins.int
    # Name is the name of this oracle script used for display (optional).
    name: typing.Text = ...
    # Description is the description of this oracle script used for display
    # (optional).
    description: typing.Text = ...
    # Schema is the OBI schema of this oracle script (optional).
    schema: typing.Text = ...
    # SourceCodeURL is the absolute URI to the script's source code (optional).
    source_code_url: typing.Text = ...
    # Code is the oracle WebAssembly binary code. Can be raw of gzip compressed.
    code: builtins.bytes = ...
    # Owner is the address who is allowed to make further changes to the oracle
    # script.
    owner: typing.Text = ...
    # Sender is the signer of this message.
    sender: typing.Text = ...
    def __init__(self,
        *,
        name : typing.Text = ...,
        description : typing.Text = ...,
        schema : typing.Text = ...,
        source_code_url : typing.Text = ...,
        code : builtins.bytes = ...,
        owner : typing.Text = ...,
        sender : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"code",b"code",u"description",b"description",u"name",b"name",u"owner",b"owner",u"schema",b"schema",u"sender",b"sender",u"source_code_url",b"source_code_url"]) -> None: ...
global___MsgCreateOracleScript = MsgCreateOracleScript

# MsgCreateOracleScriptResponse is response data for MsgCreateOracleScript
# message
class MsgCreateOracleScriptResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___MsgCreateOracleScriptResponse = MsgCreateOracleScriptResponse

# MsgEditOracleScript is a message for editing an existing oracle script.
class MsgEditOracleScript(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ORACLE_SCRIPT_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    SCHEMA_FIELD_NUMBER: builtins.int
    SOURCE_CODE_URL_FIELD_NUMBER: builtins.int
    CODE_FIELD_NUMBER: builtins.int
    OWNER_FIELD_NUMBER: builtins.int
    SENDER_FIELD_NUMBER: builtins.int
    # OracleScriptID is the unique identifier of the oracle script to be edited.
    oracle_script_id: builtins.int = ...
    # Name is the name of this oracle script used for display (optional).
    name: typing.Text = ...
    # Description is the description of this oracle script used for display
    # (optional).
    description: typing.Text = ...
    # Schema is the OBI schema of this oracle script (optional).
    schema: typing.Text = ...
    # SourceCodeURL is the absolute URI to the script's source code (optional).
    source_code_url: typing.Text = ...
    # Code is the oracle WebAssembly binary code. Can be raw of gzip compressed.
    code: builtins.bytes = ...
    # Owner is an account address who is allowed to make further changes to the
    # oracle script.
    owner: typing.Text = ...
    # Sender is an account address who sign this message. Must be the current
    # oracle script's owner.
    sender: typing.Text = ...
    def __init__(self,
        *,
        oracle_script_id : builtins.int = ...,
        name : typing.Text = ...,
        description : typing.Text = ...,
        schema : typing.Text = ...,
        source_code_url : typing.Text = ...,
        code : builtins.bytes = ...,
        owner : typing.Text = ...,
        sender : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"code",b"code",u"description",b"description",u"name",b"name",u"oracle_script_id",b"oracle_script_id",u"owner",b"owner",u"schema",b"schema",u"sender",b"sender",u"source_code_url",b"source_code_url"]) -> None: ...
global___MsgEditOracleScript = MsgEditOracleScript

# MsgEditOracleScriptResponse is response data for MsgEditOracleScript message
class MsgEditOracleScriptResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___MsgEditOracleScriptResponse = MsgEditOracleScriptResponse

# MsgEditOracleScript is a message for activating a validator to become an
# oracle provider. However, the activation can be revoked once the validator
# is unable to provide data to fulfill requests
class MsgActivate(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    VALIDATOR_FIELD_NUMBER: builtins.int
    # Validator is the validator address who sign this message and request to be
    # activated.
    validator: typing.Text = ...
    def __init__(self,
        *,
        validator : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"validator",b"validator"]) -> None: ...
global___MsgActivate = MsgActivate

# MsgActivateResponse is response data for MsgActivate message
class MsgActivateResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___MsgActivateResponse = MsgActivateResponse
