import { Any, type AnySDKType } from '../../../../google/protobuf/any.js'; import { BinaryReader, BinaryWriter } from '../../../../binary.js'; import { type JsonSafe } from '../../../../json-safe.js'; /** * ClientState defines a solo machine client that tracks the current consensus * state and if the client is frozen. */ 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. */ export interface ClientStateSDKType { sequence: bigint; is_frozen: boolean; consensus_state?: ConsensusStateSDKType; } /** * 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. */ export interface ConsensusState { /** public key of the solo machine */ publicKey?: Any; /** * diversifier allows the same public key to be re-used 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. */ export interface ConsensusStateSDKType { public_key?: AnySDKType; diversifier: string; timestamp: bigint; } /** Header defines a solo machine consensus 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 */ export interface HeaderSDKType { timestamp: bigint; signature: Uint8Array; new_public_key?: AnySDKType; new_diversifier: string; } /** * Misbehaviour defines misbehaviour for a solo machine which consists * of a sequence and two signatures over different messages at that sequence. */ 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. */ export interface MisbehaviourSDKType { sequence: bigint; signature_one?: SignatureAndDataSDKType; signature_two?: SignatureAndDataSDKType; } /** * SignatureAndData contains a signature and the data signed over to create that * signature. */ 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. */ export interface SignatureAndDataSDKType { signature: Uint8Array; path: Uint8Array; data: Uint8Array; timestamp: bigint; } /** * TimestampedSignatureData contains the signature data and the timestamp of the * signature. */ 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. */ export interface TimestampedSignatureDataSDKType { signature_data: Uint8Array; timestamp: bigint; } /** SignBytes defines the signed bytes used for signature verification. */ 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. */ export interface SignBytesSDKType { sequence: bigint; timestamp: bigint; diversifier: string; path: Uint8Array; data: Uint8Array; } /** HeaderData returns the SignBytes data for update verification. */ 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. */ export interface HeaderDataSDKType { new_pub_key?: AnySDKType; new_diversifier: string; } export declare const ClientState: { typeUrl: "/ibc.lightclients.solomachine.v3.ClientState"; encode(message: ClientState, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): ClientState; fromJSON(object: any): ClientState; toJSON(message: ClientState): JsonSafe; fromPartial(object: Partial): ClientState; fromProtoMsg(message: ClientStateProtoMsg): ClientState; toProto(message: ClientState): Uint8Array; toProtoMsg(message: ClientState): ClientStateProtoMsg; }; export declare const ConsensusState: { typeUrl: "/ibc.lightclients.solomachine.v3.ConsensusState"; encode(message: ConsensusState, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): ConsensusState; fromJSON(object: any): ConsensusState; toJSON(message: ConsensusState): JsonSafe; fromPartial(object: Partial): ConsensusState; fromProtoMsg(message: ConsensusStateProtoMsg): ConsensusState; toProto(message: ConsensusState): Uint8Array; toProtoMsg(message: ConsensusState): ConsensusStateProtoMsg; }; export declare const Header: { typeUrl: "/ibc.lightclients.solomachine.v3.Header"; encode(message: Header, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): Header; fromJSON(object: any): Header; toJSON(message: Header): JsonSafe
; fromPartial(object: Partial
): Header; fromProtoMsg(message: HeaderProtoMsg): Header; toProto(message: Header): Uint8Array; toProtoMsg(message: Header): HeaderProtoMsg; }; export declare const Misbehaviour: { typeUrl: "/ibc.lightclients.solomachine.v3.Misbehaviour"; encode(message: Misbehaviour, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): Misbehaviour; fromJSON(object: any): Misbehaviour; toJSON(message: Misbehaviour): JsonSafe; fromPartial(object: Partial): Misbehaviour; fromProtoMsg(message: MisbehaviourProtoMsg): Misbehaviour; toProto(message: Misbehaviour): Uint8Array; toProtoMsg(message: Misbehaviour): MisbehaviourProtoMsg; }; export declare const SignatureAndData: { typeUrl: "/ibc.lightclients.solomachine.v3.SignatureAndData"; encode(message: SignatureAndData, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): SignatureAndData; fromJSON(object: any): SignatureAndData; toJSON(message: SignatureAndData): JsonSafe; fromPartial(object: Partial): SignatureAndData; fromProtoMsg(message: SignatureAndDataProtoMsg): SignatureAndData; toProto(message: SignatureAndData): Uint8Array; toProtoMsg(message: SignatureAndData): SignatureAndDataProtoMsg; }; export declare const TimestampedSignatureData: { typeUrl: "/ibc.lightclients.solomachine.v3.TimestampedSignatureData"; encode(message: TimestampedSignatureData, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): TimestampedSignatureData; fromJSON(object: any): TimestampedSignatureData; toJSON(message: TimestampedSignatureData): JsonSafe; fromPartial(object: Partial): TimestampedSignatureData; fromProtoMsg(message: TimestampedSignatureDataProtoMsg): TimestampedSignatureData; toProto(message: TimestampedSignatureData): Uint8Array; toProtoMsg(message: TimestampedSignatureData): TimestampedSignatureDataProtoMsg; }; export declare const SignBytes: { typeUrl: "/ibc.lightclients.solomachine.v3.SignBytes"; encode(message: SignBytes, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): SignBytes; fromJSON(object: any): SignBytes; toJSON(message: SignBytes): JsonSafe; fromPartial(object: Partial): SignBytes; fromProtoMsg(message: SignBytesProtoMsg): SignBytes; toProto(message: SignBytes): Uint8Array; toProtoMsg(message: SignBytes): SignBytesProtoMsg; }; export declare const HeaderData: { typeUrl: "/ibc.lightclients.solomachine.v3.HeaderData"; encode(message: HeaderData, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): HeaderData; fromJSON(object: any): HeaderData; toJSON(message: HeaderData): JsonSafe; fromPartial(object: Partial): HeaderData; fromProtoMsg(message: HeaderDataProtoMsg): HeaderData; toProto(message: HeaderData): Uint8Array; toProtoMsg(message: HeaderData): HeaderDataProtoMsg; }; //# sourceMappingURL=solomachine.d.ts.map