Source code for evmos.proto.autogen.py.ibc.lightclients.solomachine.v2

# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: ibc/lightclients/solomachine/v2/solomachine.proto
# plugin: python-betterproto
# This file has been @generated

from dataclasses import dataclass

import betterproto
import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf

from ....core.channel import v1 as ___core_channel_v1__
from ....core.connection import v1 as ___core_connection_v1__


[docs] class DataType(betterproto.Enum): """ DataType defines the type of solo machine proof being created. This is done to preserve uniqueness of different data sign byte encodings. """ DATA_TYPE_UNINITIALIZED_UNSPECIFIED = 0 """Default State""" DATA_TYPE_CLIENT_STATE = 1 """Data type for client state verification""" DATA_TYPE_CONSENSUS_STATE = 2 """Data type for consensus state verification""" DATA_TYPE_CONNECTION_STATE = 3 """Data type for connection state verification""" DATA_TYPE_CHANNEL_STATE = 4 """Data type for channel state verification""" DATA_TYPE_PACKET_COMMITMENT = 5 """Data type for packet commitment verification""" DATA_TYPE_PACKET_ACKNOWLEDGEMENT = 6 """Data type for packet acknowledgement verification""" DATA_TYPE_PACKET_RECEIPT_ABSENCE = 7 """Data type for packet receipt absence verification""" DATA_TYPE_NEXT_SEQUENCE_RECV = 8 """Data type for next sequence recv verification""" DATA_TYPE_HEADER = 9 """Data type for header verification"""
[docs] @dataclass(eq=False, repr=False) class ClientState(betterproto.Message): """ ClientState defines a solo machine client that tracks the current consensus state and if the client is frozen. """ sequence: int = betterproto.uint64_field(1) """latest sequence of the client state""" is_frozen: bool = betterproto.bool_field(2) """frozen sequence of the solo machine""" consensus_state: "ConsensusState" = betterproto.message_field(3) allow_update_after_proposal: bool = betterproto.bool_field(4) """ when set to true, will allow governance to update a solo machine client. The client will be unfrozen if it is frozen. """
[docs] @dataclass(eq=False, repr=False) class ConsensusState(betterproto.Message): """ ConsensusState defines a solo machine consensus state. The sequence of a consensus state is contained in the "height" key used in storing the consensus state. """ public_key: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) """public key of the solo machine""" diversifier: str = betterproto.string_field(2) """ diversifier allows the same public key to be re-used across different solo machine clients (potentially on different chains) without being considered misbehaviour. """ timestamp: int = betterproto.uint64_field(3)
[docs] @dataclass(eq=False, repr=False) class Misbehaviour(betterproto.Message): """ Misbehaviour defines misbehaviour for a solo machine which consists of a sequence and two signatures over different messages at that sequence. """ client_id: str = betterproto.string_field(1) sequence: int = betterproto.uint64_field(2) signature_one: "SignatureAndData" = betterproto.message_field(3) signature_two: "SignatureAndData" = betterproto.message_field(4)
[docs] @dataclass(eq=False, repr=False) class SignatureAndData(betterproto.Message): """ SignatureAndData contains a signature and the data signed over to create that signature. """ signature: bytes = betterproto.bytes_field(1) data_type: "DataType" = betterproto.enum_field(2) data: bytes = betterproto.bytes_field(3) timestamp: int = betterproto.uint64_field(4)
[docs] @dataclass(eq=False, repr=False) class TimestampedSignatureData(betterproto.Message): """ TimestampedSignatureData contains the signature data and the timestamp of the signature. """ signature_data: bytes = betterproto.bytes_field(1) timestamp: int = betterproto.uint64_field(2)
[docs] @dataclass(eq=False, repr=False) class SignBytes(betterproto.Message): """SignBytes defines the signed bytes used for signature verification.""" sequence: int = betterproto.uint64_field(1) timestamp: int = betterproto.uint64_field(2) diversifier: str = betterproto.string_field(3) data_type: "DataType" = betterproto.enum_field(4) """type of the data used""" data: bytes = betterproto.bytes_field(5) """marshaled data"""
[docs] @dataclass(eq=False, repr=False) class HeaderData(betterproto.Message): """HeaderData returns the SignBytes data for update verification.""" new_pub_key: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) """header public key""" new_diversifier: str = betterproto.string_field(2) """header diversifier"""
[docs] @dataclass(eq=False, repr=False) class ClientStateData(betterproto.Message): """ClientStateData returns the SignBytes data for client state verification.""" path: bytes = betterproto.bytes_field(1) client_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(2)
[docs] @dataclass(eq=False, repr=False) class ConsensusStateData(betterproto.Message): """ ConsensusStateData returns the SignBytes data for consensus state verification. """ path: bytes = betterproto.bytes_field(1) consensus_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field( 2 )
[docs] @dataclass(eq=False, repr=False) class ConnectionStateData(betterproto.Message): """ ConnectionStateData returns the SignBytes data for connection state verification. """ path: bytes = betterproto.bytes_field(1) connection: "___core_connection_v1__.ConnectionEnd" = betterproto.message_field(2)
[docs] @dataclass(eq=False, repr=False) class ChannelStateData(betterproto.Message): """ ChannelStateData returns the SignBytes data for channel state verification. """ path: bytes = betterproto.bytes_field(1) channel: "___core_channel_v1__.Channel" = betterproto.message_field(2)
[docs] @dataclass(eq=False, repr=False) class PacketCommitmentData(betterproto.Message): """ PacketCommitmentData returns the SignBytes data for packet commitment verification. """ path: bytes = betterproto.bytes_field(1) commitment: bytes = betterproto.bytes_field(2)
[docs] @dataclass(eq=False, repr=False) class PacketAcknowledgementData(betterproto.Message): """ PacketAcknowledgementData returns the SignBytes data for acknowledgement verification. """ path: bytes = betterproto.bytes_field(1) acknowledgement: bytes = betterproto.bytes_field(2)
[docs] @dataclass(eq=False, repr=False) class PacketReceiptAbsenceData(betterproto.Message): """ PacketReceiptAbsenceData returns the SignBytes data for packet receipt absence verification. """ path: bytes = betterproto.bytes_field(1)
[docs] @dataclass(eq=False, repr=False) class NextSequenceRecvData(betterproto.Message): """ NextSequenceRecvData returns the SignBytes data for verification of the next sequence to be received. """ path: bytes = betterproto.bytes_field(1) next_seq_recv: int = betterproto.uint64_field(2)