import { Any, AnyAmino } from "../../../../google/protobuf/any"; import { BinaryReader, BinaryWriter } from "../../../../binary"; import { DeepPartial } from "../../../../helpers"; /** * ClientState defines a solo machine client that tracks the current consensus * state and if the client is frozen. * @name ClientState * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.ClientState */ export interface ClientState { /** * latest sequence of the client state */ sequence: bigint; /** * frozen sequence of the solo machine */ isFrozen: boolean; consensusState?: ConsensusState; } export interface ClientStateProtoMsg { typeUrl: "/ibc.lightclients.solomachine.v3.ClientState"; value: Uint8Array; } /** * ClientState defines a solo machine client that tracks the current consensus * state and if the client is frozen. * @name ClientStateAmino * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.ClientState */ export interface ClientStateAmino { /** * latest sequence of the client state */ sequence: string; /** * frozen sequence of the solo machine */ is_frozen: boolean; consensus_state?: ConsensusStateAmino; } export interface ClientStateAminoMsg { type: "cosmos-sdk/ClientState"; value: ClientStateAmino; } /** * 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. * @name ConsensusState * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.ConsensusState */ export interface ConsensusState { /** * public key of the solo machine */ publicKey?: Any; /** * diversifier allows the same public key to be reused across different solo * machine clients (potentially on different chains) without being considered * misbehaviour. */ diversifier: string; timestamp: bigint; } export interface ConsensusStateProtoMsg { typeUrl: "/ibc.lightclients.solomachine.v3.ConsensusState"; value: Uint8Array; } /** * 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. * @name ConsensusStateAmino * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.ConsensusState */ export interface ConsensusStateAmino { /** * public key of the solo machine */ public_key?: AnyAmino; /** * diversifier allows the same public key to be reused across different solo * machine clients (potentially on different chains) without being considered * misbehaviour. */ diversifier: string; timestamp: string; } export interface ConsensusStateAminoMsg { type: "cosmos-sdk/ConsensusState"; value: ConsensusStateAmino; } /** * Header defines a solo machine consensus header * @name Header * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.Header */ export interface Header { timestamp: bigint; signature: Uint8Array; newPublicKey?: Any; newDiversifier: string; } export interface HeaderProtoMsg { typeUrl: "/ibc.lightclients.solomachine.v3.Header"; value: Uint8Array; } /** * Header defines a solo machine consensus header * @name HeaderAmino * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.Header */ export interface HeaderAmino { timestamp: string; signature: string; new_public_key?: AnyAmino; new_diversifier: string; } export interface HeaderAminoMsg { type: "cosmos-sdk/Header"; value: HeaderAmino; } /** * Misbehaviour defines misbehaviour for a solo machine which consists * of a sequence and two signatures over different messages at that sequence. * @name Misbehaviour * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.Misbehaviour */ export interface Misbehaviour { sequence: bigint; signatureOne?: SignatureAndData; signatureTwo?: SignatureAndData; } export interface MisbehaviourProtoMsg { typeUrl: "/ibc.lightclients.solomachine.v3.Misbehaviour"; value: Uint8Array; } /** * Misbehaviour defines misbehaviour for a solo machine which consists * of a sequence and two signatures over different messages at that sequence. * @name MisbehaviourAmino * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.Misbehaviour */ export interface MisbehaviourAmino { sequence: string; signature_one?: SignatureAndDataAmino; signature_two?: SignatureAndDataAmino; } export interface MisbehaviourAminoMsg { type: "cosmos-sdk/Misbehaviour"; value: MisbehaviourAmino; } /** * SignatureAndData contains a signature and the data signed over to create that * signature. * @name SignatureAndData * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.SignatureAndData */ export interface SignatureAndData { signature: Uint8Array; path: Uint8Array; data: Uint8Array; timestamp: bigint; } export interface SignatureAndDataProtoMsg { typeUrl: "/ibc.lightclients.solomachine.v3.SignatureAndData"; value: Uint8Array; } /** * SignatureAndData contains a signature and the data signed over to create that * signature. * @name SignatureAndDataAmino * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.SignatureAndData */ export interface SignatureAndDataAmino { signature: string; path: string; data: string; timestamp: string; } export interface SignatureAndDataAminoMsg { type: "cosmos-sdk/SignatureAndData"; value: SignatureAndDataAmino; } /** * TimestampedSignatureData contains the signature data and the timestamp of the * signature. * @name TimestampedSignatureData * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.TimestampedSignatureData */ export interface TimestampedSignatureData { signatureData: Uint8Array; timestamp: bigint; } export interface TimestampedSignatureDataProtoMsg { typeUrl: "/ibc.lightclients.solomachine.v3.TimestampedSignatureData"; value: Uint8Array; } /** * TimestampedSignatureData contains the signature data and the timestamp of the * signature. * @name TimestampedSignatureDataAmino * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.TimestampedSignatureData */ export interface TimestampedSignatureDataAmino { signature_data: string; timestamp: string; } export interface TimestampedSignatureDataAminoMsg { type: "cosmos-sdk/TimestampedSignatureData"; value: TimestampedSignatureDataAmino; } /** * SignBytes defines the signed bytes used for signature verification. * @name SignBytes * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.SignBytes */ export interface SignBytes { /** * the sequence number */ sequence: bigint; /** * the proof timestamp */ timestamp: bigint; /** * the public key diversifier */ diversifier: string; /** * the standardised path bytes */ path: Uint8Array; /** * the marshaled data bytes */ data: Uint8Array; } export interface SignBytesProtoMsg { typeUrl: "/ibc.lightclients.solomachine.v3.SignBytes"; value: Uint8Array; } /** * SignBytes defines the signed bytes used for signature verification. * @name SignBytesAmino * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.SignBytes */ export interface SignBytesAmino { /** * the sequence number */ sequence: string; /** * the proof timestamp */ timestamp: string; /** * the public key diversifier */ diversifier: string; /** * the standardised path bytes */ path: string; /** * the marshaled data bytes */ data: string; } export interface SignBytesAminoMsg { type: "cosmos-sdk/SignBytes"; value: SignBytesAmino; } /** * HeaderData returns the SignBytes data for update verification. * @name HeaderData * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.HeaderData */ export interface HeaderData { /** * header public key */ newPubKey?: Any; /** * header diversifier */ newDiversifier: string; } export interface HeaderDataProtoMsg { typeUrl: "/ibc.lightclients.solomachine.v3.HeaderData"; value: Uint8Array; } /** * HeaderData returns the SignBytes data for update verification. * @name HeaderDataAmino * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.HeaderData */ export interface HeaderDataAmino { /** * header public key */ new_pub_key?: AnyAmino; /** * header diversifier */ new_diversifier: string; } export interface HeaderDataAminoMsg { type: "cosmos-sdk/HeaderData"; value: HeaderDataAmino; } /** * ClientState defines a solo machine client that tracks the current consensus * state and if the client is frozen. * @name ClientState * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.ClientState */ export declare const ClientState: { typeUrl: string; aminoType: string; is(o: any): o is ClientState; isAmino(o: any): o is ClientStateAmino; encode(message: ClientState, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): ClientState; fromPartial(object: DeepPartial): ClientState; fromAmino(object: ClientStateAmino): ClientState; toAmino(message: ClientState): ClientStateAmino; fromAminoMsg(object: ClientStateAminoMsg): ClientState; toAminoMsg(message: ClientState): ClientStateAminoMsg; fromProtoMsg(message: ClientStateProtoMsg): ClientState; toProto(message: ClientState): Uint8Array; toProtoMsg(message: ClientState): ClientStateProtoMsg; registerTypeUrl(): void; }; /** * 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. * @name ConsensusState * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.ConsensusState */ export declare const ConsensusState: { typeUrl: string; aminoType: string; is(o: any): o is ConsensusState; isAmino(o: any): o is ConsensusStateAmino; encode(message: ConsensusState, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): ConsensusState; fromPartial(object: DeepPartial): ConsensusState; fromAmino(object: ConsensusStateAmino): ConsensusState; toAmino(message: ConsensusState): ConsensusStateAmino; fromAminoMsg(object: ConsensusStateAminoMsg): ConsensusState; toAminoMsg(message: ConsensusState): ConsensusStateAminoMsg; fromProtoMsg(message: ConsensusStateProtoMsg): ConsensusState; toProto(message: ConsensusState): Uint8Array; toProtoMsg(message: ConsensusState): ConsensusStateProtoMsg; registerTypeUrl(): void; }; /** * Header defines a solo machine consensus header * @name Header * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.Header */ export declare const Header: { typeUrl: string; aminoType: string; is(o: any): o is Header; isAmino(o: any): o is HeaderAmino; encode(message: Header, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): Header; fromPartial(object: DeepPartial
): Header; fromAmino(object: HeaderAmino): Header; toAmino(message: Header): HeaderAmino; fromAminoMsg(object: HeaderAminoMsg): Header; toAminoMsg(message: Header): HeaderAminoMsg; fromProtoMsg(message: HeaderProtoMsg): Header; toProto(message: Header): Uint8Array; toProtoMsg(message: Header): HeaderProtoMsg; registerTypeUrl(): void; }; /** * Misbehaviour defines misbehaviour for a solo machine which consists * of a sequence and two signatures over different messages at that sequence. * @name Misbehaviour * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.Misbehaviour */ export declare const Misbehaviour: { typeUrl: string; aminoType: string; is(o: any): o is Misbehaviour; isAmino(o: any): o is MisbehaviourAmino; encode(message: Misbehaviour, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): Misbehaviour; fromPartial(object: DeepPartial): Misbehaviour; fromAmino(object: MisbehaviourAmino): Misbehaviour; toAmino(message: Misbehaviour): MisbehaviourAmino; fromAminoMsg(object: MisbehaviourAminoMsg): Misbehaviour; toAminoMsg(message: Misbehaviour): MisbehaviourAminoMsg; fromProtoMsg(message: MisbehaviourProtoMsg): Misbehaviour; toProto(message: Misbehaviour): Uint8Array; toProtoMsg(message: Misbehaviour): MisbehaviourProtoMsg; registerTypeUrl(): void; }; /** * SignatureAndData contains a signature and the data signed over to create that * signature. * @name SignatureAndData * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.SignatureAndData */ export declare const SignatureAndData: { typeUrl: string; aminoType: string; is(o: any): o is SignatureAndData; isAmino(o: any): o is SignatureAndDataAmino; encode(message: SignatureAndData, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): SignatureAndData; fromPartial(object: DeepPartial): SignatureAndData; fromAmino(object: SignatureAndDataAmino): SignatureAndData; toAmino(message: SignatureAndData): SignatureAndDataAmino; fromAminoMsg(object: SignatureAndDataAminoMsg): SignatureAndData; toAminoMsg(message: SignatureAndData): SignatureAndDataAminoMsg; fromProtoMsg(message: SignatureAndDataProtoMsg): SignatureAndData; toProto(message: SignatureAndData): Uint8Array; toProtoMsg(message: SignatureAndData): SignatureAndDataProtoMsg; registerTypeUrl(): void; }; /** * TimestampedSignatureData contains the signature data and the timestamp of the * signature. * @name TimestampedSignatureData * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.TimestampedSignatureData */ export declare const TimestampedSignatureData: { typeUrl: string; aminoType: string; is(o: any): o is TimestampedSignatureData; isAmino(o: any): o is TimestampedSignatureDataAmino; encode(message: TimestampedSignatureData, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): TimestampedSignatureData; fromPartial(object: DeepPartial): TimestampedSignatureData; fromAmino(object: TimestampedSignatureDataAmino): TimestampedSignatureData; toAmino(message: TimestampedSignatureData): TimestampedSignatureDataAmino; fromAminoMsg(object: TimestampedSignatureDataAminoMsg): TimestampedSignatureData; toAminoMsg(message: TimestampedSignatureData): TimestampedSignatureDataAminoMsg; fromProtoMsg(message: TimestampedSignatureDataProtoMsg): TimestampedSignatureData; toProto(message: TimestampedSignatureData): Uint8Array; toProtoMsg(message: TimestampedSignatureData): TimestampedSignatureDataProtoMsg; registerTypeUrl(): void; }; /** * SignBytes defines the signed bytes used for signature verification. * @name SignBytes * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.SignBytes */ export declare const SignBytes: { typeUrl: string; aminoType: string; is(o: any): o is SignBytes; isAmino(o: any): o is SignBytesAmino; encode(message: SignBytes, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): SignBytes; fromPartial(object: DeepPartial): SignBytes; fromAmino(object: SignBytesAmino): SignBytes; toAmino(message: SignBytes): SignBytesAmino; fromAminoMsg(object: SignBytesAminoMsg): SignBytes; toAminoMsg(message: SignBytes): SignBytesAminoMsg; fromProtoMsg(message: SignBytesProtoMsg): SignBytes; toProto(message: SignBytes): Uint8Array; toProtoMsg(message: SignBytes): SignBytesProtoMsg; registerTypeUrl(): void; }; /** * HeaderData returns the SignBytes data for update verification. * @name HeaderData * @package ibc.lightclients.solomachine.v3 * @see proto type: ibc.lightclients.solomachine.v3.HeaderData */ export declare const HeaderData: { typeUrl: string; aminoType: string; is(o: any): o is HeaderData; isAmino(o: any): o is HeaderDataAmino; encode(message: HeaderData, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): HeaderData; fromPartial(object: DeepPartial): HeaderData; fromAmino(object: HeaderDataAmino): HeaderData; toAmino(message: HeaderData): HeaderDataAmino; fromAminoMsg(object: HeaderDataAminoMsg): HeaderData; toAminoMsg(message: HeaderData): HeaderDataAminoMsg; fromProtoMsg(message: HeaderDataProtoMsg): HeaderData; toProto(message: HeaderData): Uint8Array; toProtoMsg(message: HeaderData): HeaderDataProtoMsg; registerTypeUrl(): void; };